CN1078720C - 输入/输出数据的规模相异的先入先出存贮器及其方法 - Google Patents

输入/输出数据的规模相异的先入先出存贮器及其方法 Download PDF

Info

Publication number
CN1078720C
CN1078720C CN96112424A CN96112424A CN1078720C CN 1078720 C CN1078720 C CN 1078720C CN 96112424 A CN96112424 A CN 96112424A CN 96112424 A CN96112424 A CN 96112424A CN 1078720 C CN1078720 C CN 1078720C
Authority
CN
China
Prior art keywords
data
pointer
scale
write
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN96112424A
Other languages
English (en)
Other versions
CN1154511A (zh
Inventor
金起弘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1154511A publication Critical patent/CN1154511A/zh
Application granted granted Critical
Publication of CN1078720C publication Critical patent/CN1078720C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Read Only Memory (AREA)

Abstract

一种用于输出输入与输出数据的规模相异的数据的先入先出存贮器件,包括:数据输入单元、指针产生单元、缓冲单元、数据输出单元和标记产生单元。其特征是:根据由输入数据和输出数据的规模确定的外部模式控制信号来预置输入数据的规模并产生读写指针,同时或交替地在写指针指出的缓冲单元的存贮区域上写入输入数据或根据读指针读出已写入的具有该模式控制信号所确定的格式的输出数据,并产生表示写入数据量的标记。

Description

输入/输出数据的规模相异的先入先出存贮器及其方法
本发明涉及一种先入先出存贮器(后面称之为FIFO)器件,更详细地说,本发明涉及一种用于输入数据和输出数据的规模互不相同的FIFO器件及其方法。
针对用于输入数据和输出数据的规模互不相同的FIFO器件及其方法的本申请基于韩国申请No.39808/1995,在这里引入该申请供参考。
在一数据处理系统中,需要缓冲和暂时保持所要传送的数据或自一外部系统所提供的数据。这些需要起因于这样的一个现实,即当该数据被接收时接收机在执行其它的操作,或者发射机的数据传送速率与接收机的数据传送速率互不相同。所提出的一种先入先出存贮器满足这种需要。该FIFO执行一种操作,它能使首先输入的数据成为首先输出的数据并且能使最后输入的数据成为最后输出的数据。这样一种操作通常是由一RS锁存器或一读/写指针来控制的。
图1的框图示出了一已有技术的先入先出存贮器件的构成,它是通过利用一RS锁存器来控制其数据的输入/输出操作。
参见图1,该FIFO器件包括一行用来存贮输入数据D0-D3的寄存器和一用来在所述寄存器行中存贮输入数据D0-D3以及用来输出作为输出数据Q0-Q3的所存贮的输入数据D0-D3的控制电路。该控制电路包括有一行相应于每个寄存器的RS锁存器和用来控制这些RS锁存器操作的控制逻辑。
图2的框图示出了另一已有技术的先入先出存贮器件的构成,它是通过利用读/写指针来控制其数据输入/输出操作的。
参见图2,输入数据D(n)通过一数据输入缓冲器存贮在双端RAM阵列中,并且在双端RAM中存贮的数据作为数据Q(n)通过一数据输出缓冲器被输出。此时,由一写指针指明该双端RAM阵列存贮该数据的区域,并且输出在由一读指针所指明的该双端RAM阵列的区域中所存贮的数据。一标记逻辑确定在该双端RAM阵列中存贮了多少数据,并且当在该双端RAM阵列中不存有数据时就产生一空标记EF,而当在全部该双端RAM阵列的区域中均存贮了数据时则产生一满标记FF。写控制和读控制分别接收一写启动信号WEN和一读启动信号REN,并且通过自该标记逻辑所输入的表明该双端RAM阵列的存贮状态的一标记来控制该写指针和读指针的操作。
根据基于应用于上述常规数据处理系统的已有技术的FIFO器件,输入该写数据和输出该已写数据的操作是由RS锁存器或写/读指针来控制的。在这种情况中,输入数据和输出数据的规模是相互一致的。但是,当输入数据和输出数据的规模互不相同时,其结果导致了不可能应用这样一种FIFO器件的问题。例如,在一光盘只读存贮器(CD-ROM)译码器中,在内部数据在外部RAM和一微计算机之间处理和交换的期间是以8位来执行数据传送的,但是在与主计算机交换时是以8位或16位来执行数据传送的。因此,当根据该现有技术的FIFO器件被应用于这样一种CD-ROM时,难以平稳地处理数据。
因此,本发明的一个目的是提供一种输出其输入数据和输出数据的规模互不相同的数据的FIFO器件,从而解决上述问题。
本发明的另一个目的是提供一种在输入数据的规模大于输出数据的规模的情况下可被应用的FIFO器件。
本发明还有一个目的是提供一种在输出数据的规模大于输入数据的规模的情况下可被应用的FIFO器件。
本发明还有一个目的是要提供一种方法,这种方法是用来在输入数据和输出数据的规模互不相同时,产生相应的写和读指针并利用产生的指针处理在FIFO器件中的输入/输出数据。
为了实现上述目的,提供了一先入先出存贮器件,该器件在所要读出的输出数据的规模与所要写入的输入数据的规模不同时,产生一具有预置增量的写指针和一具有大于或小于写指针的增量的读指针,通过利用所产生的写指针将该输入数据写入先入先出存贮器并且通过利用所产生的读指针读出写在该先入先出存贮器中的输入数据,从而作为输出数据输出该读出的输入数据。
根据本发明的第一操作,当要被读出的输出数据的规模大于要被写入的输入数据的规模时,该先入先出存贮器产生一具有预置增量的写指针和一具有大于写指针的增量的增量的读指针。这时,该读指针的增量同输入数据的规模和输出数据的规模的比一样大而不同写指针的增量一样大。
根据本发明的第二操作,当要被读出的输出数据的规模小于要被写入的输入数据的规模时,该先入先出存贮器产生一具有预置增量的读指针和一具有大于该读指针的增量的增量的写指针。此时,该写指针的增量同输入数据的规模和输出数据的规模的比一样大而不同读指针的增量一样大。
此外,为了实现这些和其它的目的,提供的一先入先出存贮器件包括:一数据输入单元,用来输出为多个数据串的输入数据,该输入数据具有相应于由该输入数据和输出数据的规模所确定的一外部模式控制信号的预置规模;一指针产生单元,用来相应于所述模式控制信号而产生一写指针和一读指针;一由若干具有一预置存贮区域的寄存器单元所组成的缓冲单元,用来同时地或交替地向由所产生的写指针指定的每个寄存器单元的存贮区域写入自所述数据输入单元输出的若干数据串;一数据输出单元,用来相应于所述读指针同时地或交替地读出在所述缓冲单元的每个寄存器单元上写入的数据,以便输出作为具有相应于所述模式控制信号的一格式的输出数据;和一标记产生单元,用来产生表明通过使用所述写指针和所述读指针在所述缓冲单元中写入的数据量的标记。
通过参考结合附图所作的下面的详细说明将会对本发明更全面的评价以及其若干附属的优点有更好的了解,在附图中相同的标号表示相同或相似的部件,其中:
图1是表示一已有技术的通过利用RS锁存器控制其数据输入/输出操作的先入先出存贮器的构成的方框图;
图2是表示另一已有技术的通过利用读/写指针控制其数据输入/输出操作的先入先出存贮器的构成的方框图;
图3是表示根据本发明的先入先出存贮器件的构成的方框图;
图4是表示图3的数据输入单元的构成的详图;
图5是表示图3的缓冲器的构成的详图;
图6是表示图3的数据输出单元的构成的详图;
图7是表示图3的指针和标记产生器的构成的详图;
图8是用来解释本发明第一操作的视图;
图9是用来解释本发明第二操作的视图;和
图10是用来解释本发明第三操作的视图。
在整个附图中,应注意的是相同的字母标号将用于指明具有相同功能的同样的或等数的部件。另外,在以下的说明中,陈述了诸如组成电路的具体部件和频率的数字的详细细节,以提供对本发明的更为全面的了解。但是,很明显的是对于本领域的普通技术人员来说,无需这些详细的细节也可实施本发明。在本发明中将避免对已知功能和构成作不必要的详细描述而混淆了对本发明主题的描述。
应注意的是考虑到本发明中的各项功能而规定的字母参考术语可根据设计者的意向或实践而改变。在本说明书中使用各个术语如下:“DI”和“DO”分别表示各具有8位或16位数据宽度的输入数据和输出数据。“DBI”和“DBO”分别表示一缓冲器的输入数据和输出数据。“MOD”是外部提供的-即来自一中央处理单元的模式控制信号并可根据该输入数据和输出数据的规模而变化。“Wptr”表示一写指针和写入由该写指针所指明的缓冲器的一存贮区域中的输入数据。另外,“Rptr”表示一读指针和写在由该读指针所指明的缓冲器的存贮区域的输出数据。“WEN”表明一来自外面的用于写操作而提供的写启动信号,和“REN”表明为了读操作而提供的一读启动信号。“Full Flag”是表明数据被写入全部该缓冲器的区域内的一满标记,和“Empty Flag”是表明在该缓冲器的任何区域内没有数据写入的一空标记。在本发明的以下说明中将基于该输入/输出数据的规模是8位或16位的假设。换句话说,该说明将根据下述情况的一种情况进行:(1)输入数据和输出数据为8位,(2)输入数据为8位而输出数据为16位,(3)输入数据为16位而输出数据为8位,(4)输入数据和输出数据为16位。
图3是表示根据本发明的先入先出存贮器的构成的一框图。
参见图3,根据本发明的一FIFO器件包括一数据输入单元100、一缓冲器200、一数据输出单元300和一指针及标记产生器400。该数据输入单元100、缓冲器200、数据输出单元300和指针及标记产生器400的每一构成分别在图4到图7中示出。
图4示出了图3的数据输入单元的构成的详图。
在图4中,该数据输入单元100根据为某种选择信号的输入模式控制信号IMOD而对具有8或16位的输入数据DI(DIH和DIL)执行多路传送,以便使得输出的缓冲器输入数据DBIH和DBIL是每一个具有8位规模的数据串。该输入模式控制信号IMOD是一电平根据输入数据的规模而被预置的信号,通过该信号使得数据输入单元100执行一相应的操作。当该输入数据的规模为8位时,数据输入单元100输出输入数据DI(DIH和DIL)[0:7]作为缓冲器输入数据DBIL[0:7]和DBIH[8:15]。和上述情况不同,当该输入数据的规模为16位时,数据输入单元100分别输出输入数据DIL[0:7]和DIH[8:15]作为缓冲器输入数据DBIL[0:7]和DBIH[8:15]。
图5示出了图3的缓冲器的构成的详图。
在图5中,该缓冲器200包括预置存贮区域,即每个具有4字节规模的寄存器单元1210和寄存器单元2220。该缓冲器200在由写指针Wptr所指明的寄存器单元210和220的区域中存贮自数据输入单元100输出的缓冲器输入数据DBI(DBIH和DBIL)。当该输入数据DBI(DBIH和DBIL)为8位时,该缓冲器200根据写指针Wptr在寄存器单元210和220上交替地写入缓冲器输入数据DBIH[0:7]和DBIL[0:7]。例如,当8字节的缓冲器输入数据DBI(DBIH和DBIL)由8位输入并且该数据是DBI0,DBI1,……和DBI7时,DBIH是DBI0,DBI2,……和DBI6的一数据串,而DBIL是DBI1,DBI3,……和DBI7的一数据串。因此,8位4字节的DBIH(DBI0、DBI2、DBI4和DBI6)被写入寄存器单元1210,而8位4字节的DBIL(DBI1、DBI3、DBI5和DBI7)被写入寄存器单元2220。但是,当该输入数据DBI(DBIH和DBIL)是16位时,则缓冲器200根据写指针Wptr在寄存器单元210和220上同时写入缓冲器输入数据DBIH[8:15]和DBIL[0:7]。例如,当8字节的缓冲器输入数据DBI以16位输入时,16位4字节的DBIH(DBI0、DBI1、DBI2和DBI3)被写入寄存器单元1210,而16位4字节的DBIL(DBI0、DBI1、DBI2和DBI3)被写入寄存器单元2220。
图6是图3的数据输出单元构成的详图。
在图6中,该数据输出单元300读取作为输入数据DBO的输出数据,该输出数据被写入由读指针Rptr所指明的寄存器单元的区域并且输出具有适于由输出模式控制信号OMOD所指明的规模的一格式的输出数据DOH和DOL。该输出模式控制信号OMOD是一其电平根据8位或16位的输出数据的规模而预置的信号。当输出模式控制信号OMOD是8位时,该数据输出单元300仅仅输出输出数据DOL[0:7],而当OMOD为16位时,该数据输出单元300输出输出数据DOL[0:7]和DOH[8:15]。
图7是表示图3的指针和标记产生器的构成的详图。
参见图7,该指针和标记产生器400包括一写指针产生器410、一读指针产生器420和一标记产生器430。通过利用自外部提供的写启动信号WEN和输入模式控制信号IMOD,该写指针产生器410产生一指定在缓冲器200上的将要写入缓冲器输入数据DBI的存贮区域的写指针Wptr。通过利用自外部提供的读启动信号REN和输出模式控制信号OMOD,该读指针产生器420产生一指定在缓冲器200上已写入的数据中将要读取的数据的存贮区域的读指针Rptr。通过利用写指针Wptr和读指针Rptr,该标记产生器430产生指定在缓冲器200中写入多少数据的一满标记Full Flag和一空标记EmptyF1ag。
如像在图3到图7所表示的,后面将描述该FIFO器件输出与输入数据的规模不同的输出数据的操作。
首先,参考图8的(A)到(E)来描述当输入数据规模为8位而输出数据的规模为16位时,也就是输入数据的规模小于输出数据的规模时,本发明的FIFO器件的操作。
在这种情况中,因为要写入的输入数据的规模是小于要读取的输出数据的规模,所以读指针Rptr的增量要大于写指针Wptr的增量。写指针Wptr和读指针Rptr的增量之间的差相应于输入数据的规模对输出数据的规模的比值。在初始阶段当在缓冲器200上没有数据写入时,如图8的(A)所示写指针Wptr和读指针Rptr指出缓冲器200的一地址“000”。在这期间,当提供有写启动信号WEN时,写指针产生器420产生写指针Wptr。在图8的(B)中,写指针Wptr指出一地址“011”。在这一点上,当提供有读启动信号REN时,读指针产生器420产生读指针Rptr。因此,数据写入缓冲器200并且读取在其中所写入的数据。当在如图8的(B)中所示的一状态中写入和读取数据时,在一预置时间之后(在指针增加3步长之后),写指针Wptr和读指针Rptr分别指出地址“110”和“100”。这时,写指针Wptr和读指针Rptr的值不必指出地址“110”和“100”。而它们可指出地址“101”和“100”。
在如图8的(C)状态下,即当数据写入和读出操作如图8(C)所示被同时执行时在读指针Rptr之前写指针Wptr指出一地址“010”并且随后读指针Rptr指出地址“010”(在图8的(D)中的A),标记产生器430产生一空标记。既使当写指针Wptr和读指针Rptr分别指出地址“011”和“010”时该标记产生器430也产生空标记(在图8的(D)中的B)。这是因为在后一种情况中,即当产生空标记时,写数据是1字节而被读的数据是2字节。也就是,要以8位写入的总字节数是一偶数。在如图8的(E)所示的一种状态下,即当如图8的(C)所示同时执行数据写和读操作时,在写指针Wptr之前读指针Rptr指出一地址“110”并且随后写指针Wptr还指出地址“100”,该标记产生器430产生一满标记。这是因为该数据被写入缓冲器200的全部区域。
总之,具有的数据规模小于输入数据规模的数据可以通过使得读指针Rptr的增量大于写指针Wptr的增量而被输出。
其次,当输入数据规模为16位而输出数据规模为8位时,即当输入数据的规模大于输出数据的规模时,将参照图9来描述根据本发明的FIFO器件所执行的操作。
在这种情况中,因为要写入的输入数据的规模大于要读取的输出数据的规模,所以写指针Wptr的增量要大于读指针Rptr的增量。写指针Wptr和读指针Rptr的增量之间的差相应于输入数据的规模与输出数据规模的比。当在初始阶段在缓冲器200上没有写入数据时,如图9的(A)所示写指针Wptr和读指针Rptr指出缓冲器200的一地址“000”。在这期间,当提供有写启动信号WEN时,写指针产生器410产生写指针Wptr。在图9的(B)中,写指针Wptr指出一地址“100”。在这一点上,当提供有读启动信号REN时,读指针产生器420也产生读指针Rptr。因此,数据被写入缓冲器200中并且读出在其中写入的数据。当在如图9的(B)中所示的一种状态中数据被写入和读取时,在一预置时间之后(在指针增加1步长之后),写指针Wptr和读指针Rptr分别指出地址“110”和“010”。
如图9的(D)所示,在一种状态中,即当数据写入和读出操作如图9(C)所示被同时执行时在读指针Rptr之前写指针Wptr指出一地址“010”并且随后读指针Rptr指出地址“010”,该标记产生器430产生一空标记。这是因为写入缓冲器200的整个区域的数据被读出。在一如图9(E)所示的状态中,即当数据写入和读出操作如图9(C)所示被同时执行时在写指针Wptr之前读指针Rptr指出一地址“100”并且随后写指针Wptr也指出地址“100”,该标记产生器430产生一满标记。即使当读指针Rptr指出地址“010”时该标记产生器430也产生满标记并且随后通过将该指针值增加3步长指出地“101”。这是因为,虽然由写指针Wptr指出的缓冲器200的区域是比由读指针Rptr指出的缓冲器200的区域小1个字节,但是,如果这样的一个状态未被确定为缓冲器无满则1字节的数据要被丢失。
总之,具有一规模小于输入数据规模的数据可通过使写指针Wptr的增量大于读指针Rptr的增量而被输出。
根据本发明的该操作还可应用于输入数据的规模与输出数据的规模相互一致的情况中。根据这种情况,输入数据和输出数据的规模均为8位或16位。这样一种操作将参照图10来描述,在图10所示的情况中输入数据和输出数据的规模均为8位。
根据这种情况,因为要被写入的输入数据的规模和要被读出的输出数据的规模是相互一致的,所以写指针Wptr和读指针Rptr的增量是相同的。当在初始阶段在缓冲器200上没有写入的数据时,如图10(A)所示写指针Wptr和读指针Rptr指出缓冲器200的一地址“000”。在此期间,当写启动信号WEN被加入时,写指针产生器410产生写指针Wptr。在图10(B)中,写指针Wptr指出一地址“011”。在这一点上,当加入读启动信号REN时,读指针产生器420产生读指针Rptr。因此,该数据被写入缓冲器200并且在其中所写入的数据随后被读出。一旦在如图10(B)所示的一状态中该数据被写入和读出,则一预置时间之后(在指针增加2步长之后),该指针Wptr和指针Rptr分别指出地址“101”和“011”。
在如图10(D)所示的一状态中,即当数据写入和读出操作如图10(C)所示被同时执行时在该读指针Rptr之前写指针Wptr指出一地址“001”并且随后读指针Rptr指出地址“001”,该标记产生器430产生一空标记。这是因为写入缓冲器200的全部区域的数据被读出。在该数据写入和读出操作如图10(E)所示被同时地执行时,并且当在读指针Rptr指出地址“101”之后该写指针Wptr指出该地址“101”时,标记产生器430产生满标记。
总之,具有与输入数据相同规模的该数据可以通过使得写指针Wptr的增量与读指针Rptr的增量一致而被输出。
在此期间,该标记产生器430具有当写指针Wptr指出地址“111”并且随后指出地址“000”时设置为“1”和当读指针Rptr指出地址“111”并且随后指出该地址“000”时被清除为“0”的标记。在由写指针Wptr和读指针Rptr所指出的地址是相互一致并且该标记的状态设置为“ 0”的情况下,产生空标记。在由写指针Wptr和读指针Rptr指出的地址是相互一致并且该标记的状态设置为“1”的情况下,产生满标记。
如上所述,它的优点是通过把指出一写入输入数据的区域的写指针Wptr的增量与指出一读取写入数据的区域的读指针Rptr的增量区别开可以使输入数据的规模与输出数据的规模相互不同。
同时,应当理解为本发明不限于在这里作为用于实施本发明的最佳模式而披露的特定实施例,准确地说除在所附权利要求中所限定之外本发明不限于在本说明书中所披露的特定实施例。也就是,虽然在本发明中输入/输出的规模是8位或16位的例子,但32位也可应用于本发明。由四个寄存器单元构成该缓冲器和根据输入数据对输出数据的比来正确地选择写指针Wptr和读指针Rptr的增量的比的这种情况也是可能的。
虽然这里对被认为是本发明的最佳实施例已进行了描述及说明,但本技术领域的普通技术人员应理解的是在不违背本发明的真正范围的前提下,可做出各种变化和修改以及对其部件进行等效置换。另外,在不违背其主要范围的前提下,可以进行许多修改以适应本发明的指示的一特殊场合。因此,本发明不限于作为用于实施本发明的最佳模式而披露的特定实施例,而是本发明包括落入所附权利要求范围内的所有的实施例。

Claims (15)

1、一种先入先出存贮器件,包括:一数据输入单元;一缓冲单元;一数据输出单元;一标记产生单元,用来产生表明通过使用一写指针和一读指针在所述缓冲单元中所写入的数据量的标记,其特征在于,
所述数据输入单元用来输出作为多个数据串的输入数据,所述输入数据具有相应于由该输入数据和输出数据的规模所确定的一外部模式控制信号的预置规模;
所述指针产生单元用来产生相应于所述模式控制信号的所述写指针和所述读指针;
所述缓冲单元由若干具有一预置存贮区域的寄存器单元所组成,用来同时地或交替地向由所述所产生的写指针所指出的每个所述寄存器单元的存贮区域写入自所述输入单元输出的若干数据串;
所述数据输出单元用来相应于所述读指针同时或交替地读出在所述缓冲单元的每个寄存器单元上所写入的数据,以便输出具有相应于所述模式控制信号的一格式的输出数据。
2、如权利要求1所述的先入先出存贮器件,其中当所述模式控制信号指出所述输出数据的规模大于所述输入数据的规模时,所述数据输入单元重复地输出具有所述输入数据规模的数据串直到该规模变为与所述输出数据的规模相同为止。
3、如权利要求2所述的先入先出存贮器件,其中所述指针产生单元产生一具有相应于所述模式控制信号的增量的写指针和一具有增量大于所述产生的写指针的增量的读指针。
4、如权利要求3所述的先入先出存贮器件,其中所述读指针的增量与所述输入数据的规模和所述输出数据的规模的比一样大而不是与所述写指针的增量一样大。
5、如权利要求4所述的先入先出存贮器件,其中所述缓冲单元具有多个具有与输入数据的规模相同的存贮区域的寄存器单元并且所述数据串相应于所述所产生的写指针被交替地写入每个寄存器单元。
6、如权利要求5所述的先入先出存贮器件,其中所述数据输出单元相应于所述读指针而交替地读取写入所述缓冲单元的每个寄存器单元中的数据并且随后输出作为具有相应于所述模式控制信号的一格式的输出数据的所读取数据。
7、如权利要求1所述的先入先出存贮器件,其中当所述模式控制信号指出输入数据的规模大于输出数据的规模时,所述数据输入单元将输入数据分成若干具有所述输出数据的规模的数据串,从而输出被分隔的输入数据。
8、如权利要求7所述的先入先出存贮器件,其中指针产生单元产生一具有相应于所述模式控制信号的一增量的写指针和一具有增量小于所产生的写指针增量的读指针。
9、如权利要求8所述的先入先出存贮器件,其中所述读指针的增量与所述输入数据的规模和所述输出数据的规模的比一样小而不是与所述写指针的增量一样小。
10、如权利要求9所述的先入先出存贮器件,其中所述缓冲单元具有多个具有与输出数据规模相同的存贮区域的寄存器单元并且相应于所述所产生的写指针将所述数据串同时地写入每个寄存器单元。
11、如权利要求10所述的先入先出存贮器件,其中所述数据输出单元相应于所述读指针同时地读取写入所述缓冲单元的每个寄存器单元中的数据并且随后输出作为具有相应于所述模式控制信号的一格式的输出数据的所读取数据。
12、一种用来处理一先入先出存贮器件的输入/输出数据的方法,其中通过利用一写指针和一读指针来执行数据写入和读取操作,所述方法包括有步骤:
当被读取的输出数据的规模大于被写入的输入数据的规模时,产生一具有一预置增量的写指针和一具有增量大于所述写指针增量的读指针;
通过利用所述所产生的写指针在所述先入先出存贮器中写入所述输入数据;和
通过利用所述所产生的读指针读取在所述先入先出存贮器中写入的所述输入数据,以便输出作为输出数据的所读取的输入数据。
13、如权利要求11所述的方法,其中所述读指针的增量与所述输入数据的规模和所述输出数据的规模的比一样大而不是与所述写指针的增量一样大。
14、一种用来处理一先入先出存贮器件的输入/输出数据的方法,其中通过利用一写指针和一读指针来执行数据写入和读取操作,所述方法包括有步骤:
当被写入的输入数据的规模大于被读取的输出数据的规模时,产生一具有一预置增量的写指针和一具有增量小于所述写指针增量的读指针;
通过利用所述所产生的写指针在所述先入先出存贮器中写入所述输入数据;和
通过利用所述所产生的读指针读取在所述先入先出存贮器中写入的所述输入数据,以便输出作为输出数据的所读取的输入数据。
15、如权利要求14所述的方法,其中所述写指针的增量与所述输入数据的规模和所述输出数据的规模之比一样大而不是与所述读指针的增量一样大。
CN96112424A 1995-11-04 1996-10-15 输入/输出数据的规模相异的先入先出存贮器及其方法 Expired - Fee Related CN1078720C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019950039808A KR970029070A (ko) 1995-11-04 1995-11-04 입출력데이타의 크기를 달리하는 선입선출메모리장치 및 그 방법
KR39808/95 1995-11-04

Publications (2)

Publication Number Publication Date
CN1154511A CN1154511A (zh) 1997-07-16
CN1078720C true CN1078720C (zh) 2002-01-30

Family

ID=19433014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN96112424A Expired - Fee Related CN1078720C (zh) 1995-11-04 1996-10-15 输入/输出数据的规模相异的先入先出存贮器及其方法

Country Status (4)

Country Link
JP (1) JPH09185882A (zh)
KR (1) KR970029070A (zh)
CN (1) CN1078720C (zh)
GB (1) GB2307069B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003042811A1 (en) * 2001-11-13 2003-05-22 Koninklijke Philips Electronics N.V. Efficient fifo communication using semaphores
CN102117193B (zh) * 2010-01-04 2012-08-08 杭州华三通信技术有限公司 一种实现预读式fifo的方法和预读式fifo
CN103345377A (zh) * 2013-07-23 2013-10-09 盛科网络(苏州)有限公司 Fifo存储器控制方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0071347A2 (en) * 1981-07-24 1983-02-09 Exxon Research And Engineering Company A process for sulfonation of aromatic-containing polymers
EP0251151A2 (en) * 1986-07-03 1988-01-07 Integrated Device Technology, Inc. Programmable fifo buffer
EP0342107A2 (en) * 1988-05-09 1989-11-15 STMicroelectronics, Inc. Flag for a FIFO

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3478325A (en) * 1967-01-16 1969-11-11 Ibm Delay line data transfer apparatus
US5469398A (en) * 1991-09-10 1995-11-21 Silicon Systems, Inc. Selectable width, brustable FIFO
US5673396A (en) * 1994-12-16 1997-09-30 Motorola, Inc. Adjustable depth/width FIFO buffer for variable width data transfers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0071347A2 (en) * 1981-07-24 1983-02-09 Exxon Research And Engineering Company A process for sulfonation of aromatic-containing polymers
EP0251151A2 (en) * 1986-07-03 1988-01-07 Integrated Device Technology, Inc. Programmable fifo buffer
EP0342107A2 (en) * 1988-05-09 1989-11-15 STMicroelectronics, Inc. Flag for a FIFO

Also Published As

Publication number Publication date
JPH09185882A (ja) 1997-07-15
CN1154511A (zh) 1997-07-16
GB2307069B (en) 1998-11-04
GB9622946D0 (en) 1997-01-08
GB2307069A (en) 1997-05-14
KR970029070A (ko) 1997-06-26

Similar Documents

Publication Publication Date Title
CN1203420C (zh) 用于移动存储块的直接存储器存取控制器及其移动方法
US6189069B1 (en) Optimized logging of data elements to a data storage device
US5687368A (en) CPU-controlled garbage-collecting memory module
US5652865A (en) Linked file storage in a computer memory system
EP2633413B1 (en) Low ram space, high-throughput persistent key-value store using secondary memory
CN1146795C (zh) 存储器管理方法
JP2003114816A (ja) コンピュータメモリにインデックスを記憶するデータ構造
CN1116764A (zh) 先进先出缓冲存储器
CN1637709A (zh) 对所存储程序的执行进行改进的方法和设备
EP2433227A1 (en) Scalable indexing in a non-uniform access memory
GB2298063A (en) Semiconductor disk device
CN1152365A (zh) 一种存储和检索数据的方法和一种存储器配置
WO1998055929A1 (en) Creating a perfect hash using offset table
CN100346289C (zh) 一种先入先出存储器及其输出空满标志的方法
CN100419671C (zh) 一种建立操作模式的处理器以及在处理器中建立操作模式的方法
CN1078720C (zh) 输入/输出数据的规模相异的先入先出存贮器及其方法
CN1788261A (zh) 具有用于传送描述符的存储器的usb主机控制器
CN1149483C (zh) 控制设置在数字缓冲存储器内的数字缓冲器的控制方法
CN1174314C (zh) 用于64位寻址的调用选通扩充
CN100336038C (zh) 嵌入顺序缓冲器的计算机系统及其方法
Cardelli The amber machine
US6226411B1 (en) Method for data compression and restoration
US7321909B1 (en) Method and apparatus for forwarding references to objects concurrently with space-incremental garbage collection
CN1719421A (zh) 基于mcs-51架构的16m字节数据存储器寻址空间扩充方法
US6925544B2 (en) Packet buffer memory with integrated allocation/de-allocation circuit

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20020130

Termination date: 20141015

EXPY Termination of patent right or utility model