CN1060377A - 双向数据传输装置 - Google Patents
双向数据传输装置 Download PDFInfo
- Publication number
- CN1060377A CN1060377A CN90109191A CN90109191A CN1060377A CN 1060377 A CN1060377 A CN 1060377A CN 90109191 A CN90109191 A CN 90109191A CN 90109191 A CN90109191 A CN 90109191A CN 1060377 A CN1060377 A CN 1060377A
- Authority
- CN
- China
- Prior art keywords
- data
- buffer
- signal
- state
- write
- 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.)
- Granted
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 40
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 238000013500 data storage Methods 0.000 claims description 7
- 230000002441 reversible effect Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000008014 freezing Effects 0.000 abstract description 3
- 238000007710 freezing Methods 0.000 abstract description 3
- 230000000903 blocking effect Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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/10—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
用作分别包含一数据源(dq)和一数据接收点
(ds)的两个数据交换单元(z1、z2)之间数据接口的双
向数据传输装置(=信号交换端口)。在每个单元中
至少有一个缓冲器(f1、f2),当发送器缓冲器满或接
收器缓冲器空时,反向单元截断信号(st1)或正向单
元截断信号(st2)分别使数据源(dq)或数据接收点
(ds)的状态冻结。这些单元截断信号(st1、st2)是由
取自缓冲器(f1、f2)的附加的状态信号(v2、e2)控制
的。
Description
双向数据传输装置(=信号交换端口)可用于通信数据处理设备的数据接口,如果单向或双向数据传输不是与公共的系统时钟同步的和/或不是连续的话。这种端口的主要功能是处理信号交换协议,后者可确保仅当数据在发送器处确已齐备且当接收器确已准备就绪接收时数据才得以发送。在较为复杂的系统中,这些先决条件并不总是具备的。例如,由于差值延迟,系统时钟可能会有显著的相位偏差,以致无法保证正确的数据传输。系统时钟的频率越高,差值延迟越至关重要。
在较为复杂的系统中另一个难处是不再随时都有可能估计出何时某个数据字确已齐备。这取决于诸如数据处理电路的内部延迟和运行时间,而它们当采用流水线操作进行并行处理时则更难以看透。
在一篇发表在《IEEE计算机论文集》1987年12月第C-36卷第12期第1523至1538页上的题为“Warp(瓦德金自动远程处理计算机:体系结构、实现和性能”的文章中,描述了一种大型计算机,它的在插件板上实现的处理器模块通过信号交换协议来交换数据。各个处理器模块之间的通信通过队列来进行。当队列(=先进先出存储器=FIFO存储器)是满的或空的时,发送或接收模块分别用一个停止信号来封锁直至数据通信可再次通过队列来处理,这分别是由于那里已为新数据准备了存储槽或新数据已齐备。这种数据驱动式数据传输装置当有多个这种接口参与数据处理时是非常优越的。对程序员而言,整个数据处理因而就成了“透明的”。
因此,此发明所提出的目的就是提供一种用作在一数据源和一与该数据源异步工作的数据接收点之间数据接口的双向数据传输装置,它仅需要一个时钟周期进行一次数据传输,通过修改程序数据传输可扩展到任意多个尤其是两个时钟周期,并且它还包括当出现不一致的数据发生和数据接收率时用以缓存所传输的数据的装置,当缓冲器满时数据源的操作被中断,而当缓冲器空时数据接收点的操作被中断。
此发明及其更多的优点将参照附图予以更详细的说明,图中:
图1为此发明所述双向数据传输装置一实施例的框图,带有缓冲器及反向和正向单元停止信号;
图2为信号交换协议的时序图;
图3为表示读语句执行周期的流程图;
图4为表示写语句执行周期的流程图;以及
图5为此发明所述FIFO存储器一实施例的框图。
图1所示的双向数据传输装置(=信号交换端口)包括两个数据交换单元。第一单元Z1作为数据发送器,而第二单元Z2作为数据接收器。第一和第二单元Z1、Z2的实际信号处理电路可分别大致构成一数据源dq和一数据接收点ds。由数据源dq发出的数据被缓存在发送器缓冲器f1中,后者有至少一第一缓冲寄存器r1和一第二缓冲寄存器r2,并且如果必要还有预定数量的附加的缓冲寄存器ri。一般来讲,发送缓冲器应是一个FIFO存储器(=先进先出存储器)。FIFO存储器后面接有一门/缓冲电路tp,后者也作为所需发送数据即数据dat的驱动电路。
在接收器一侧与发送器缓冲器f1相对应的装置为接收器缓冲器f2,它也是以-FIFO存储器来实现的。它包括至少一第一缓冲寄存器r1和一第二缓冲寄存器r2,并且如果必要还有预定数量的附加的缓冲寄存器ri。仅仅在发送器一侧的一个缓冲器f1或在接收器一侧的一个缓冲器f2就可使数据接收点ds或数据源dq有可能分别在短时间内具有不同的数据接收或数据发生率。补偿是通过缓冲器来实现的。补偿时间越长,在发送器或接收器一侧的可用的缓冲寄存器数量必须越大。如后面将要说明的,发送器一侧需要至少两个缓冲寄存器,而这只不过是由于特定的信号交换协议执行阶段无法足够快地阻塞数据源dq以致所发生的数据必须予以缓存。
数据传输由发送器和接收器的时序电路su1、Su2来控制,它们用信号交换协议来实现数据传输。如果数据源dq向发送器时序电路su1发出写信号Wr以表示它打算将一数据字写入发送端口,发送器时序电路su7将检验发送器缓冲器f1是否已准备好接收,亦即它是否有任何空的缓冲寄存器或是否所有缓冲寄存器都满了。作为这一信息,发送器缓冲器f1提供三种状态信号:
1.当所有缓冲寄存器都满时,第一状态满信号V1;
2.当除了一个之外所有缓冲寄存器都满时,第二状态满信号V2;和
3.当所有缓冲寄存器都空时,状态空信号e。采用这些状态信号,可得出发送器缓冲器f1的下列充填级:
状态信号 | 发送器缓冲器f1的内容 | |||
V1V2e | 所有寄存器满 | 除一个之外所有寄存器满 | 至少两寄存器空 | 所有寄存器空 |
1(1)(0) | (0)1(0) | 000 | (0)(0)1 |
同样地,接收器缓冲器f2提供下列三种信号:
1.当所有缓冲寄存器都空时,第一状态空信号e1;
2.当除了一个之外所有缓冲寄存器都空时,第二状态空信号e2;和
3.当所有缓冲寄存器都满时,状态满信号v。
状态信号 | 接收缓冲器f2的内容 | |||
e1e2V | 所有寄存器空 | 除一个之外所有寄存器满 | 至少两寄存器满 | 所有寄存器满 |
1(1)(0) | (0)1(0) | 000 | (0)(0)1 |
从数据接收点ds发出的读信号告诉接收器时序电路su2一数据字dat将从该端口读入。在接收器缓冲器f2中数据字的可获得与否是用刚说明的三种状态信号e1、e2和v来告知接收器时序电路su2的。
两个时序电路su1和su2信号交换协议的时序图如图2所示。信号交换协议在时刻1以请求信号req开始,它告诉接收器时序电路su2-数据字将被传送。这个数据字的接收在时刻2通过将认收信号ack置位来告诉发送器时序电路。在发送器时序电路su1中,认收信号ack的收到可使请求信号req在时刻3复位。在接收器时序电路中,这个复位操作可使认收信号ack在时刻4被取消。在图2中,假定在时刻5所要传输的信号dat不是立即可以而是只能在一个时钟周期之后被接收器所接收。因而认收信号只能在一个时钟周期之后在时刻6被置位。信号交换协议的其余部分则在时刻7和8无延迟地得以执行。只有在这时新的数据传输周期才能开始。
这种操作序列的作用是确保正确的数据传输不取决于信号交换协议的执行时间。通过适当地设计各个分支电路。信号交换协议即使在时钟频率很高时也能在一个时钟周期内完全实现。但是,如果控制序列需要多于一个时钟周期,由于它们包括比如说一个初始化段和一个执行段,单元控制问题就会出现。这当中包括反向和正向单元截断信号st1、st2,它们取决于状态信号,因为状态信号的置位是在与它们的测定不同的时钟周期内进行的,这就是:比如说,由于认收信号ack未被接收器时序电路su2复位,并且由于在认收信号复位与数据源dq阻塞之间有一段由电路所导致的等待时间以致数据源dq将继续工作一或两个时钟周期,因而数据源dq必须被阻塞的情形。在这种情况下,由数据源dq继续发生的数据必须缓存在发送器一侧的缓冲寄存器内,并且仅当认收信号ack复位时才发出。表示这些缓冲寄存器充填级的状态信号没有必要去阻塞数据源dq,如果数据源的启动需要同样多个时钟周期的话。
这也就是两个读语句re一个紧接着另一个而在接收缓冲器f2中只有一个数据字的情况。这样,第二个读语句会遇到一个仍未置位的状态空信号并认为接收缓冲器f2有一数据字-但那就不再是这种情况了。
类似的操作在发送器时序电路su1中进行,当两个写语句一个紧接着另一个时,它将过迟地认识到发送缓冲器f1是满的,如果执行第一个写语句时在发送缓冲器f1中只有一个寄存器可用的话。用从发送器时序电路su1发出的反向单元截断信号st1来阻塞数据源dq就会迟了一个时钟周期,以致由于存储器满着而数据源dq中的一个数据字会被丢失。
用从接收器时序电路su2发出的正向单元截断信号st2来阻塞数据接收点ds也会迟了一个时钟周期,以致数据接收点ds会从空的缓冲器f2中读数据。
为了克服这一点,按照此发明,发送器和接收器缓冲器f1和f2各用一个附加的状态信号来有远见地予以监控,分别称之为第二状态满信号V2和第二状态空信号C2。用这种方法,过长的控制序列的初始化被提前了。如果执行的是另一个短的控制序列而不是会导致冲突的临界控制语句,这个初始化的取消当然肯定不会造成任何延迟。
为了说明这一点,图3表示一读语句re的执行周期的流程图。矩形框表示语句被执行,这是在时钟c12的CO段进行的。六角形框表示在ci段语句被读入,并附有相应的条件。执行是在下一个co段进行的。这些条件在流程图中表示为是/否的判定。这些条件信号的置位是在时钟c12的ci段进行的。
流程图在co段中的时刻1以执行任意一个语句(这里称为“开始”)开始。在时刻2,即在ci段,下一个语句以及作为一个条件的第一状态空信号e1被装入。如果这个语句不是读语句re,一个一般的语句将被执行,这被表示为一个指向开始语句输入端的箭头。如果该语句是读语句,操作序列将取决于第一状态空信号e1的状态。如果这个信号为“0”,即没有置位,读语句re将在下一个co段被执行;这在流程图中用读框fre表示,并且在时刻3进行。
如果接收缓冲器f2为空的,这可由被置为“1”的第一状态空信号e1来表示,在数据接收点ds中的信号处理将被截断,这在流程图中用带有正向单元截断信号st2的框“截断”来表示。当这种状态已开始后,在co段中数据接收点中的数据处理状态保持“冻结”。这种“冻结”保持到从接收器缓冲器f2发出的第一状态空信号e1被复位,即恢复状态“0”。根据第一状态空信号e1的状态,在ci段既可以开始一个新的等待循环也可以开始执行读语句。如果第一状态空信号e1未被置位,箭头因而将在时刻3指向读框fre。
这个读语句re的执行fre启动了为下一个语句所做的如下准备。第二状态空信号e2被从接收器缓冲器f2传送到接收器时序电路su2,其中采用了下列条件函数:
1.如果下一个语句不是读语句re,这个语句将被执行,这在流程图中用返回到开始框夹表示。
2.如果下一个语句是读语句re,仅当第二状态空信号e2未被置位即是“0”时,它才将被执行。否则,即第二状态空信号e2已置位,将执行正向单元截断st2而不是下一个读语句;这用一个指向截断框输入端的箭头来表示。在co段中的时刻5现有的数据状态被冻结,而没有所期望的那样执行第二个读语句re。
在后续的ci段,即时刻6,更多的程序执行仅由第一状态空信号e7的状态来决定。如果该状态空信号e1被置位,另一个等待循环将被执行;如果该信号未被置位,读语句re将被执行。
由于第二个读语句可以紧跟著有更多的读语句,未置位的第二状态空信号e2导致返回到读出框fre而不是开始框。只要读语句一个接着另一个并且接收缓冲器f2有至少两个数据字,这个循环就不会退出。
发送器一侧相继的写指令的监控对应于接收器一侧相继的读指令的监控。写语句的执行周期的流程图如图4所示。由于它与图3的流程图对应,不需要再作详细说明。下列各点是相互对应的:读语句re与写语句ωr,第一状态空信号e1与第一状态满信号v1,第二状态空信号e2与第二状态满信号v2,读语句re的执行fre与写语句ωr的执行fωr,以及正向单元截断信号stz与反向单元截断信号st1。
图4的流程图的基本特点在于:当写语句ωr一个紧接着另一个时,至少一个等待循环将被插入,如果第二状态满信号v2表明在第一个写语句ωr的执行fωr期间发送缓冲器f1中只有一个寄存器可以接收数据的话。如果发送缓冲器f1中有更多的空位置可用,相继的写语句将导致返回到写入框fωr,它将在co段执行写语句ωr。
在图2中,在单个时钟周期内完成数据传输的正常情况如时刻1和时刻4之间所表示的。下一次数据传输,从时刻5到时刻8,用了较长时间,因为数据的接收是迟一些在时刻6进行的;接收器缓冲器f2已满。这一数据传输的拖延不是所期望的。
在数据接口用来实现与芯片之外交换数据的情况下,高时钟频率时难以确保数据传输能在一个时钟周期内完成。这一点必须在程序设计中通过将经由这些接口的数据传输予有准备地降低至一半的数据传输率或更低而予以考虑。做到这一点有两种方法。
1.在访问一个端口的两个相继的读语句之间插入至少一条nop(=空操作)指令,或
2.在发送器一侧,信号交换端口由写语句ωr以至多不过一半的时钟频率来驱动。
当发送器和接收器两侧的半时钟频率相应于平均数据传输率时,可得到进一步的改善。在这种情况下,在一定时间内读和写语句紧密相连是允许的;但是,缓存是靠发送器或接收器缓冲器f1、f2中的附加的缓冲寄存器ri来实现的。在发送器缓冲器f1中附加缓冲寄存器ri的预定数量至少要等于到达该端口的相继的写语句的数量。
这种双向数据传输装置的操作因而可确保不依赖于两个时钟cl1、cl2的相位或频率。如果一个时钟周期不够,尤其是如果数据传输超出芯片之外进行,数据传输的时间范围可以用上述步骤予以随意扩展,只需要提供足够的数据缓存以及到达各个端口的降低了的平均写和读速率。
这种双向数据传输装置在带有多个单元的数据驱动的阵列处理器中是特别有利的,这些单元与它们的相邻单元或芯片之外交换数据。这些用于实时信号尤其是视频信号处理的阵列处理器要求很高的时钟频率,比如说高达125兆赫。此发明所述的双向数据传输装置可实现处理深度很大的数据传输,例如在一个时钟周期内执行有十二位二进制数的三地址指令,参见同时提交的欧洲专利申请(ITT案:U.Schmidt等1-2)。由于这种单片集成阵列处理器从MIMD原理工作(MIMD=多指令、多数据流),它可以用于种类广泛的任务。因而无法预料各个单元可能要处于等待状态多久。因此它们的数据源dq和它们的数据接收点ds被设计成静态或准静态的分支电路,即使在任意时间段的单元截断时也能保持各数据状态。这里所用的术语“准静态分支电路”也包括能通过刷新循环来在任意时间段内保持各状态的动态分支电路。
因此,尽管增加了电路复杂程度,只要无法准确预料各个等待状态将持续多久,在数据单元21、22中采用这种静态或准静态分支电路就是有益的。
图5表示用作此发明所述缓冲器的FIFO存储器一实施例的框图,它除了可提供通常的状态空信号e、e1或状态满信号V、v1之外,还提供第二状态空信号e2或第二状态满信号v2。所有这些状态信号都与数据存储器fi本身的充填级有关,在以上设定的例子中该存储器可存入八个十二位数据字。需写入的数据di通过输入放大器iv送入,而需读出的数据do通过输出放大器ov送出。
数据存储器fi的操作如下。
由写信号ωr控制的写指针pω指示数据字di将被写入的写地址。下一个写信号ωr将写地址增加一个位置,这一直持续到写指针pω返回到第一个地址。
同样,读信号rs通过读指针pr来确定读地址。两个指针的输出是“8中取1”编码的,并且用八个“与”门同读、写和时钟信号连在一起。在与写指针pω有关的八个“与”门和与读指针pr有关的八个“与”门中,图5只表示了第八个“与”读门uω8和第一个“与”写门ur1。
写信号ωs还控制着四位二进制计数器cb的向上计数输入端auf,而其向下计数端ab侧由读信号rs记录次数。但是,按照图5左边的表,计数器cb当只加有读信号rs或只有写信号ωs时才增加或减少。在所有其它情况下,计数值保持不变。作为一个初始状态,计数器cb和两个指针pω、pr的所有位都被置为零。
计数器cb的四位在解码器dec中按照图5右边的表被解码。如果数据存储器fi为空的,计数器cb的所有四位都是“0”。在这种情况下,解码器将第一和第二状态空信号e1、e2置位。如果数据存储器fi中有单一的数据字,计数器输出信号最低位被置位。在这种情况下,解码器dec只将第二状态空信号e2置位。
如果数据存在器fi中的所有寄存器除了一个之外都已被占用,即如果七个寄存器是满的,从计数器cd发出的二进制编码的输出信号的值为七。在这种情况下,解码器只将第二状态满信号v2置位。如果数据存储器的所有八个单元都是满的,计数值为八,这就使解码器dec将第一和第二状态满信号v1、v2置位。
在所有其它情况下,即从计数值2到计数值6,解码器dec不将任何状态信号置位。这里应当注意,第一状态空信号e1时应于图1中的状态空信号e,而第一状态满信号v1对应于状态满信号v。
为了防止当同一个存储器地址被同时写和读时两个指针pω、pr之间的冲突,读指针pr的定时在锁存器1a中被延迟了半个时针周期。写和读信号ωs、rs在时钟周期的co段被起动,两锁存器在仅半个时钟周期之后在ci段发出读信号rs。以同样的方式,通过将八个“与”写门同ci段相关联并将八个“与”读门同co段相关联可以防止16个“与”门之间的冲突。
Claims (10)
1、用于两个各带有一数据源(dq)和一数据接收点(ds)的数据交换单元(z1、z2)的数据接口的双向数据传输装置(=信号交换端口),包括
-一发送器时序电路(sa1)和一接收器时序电路(su2),用来执行用以实现数据传输的信号交换协议并提供一反向单元截断信号(st1)和一正向单元截断信号(st2),
-一第一时钟(cl1)和一第二时钟(cl2),用以分别使第一单元(z1)和第二单元(z2)中的数据处理同步,以及
--发送器一侧至少一缓冲器和接收器一侧至少一缓冲器,带有表示该缓冲器是否准备好接收,即其中没有数据的状态信号,
具有以下特点:
-信号交换协议可在第一和第二时钟(cl1、cl2)的一个时钟周期内执行;
-接收器一侧的缓冲器为接收器缓冲器(f2),其中包括至少两个缓冲寄存器(r1、r2)并可将一第一状态空信号(e1)和一第二状态空信号(e2)置位,而它们可分别告知接收器时序电路(su2)所有缓冲寄存器为空的和除了一个之外其它所有缓冲寄存器为空的;
-接收器缓冲器进而可将一状态满信号(v;v1)置位,它可告知接收器时序电路(su1)所有缓冲寄存器为满的;
--发送器一侧的缓冲器为发送器缓冲器(f1),其中包括至少两个缓冲寄存器(r1、r2)并可将一第一状态满信号(v1)和一第二状态满信号(v2)置位,而它们可分别告知发送器时序电路(su1)所有缓冲寄存器是满的和除了一个之外所有其它缓冲寄存器是满的;
--发送器缓冲器进而可将一状态空信号(e,e1)置位,它可告知发送器时序电路(su1)所有缓冲寄存器为空的;
--在从接收器缓冲器(f2)读出一个数据字的第一个读语句(re)之后,紧接着的第二个读语句仅当第二状态空信号(e2)未被置位时才得以执行;
--如果第二状态空信号(e2)被置位,正向单元截断信号(st)将使数据接收点(ds)截断,因而第二个读语句的执行被延迟至少一个时钟周期;
--在向发送缓冲器(f1)写入一个数据字的第一个写语句之后,紧接着的第二个写语句仅当第二状态满信号(v2)未被置位时才得以执行;
-如果第二状态满信号(v2)被置位,反向单元截断信号(st1)将使数据源(dq)截断,因而第二个写语句的执行被延迟至少一个时钟周期,以及
--在正向或反向单元截断之后,第二状态空信号(e2)或第二状态满信号(v2)的状态对于第二个将被执行的读或写语句不再有影响。
2、权利要求1所述的双向数据传输装置,其特征在于接收器缓冲器(f2)和/或发送器缓冲器(f1)包含至少预定数量的附加的缓冲寄存器(ri),用以缓存具有不同发生和接收率的数据,在由所述预定数量决定的几个时钟周期之内的发生和接收率按平均数计算是相等的。
3、权利要求2所述的双向数据传输装置,其特征在于在作为用来与芯片之外交换数据的数据接口的情况下,可通过在两个访问该端口的相继的写语句之间插入至少一个nop指令(=空操作)将数据传输延长到至少两个时钟周期而无需改变信号交换协议。
4、权利要求2所述的双向数据传输装置,其特征在于在作为用来与芯片之外交换数据的数据接口的情况下,可通过以至多一半的时钟频率用写语句来驱动发送器一侧的端口将数据传输延长到至少两个时钟周期而无需改变交接协议。
5、权利要求2所述的双向数据传输装置,其特征在于在发送器缓冲器(f1)中附加缓冲寄存器(ri)的预定数量至少与到达该端口的相继的写语句(ωr)的数量相等,并且平均而言该端口是以至多一半的时钟频率由写语句来驱动的。
6、权利要求1所述的双向数据传输装置,其特征在于它可用于两个异步计时的单元之间的数据通讯。
7、权利要求1所述的双向数据传输装置,其特征在于数据源(dq)和数据接收点(ds)包括静态或准静态的分支电路,即使在任意时间段的一个单元截断中仍保持它们的逻辑状态。
8、权利要求1至7任何一个所述的双向数据传输装置,其特征在于这种双向数据传输装置可用作数据驱动的有多个单元的单片集成阵列处理器的数据接口,这些单元与它们各自的相邻单元或芯片之外交换数据。
9、权利要求2所述的双向数据传输装置,其特征在于发送器缓冲器(f1)和接收器缓冲器(f2)包含下列分支电路:
-有n个可寻址寄存器的数据存储器(fi),
-由写信号(ωs)控制的写指针(pω)和由读信号(rs)控制的读指针(pr),所述写和读指针分别在co和ci段记录次数,
-向上/向下计数器(cb),写信号(ωs)和读信号(rs)分别被送入其向上计数和向下计数输入端,以及
-由向上/向下计数器(cb)的计数值得出第一和第二状态空信号(e1、e2)以及第一和第二状态满信号(v1、v2)的解码器(dec),并且
-写和读指针(pω、pr)以及向上/向下计数器(cb)的计数容量等于数据存储器(fi)中可寻址寄存器的数量。
10、权利要求1所述双向数据传输装置,其特征在于:
-发送缓冲器(f1)中的缓冲寄存器的数量至少等于使数据源(dq)截断或使其起动同等时间长度所需的时钟周期数;且
-在存在这种最小缓冲寄存器数量的情况下,表示发送器缓冲寄存器(f1)的充填级的状态信号都不是必要的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP89121507.1 | 1989-11-21 | ||
EP89121507A EP0428771B1 (de) | 1989-11-21 | 1989-11-21 | Zweiwege-Datenübergabe-Einrichtung |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1060377A true CN1060377A (zh) | 1992-04-15 |
CN1022723C CN1022723C (zh) | 1993-11-10 |
Family
ID=8202145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN90109191A Expired - Fee Related CN1022723C (zh) | 1989-11-21 | 1990-11-17 | 双向数据传输装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5280584A (zh) |
EP (1) | EP0428771B1 (zh) |
JP (1) | JP2821552B2 (zh) |
KR (1) | KR0145321B1 (zh) |
CN (1) | CN1022723C (zh) |
DE (1) | DE58908975D1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101669102B (zh) * | 2007-04-27 | 2013-03-20 | 爱特梅尔公司 | 多芯片总线实施方案中的数据的串行化 |
CN111651136A (zh) * | 2020-07-06 | 2020-09-11 | Oppo广东移动通信有限公司 | Fifo存储器、电子芯片及终端 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE58908974D1 (de) * | 1989-11-21 | 1995-03-16 | Itt Ind Gmbh Deutsche | Datengesteuerter Arrayprozessor. |
US5473755A (en) * | 1992-06-01 | 1995-12-05 | Intel Corporation | System for controlling data stream by changing fall through FIFO last cell state of first component whenever data read out of second component last latch |
US5335326A (en) * | 1992-10-01 | 1994-08-02 | Xerox Corporation | Multichannel FIFO device channel sequencer |
JPH06250970A (ja) * | 1993-02-26 | 1994-09-09 | Toshiba Corp | メモリ制御装置 |
GB2289146B (en) * | 1994-04-12 | 1998-09-09 | Nokia Mobile Phones Ltd | Buffering data |
US5634043A (en) * | 1994-08-25 | 1997-05-27 | Intel Corporation | Microprocessor point-to-point communication |
US5710939A (en) * | 1995-05-26 | 1998-01-20 | National Semiconductor Corporation | Bidirectional parallel data port having multiple data transfer rates, master, and slave operation modes, and selective data transfer termination |
US5717954A (en) * | 1995-10-13 | 1998-02-10 | Compaq Computer Corporation | Locked exchange FIFO |
KR0176537B1 (ko) * | 1995-10-14 | 1999-05-01 | 김광호 | 가변길이복호화기의 메모리 인터페이스방법 및 회로 |
US5905766A (en) * | 1996-03-29 | 1999-05-18 | Fore Systems, Inc. | Synchronizer, method and system for transferring data |
US6018465A (en) * | 1996-12-31 | 2000-01-25 | Intel Corporation | Apparatus for mounting a chip package to a chassis of a computer |
US6137688A (en) * | 1996-12-31 | 2000-10-24 | Intel Corporation | Apparatus for retrofit mounting a VLSI chip to a computer chassis for current supply |
US5898876A (en) * | 1997-03-21 | 1999-04-27 | Apple Computer, Inc. | Efficient arbitration within point-to-point ringlet-based computer systems |
US6477584B1 (en) * | 1997-03-21 | 2002-11-05 | Lsi Logic Corporation | Message FIFO empty early warning method |
US6425032B1 (en) | 1999-04-15 | 2002-07-23 | Lucent Technologies Inc. | Bus controller handling a dynamically changing mix of multiple nonpre-emptable periodic and aperiodic devices |
GB2370380B (en) | 2000-12-19 | 2003-12-31 | Picochip Designs Ltd | Processor architecture |
DE10130797A1 (de) * | 2001-06-26 | 2003-01-02 | Infineon Technologies Ag | Schnittstelle zur Datenübertragung |
US8108429B2 (en) * | 2004-05-07 | 2012-01-31 | Quest Software, Inc. | System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services |
US7565661B2 (en) | 2004-05-10 | 2009-07-21 | Siew Yong Sim-Tang | Method and system for real-time event journaling to provide enterprise data services |
US7680834B1 (en) * | 2004-06-08 | 2010-03-16 | Bakbone Software, Inc. | Method and system for no downtime resychronization for real-time, continuous data protection |
US7979404B2 (en) | 2004-09-17 | 2011-07-12 | Quest Software, Inc. | Extracting data changes and storing data history to allow for instantaneous access to and reconstruction of any point-in-time data |
US7904913B2 (en) * | 2004-11-02 | 2011-03-08 | Bakbone Software, Inc. | Management interface for a system that provides automated, real-time, continuous data protection |
US7689602B1 (en) * | 2005-07-20 | 2010-03-30 | Bakbone Software, Inc. | Method of creating hierarchical indices for a distributed object system |
US7788521B1 (en) | 2005-07-20 | 2010-08-31 | Bakbone Software, Inc. | Method and system for virtual on-demand recovery for real-time, continuous data protection |
US8131723B2 (en) | 2007-03-30 | 2012-03-06 | Quest Software, Inc. | Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity |
US8364648B1 (en) | 2007-04-09 | 2013-01-29 | Quest Software, Inc. | Recovering a database to any point-in-time in the past with guaranteed data consistency |
GB2450564B (en) | 2007-06-29 | 2011-03-02 | Imagination Tech Ltd | Clock frequency adjustment for semi-conductor devices |
US7594047B2 (en) * | 2007-07-09 | 2009-09-22 | Hewlett-Packard Development Company, L.P. | Buffer circuit |
GB2454865B (en) * | 2007-11-05 | 2012-06-13 | Picochip Designs Ltd | Power control |
US9418110B1 (en) * | 2008-06-30 | 2016-08-16 | Emc Corporation | Intelligent, scalable, low-overhead mechanism for data retrieval in a distributed network environment |
GB2466661B (en) * | 2009-01-05 | 2014-11-26 | Intel Corp | Rake receiver |
GB2470037B (en) | 2009-05-07 | 2013-07-10 | Picochip Designs Ltd | Methods and devices for reducing interference in an uplink |
GB2470771B (en) | 2009-06-05 | 2012-07-18 | Picochip Designs Ltd | A method and device in a communication network |
GB2470891B (en) | 2009-06-05 | 2013-11-27 | Picochip Designs Ltd | A method and device in a communication network |
GB2474071B (en) | 2009-10-05 | 2013-08-07 | Picochip Designs Ltd | Femtocell base station |
GB2482869B (en) | 2010-08-16 | 2013-11-06 | Picochip Designs Ltd | Femtocell access control |
GB2489919B (en) | 2011-04-05 | 2018-02-14 | Intel Corp | Filter |
GB2489716B (en) | 2011-04-05 | 2015-06-24 | Intel Corp | Multimode base system |
GB2491098B (en) | 2011-05-16 | 2015-05-20 | Intel Corp | Accessing a base station |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228496A (en) * | 1976-09-07 | 1980-10-14 | Tandem Computers Incorporated | Multiprocessor system |
NL7901156A (nl) * | 1979-02-14 | 1980-08-18 | Philips Nv | Systeem voor het asynchroon transporteren van gegevens tussen aktieve deelinrichtingen. |
DE3235243C2 (de) * | 1982-09-23 | 1984-07-19 | Siemens AG, 1000 Berlin und 8000 München | Schaltungsanordnung für einen universell einsetzbaren Pufferspeicher |
US4592019A (en) * | 1983-08-31 | 1986-05-27 | At&T Bell Laboratories | Bus oriented LIFO/FIFO memory |
US4816993A (en) * | 1984-12-24 | 1989-03-28 | Hitachi, Ltd. | Parallel processing computer including interconnected operation units |
CA1257400A (en) * | 1985-05-21 | 1989-07-11 | Akihiro Sera | Input/output control system |
US4823312A (en) * | 1986-10-30 | 1989-04-18 | National Semiconductor Corp. | Asynchronous communications element |
US4935894A (en) * | 1987-08-31 | 1990-06-19 | Motorola, Inc. | Multi-processor, multi-bus system with bus interface comprising FIFO register stocks for receiving and transmitting data and control information |
US4945548A (en) * | 1988-04-28 | 1990-07-31 | Digital Equipment Corporation | Method and apparatus for detecting impending overflow and/or underrun of elasticity buffer |
US4942553A (en) * | 1988-05-12 | 1990-07-17 | Zilog, Inc. | System for providing notification of impending FIFO overruns and underruns |
US4888739A (en) * | 1988-06-15 | 1989-12-19 | Cypress Semiconductor Corporation | First-in first-out buffer memory with improved status flags |
US4866609A (en) * | 1988-06-22 | 1989-09-12 | International Business Machines Corporation | Byte count handling in serial channel extender with buffering for data pre-fetch |
US5155810A (en) * | 1989-01-10 | 1992-10-13 | Bull Hn Information Systems Inc. | Dual FIFO peripheral with combinatorial logic circuitry |
-
1989
- 1989-11-21 EP EP89121507A patent/EP0428771B1/de not_active Expired - Lifetime
- 1989-11-21 DE DE58908975T patent/DE58908975D1/de not_active Expired - Fee Related
-
1990
- 1990-11-05 US US07/614,777 patent/US5280584A/en not_active Expired - Lifetime
- 1990-11-17 CN CN90109191A patent/CN1022723C/zh not_active Expired - Fee Related
- 1990-11-19 KR KR1019900018704A patent/KR0145321B1/ko not_active IP Right Cessation
- 1990-11-21 JP JP2317596A patent/JP2821552B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101669102B (zh) * | 2007-04-27 | 2013-03-20 | 爱特梅尔公司 | 多芯片总线实施方案中的数据的串行化 |
CN111651136A (zh) * | 2020-07-06 | 2020-09-11 | Oppo广东移动通信有限公司 | Fifo存储器、电子芯片及终端 |
CN111651136B (zh) * | 2020-07-06 | 2023-06-30 | Oppo广东移动通信有限公司 | Fifo存储器、电子芯片及终端 |
Also Published As
Publication number | Publication date |
---|---|
EP0428771A1 (de) | 1991-05-29 |
EP0428771B1 (de) | 1995-02-01 |
KR910010315A (ko) | 1991-06-29 |
JP2821552B2 (ja) | 1998-11-05 |
US5280584A (en) | 1994-01-18 |
JPH03175848A (ja) | 1991-07-30 |
CN1022723C (zh) | 1993-11-10 |
DE58908975D1 (de) | 1995-03-16 |
KR0145321B1 (ko) | 1998-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1022723C (zh) | 双向数据传输装置 | |
SU1561834A3 (ru) | Устройство адресации к пам ти | |
CA1233259A (en) | High performance memory utilizing pipelining techniques | |
US5289584A (en) | Memory system with FIFO data input | |
US4669056A (en) | Data processing system with a plurality of processors accessing a common bus to interleaved storage | |
US20040059965A1 (en) | Synchronous serial data communication bus | |
CN1288544A (zh) | 信源同步及公共时钟协议中的数据传输 | |
CN1296624A (zh) | 异步流水线半导体存储器 | |
JP3569735B2 (ja) | Sramキャッシュ用ワード幅選択 | |
CN100573488C (zh) | 一种基于同步访问模式的多端口存储器 | |
CN101221542A (zh) | 一种外部存储器接口 | |
CN1040105A (zh) | 微处理器总线接口单元 | |
CN102004626B (zh) | 双口存储器 | |
KR100329968B1 (ko) | 이중포트 구조로 이루어진 다수의 트랜잭션 버퍼를 구비한캐쉬 제어기 | |
CN1017837B (zh) | 具有单比特置位和复位功能的主存储器插板 | |
US7191295B2 (en) | Sensing word groups in a memory | |
CA2045063C (en) | Dual interleaved output queue | |
US20050238038A1 (en) | Asynchronous packet based dual port link list header and data credit management structure | |
KR940006992B1 (ko) | 메모리 제어 시스템 및 방법 | |
US6760273B2 (en) | Buffer using two-port memory | |
CN100357920C (zh) | 平行输入/输出数据传输控制器 | |
JPS6024980B2 (ja) | マイクロコンピユ−タ | |
US4028665A (en) | Information store system comprising a plurality of different shift-registers | |
CN1627280A (zh) | 数据传输电路 | |
JP2581144B2 (ja) | バス制御装置 |
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 | ||
C15 | Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993) | ||
OR01 | Other related matters | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |