CN1322443C - 高速数据传输的装置及方法 - Google Patents
高速数据传输的装置及方法 Download PDFInfo
- Publication number
- CN1322443C CN1322443C CNB2004100484650A CN200410048465A CN1322443C CN 1322443 C CN1322443 C CN 1322443C CN B2004100484650 A CNB2004100484650 A CN B2004100484650A CN 200410048465 A CN200410048465 A CN 200410048465A CN 1322443 C CN1322443 C CN 1322443C
- Authority
- CN
- China
- Prior art keywords
- signal
- data
- bus
- object element
- clock
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 56
- 238000012546 transfer Methods 0.000 title description 15
- 238000004891 communication Methods 0.000 claims description 98
- 230000005540 biological transmission Effects 0.000 claims description 48
- 230000001360 synchronised effect Effects 0.000 claims description 19
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 16
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 239000003999 initiator Substances 0.000 abstract description 9
- 230000004044 response Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- VEMKTZHHVJILDY-UHFFFAOYSA-N resmethrin Chemical compound CC1(C)C(C=C(C)C)C1C(=O)OCC1=COC(CC=2C=CC=CC=2)=C1 VEMKTZHHVJILDY-UHFFFAOYSA-N 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000002411 adverse Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000002939 deleterious effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Images
Classifications
-
- 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/4217—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
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)
Abstract
改进的目标单元及启动单元。该启动单元在总线上与时钟信号同步地提供开始写入地址及写入长度信息。当开始写入地址及写入长度信息表示在该总线上,该启动单元提供写入或读取请求信号,并随时钟信号的时钟周期同步地变成有效或无效。从目标单元来的允许信号随后被接收,该允许信号随着时钟信号的时钟周期变成有效或无效。在该允许信号变成无效之后,如果在写入操作时,该启动单元提供一些与时钟信号同步提供的写入数据项在总线上供目标单元提取。如果在读取操作时,该目标单元提供一些与时钟信号同步提供的读取数据项在总线上供该启动单元提取。数据项被提供在时钟信号的每一个别的时钟周期,数据项的数目由所述已提供的写入长度信息所决定。
Description
技术领域
本发明涉及数字通讯的领域。特别是本发明涉及一个在一个通讯总线上传输数据的协议(protocol)。
背景技术
通讯总线含有许多应用,举例来说,用来在计算机和集成电路间交换数据。一个通讯总线可以包含很多种特性(feature),不过,其中最大的一个是其提供的一个共享的通讯联结(shared communication link)。这种通讯联结可以允许两个单元(unit)来作通讯,例如一部计算机中的处理器以及存储器之间;或是可以让许多数以千计的单元进行通讯,例如很多在因特网互相连结的计算机。因此来说,一个通讯联结是组合成必须互相通讯的庞大复杂系统的基础单位。通讯总线也提供来使系统有更多变化性。一个适当规划的总线可以提供在总线上增加或减少单元的容易性。通讯总线也可以提供来让通讯系统减少成本。如果可以专用既有的一组来进行数据总线的共享信号线,必需和其它各种各样单元之间彼此传输数据的许多单元不再需要自己专属的其它组信号线。
虽然通讯总线可以提供优点,但是也有其限制。一个通讯总线会有其相关的最大数据传输频宽。一个数据总线也没有办法同时间分享给总线上的所有单元来使用。因此,在总线上的单元争相存取总线的时候会产生传输的瓶颈。最大传输速度会被总线长度、总线上的单元数以及所需支持的装置数范围等因素所限制。一个总线的规划有可能很复杂,因为各种范围的装置会有非常不一样的特性。例如不同的潜伏时间(latency),也就是反应一个命令所需的时间;或是不同的数据传输速率。当一个单元的数据传输率比总线的传输率要快时,总线也许需要节制数据放到总线上的方法。还有当接收率比总线的传输率要慢时,总线同样也许需要节制数据放到总线上的方法。
已有技术中,同步通讯总线也因为启动单元(initiator unit)以及目标单元(target unit)的操作需要接近的耦合而效果变差。启动单元需要持续的包含一个目标单元某些操作的指示。目标单元类似的也需要持续的包含一个启动单元某些操作的指示。当其提供给一个近距离控制的通信系统时,会产生许多延迟,特别是来回延迟(round-trip lag)。举例来说,当执行一个写入(write)操作,启动单元需要产生讯号给目标单元,由目标单元处理后,目标单元产生新的信号传到启动单元来启动请求的写入操作。一个读取(read)操作产生一个因为同样需要协商的第二个来回延迟。已有技术的其它架构会在后面描述本发明的时候交互提出。为了解本发明,先了解已有技术的某些结构是很有帮助的。因此,后面将先回顾已有技术;之后,再描述本发明的实施例。通过对已有技术全盘的了解,更能查知本发明的广泛应用性。此外,本领域的技术人员还可以了解本发明除所描述实施例之外的应用。
通讯系统的一般结构可以通过图1来了解。图1是一个通讯总线102的组织方式。通讯总线102包含一组第一讯号线专门用来做控制线104以及一组第二讯号线专门用来做数据线106。控制线104控制通讯总线102数据的流动,特别是数据线106上的数据。除了其它的功能之外,控制线104上的信息可以指出数据线106上数据是何种类型。控制线104上的信息可以进一步指出数据线106上数据流动的方向包含数据的来源及目标。数据线106在来源及目标之间传达数据。这些数据可以包含数据目标地址的指定。此外,数据线106上的数据可以传达目标单元所要接收及处理的复杂指令。
当通讯或交换数据时,一个总线传输会发生。一般来说,一个总线传输包含一个发出命令的请求,以及一个包含数据传输的操作。图2中表示一个通讯系统200的方块图。通讯系统200包含一个总线主控装置(busmaster)202、一个通讯总线204以及一个总线受控装置(bus slave)206。总线主控装置202是一个通过发出一个命令以及(/或)一个地址来启动一个总线传输的单元。该总线传输会经由总线204传输并由总线受控装置206所接收。在收到这样的命令及(/或)地址之后并且当准备好要反应这个命令以及(/或)地址之时,如果主控装置请求数据,总线受控装置206会以发出数据给主控装置来做反应。在此情况中,总线主控装置202可以由总线受控装置206处读取数据,也就是说,总线受控装置206在总线204上传输读取数据。如果主控装置202指示一个写入操作,总线受控装置206也可以从主控装置202接收数据来做反应。在此情况中,总线主控装置202可以在总线204上传输写入数据给总线受控装置206。
总线的种类非常多,包括处理器/存储器总线、底板(backplane)总线、输入/输出总线以及区块互联(inter-block)总线,其包括在集成电路中的区块间互相连接的总线。图3A中表示使用处理器/存储器总线302、底板总线304以及输出入总线306A及306B的一个计算机系统300的方块图。如图所示,处理器/存储器总线302是一个高速总线,其用来在处理器308以及存储器310之间传送数据。因为输出入组件312至318可能也需要存取处理器308或存储器310,底板总线304以及输出入总线306A及306B也被提供来与总线配接器(adaptor)320A、320B及320C相接。配接器320A被提供来做处理器/存储器总线302以及底板总线304的接口。配接器320A可以提供处理器/存储器总线302以及底板总线304之间任何所需要的转换。类似地,配接器320B及320C可以分别地提供底板总线304以及输出入总线306A及306B之间任何所需要的转换。藉由将底板总线304以及输出入总线306A及306B解耦合(decouple),处理器/存储器总线302的负荷量将大量降低。图3B中表示一个集成电路350的方块图,其包含352A到352D等多种区块,可通讯地耦接到一个区块互联总线354。就像通讯总线可以被提供在外部作集成电路间的连接一样,区块互联总线354提供在集成电路350内部的总线通讯。虽然规模可能不相同,但是所有这些总线的基本目的都是一样的:从来源端传送信息到目的端。
在一般传送数据,或特别指是在通讯总线上传送数据,都必要具有一个数据的发送端(transmitter)以及一个数据的接收端(receiver)。上述的发送端及接收端也可以称为一个数据的来源(source)以及一个数据的终点(destination)。而且,当讨论通讯总线时,有时候也用主控单元(master)以及受控单元(slave)的称谓,其中受控单元是受主控单元所管制的。受控单元执行主控单元所请求的操作。在许多情况下,这些角色是永远不会改变的;这是意指,一个主控单元永远是主控单元而且一个受控单元永远是受控单元。然而,在其它规划中,单元是可以互相在主控或受控的身分上交换的。在这样的规划中,将它们称为一个启动单元(initiator unit)以及一个目标单元(target unit)是比较方便的。一个启动单元因此类似于一个主控动式单元,其指示其它单元执行某些操作。一个启动单元可以有进一步的功能,其本身可以在某些其它状况当作受控式单元。因为本发明具有广泛的应用性,所以将使用启动单元以及目标单元的称谓,不过,任何熟悉相关技术的人可以了解本说明在主控及受控单元规划以及来源及终点规划方式时的应用性。
在一个有数个潜在启动单元的通讯总线规划中,需要有总线仲裁来控制总线存取,由一个仲裁单元执行这个功能。所以一个总线传输包括执行仲裁、作请求以及执行所请求的操作等步骤。一个启动单元用发出一个总线请求来请求使用通讯总线,不过在仲裁单元给予允许之前还是不能使用总线。当被允许存取总线时,启动单元会继续依需求来使用通讯总线。而且,启动单元使用通讯总线完毕时必须发出信号通知仲裁单元。如此仲裁单元才可依需求将存取权利允许给别的启动单元。很多仲裁方式都为相关领域所周知,举例来说,雏菊链(daisy chain)仲裁、集中并列(centralized parallel)仲裁以及分布式(distributed)仲裁。
根据通讯总线的概念,我们现在来看一个通讯总线的协议。图4A表示的是时序图400,其图示一个已有技术中从启动单元写入数据到目标单元的同步总线传输协议。因为其为同步协议,启动单元及目标单元根据一个同步主控时钟402来操作。请注意在后续讨论中,所有逻辑图以及逻辑装置都被以低态有效(low-active)逻辑电平装置所描述。然而,本领域的技术人员可以了解高态有效(high-active)的装置也可以被使用。在启动单元写入数据到目标单元的情况下,启动单元准备写入数据WR_DATA 404以及写入地址WR_ADDR 406。当这些数据准备好时,如图中地址0及数据0在时间t0 408所示,启动单元以低态有效信号方式提供一个总线写入请求WR_REQ_B 410。在下一个时钟周期,如t1 413所示,目标单元接收WR_REQ_B 410并处理此总线写入请求。当目标单元准备好接收地址及数据讯息时,目标单元在时间t2 414启动一个总线允许信号GNT_B 412。在下一个时钟周期,如t3 416所示,第一个地址-地址0及第一个数据-数据0被写入到目标中。请注意地址-地址0及数据-数据0被表示为在t3 416之后的一小段时间写入。这是为了图标出任何在逻辑电路中处理或传递所需的延迟。这些延迟在时钟周期很小或传递延迟很大时可以变得很显着。确实,如果这些延迟超过一个时钟周期的期间时,一个传输总线会显示很显着的错误而影响其操作或在其上为了通讯目的而耦接的装置的操作。
在地址0及数据0被处理后,后续的地址及数据讯息,例如地址1到地址3以及数据1到数据3,可以被类似地传送(例如在时间t5 420,t7 424以及t4 418)。在一个写入请求完成后,启动单元在t4 418的一小段时间之后收回总线写入请求WR_REQ_B 410;此一小段时间是相关于经过组合逻辑的处理或传输的一个延迟。目标单元接着以收回总线允许信号GNT_B 412来做反应。然后总线可以使用于其它用途。
必须注意在接收数据时,目标单元可以时段性的收回总线允许信号来减慢数据的接收。以此方式,目标单元可以在接收更多讯息之前处理任何已经接收到的讯息。举例来说,在时间t5 420时,目标单元移除总线允许信号GNT_B 412所以地址2以及数据2在t6 422并没有被目标单元所接收,而是改由在总线允许信号GNT_B 412重新启动之后的时间t7 424时接收。
图4B表示的是时序图450,其图示一个已有技术中由启动单元从目标单元读取数据的同步总线传输协议。因为其为同步协议,启动单元及目标单元根据一个同步主控时钟452来操作。在启动单元从目标单元读取数据的情况下,启动单元准备读取地址RD_ADDR 456。当这些数据准备好时,如图中地址0在时间t0 458所示,启动单元提供一个总线读取请求RD_REQ_B 460。一段时间后(请注意延迟又因与图4A相似的原因被图示出来),在时间t1463,目标单元接收到RD_REQ_B 460并处理该请求。当目标单元准备好要接收地址信息时,目标单元在时间t2 464发出一个总线允许信号GNT_B 462。在下一个时钟周期,如t3 466所示,第一个地址-地址0被目标单元接收;目标单元也可以接收后续的地址讯息例如地址1到地址3。必须注意在读取地址信息时,目标单元可以时段性的收回总线允许信号GNT_B 462来调节其何时读取从启动单元来的地址信息。以此方式,目标单元可以讯号通知启动单元何时提供下一笔地址信息。举例来说,在时间t8 482,GNT_B 462被收回因而停止下一个地址-地址2被读取。然而在t5 472,GNT_B 462被重新发出因而指出地址2可以被读取。关于将被启动器读取的数据,目标器必须先处理及撷取该数据。举例来说,目标器必须处理并撷取与地址0对应的数据0,其它的地址也与此类似。一个读取操作可能花费数个时钟周期,取决于是否有对被存取的存储器有做页分断(page break)的请求以及取决于系统的延迟。当RD_DATA 474含有至少第一笔将被读的数据(意指,在t4 468的数据0),目标单元对应地发出数据就绪信号RD_DATA_RDY_B 470。数据0在下一个时钟周期时间t5 472被放在总线上。后续的读取数据,例如数据1到数据3,也类似地被传送。
在一个读取请求被完成后,也就是说,当一个目标接收完所有读取地址信息后,启动单元可以在时间t6 478取消总线读取请求RD_REQ_B 460。目标单元接着以取消总线允许信号GNT_B 462来做响应。当目标单元在时间t9 484完成提供所有的读取数据讯息时(意指,数据0到数据3),其以收回讯号RD_DATA_RDY_B 470通知启动单元。然后总线可以使用于其它用途。必须注意当读取数据时,目标单元可以时段性的移除读取数据就绪信号RD_DATA_RDY_B 470来调节何时提供读取信息给启动单元。由此方式,目标单元可以信号通知启动单元什么时候会把信息放到总线上。举例来说,在时间t6 478,RD_DATA_RDY_B 470被取消因而停止下一笔数据-数据1被读取。然而在时间t7 480时,RD_DATA_RDY_B 470被重新发出因而指出数据1可以被读取。在通讯总线被延迟的情况下,一个延迟信号STALL_RD_DATA_B 476被发出因而指示不能再读取接下来的数据。例如,在时间t8 482,STALL_RD_DATA_B 476被发出因而数据2没有被放到通讯总线上。然而在时间t9 484时,STALL_RD_DATA_B 476被收回,下一笔数据-数据2被放到通讯总线上。
所述在图4A及4B图标的总线传输协议可以应用于很多不同的方式。在图5中是一个应用图4A及4B图标协议的通讯系统500的示范方块图。图5包含在启动单元502及目标单元504的多种装置,在通讯系统500的这些各样的方块可以由组合逻辑或是其它此领域的方式作成应用。如所示启动单元502通过通讯总线506通讯性地耦接到目标单元504。启动单元502其中有启动单元信号交换状态机(Initiator Handshake State Machine)508从启动单元502里接收讯号510来决定在通讯总线506上是需要一个写入请求或是读取请求。如此,请求信号产生单元512以逻辑电平低态产生信号514作为WR_REQ_B或RD_REQ_B来分别地指示一个写入或读取请求。信号514耦接到通讯总线506并指到目标单元504。目标单元504以目标单元信号交换状态机516接收并处理请求信号514。为反应连到目标单元504的内部信号518,目标单元信号交换状态机516决定是否或何时可以处理启动单元502的请求。如果目标单元504是可使用的,请求信号产生单元520以逻辑电平低态产生信号522来指示其可以被使用。信号522直接接到或门(or gate)524;或门524也接收请求信号514。因此,信号514以及信号522必须同时在低逻辑电平来让或门524的输出为低逻辑电平(请记得此处使用低态有效装置);或门524的输出因而以信号GNT_B 525允许总线请求。信号GNT_B 525接到启动单元信号交换状态机508以及请求信号产生单元512,以对这些单元作通讯总线506状态的更新。信号GNT_B 525接着接到地址单元526及写入单元527。更详细来说,信号GNT_B 525是接到地址单元526的多任务器528以及写入单元527的多任务器529。地址单元526用作为写入以及读写操作时的地址功能。写入单元527适用作为从启动单元502经由通讯总线506写入数据到目标单元504之用。
在接收到信号GNT_B 525之前,地址单元526用地址/计数器534及多任务器528使第一笔地址在地址信号530处就绪。地址信号530可以是写入地址或是读取地址。通过多任务器528及D触发器532的操作,第一笔地址在信号GNT_B 525为高电平时持续地在每个时钟周期写入及再写入地址信号530。当信号GNT_B 525变成有效的低电平时,目标单元504从地址信号530接收第一笔地址。地址/计数器534为接续地响应给地址信号530,其通过多任务器528及D触发器532提供进一步的地址信息到地址信号530上。目标单元504可因此接收进一步的地址信息。地址/计数器534从启动单元502中接收信号536来决定适当的地址。地址单元526很重要地在写入及读取操作时做类似的操作。
在写入操作时,写入单元527被使用。在接收到信号GNT_B 525的有效低电平之前,写入单元527使第一笔写入数据在信号WR_DATA 538处就绪。通过多任务器529及D触发器540的操作,第一笔写入数据在信号GNT_B 525为高电平时(意指未有效)持续地在每个时钟周期写入及再写入信号WR_DATA538。当信号GNT_B 525变成低电平(意指有效)时,目标单元504从信号WR_DATA 538接收第一笔写入数据。先进先出数据写入单元(FIFO)544/先进先出控制器546为接续地响应给信号WR_DATA 538,其通过多任务器529及D触发器540提供进一步的写入数据到信号WR_DATA 538上。目标单元504可因此接收进一步的数据对应到上述所接收的地址信息。先进先出数据写入单元544也耦接到信号545接收在启动单元502中适当的数据讯息。
在读取操作时,读取单元548被使用。目标单元504,特别是指其中的读取单元548,必须至少准备好以上文描述地址单元526时所述方法传送的第一笔地址(意指地址0)所对应的寻址数据(意指数据0)。有了第一笔地址信息,读取单元548可以撷取该寻址数据,例如从存储器撷取,且经由信号574提供给先进先出数据单元550。多任务器552以类似多任务器528及529的方式操作;而且D触发器554以类似如上述D触发器532及540的方式操作。应用信号NEXT_DATA 556在低电平以及第一笔读取数据在先进先出数据单元550就绪的条件,第一笔数据被持续地提供在读取数据讯号线558上。当先进先出控制以及数据输出控制单元560决定目标单元504已经准备好要提供被请求的数据,先进先出控制以及数据输出控制单元560对应地提供信号NEXT_DATA 556给多任务器552以及信号RD_DATA_RDY_B 564给启动单元502,更特别地来说,是其中的先进先出控制及数据锁存(latch)控制单元566。当讯号NEXT_DATA 556在低电平时,第二笔以及后续的数据将由先进先出数据单元550传递,经由多任务器552以及D触发器554到启动单元502,特别是指其中的先进先出数据读取单元568。当读取数据在先进先出数据读取单元568时,其可以通过信号570分配到启动单元502内。先进先出控制及数据锁存控制单元566藉由产生一个总线读取延迟信号STALL_RD_DATA_B572给目标单元504,特别是指先进先出控制以及数据输出控制单元560,来提供进一步功能。当信号STALL_RD_DATA_B 572有效时,先进先出控制以及数据输出控制单元560使讯号NEXT_DATA 556变成高电平用以调节传递到通讯总线506上面的数据。
描述在图4A、4B及图5已有技术的通讯总线会遇到一定的不利条件。举例来说,如此的已有技术系统必须耦接启动及目标单元的操作。启动单元必须持续的提供一个表示某部分启动单元操作的指示。类似地,目标单元必须持续的提供一个表示某部分目标单元操作的指示。当此提供于一个被接近地控制的通讯总线,其也产生了许多的延迟,特别是,来回延迟。举例来说,在执行一个读取操作,信号必须由启动单元产生,连接到目标单元,经由目标单元处理后,一个不同的信号需要被目标单元产生,该新信号然后被接到启动单元来启动所需要的写入操作。就某种意义来说,信号必须绕经由启动单元,目标单元再回到启动单元。一个读取操作会产生另一个也是需要协商的来回延迟。
一个更进一步的不利条件是一个请求信号(意指RD_REQ_B或WR_REQ_B)以及一个允许信号(意指GNT_B)必须在同一个时钟周期变为有效,此将潜在造成读取或写入因为上述来回延迟而错误的发生。此外,由目标单元来的允许信号控制许多在启动单元内的逻辑功能,但是在启动单元里处理允许信号的操作可能需要减少,来避免太长的传输延迟。然而这也许会让适当的或完整的允许命令无法执行。举例来说,一个在启动目标里复杂但是被需要的特性可能因为其不能在一个够短的时间内完成而需要被放弃。
另一个已有技术的问题是地址需要在每一个时钟周期递增,但是当时钟频率很高时,地址计数的处理可能不会在一个时钟周期内完成。一个非常高的时钟频率可能造成其它在启动单元及目标单元里因为某些处理或许不能在一个时钟周期里完成的问题。当此发生时,错误的信息可能在下一个时钟周期出现,而产生错误情况。
本发明因为减少耦接所述请求及允许信号而增加已有技术没有的优点。
发明内容
本发明提供一种改进过的总线传输协议,其有效的使在一个数字通讯总线上的启动单元及目标单元互相之间减少耦接。一个依照本发明,在一个启动单元及目标单元互相连接的总线上处理数据从启动单元传送到目标单元的方法,其包含:在一个总线上与时钟信号同步地提供一个开始写入地址以及写入长度信息。当开始写入地址以及写入长度信息表示在总线上,一个写入请求信号会被提供出来。该写入请求会随着时钟信号的时钟周期同步地被变成有效或无效。一个从目标单元来的允许信号随后会被接收,该允许信号会随着时钟信号的时钟周期被变成有效或无效。在该允许信号变成无效之后,一些与时钟同步提供的写入数据项会被提供在总线上供目标单元提取,一个数据项会被提供在时钟信号的每一个个别的时钟周期,数据项的数目是由所述已提供的写入长度信息所决定。
本发明进一步提供一个与上述方法配合,从目标单元读取信息到启动单元的方法。刚开始,在一个总线上与一个时钟信号同步地提供一个开始读取地址以及读取长度信息。当开始读取地址以及读取长度信息表示在总线上,一个读取请求信号会被提供出来。该读取请求会随着时钟信号的时钟周期同步地被变成有效或无效。接下来,一个从目标单元来的允许信号会被接收。该允许信号会随着时钟信号的时钟周期被变成有效或无效。在该允许信号变成无效之后,一个从目标单元来的区块就绪信号会被接收,且一些与时钟同步提供的读取数据项会被提供在总线上供提取,一个读取数据项会被提供在时钟信号的每一个个别的时钟周期,数据项的数目是由所述已提供的写入长度信息所决定。
一个依照本发明的装置包含:一个启动单元或一个目标单元。该启动单元包含:一个请求信号产生单元(request generating unit)、一个信号交换状态机(handshaking state machine)、一个地址计数器(counter)、一个先进先出数据写入单元(FIFO)及先进先出控制器(FIFO controller),以及一个先进先出数据读取单元及读取先进先出控制器。所述请求信号产生单元被耦接以接收一个操作类别指示器,而且被设定为,响应操作类别指示器来使在总线上的一个读取或写入请求信号有效。该读取或写入请求信号是与一个时钟信号同步的。所述信号交换状态机被耦接到请求产生器以提供所述操作类别指示器。该信号交换状态机被耦接到通讯总线上以接收一个允许信号,并提供一个有效的接续区块信号来响应一个有效的允许信号。所述地址计数器被耦接到信号交换状态机以接收接续区块信号,并被设定为,响应一个有效的接续区块信号同步地提供一个地址及一个长度,而一个读取或写入操作将在该地址开始且该长度指出将在通讯总线中传输的数据项的数目。所述先进先出数据写入单元及先进先出控制器被耦接到信号交换状态机以接收接续区块信号,而且被设定成,响应一个有效的接续区块信号在一个写入操作中同步地提供所需数目的数据项。所述先进先出数据读取单元及读取先进先出控制器被耦接以接收一个读取操作中在通讯总线上需读取数据项的数目,以及从通讯总线来的一个读入读取区块信号,并在通讯总线上提供一个接收接续区块信号。
所述目标单元包含:一个信号交换状态机、一个请求信号产生单元,以及一个先进先出数据单元及先进先出控制器。该信号交换状态机被耦接以接收一个从通讯总线来的读取或写入请求信号以及一个单元就绪信号。该读取或写入请求信号是与一个时钟信号同步的。所述请求信号产生单元被耦接到信号交换状态机以接收一个单元就绪指示,且其被耦接到通讯总线以提供一个允许信号。该允许信号会响应一个有效的读取或写入请求以及一个有效的单元就绪信号而同步地变为有效。所述先进先出数据单元及先进先出控制器被设定来同步地提供一个预先决定好数目的读取数据项或写入数据项以及一个给通讯总线的读取区块就绪信号,并接收从总线来的一个接收接续区块信号。
本发明的一个优点是,数据是以一组预先定义好的区块所传送。
本发明的另一个优点为,不是每一笔个别数据项的地址都需要在总线上被传送。
本发明的再一个优点为,从一个启始单元传输一个区块的数据到目标单元从头到尾的时间被减少了,因为并不需要让请求信号来等待允许信号,也因为不需要提供在总线上的地址及长度信息超过一个时钟周期以上。
附图说明
本发明通过后附详细说明的图示将会比较容易全盘了解,其仅为图解之用而非将本发明限制于图示范围。
图1是一个描绘一个根据已有技术的通讯总线通用的组织方块图。
图2是一个根据已有技术的主控装置-被控器规划的通讯总线的方块图。
图3A是一个根据已有技术使用多样总线包括一个微处理器/存储器总线、一个主版总线以及一个输入输出总线的计算机系统的方块图。
图3B是一个根据已有技术包含多样区块的电路以及一个内部区块连接总线的集成电路的方块图。
图4A描绘一个根据已有技术在一个同步通讯总线协议中影响一个写入操作的多种信号交互作用的时序图。
图4B描绘一个根据已有技术在一个同步通讯总线协议中影响一个读取操作的多种信号交互作用的时序图。
图5是一个根据已有技术包含一个启动单元、一个通讯总线以及一个目标单元的通讯系统的方块图。
图6是一个根据本发明包含一个启动单元、一个通讯总线以及一个目标单元的通讯系统的方块图。
图7A描绘一个根据本发明在一个同步通讯总线协议中影响一个写入操作的多种信号交互作用的时序图。
图7B描绘一个根据本发明在一个同步通讯总线协议中影响一个读取操作的多种信号交互作用的时序图。
图8A是一个根据本发明,在一个同步通讯总线协议中从一个启动单元写入数据到一个目标单元的方法的流程图。
图8B是一个根据本发明,在一个同步通讯总线协议中一个启动单元由一个目标单元读取数据的方法的流程图。
100、200 通讯系统
102、202 通讯总线
104 控制线
106 数据线
302、304、306A、306B 通讯总线
312、314、316、318 输出输入单元
352A、352B、352C、352D 集成电路内部的电路区块
354 集成电路内部的通讯总线
502、602 启动单元
504、604 目标单元
506、606 通讯总线
具体实施方式
图6中表示参考本发明某一个实施例的一个通讯系统600的方块图描画包含在一个启动单元602及一个目标单元604其中的多样装置。一个被该通讯系统600使用的总线协议进一步被用图7A及7B中的时序图700及750和图8A及8B中的流程图800及850所描述。如图6中所示,一个启动单元602根据本发明经由通讯总线606通讯性地耦接到目标单元604。在启动单元602中包含启动单元信号交换状态机608其接收从启动单元602中来的信号610来决定是否有一个在通讯总线上的写入或读取数据是被需要的。如果是的话,请求信号产生单元612分别地使一个信号614 WR_REQ_B或RD_REQ_B有效来指示一个写入请求或一个读取请求。该请求信号614被耦接到通讯总线606且被接到目标单元604。目标单元604随后在目标单元信号交换状态机616中接收并处理请求信号614。目标单元信号交换状态机616反应目标单元604里的信号618状态来决定是否准备好要来处理该请求信号614。重要的是,请求信号产生单元612仅需要只在一个时钟周期内产生信号614因为该目标单元信号交换状态机616只在一个时钟周期内需要这个信息。如果目标单元604可以被使用,请求信号产生单元620会使一个信号622有效来指出其已经就绪。信号622被接到一个D触发器624。该D触发器624使一个允许总线允许信号GNT_B 625有效。该讯号接到启动单元信号交换状态机608以及启动单元的请求信号产生单元612,来通知这些单元,通讯总线上状态的更新。重要的是,总线允许信号GNT_B 625仅需产生在只有一个时钟周期内,因为启动单元信号交换状态机608以及要求请求信号产生单元612只在一个时钟周期内需要这个信息。
为响应总线允许信号GNT_B 6256,启动单元信号交换状态机608使一个接到区块地址单元626及写入单元627的信号NEXT_BLOCK 628变为有效。更特别地来说,该信号NEXT_BLOCK 628是接到地址/计数器630以及先进先出数据写入单元632,地址/计数器630的另一输入信号是638。该信号NEXT_BLOCK 628是指出目标单元604准备好要接收一个数据的区块。根据本发明,该数据的区块是相关于一个区块地址(意指WR_ADDR或RD_ADDR),而且进一步相关于一个该数据区块的长度(意指WR_LENGTH或RD_LENGTH)。
为响应信号NEXT_BLOCK 628,区块地址单元626,特别是指地址/计数器630,准备好第一个区块地址到D触发器635上,而D触发器635在下一个时钟周期准备好区块地址讯号634让目标单元604可以使用。重要地是,区块地址讯号634只要在一个时钟周期可以让目标单元604可以使用即可。地址/计数器630也决定将要在一个写入或读取操作钟传递的数据区块的长度。为响应信号NEXT_BLOCK 628,区块地址单元626,特别是指地址/计数器630,准备好相关的数据区块的长度。此外,区块的长度以及区块的地址共同与启动单元602以及目标单位604两者都相关联。当在接收NEXT_BLOCK628时,地址/计数器630准备好区块长度到D触发器637上,而D触发器635在下一个时钟周期准备好区块长度信号636让目标单元604可以使用。重要地是,区块长度信号636只要在一个时钟周期可以让目标单元604可以使用即可。区块地址单元626及其区块地址讯号634以及区块长度信号636在写入及读取操作两种操作中都可以使用。
有了区块地址以及区块长度信息,目标单元604随后可以准备来接收此已说明长度的被指定写入数据区块。在接收信号NEXT_BLOCK 628之前,启动单元602通过信号线640将要写入的信息送到先进先出写入数据单元632/先进先出控制器642。为响应信号NEXT_BLOCK 628,先进先出写入数据单元632/先进先出控制器642提供第一笔数据项给D触发器639,D触发器639在下一个时钟周期将数据就绪在数据讯号644(意指WR_DATA)上。目标单元604可以随后接收该第一笔包含于与上述地址及长度相关的指定区块的信息。先进先出写入数据单元632/先进先出控制器642及D触发器639持续地在数据讯号644提供数据直到整个区块的数据被接收完为止。
在一个读取操作被执行时,目标单元604,特别是指读取单元648,会将与如所述方法传递的区块地址及区块长度相关的数据准备好。读取单元648利用区块长度信息来撷取已寻址的数据(例如,从存储器),并将其依顺序提供于先进先出数据单元650上,然后,在D触发器654上。当相关于区块地址及区块长度的数据在先进先出数据单元650上就绪时,第一笔数据项被提供到D触发器654上。同时间,先进先出数据单元650提供信号669给先进先出控制及数据输出控制单元660,然后先进先出控制及数据输出控制单元660产生读取区块就绪信号RD_BLOCK_DATA_RDY_B 664给启动单元602,特别是指先进先出控制及数据锁存控制单元666。先进先出控制及数据锁存控制单元666随后准备好先进先出数据读取单元667将接收该数据区块的第一项。在下一个时钟周期D触发器654提供数据的第一项在读取数据信号RD_DATA 658上。启动单元602已经准备好以先进先出数据读取单元667来接收数据信号RD_DATA 658。先进先出数据读取单元667随后让接收数据经由信号680在启动单元602上就绪。接续地,将一个信号670送给先进先出数据单元650来让下一笔数据就绪。先进先出控制及数据锁存控制单元666藉由提供一个信号ACCEPT_NEXT_BLOCK_B 668接到先进先出控制及数据输出控制单元660来提供进一步的功能,以通知目标单元604,启动单元602已经准备好接收下一区块的数据(如果还有下一区块的数据)。重要的是,下一个区块的数据可以立即地在现有的数据区块之后被目标单元604传送并且由启动单元602接收而不需要多余的时钟周期。这是因为区块地址单元626与读取单元648没有耦接,操作可以流水线(pipelined)处理才能达成。
有了对本发明硬件应用的了解,接着叙述在图7A及7B的时序图700及750。图7A所示是一个描画一个本发明的总线上的写入操作时序图700。因为其为同步协议,启动单元以及目标单元基于一个主控时钟701来操作。接下来的讨论中,逻辑装置会被以低态逻辑电平为有效的方式来叙述。然而本领域的技术人员可以了解到,高态逻辑电平有效的信号也可应用在本发明中。在启动单元写数据到目标单元的情况中,启动单元在时间t0 712准备写入数据WR_DATA 710。以一种大体上同时的方式,一个数据地址WR_ADDR 704以及一个写入数据的长度WR_LENGTH 706被决定给写入数据WR_DATA 710。有了这些信息,一个写入请求,WR_REQ_B 702,在t0 712一个短时间之后被变得有效。为响应写入请求WR_REQ_B 702,在下一个周期t1 714时目标单元被通知启动单元准备要写一个相关于地址WR_ADDR 704以及相关于长度WR_LENGTH 706的一个写入数据WR_DATA 710。在t1 714之后的某时间,目标单元以发出总线允许信号GNT_B 708来允许该写入请求。如图7A所示,总线允许信号GNT_B 708在与t1 714为同一个时钟周期的时间t2 716被提供。重要的是,总线允许信号708不需要如已有技术般在该同一时钟周期内产生。在本发明中,总线允许信号可以在任何接收到写入请求WR_REQ_B 702信号后的任何时间发生。另外需要注意的是写入请求WR_REQ_B 702不需要被维持为有效到超过一个时钟周期。在启动单元传送写入请求WR_REQ_B 702以及目标单元接收到这个信号后,启动单元在t1 714后移除写入请求WR_REQ_B 702。
当目标单元在时间t2 716提供总线允许信号GNT_B 708,目标单元指出其准备好在时间t3 718之后某时间接收数据地址WR_ADDR 704以及写入长度WR_LENGTH 706,如图7A所示。目标单元随后准备接收跟数据地址WR_ADDR704以及其相关的写入长度WR_LENGTH 706。重要的是,在收到上述信息后,目标单元如图标移除总线允许信号GNT_B 708。在时间t4 720,目标单元继续接收相关数据地址WR_ADDR 704以及写入长度WR_LENGTH 706的写入数据。在图7A所示的例子中,写入长度是4笔信息,此4笔信息在时间t4 720、t5 722、t6 724及t7 726后被接收。请注意在真实状况中将会有相关的传送及处理信息的相关延迟。
本领域的技术人员可以察知本发明减少了很多相关于持续监视写入请求以及总线允许信号的来回延迟。本发明减少了写入请求以及总线允许信号的耦合到仅需要在一个时钟周期的时间内需要这些信息。本发明在读取信息时提供类似的优点。
图7B所示是一个本发明的总线上的读取操作时序图750。因为其为同步协议,启动单元以及目标单元基于一个主控时钟751来操作。在启动单元从目标单元读取数据的情况中,启动单元准备好一个区块地址RD_ADDR 754以及一个读取数据的长度RD_LENGTH 756给即将读取的数据RD_DATA 760。有了这些信息,一个读取请求,RD_REQ_B 752,在t0 766一个短时间之后被变得有效。为响应读取请求RD_REQ_B 752,在下一个周期t1 768时目标单元被通知启动单元准备要写一个相关于区块地址RD_ADDR 754以及相关于长度RD_LENGTH 756的一个数据区块RD_DATA 760。在t1 768之后的某时间,目标单元以发出总线允许信号GNT_B 758来允许该读取请求。如图7B所示,总线允许信号GNT_B 758在与t1 768为同一个时钟周期的时间t2 770被提供。重要的是,总线允许信号758不需要如已有技术般在该同一时钟周期内产生。在本发明中,总线允许信号可以在任何接收到读取请求RD_REQ_B 752信号后的任何时间发生。另外需要注意的是读取请求RD_REQ_B 752不需要被维持为有效到超过一个时钟周期。在启动单元传送读取请求信号RD_REQ_B752以及目标单元接收到这个信号后,启动单元在t1 768后移除请求信号RD_REQ_B 752。
当目标单元在时间t2 770提供总线允许信号GNT_B 758,目标单元指出其准备好在时间t3 772之后某时间接收区块地址RD_ADDR 754以及读取长度RD_LENGTH 756,如图7B所示。目标单元随后准备接收该区块地址RD_ADDR754以及其相关的读取长度RD_LENGTH 756。重要的是,在收到上述信息后,目标单元如图标移除总线允许信号GNT_B 758。在时间t4 774,目标单元准备好传送相关区块地址RD_ADDR 754以及读取长度RD_LENGTH 756的读取数据。目标单元响应地提供信号RD_BLOCK_DATA_RDY_B 762来指示读取信息已经准备好要从目标单元传送到启动单元。如图7B所示,时间t3 772及时间t4 774之间的时间差相关于准备所需读取数据的时间。在需要从存储器读取信息的情况下,也许需要有几个时钟周期的时间来撷取数据。请注意信号RD_BLOCK_DATA_RDY_B 762只需要被提供一个时钟周期的时间。响应信号RD_BLOCK_DATA_RDY_B 762,目标单元在t5 776开始继续传送数据。图7B所示的例子中,读取长度是4笔信息,此4笔信息在时间t5 776、t6 778、t7 780及t8 782后被接收。
图7B进一步表示由目标单元所产生的信号ACCEPT_NEXT_BLOCK_B 764指示启动单元下一个读取数据区块已经就绪而且将在现有传输结束后马上开始传送。举例来说,如图7B所示信号ACCEPT_NEXT_BLOCK_B 764在时间t6 778产生指出在当4笔数据,数据0到数据3传输完后,下一个数据的区块将会在t9 784开始传送。信号ACCEPT_NEXT_BLOCK_B 764以类似信号RD_BLOCK_DATA_RDY_B 762的方法,在其它接下来的读取请求RD_REQ_B 752以及总线允许信号GNT_B 758与数据的传输重迭时产生。以这种方式,处理以及数据传输是流水线化的。当处理以及数据传输有效的减少耦接时,通讯总线可以提供持续的使用而更有效被利用。
为更清楚了解本发明,图8A及8B提供了本发明方法的流程图。图8A所示是一个本发明的在通讯总线中启动单元写入数据到目标单元的方法800。图8A所示是一个本发明的在通讯总线中启动单元从目标单元读取数据的方法850。
参考图8A,一个启动单元通过在步骤802产生一个区块地址以及在步骤804产生一个写入长度来准备写入一个数据区块到一个目标单元。启动单元在步骤806进一步准备要传送的数据区块的串流。这样的数据串流有一个第一项以及一个最后一项数据并且以连贯的数据型态传输。因为启动单元随后将准备传送数据到目标单元,所以启动单元在步骤808产生一个写入请求,此请求在步骤810被目标单元接收。在本发明的某实施例,一个启动单元在步骤808产生该写入请求时,仅需维持一个时钟周期。目标单元随后可以判断其是否准备好接收一个写入数据的区块。当目标单元准备要接收一个写入数据的区块,其在步骤812产生一个允许由启动单元在步骤814接收。在本发明的某实施例,目标单元在步骤812仅产生该允许一个时钟周期的时间。目标单元随后在步骤816接收该区块地址及在步骤818接收写入长度。在步骤820时,目标单元接收数据的串流。当在步骤820接收数据的串流时,目标单元期待得到一个由步骤818决定的写入长度的数据。目标单元随后将接收到的数据区块与在步骤816决定的区块地址作相关处理。在本发明的某实施例,在步骤808的写入请求及步骤812的允许若仅产生一个时钟周期,在方法800中的许多步骤都能流水线化来使通讯讯总线的使用以及数据传输的有效率达到最佳化。举例来说,步骤802到818可以在步骤820执行时执行。
参考图8B,一个启动单元通过在步骤852产生一个区块地址以及在步骤854产生一个读取长度来准备从一个目标单元读取一个数据区块。启动单元随后准备要从目标单元接收读取数据。启动单元在步骤856产生一个读取请求,此请求随后在步骤858被目标单元接收。在本发明的某实施例,一个启动单元在步骤858产生该读取请求时,仅需维持一个时钟周期。目标单元随后准备要被读取数据的相关信息。另外,目标单元可以判断其是否准备好传送一个读取数据的区块。当目标单元准备要传送一个读取数据的区块,其在步骤860产生一个允许由启动单元在步骤862接收。在本发明的某实施例,目标单元在步骤860仅产生该允许一个时钟周期的时间。目标单元随后在步骤864接收该区块地址及在步骤866接收读取长度。目标单元利用收到区块地址及读取长度在步骤868收集要被读取的数据串流。步骤868可以包含其它例如从存储器撷取数据或进行相关计算等步骤。该数据串流有一个第一项以及一个最后一项数据并且以连贯的数据型态传输。在步骤870时,目标单元发出信号RD_BLOCK_DATA_RDY_B 870来指示读取信息已经准备好要传送。启动单元在步骤872接收这个讯号。为了响应,启动单元准备接收数据。目标单元随后在步骤874传送数据串流,而启动单元在步骤876接收数据的串流。当在步骤876接收数据的串流时,启动单元期待得到一个由步骤854决定的读取长度的数据。启动单元随后将接收到的数据区块与在步骤852决定的区块地址作相关处理。在本发明的某实施例,在步骤856的读取请求及步骤860的允许若仅产生一个时钟周期,在方法850中的许多步骤都能流水线化来使通讯总线的使用以及数据传输的有效率达到最佳化。举例来说,步骤852到872可以在步骤874执行时执行。
虽然本发明已以较佳实施例披露如上,然其并非用以限定本发明,本领域的技术人员,在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。
Claims (30)
1.一种数据传输的方法,在一个启动单元及目标单元互相连接的总线上在启动单元和目标单元之间传输数据,该方法包含:
在一个总线上与时钟信号同步地提供一个开始写入地址以及写入长度信息;
当开始写入地址以及写入长度信息出现在总线上时,提供一个随着时钟信号的时钟周期同步地被变成有效或无效的写入请求信号;
接收一个从目标单元来的随着时钟信号的时钟周期被变成有效或无效的允许信号;以及
在该允许信号变成无效之后,提供一些与时钟同步提供的写入数据项在总线上供目标单元提取,一个数据项被提供在时钟信号的每一个个别的时钟周期,数据项的数目是由所述已提供的写入长度信息所决定。
2.如权利要求1所述的数据传输的方法,其中该写入请求信号包含一个大约一个时钟周期的有效时间。
3.如权利要求1所述的数据传输的方法,其中该允许信号包含一个大约一个时钟周期的有效时间。
4.如权利要求1所述的数据传输的方法,
其中写入请求信号及允许信号个别包含延伸一个或多个时钟周期的有效时间;并且
其中写入请求有效期间的时钟周期跟允许信号有效期间的时钟周期不同。
5.如权利要求1所述的数据传输的方法,其中启动单元处理提供所述开始写入地址以及写入长度信息的步骤。
6.如权利要求1所述的数据传输的方法,其中启动单元处理提供所述写入请求信号的步骤。
7.如权利要求1所述的数据传输的方法,其中启动单元处理提供所述写入数据项的步骤。
8.一种数据传输的方法,在一个启动单元及目标单元互相连接的总线上在启动单元及目标单元之间传输数据,其方法包含:
当开始写入地址以及写入长度信息表示在总线上时,从启动单元接收一个随着时钟信号的时钟周期同步地被变成有效或无效的写入请求信号;
提供一个随着时钟信号的时钟周期被变成有效或无效的允许信号给启动单元;所述开始写入地址及写入长度信息在请求信号的有效期间被提取;以及
在该允许信号变成无效之后,提取一些在总线上与时钟同步提供的写入数据项,一个数据项被提供在时钟信号的每一个个别的时钟周期,数据项的数目是由所述已提供的写入长度信息所决定。
9.如权利要求8所述的数据传输的方法,其中该写入请求信号包含一个大约一个时钟周期的有效时间。
10.如权利要求8所述的数据传输的方法,其中该允许信号包含一个大约一个时钟周期的有效时间。
11.如权利要求8所述的数据传输的方法,
其中写入请求信号及允许信号个别包含延伸一个或多个时钟周期的有效时间;并且
其中写入请求有效期间的时钟周期与允许信号有效期间的时钟周期不同。
12.如权利要求8所述的数据传输的方法,其中目标单元处理提供所述允许信号给启动单元的步骤。
13.如权利要求8所述的数据传输的方法,其中目标单元处理提取所述一些写入数据项的步骤。
14.一种数据传输的方法,在一个启动单元及目标单元互相连接的总线上在启动单元及目标单元之间传输数据,其方法包含:
在一个总线上与时钟信号同步地提供一个开始读取地址以及读取长度信息;
当开始读取地址以及读取长度信息表示在总线上时,提供一个随着时钟信号的时钟周期同步地被变成有效或无效的读取请求信号;
接收一个从目标单元来的随着时钟信号的时钟周期被变成有效或无效的允许信号;以及
在该允许信号变成无效之后,
接收一个从目标单元来的区块就绪信号;以及
提取一些总线上与时钟同步提供的读取数据项,一个数据项被提供在时钟信号的每一个个别的时钟周期,数据项的数目是由所述已提供的写入长度信息所决定。
15.如权利要求14所述的数据传输的方法,其中该读取请求信号包含一个大约一个时钟周期的有效时间。
16.如权利要求14所述的数据传输的方法,其中该允许信号包含一个大约一个时钟周期的有效时间。
17.如权利要求14所述的数据传输的方法,
其中读取请求信号及允许信号个别包含延伸一个或多个时钟周期的有效时间;并且
其中读取请求有效期间的时钟周期与允许信号有效期间的时钟周期不同。
18.如权利要求14所述的数据传输的方法,其中启动单元处理提供所述开始读取地址以及读取长度信息的步骤。
19.如权利要求14所述的数据传输的方法,其中启动单元处理提供所述读取请求信号的步骤。
20.如权利要求14所述的数据传输的方法,其中启动单元处理接收所述区块就绪信号的步骤。
21.如权利要求14所述的数据传输的方法,其中启动单元处理提取所述一些读取数据项的步骤。
22.一种数据传输的方法,在一个启动单元及目标单元互相连接的总线上在启动单元及目标单元之间传输数据,其方法包含:
当开始读取地址以及读取长度信息表示在总线上时,接收一个随着时钟信号的时钟周期同步地被变成有效或无效的读取请求信号;
提供一个从目标单元来的随着时钟信号的时钟周期被变成有效或无效的允许信号;所述开始读取地址及读取长度信息在请求信号的有效期间被提取;以及
在该允许信号变成无效之后,
提供一个从目标单元来的区块就绪信号;以及
提供一些总线上与时钟同步提供的读取数据项,一个数据项被提供在时钟信号的每一个个别的时钟周期,数据项的数目是由所述已提供的读取长度信息所决定。
23.如权利要求22所述的数据传输的方法,其中该读取请求信号包含一个大约一个时钟周期的有效时间。
24.如权利要求22所述的数据传输的方法,其中该允许信号包含一个大约一个时钟周期的有效时间。
25.如权利要求22所述的数据传输的方法,
其中读取请求信号及允许信号个别包含延伸一个或多个时钟周期的有效时间;并且
其中读取请求有效期间的时钟周期与允许信号有效期间的时钟周期不同。
26.如权利要求22所述的数据传输的方法,其中目标单元处理提供所述区块就绪信号的步骤。
27.如权利要求22所述的数据传输的方法,其中目标单元处理提供所述允许信号给启动单元的步骤。
28.如权利要求22所述的数据传输的方法,其中目标单元处理提供所述一些读取数据项的步骤。
29.一个启动单元包含:
一个请求信号产生单元,耦接以接收一个操作类别指示信号,并且设定来反应该操作类别指示装置来使一个读取或写入请求信号在一个通讯总线上有效,而该读取或写入请求信号与一个时钟信号同步;
一个信号交换状态机耦接到请求信号产生单元来提供所述操作类别指示信号,该信号交换状态机耦接到通讯总线以连接一个允许信号并且反应该允许信号有效的状态来提供一个有效的接续区块信号;
一个地址计数器耦接到所述信号交换状态机来接收所述接续区块信号,该地址计数器被设定反应一个有效的接续区块信号来同步地提供一个所述读取或写入操作将开始的地址以及一个长度来指示一个在该操作中将在总线上传输的数据项的数目;
一个先进先出数据写入单元以及先进先出控制器耦接到信号交换状态机来接收所述接续区块信号,该先进先出数据写入单元以及控制器被设定来反应一个有效的接续区块信号,在一个写入操作时同步地在通讯总线上提供所述数目的数据项;以及
一个先进先出数据读取单元以及读取先进先出控制器被耦接以在一个读取操作时接收在通讯总线上的所述数目的数据项,以及一个在通讯总线的读入读取数据信号,并且提供一个接收接续区块信号到通讯总线上。
30.一个目标单元包含:
一个信号交换状态机被耦接来从通讯总线接收一个读取或写入信号以及一个单元可利用信号,所述读取或写入信号与一个时钟信号同步;
一个请求信号产生单元被耦接到信号交换状态机以接收一个单元可利用信号;该请求信号产生单元被耦接到通讯总线以提供一个允许信号;该允许信号,为响应一个有效的读取或写入请求信号以及一个有效的单元可利用信号,被同步地变为有效;以及
一个先进先出数据单元以及先进先出控制器来同步地提供一个已预先规定数目的读取数据项或接收一个已预先规定数目的写入数据项,以及一个给通讯总线的读取数据就绪信号,并且从总线接收一个接收接续区块信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US45936903A | 2003-06-10 | 2003-06-10 | |
US10/459,369 | 2003-06-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1564144A CN1564144A (zh) | 2005-01-12 |
CN1322443C true CN1322443C (zh) | 2007-06-20 |
Family
ID=33510806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100484650A Expired - Lifetime CN1322443C (zh) | 2003-06-10 | 2004-06-10 | 高速数据传输的装置及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7302508B2 (zh) |
CN (1) | CN1322443C (zh) |
TW (1) | TWI247996B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8244825B2 (en) * | 2006-11-06 | 2012-08-14 | Hewlett-Packard Development Company, L.P. | Remote direct memory access (RDMA) completion |
CN101923442B (zh) * | 2009-06-09 | 2012-05-23 | 英业达集团(天津)电子技术有限公司 | iSCSI存储设备访问过程中的缓存数据同步系统及方法 |
JP5876364B2 (ja) * | 2012-04-13 | 2016-03-02 | ラピスセミコンダクタ株式会社 | 半導体メモリ及びデータ読出方法 |
KR20160094154A (ko) * | 2015-01-30 | 2016-08-09 | 에스케이하이닉스 주식회사 | 데이터 전송 회로 |
TWI625618B (zh) | 2017-07-11 | 2018-06-01 | 新唐科技股份有限公司 | 可程式化接腳位準的控制電路 |
CN114115588B (zh) * | 2021-09-26 | 2023-11-03 | 洛晶半导体(上海)有限公司 | 感应面板的控制芯片、控制电路及控制方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1063981A (zh) * | 1991-01-31 | 1992-08-26 | 莫托罗拉公司 | 具有相位无关的带宽控制的数据传输系统接收机 |
JPH11224180A (ja) * | 1998-02-06 | 1999-08-17 | Fuji Xerox Co Ltd | インターフェース回路 |
US5938746A (en) * | 1996-02-29 | 1999-08-17 | Sanyo Electric Co., Ltd. | System for prioritizing slave input register to receive data transmission via bi-directional data line from master |
CN1332871A (zh) * | 1998-11-03 | 2002-01-23 | 英特尔公司 | 跨时钟域数据传输方法和装置 |
CN1383073A (zh) * | 2002-05-08 | 2002-12-04 | 威盛电子股份有限公司 | 高速数据传输器及其传输方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5463753A (en) * | 1992-10-02 | 1995-10-31 | Compaq Computer Corp. | Method and apparatus for reducing non-snoop window of a cache controller by delaying host bus grant signal to the cache controller |
US5473762A (en) * | 1994-01-25 | 1995-12-05 | Apple Computer Inc. | Method and system for pipelining bus requests |
US6571325B1 (en) * | 1999-09-23 | 2003-05-27 | Rambus Inc. | Pipelined memory controller and method of controlling access to memory devices in a memory system |
US6651148B2 (en) * | 2000-05-23 | 2003-11-18 | Canon Kabushiki Kaisha | High-speed memory controller for pipelining memory read transactions |
US6748505B1 (en) * | 2000-07-11 | 2004-06-08 | Intel Corporation | Efficient system bus architecture for memory and register transfers |
JP3665030B2 (ja) * | 2002-02-19 | 2005-06-29 | Necマイクロシステム株式会社 | バス制御方法及び情報処理装置 |
-
2003
- 2003-12-18 US US10/740,948 patent/US7302508B2/en not_active Expired - Lifetime
-
2004
- 2004-06-10 CN CNB2004100484650A patent/CN1322443C/zh not_active Expired - Lifetime
- 2004-06-10 TW TW093116655A patent/TWI247996B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1063981A (zh) * | 1991-01-31 | 1992-08-26 | 莫托罗拉公司 | 具有相位无关的带宽控制的数据传输系统接收机 |
US5938746A (en) * | 1996-02-29 | 1999-08-17 | Sanyo Electric Co., Ltd. | System for prioritizing slave input register to receive data transmission via bi-directional data line from master |
JPH11224180A (ja) * | 1998-02-06 | 1999-08-17 | Fuji Xerox Co Ltd | インターフェース回路 |
CN1332871A (zh) * | 1998-11-03 | 2002-01-23 | 英特尔公司 | 跨时钟域数据传输方法和装置 |
CN1383073A (zh) * | 2002-05-08 | 2002-12-04 | 威盛电子股份有限公司 | 高速数据传输器及其传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1564144A (zh) | 2005-01-12 |
TW200504514A (en) | 2005-02-01 |
US20040255061A1 (en) | 2004-12-16 |
TWI247996B (en) | 2006-01-21 |
US7302508B2 (en) | 2007-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100595720C (zh) | 用于基于集线器的存储系统中直接存储器访问的设备和方法 | |
CN105068951B (zh) | 一种具有非等时传输结构的片上系统总线 | |
CN1570907B (zh) | 多处理器系统 | |
JP2002530744A (ja) | 多重レベル接続識別を備えた通信のシステムおよび方法 | |
WO1989002127A1 (en) | Method and apparatus for interconnecting busses in a multibus computer system | |
CN106951379A (zh) | 一种基于axi协议的高性能ddr控制器及数据传输方法 | |
US20070081414A1 (en) | System and method of on-circuit asynchronous communication, between synchronous subcircuits | |
CN114265872B (zh) | 一种用于总线的互联装置 | |
EP0558433A2 (en) | Independent computer storage addressing in input/output transfers | |
US7590146B2 (en) | Information processing unit | |
CN1322443C (zh) | 高速数据传输的装置及方法 | |
CN105808476A (zh) | 跨时钟域数据的传输方法及装置 | |
CN116566761B (zh) | Spi双主机共享仲裁系统及方法 | |
CN111506461B (zh) | 一种基于总线、用于测试的反压模块及其实现方法 | |
KR100266963B1 (ko) | 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치 | |
KR20020067752A (ko) | 코프로세서 방식의 원칩 비동기 마이크로 프로세서 간의인터페이스 회로 | |
KR101276837B1 (ko) | 서로 다른 동작 주파수로 동작하는 프로세서 시스템 간의 통신을 지원하기 위한 장치 | |
CN102984599A (zh) | 基于RapidIO协议网络的视频采集传输装置及方法 | |
JP3413894B2 (ja) | シリアル伝送装置 | |
KR970007261B1 (ko) | 고속 중형 컴퓨터의 고속 백업처리방법 | |
WO2004099999A2 (en) | Processing system and method for transmitting data | |
JP3399776B2 (ja) | コンピュータおよびコンピュータにおける周辺デバイス制御データの転送方法 | |
JP2536260B2 (ja) | 拡張記憶デ―タ転送方式 | |
SU1012235A1 (ru) | Устройство дл обмена данными | |
KR0168224B1 (ko) | 주전산기의 통합시험 및 성능측정용 정보처리기의 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20070620 |