先进先出缓冲存储器
本发明涉及适用于高速操作和高密度集成的先进先出缓冲存储器。
先进先出(此后称为“FIFO”)缓冲存储器是按照先输入的项先输出的方式存储信息的存储单元。FIFO存储器具有单独的输入和输出端、即两个端口。这种缓冲存储器具有两个重要的特征,一是它能够按照两种不同的速率输入和输出数据,二是输出数据的次序总是与数据输入缓冲存储器的次序相同。当FIFO缓冲存储器位于具有不同数据传送速率的两部件之间时,它能够按照一种传送速率从源部件接收数据,按照另一速率给目标部件传送数据。如果源部件的速率比目标部件的速率低,就能够以较低的速率填充该缓冲存储器,然后以较高的速率将其腾空。如果源部件的速率比目标部件的速率高,该源数据成组(in bursts)地到达,各组数据填满该缓冲器但各组之间的时间长到足以使目标部件能够从该缓冲器腾空一些信息或腾空全部信息,在这种场合下,该缓冲存储器是有用的。因此,FIFO缓冲存储器在异步传送数据的某些应用中可以发挥作用。
如果在具有不同传送速率的两台部件之间没有FIFO缓冲存储器而是在它们之间进行直接连接,则在它们之间的接口上就存在例如目标部件完成其现行作业之前源部件等待从该目标部件接收数据的问题。为了消除该问题,在两台部件之间经常使用FIFO缓冲存储器来在它们之间获得时间缓冲功能。
图1A表示现有技术中FIFO缓冲存储器和数据传送的系统时钟信号之间的关系。如图1A所示,由于FIFO缓冲存储器具有两个端口。所以在启动一个系统时钟信号时可以同时进行读和写操作。由于这一缘故,在某些应用中已使用FIFO缓冲存储器。例如,FIFO缓冲存储器可用于系统之间的接口设备中、可用于具有不同传送速率的块(block)单元之间的接口设备中、可用于将串行数据转换为并行数据的设备中、可用于将并行数据转换为串行数据的设备中,等等。从图1B还可以看出,在FIFO缓冲存储器中,写操作在作为非数据信号之一的时钟信号的前沿(即上升沿)期间被执行,而读操作在时钟信号的后沿(即下降沿)期间被执行。
图2是表示图1所示现有技术FIFO缓冲存储器的结构的整体方框图。
参看图2,该FIFO缓冲存储器包括具有两个端口的磁芯存储器,主要存储二进制编码信息(此后称为“数据”),还包括地址计数器5和6,用于向磁芯存储器写入数据或从磁芯存储器读出数据时产生表示在磁芯存储器1中指向一个存储单元的地址,还包括产生存储器状态标记的标记产生器7。各地址作为读和写地址被提供给磁芯存储器1。在该现有技术的FIFO缓冲存储器中,标记产生器7和地址计数器5和6构成了控制逻辑4。标记产生器7产生表示存储器状态条件的两种标记,一种是表示磁芯存储器已填满不能输入另外数据的满标记,另一种是表示磁芯存储器1未填满、即空、还能够输入另外数据的空标记。作为磁芯存储器1,因为FIFO缓冲存储器具有一批存储寄存器以及给这些寄存器输入信息和从这些寄存器输出信息所需的相关电路,所以主要使用了寄存器或SRAM(静态随机存取存储器)。
图3是图2所示控制逻辑4的详细电路图。
参看图3,标记产生器7具有分别暂存由计数器5和6提供的地址信号的地址寄存器8和9、将写地址计数器5的输出与读地址寄存器9的输出进行比较以便输出满标记的比较器10、以及将读地址计数器6的输出与写地址寄存器8的输出进行比较以便输出空标记的另一比较器11。于是FIFO缓冲存储器的状态能够由满和空标记表示。
但是,如图2和3所示,由于现有技术的FIFO缓冲存储器具有地址计数器、地址寄存器和比较器,所以就存在其体积较大并由此降低了其操作速度等这样一些问题。
尤其在FIFO缓冲存储器中,当其存储器地址的数目被增大时,使缓冲存储器中使用的控制逻辑变得复杂。这就引起了与低的操作速度和较大的体积相似的问题。
本发明的目的是提供一种FIFO缓冲存储器,其与现有技术的FIFO缓冲存储器相比,在结构方面控制逻辑被进一步简化,并由此改善了操作速度以及使体积减小。
本发明另一目的是提供一种FIFO缓冲存储器,其不需要利用地址计数器、地址寄存器和比较器就能够实现控制逻辑,由此实现存储器的高速操作和存储器的高密度集成。
本发明的先进先出缓冲存储器包括用于主要存储数据的双端口磁芯存储器、为了响应读和写时钟信号以便在向磁芯存储器写入数据或从磁芯存储器读出数据时产生表示磁芯存储器中指向一个存储单元地址的第一和第二地址译码器、以及用于产生表示能否将数据写入磁芯存储器或能否从磁芯存储器读出数据的存储器状态信号的状态检测器。
在该实施例中,所述状态检测器包括分别根据写和读时钟信号向其输出端提供其输入信号的第一和第二触发器每一触发器具有清零端和时钟端;还包括用于接收触发器输出信号并根据选择控制信号以便选择触发器输出信号中其中之一个的多路转换器、响应于写和读时钟信号产生选择控制信号以便控制多路转换器的选择操作的鉴相器;用于接收多路转换器输出数据并根据其“与”逻辑功能产生满标记的第一“与”门、用于接收多路转换器输出数据并根据其“或非”逻辑功能产生空标记的“或非”门;用于将多路转换器输出数据递增1并将递增信号提供给第一触发器输入端的递增电路;以及用于将多路转换器输出数据递减1并将递减信号提供给第二触发器输入端的递减电路。
在该缓冲存储器中,每一所述地址译杩器包括多个触发器,每一触发器具有一输入端、一输出端和一时钟端,响应于外部提供的清零信号预置或清零每一触发器,每一触发器根据写和读时钟信号将其输入信号提供给其输出端。
在该缓冲存储器中,所述鉴相器包括具有与源电压相连的一输入端的第三触发器,用于产生与写时钟同步的高或低电平信号,还包括具有一输入端接地的第四触发器,用于产生与读时钟同步的高或低电平信号,还包括用于接收第三触发器24的输出和清零信号并将根据其“与”逻辑功能产生的预置控制信号提供给第四触发器的预置端的第二“与”门、以及用于接收第四触发器的输出和清零信号并将根据其“与”逻辑功能产生的清零控制信号提供给第一触发器的清零端的第三“与”门。
以下将结合实施例参考附图,对本发明进行详细描述,使对本发明的目的、特征及优点更加了解。
附图简要说明:
图1A是现有技术的FIFO缓冲存储器和用于数据传送的系统时钟信号之间关系的简要框图;
图1B是图1A中现有技术的FIFO缓冲存储器的写和读时钟信号的波形图;
图2是表示图1A所示现有技术的FIFO缓冲存储器的结构的总体框图;
图3是图2所示控制逻辑的详细电路图;
图4是本发明的FIFO缓冲存储器的结构的总体框图;
图5是图4所示地址译码器的详细电路图;
图6是图4所示状态检测器的详细电路较;
图7是图4所示鉴相器的详细电路图;
图8是表示在图7的鉴相器中出现的各种信号的波形图;
图9是图6中递增电路的详细电路图;
图10是图6中递减电路的详细电路图。
参看图4,本发明新颖的FIFO缓冲存储器包括具有双端口结构的磁芯存储器12,其主要用于存储数据;第一和第二地址译码器13和14,响应于读和写时钟信号以便在向磁芯存储器12写入数据或从磁芯存储器12读出数据时产生表示磁芯存储器12中指向一个存储单元的地址、以及状态检测器15,用于产生表示能否将数据写入FIFO缓冲存储器或能否从磁芯存储器读出数据的存储器状态信号、即满和空标记。
如图5所示,第一和第二地址译码器13和14各具有多个触发器FF1至FFn。每一触发器具有一输入端D、一输出端Q和一时钟端。第一触发器FF1还具有预置端PRE,其它每一个触发器FF2至FFn还具有清零端CLR。以这样的方式来设置触发器FF1至FFn,即前面的一个触发器的输出接到下一个触发器的输入,最后一个触发器FFn的输出接到第一个触发器FF1的输入。由外部提供的清零信号预置或清零每一触发器并根据读/写时钟信号使其输入信号提供给其输出端。
如图6所示,状态检测器15包括两个各具有清零端CLR和时钟端的触发器17和22,以及用于接收触发器17和22的输出信号并响应于选择控制信号在触发器17和22输出信号中选择其中一个的多路转换器18。状态检测器15还包括响应于写和读时钟信号产生选择控制信号的鉴相器23;用于接收多路转换器18的输出并根据其“与”逻辑功能产生满标记的“与”门19;用于接收多路转换器18的输出并根据其“或非”逻辑功能产生空标记的“或非”门20;用于将多路转换器18的输出递增1并将递增信号提供给第一触发器17的输入端D的递增电路16以及用于将多路转换器18的输出递减1并将递减信号提供给第二触发器22的输入端D的递减电路21。第一和第二触发器17和18分别被写和读时钟信号同步。
如图7所示,鉴相器23包括具有与源电压相连的一输入端的第三触发器24,用于产生与写时钟信号同步的高或低电平信号,还包括具有一输入端接地的第四触发器25,用于产生与读时钟信号同步的高或低电平信号,还包括用于接收第三触发器24的输出和外部提供的清零信号并向第四触发器25的预置端PRE提供根据“与”逻辑功能产生的预置控制信号的第二“与”门26、以及用于接收第四触发器25的输出和清零信号并向触发器24的清零端提供根据“与”逻辑功能产生的清零控制信号的第三“与”门27。第三触发器24的输出还用作多路转换器18的选择控制信号。多路转换器18的输出由4位数据、即b0b1b2b3组成。
如图9所示,图6的递增电路16具有将多路转换器18输出的4位信号中的最低有效位(此后称为“LSB”)b0反相的反相器31;用于接收LSB b0和相应于源电压VDD的电平信号并根据其“与非”逻辑功能产生逻辑信号的第一“与非”门28;除了第一“与非”门28的输入外还用于接收4位数据的位信号b1并根据其“与非”逻辑功能产生逻辑信号的第二“与非”门29以及除了第二“与非”门29的输入外还用于接收4位数据的位信号b2并根据其“与非”逻辑功能产生逻辑信号的第三“与非”门30。该递增电路16还包括分别接收“与非”门的逻辑信号和位信号b1至b3并根据其“同”逻辑功能产生输出位信号的“同”门32至34。
如图10所示,图6的递减电路21具有将多路转换器18的4位信号的最低有效位(此后称为“LSB”)b0反相的反相器38;用于接收LSB b0和相对于源电压VDD的电平信号并根据其“与非”逻辑功能产生逻辑信号的第四“与非”门35;除了第四“与非”门35的输入外还用于接收4位数据中的位信号b1并根据其“与非”逻辑功能产生逻辑信号的第五“与非”门36以及除了第五“与非”门36的输入外还用于接收4位数据中的位信号b2并根据其“与非”逻辑功能产生逻辑信号的第六“与非”门37。该递减电路21还包括分别用于接收“与非”门35至37的逻辑信号和位信号b1至b3并根据其“异或”逻辑功能产生输出位信号的“异或”门39至41。
请参看图4至10,其中描述FIFO缓冲存储器的操作和由此带来的效果。
首先,当给FIFO缓冲存储器施加(图8所示)低电平的清零信号时,图5的触发器FF1和图7的触发器25被预置,保持其两者的输出在高电平、即“1”,然后触发器FF2至FFn和触发器24被清零,保持全部的输出在低电平、即“0”。因此,地址译码器13和14规定了“00......0”的存储器地址,状态检测器15输出0的满标记和1的空标记。这一状态表示数据可被写入磁芯存储器1,而没有数据从磁芯存储器1读出。如上所述,FIFO缓冲存储器被低电平的清零信号初始化,以便输出空标记表示可将数据写入其中。
在这一状态,外部系统的写时钟信号可以施加给FIFO缓冲存储器以便将数据存储在该存储器中。如图8所示,通过给FIFO缓冲存储器提供写时钟信号,就能够在写时钟信号的上升沿期间将数据存储在由“00......0”的存储器地址规定的磁芯存储器1的一个存储单元中。在该写时钟信号的下降沿期间将存储器地址递增为“00......1”。
另一方面,在状态检测器15的输出中,多路转换器18的4位输出“0000”提供给递增电路16以便被递增为“0001”。递增数据“0001”提供给第一“与”门19的输入端,由此从该门电路19产生0的满标记,该满标记表示在磁芯存储器1中写入数据。然后如图8所示,鉴相器23根据读/写时钟信号产生多路转换器18的选择控制信号SEL。该选择控制信号SEL提供给多路转换器18以便从递增数据和递减数据中选择其中的一个。
如果选择控制信号SEL是1,多路转换器18就将递增电路16的递增数据输出。如果选择控制信号是0,多路转换器18就将递减电路21的递减数据输出。如上所述,当在缓冲存储器中提供写时钟信号时,递增电路16就产生递增数据,而当提供读时钟信号时,递减电路21就产生递减数据。
如果多路转换器18的4位输出是“0000”,由于“或非”门20的功能,空标记变为1,由此缓冲存储器的读操作不能够被执行。如果多路转换器18的4位输出是“1111”,满标记就变为1,由此缓冲存储器的写操作便不能够被执行。
因为状态检测器15以及地址译码器13和14依据检测地址的状态构成了可以将数据写入磁芯存储器和可以从磁芯存储器读出数据的结构,所以可将它们应用于图象数据处理系统,其具有行存储器能够存储相应于一扫描行的图象数据并能够顺序地从其中将其读出。
根据本发明,因为其不需要使用地址计数器、地址寄存器和比较器就能够实现该FIFO缓冲存储器,所以在硬件结构方面简化了控制逻辑。
此外,由于简化了控制逻辑,所以也能够简化FIFO缓冲存储器,因此该FIFO缓冲存储器能够以高速运行并可被高密度地集成。
显然,在不脱离本发明的构思和范围的情况下,本领域技术人员可以容易地作出各种改变,因此,本发明的保护范围包括权利要求中的全部特征及被视作为等同物的全部特征。