CN1666186A - 局部同步电路之间的信息交换 - Google Patents
局部同步电路之间的信息交换 Download PDFInfo
- Publication number
- CN1666186A CN1666186A CN028266161A CN02826616A CN1666186A CN 1666186 A CN1666186 A CN 1666186A CN 028266161 A CN028266161 A CN 028266161A CN 02826616 A CN02826616 A CN 02826616A CN 1666186 A CN1666186 A CN 1666186A
- Authority
- CN
- China
- Prior art keywords
- circuit
- handshake
- clock
- local synchronization
- module
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- 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
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)
- Synchronisation In Digital Transmission Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
- Time-Division Multiplex Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种局部同步电路模块,具有延迟电路,该延迟电路具有一个输入和输出,并且耦合到一个时钟输入。该延迟电路提供延迟,当该延迟包括在时钟振荡器中时,确保至少与在多个存储元件之间传输信息所需的时间一样长的时钟周期。提供了用于产生握手信号的握手电路,该握手信号用于定时局部同步电路模块与另外电路之间的信息传输。握手电路包括该延迟电路,从而握手事务期间握手信号的至少部分通过经由该延迟电路来定时,并且施加于时钟输入以对局部同步电路模块进行时钟控制。
Description
技术领域
本发明涉及一种具有一个或多个局部同步电路模块的数字电子电路。
背景技术
根据作者为J.Muttersbach、T.Villiger和W.Fichtner,标题为“Practical Design of Globally Asynchronous LocallySynchronous Systems”以及出版于异步电路和系统高级研究国际学术讨论会论文集中的出版物,提供多个局部同步电路模块之间的通信是公知的。
大多数目前电路是同步电路,其中所有不同寄存器之间的内部数据传输(可能通过顺序逻辑电路)由单个中央时钟信号或者多个同步时钟信号进行定时。由于各种原因,期望转换到具有多个这种同步电路模块的架构,其中每一个同步电路模块在其自己的时钟信号的控制下操作,并且不同电路的时钟信号相互异步。因此,每个电路模块是局部同步的,但是不同模块相互异步地操作。
在这些具有局部同步模块的电路中,当需要在不同模块之间交换信息时,将产生问题。由于不同模块的时钟信号未被同步,因此不同模决在没有另外措施的情况下不能被连接。当另一个模块需要信息保持不变以便读取该信息时,需要提供接口电路来保证输出信息的模块不改变该信息。
Muttersbach等人的文章公开了一种通过可暂停时钟来实现接口电路的电路。当需要在第一和第二模块之间交换信息时,临时停止这些模块的时钟。当停止这些时钟的同时,使用传统异步握手来传输信息。该异步握手使用两个信号:从第一模块到第二模块的请求信号,用来指示信息何时可用;以及从第二模块返回到第一模块的确认信号,用来指示何时接收到信息。
Muttersbach等人的可暂停时钟电路均包括:仲裁器(互斥元件);以及反相延迟线,其输出通过仲裁器耦合于其输入。从延迟线的输出到其输入的反馈导致产生时钟脉冲。延迟线的输入信号作为时钟信号馈送给局部同步电路。可暂停时钟电路确保时钟信号的有效部分(其间时钟处于高的时钟脉冲)总是具有相同的长度。当暂停时钟时,可以扩展无效部分(时钟处于低)。时钟假信号(时钟跃迁之间的较短时间)被防止。仲裁器确保当时钟信号无效(低)时才交换握手信号。然而,仲裁器的缺点是在准稳态的情况下它会产生不可预测的延迟。当仲裁器输入的跃迁几乎同时发生时,发生准稳态。在这种情况下,在传递信号之一之前会花费较长的时间。
Muttersbach等人的电路需要一个位于交换信息的模块之间的寄存器,用于临时存储信息。这是因为当时钟无效的时候执行握手,从而在握手期间这些模块本身不能改变或接收数据。该寄存器产生电路中的电路开销,并且它延迟电路的响应时间。
发明内容
除别的以外,本发明的一个目的是提供一种具有局部同步电路模块的电路,其中在局部同步电路模块与另外电路交换数据的期间,向局部同步电路模块的时钟输入无需使得无效。
除别的以外,本发明的另一个目的是提供一种具有局部同步模块的电路,其中在模块之间交换信息的期间不需要寄存器。
除别的以外,本发明的另一个目的是提供一种具有局部同步模块的电路,其中最小化使用遭受准稳态问题的电路。
权利要求1阐述了根据本发明的电路。根据本发明,在局部同步模块之间交换信息的期间,振荡器电路中的延迟线保持该电路的有源部分。在交换期间,对从延迟线的输出到其输入的耦合改路线(reroute),从而使延迟线参与产生握手信号,这些握手信号也充当局部同步模块的时钟信号。
在根据本发明的电路的一个实施例中,延迟线的输出与其输入之间的耦合通过局部路径来定路线,从而只要局部同步电路模块不需要与另外电路交换信息就自主产生时钟信号。当必须交换信息时,对该耦合改路线以创建握手电路。因此,当无需信息交换时,局部同步电路模块可以以最大速度操作。
在另外一个实施例中,使用临时重叠的信息交换事务来交换信息,例如通过发送连续命令并且在发送随后命令的同时返回对每个命令的响应。当发送了最后一个命令时,发生不同操作,因为需要在不发送随后命令的时候接收响应。在本实施例中,当发送了最后一个命令时,延迟线的输出与其输入之间的耦合通过局部路径来改路线,但是局部路径被禁止直到接收到最后一个响应。因此,信息交换是适当定时的,并且避免了触发新命令的定时。这可以有利地应用于从存储器读取数据,其中,当施加下一个地址时返回一个地址的数据。根据该实施例,不需要由握手接口启动下一个存储器循环来接收数据。
在另外一个实施例中,可以根据命令否决禁止。因此,如果不需要响应,则时钟可以立即以最大速度操作,而不等待响应。例如,在存储器访问的情况下,以这种方式,时钟在写操作之后可以立即高速操作,并且当需要从存储器返回数据时,可以在读取操作之后延迟。
在另一个实施例中,提供了多个另外电路,它们可以相互异步地操作。对于这种情况,提供了允许从多个耦合中选择以将延迟线的输出耦合到其输入的多路分解器。不同耦合提供用于产生与不同另外电路的握手。
在另一个实施例中,提供了多个局部同步电路模块,这些模块共享对另外电路的访问。在这种情况下,来自另外电路的握手可以与这些局部同步电路模块中的任一个交换。使用仲裁器来仲裁握手进入这些局部同步电路模块中的哪一个。因此,多个局部同步电路模块可以共享对另外电路的访问。在一个实施例中,局部同步模块可以局部地或者与仲裁器同步地对其延迟线的输出与输入之间的耦合改路线。因此,局部同步模块可以在无需访问存储器时以最大速度操作,而在访问存储器时将其时钟信号延迟最小量。在另外一个实施例中,另外电路是存储器,并且包括交换模块来使居于存储器之前的仲裁器看上去似乎它是非共享存储器一样。因此,局部同步电路模块由于它们共享相同存储器而延迟最小。在一个实施例中,写入操作无需等待从共享存储器返回数据。
当然,局部同步电路模块可以包括在具有其延迟线和握手接口的集成电路中。局部同步电路模块与其通信的另外电路可以包括在相同集成电路中,或者它们可以在可连接到具有局部同步电路模块的集成电路的单独集成电路中提供。
附图说明
根据本发明的电路的这些和其他有利方面将使用以下附图来更详细地描述。
图1示出具有局部同步模块的电路;
图2示出具有改路线电路的局部同步模块;
图3示出握手多路分解器;
图4示出局部同步模块和存储器;
图5示出在信息交换期间发生的信号;
图6示出具有存储器的局部同步模块;
图7示出具有多个存储器的局部同步模块;
图8示出具有共享第二电路的多个电路模块;以及
图9示出交换模块。
具体实施方式
图1示出具有第一电路10、第二电路12、握手接口电路14和用于信息交换的接口16的电路。第一电路10包括局部同步电路模块100和时钟电路102。局部同步电路模块100包括多个寄存器108以及逻辑和/或算术电路109。寄存器108的输出通过逻辑和/或算术电路109耦合到寄存器108的输入。该连接可以形成在管道的连续级连续包含不同寄存器108的管道和/或其中将寄存器108中的一个或多个的输出直接或间接反馈到其输入的回路。
时钟电路102耦合于用于对寄存器108进行时钟控制的时钟输入106。时钟电路102包括反相延迟线104(例如,实现为奇数个反相器的级联)。延迟线104的输入耦合于时钟输入106。
来自局部同步电路模块100的寄存器108通过用于信息交换的接口16耦合于第二电路12(必要时可以在该耦合中包括顺序逻辑电路)。第一电路10的反相延迟线104的输入和输出通过握手接口耦合于第二电路12。
在操作中,局部同步电路模块100设计为传统同步电路。也就是,在操作期间,多个寄存器108通过公共时钟输入106进行时钟控制,从而直接或者在由逻辑和/或算术电路109执行中间处理之后加载从寄存器108输出的数据。原理上,将存在很多不同路径用来将数据从寄存器108并行流回到寄存器108。每条路径可能需要不同的时间间隔来将数据从寄存器108往回传播到寄存器108。可以用来对寄存器108进行时钟控制的时钟周期应该超过最小容许时长,该时长对应于将任何数据从寄存器108往回传播到寄存器所需的最大时间间隔和寄存器108设置和加载数据所需的时间。延迟线104产生对应于该最小容许时长的延迟。因此,如果延迟线104的输入将耦合于其输出,则延迟线将产生具有所需时钟周期的时钟振荡。
延迟线104耦合于握手接口14,从而同步时钟电路102的时钟振荡和来自第二电路12的握手。这允许与第二电路12交换数据。反相延迟线104输出的上升信号沿视作用于数据传输的请求Creq,并且传给第二电路12。在例如从第一电路10到第二电路12的数据传输期间,所要传输的数据将由寄存器108输出,并且稳定于第一电路10与第二电路12之间的信息交换接口16上。当第二电路12指示接受请求时(例如,当数据已加载到第二电路中时),将确认信号Cack从第二电路12回传到延迟线104的输入,从而使延迟线104在一个延迟之后往回改变Creq信号。Creq信号中的下降向第二电路12指示第一电路10已从接口移走数据。当第二电路12又指示可以将新数据置于接口16上时,确认信号Cack被拉低,从而导致延迟线104在一个延迟之后往回改变Creq信号等等。因此,延迟线104作为局部同步电路模块100的时钟同时作为向第二电路12的握手接口来操作。
应该理解,虽然该机制是按照从第一电路10到第二电路12的数据传输来描述的,但是该机制也适用于从第二电路12到第一电路10的数据传输。
图2示出第一电路10,其中具有耦合于多端口握手接口20的局部同步电路100和时钟电路102。局部同步电路模块100具有耦合于多端口握手接口20的选择输出Sel。多端口握手接口20包含握手多路分解器22,其中具有耦合于局部同步电路模块100的Sel输出的控制输入,以及一个第一端口和多个第二端口24a-c、26。第一端口耦合于延迟线104的输入和输出。多个第二端口24a-c耦合于相应的握手接口14,握手接口14反过来又耦合于能够进行握手接口连接的各种另外电路(未示出),例如第二电路。第二端口26之一具有相互耦合的请求输出和确认输入。
在操作中,多路分解器22用来提供通过第二端口24a-c、26的选定之一从延迟线104的输出到延迟线104的输入的耦合。也就是,多路分解器22在其第一端口与第二端口24a-c、26的选定之一之间对信号定路线。在控制输入sel的控制下选择第二端口24a-c、26。当局部同步电路模块100不需要跟不与其局部同步的其他电路交换信息时,延迟线104的输入和输出之间的连接通过直接连接其请求输出和确认输入的端口26来定路线。因此,时钟电路102使得以局部同步电路模块100可以运行的最大可能时钟频率基本上作为环形振荡器振荡。
当局部同步电路模块100必须通过接口16通信时,它引导多路分解器22通过根据必须与其进行信息通信的电路(未示出)选择的另一个端口对延迟线104的输入和输出之间的耦合改路线。在这种情况下,延迟线104的输出信号将通过握手接口14使延迟线的输入信号通向相关接口。因此,施加于局部同步电路100的时钟信号的周期将在总体上降低,从而适应信息交换速度。
图3更详细地示出具有两个第二端口的多路分解器的实现。该多路分解器包含第一和第二锁存器30、32,第一和第二与门34、36,以及或门38。处理器10的延迟线104的Creq输出耦合于锁存器30、32的时钟输入以及与门34、36的第一输入。处理器10的同步模块100的sel输出分别通过反相和同相输入耦合于锁存器30、32的数据输入。锁存器30、32的数据输出耦合于多路分解器140的第二端口的输出(Req1,Req2)。锁存器30、32为低透(transparent-low)类型,即当Creq低时传递sel信号(或其反相)而当Creq高时保持sel的最后值(或其反相)。第二端口的输入Ack1、Ack2耦合于或门38的输入。或门38的输出耦合于延迟线的输入Cack和处理器10的输入Creq以及同步模块100的时钟输入。应该理解,如果需要更大数目的端口,则可以提供对应更大数目的锁存器30、32,各自锁存相应端口的相应sel信号。相应sel信号可以通过使用来自第一电路10的多线sel输出,例如采用对应于每个端口的多线来获得。
在操作中,局部同步电路模块在Creq高的时候产生控制信号sel的逻辑电平变化。结果,一旦Creq变低,sel的新值就传到与门34、36。随后,与门34、36之一将CReq信号传到相应的输出CReq1、CReq2,而另一个与门阻断Creq信号,从而保持其输出CReq1、CReq2低。确认输入Ack1、Ack2的任一个上的低到高跃迁传到第一端口的确认输出Cack。
图4示出其中局部同步电路模块100是与存储器12通信的处理器10的一部分的电路。虽然图中示出了单个存储器42,但是存储器42实际上可以包括相互同步操作的多个存储器装置并且/或者存储器42可以包含高速缓存结构。图4的电路是如图2所示的电路的特定应用。另外,在握手接口中采取了特殊措施来允许使用传统存储器和处理器设计。该设计支持管道化读取操作,其中,在一个时钟循环中将地址施加于存储器,并且以后返回结果数据,而同时将随后地址施加于存储器。
图4的电路包含存储器42和握手接口44。存储器42具有耦合于处理器10的访问/数据数据接口(接口的访问部分支持地址和可选另外信号如读/写控制信号的传输)。存储器42具有通过握手接口44反馈到存储器请求输入Mreq的存储器就绪输出“Ready”。握手接口44包含握手多路分解器440、Muller C元件442和与门444。公知的MullerC元件设计成当其输入信号均为逻辑一或逻辑低时分别输出逻辑一或逻辑零,而当输入信号不同时保持其先前输出信号值。
握手多路分解器440具有耦合于处理器10的振荡器的延迟电路104的输入Cack和输出Creq的第一端口。该多路分解器具有各自带有输入(Aack、Sack)和输出(Sreq、Sack)的第二端口A(访问端口)和第三端口S(忽略端口)。多路分解器440具有由处理器10的同步电路100馈送的控制输入sel。
在操作中,处理器10具有两种操作模式:第一模式,其中不访问存储器12;以及第二模式,其中访问存储器12。在第一模式中,同步模块100输出控制信号sel从而命令多路分解器440耦合第一端口(Creq、Cack)和第三端口A(Sreq、Sack)。因此,延迟线104的输出Creq和输入Cack通过与门444耦合。正常情况下,来自存储器12的就绪信号处于高从而与门144简单地将信号从Creq传到Cack。结果,发生振荡,其中,Creq和Cack交替地为逻辑高和逻辑低,并且产生用于同步模块100的时钟信号。延迟线104的延迟设计成由延迟线104、多路分解器440和与门444的级联产生的合计延迟导致至少与在局部同步电路模块100中的寄存器之间传递数据所需的任何延迟周期一样长的时钟周期。
当局部同步电路模块100必须访问存储器12时,它使接口电路44对从延迟线104的输出Creq到延迟线104的输入Cack的耦合改路线。代替通过与门444,该耦合现在使得通过Muller C元件442。结果,产生公共振荡器电路,该电路产生一个或多个用于处理器10和存储器12两者的时钟脉冲以定时在处理器10和存储器12之间传输诸如地址和数据的信息。在存储器读取操作的情况下,同步模块100在交换地址和随后数据的期间保持该耦合通过Muller C元件442。在写入操作期间,只有在同时交换地址和数据信息的期间才需要保持该耦合。
图5更详细地示出在存储器访问期间发生的信号。首先,在存储器读取操作期间,初始在第一模式中,多路分解器440的第二端口A的输出Areq为逻辑低。在开始存储器访问时,同步模块100通过访问/数据接口将地址(以及可选地数据)施加于存储器42,并且当Creq高的时候产生控制信号sel的逻辑电平变化50。结果,一旦Creq变低,sel新值就传到与门34、36。随后,只要sel保持该值,Sreq就保持低。
Creq的下一个低到高跃迁52传到多路分解器140的输出Areq。由于“ready”处于高,因此这导致Mreq、Aack(共同作为Mreq示出)和Cack上的低到高跃迁54。该跃迁54启动同步模块100中的下一个时钟循环,并且向存储器42通知访问信息包括地址和可选地数据可用以及需要使用该信息的存储器操作。在该时钟循环中,同步模块100再次往回改变sel以在Creq的下一边沿上对多路分解器440的时钟振荡器的反馈部分改路线,从而通过与门444传递Creq的随后跃迁。
存储器42通过使“ready”变低来响应Mreq上的上升沿,以指示接收到来自处理器10的信息。在由反相延迟线104确定的延迟之后,Cack上的上升沿54导致Creq和Areq上的下降沿56。Sel的变化值现在传到与门34、36。当ready和Aack低时,Muller C元件442使MReq、Aack和Cack变低,从而终止时钟循环的有效部分。应该理解,Mreq变低的时间取决于Areq(Creq)和ready中的任何哪一个最晚变低,即MReq、Aack和Cack处于高的时间间隔可能长于由延迟线104产生的延迟。
响应Cack的低值,延迟电路104将在由延迟线104确定的延迟之后产生Creq和Sreq中的低到高跃迁58。当数据在读取时变得可用时,存储器42将产生“ready”中的低到高跃迁59。通常,直到该跃迁59的时间间隔大大长于由延迟线104产生的延迟。当Sreq和“ready”都为高时,与门444使Sack和Cack变高。这对同步模块100进行时钟控制,从而使它从存储器42加载数据。由于ready现在为高并且sel返回到其原始电平,因此为同步模块100产生的时钟信号的频率不再依赖于由存储器42确定的延迟。因此,同步模块100返回到具有其自己局部时钟脉冲的高速操作直到需要下一个存储器读取操作为止。
当同步模块100必须执行一系列读取操作时,它可以保持sel不变而处于第一操作的开始时所达到的电平。因此,响应“ready”信号的每一个低到高跃迁,将产生下一个Mreq脉冲(假定存储器42慢于处理器10)。在每下一个Mreq脉冲期间,处理器10将新地址提供给访问/数据接口,同时如果前一地址涉及读取操作则接收前一地址的数据。
当多路分解器440已经通过第三端口S在反相延迟线104的输出和输入之间对信号定路线时,接收响应最后一个地址(或者单个读取操作的情况下的唯一地址)而接收的数据。由于与门444附连至该端口S,因此只有当“ready”信号已变高时,来自延迟线104的输出Creq的低到高跃迁才将回传到延迟线104的输入Cack。因此,确保只有当数据可用时,才传递通过第三端口S传播的第一脉冲。由于第二端口A在直到数据可用之前不用来确保延迟,因此不产生新Mreq脉冲,从而存储器42保持在就绪状态以接收下一个地址。当然,多个访问操作也可以通过为每个访问操作来回改变sel的逻辑电平来实现。
在原理上,用于写入操作的时钟脉冲可以以与读取操作相同的方式来产生。在这种情况下,处理器10等待直到数据存储在存储器12中为止,并且延迟处理器时钟,直到完成了存储为止。然而,在一个实施例中,处理器10不等待写入的完成,而是在存储器12仍然忙于存储数据的时间期间以全速恢复操作。
图6示出支持这种操作的改进型电路。除了图4所示的各组件之外,图6的电路还包含附加与门64、读取触发器62和或门60。附加与门64从处理器10与存储器42之间的接口接收sel信号和读/写控制信号。附加与门64的输出耦合于读取触发器62的数据输入。读取触发器62由Cack的上升沿进行时钟控制。读取触发器62的数据输出与来自存储器42的ready输出一起耦合于或门60。或门60的输出耦合于对第三端口传递Sreq到Areq的与门444。
因此,除非存在读取操作,ready信号和与门444的直接耦合由强制与门444的输入为高的间接耦合所替代。因此,Sreq上的低到高跃迁(由Creq上的低到高跃迁导致)只有在读取操作的情况下才被延迟。在写入操作的情况下,在访问存储器42之后通过第三端口S的第一脉冲与通过第三端口S传递的任何其他脉冲一样快。在读取操作的情况下,该第一脉冲被延迟直到存储器42就绪为止。
图4和6的说明假设“单深(one-deep)”存储器管道,即它们假设在施加地址之后的一个循环从存储器传送地址的数据。当然,可以使用在访问之后的更多循环之后传送数据的更深管道化存储器。在这种情况下,管道化数据保持在存储器42中。当处理器10需要执行孤立读取动作时,它必须将选定第二端口A保持存储器42的足够数目循环以产生数据。类似地,该说明假设了仅在单个循环期间结合地址一起来传递数据。如果使用多个连续循环,则处理器可以在提供地址之后将选定第二端口A保持存储器42的多个循环。
相互异步操作的多个存储器可以与存储器42并行使用。在这种情况下,处理器10对请求Creq的确认可以由被访问的那些存储器和必须传送数据的那些存储器控制。这可以例如通过在多路分解器440上使用相应更大数目的Muller C元件442和第二端口A来实现,其中每一组对应于存储器的相应之一。在这种情况下,为每一个存储器提供附加与门64、读取触发器62和或门60。还提供了另外的与门来输入来自所有或门60的输出信号。该另外与门的输出输入到与门444和Muller C元件的附加输入,从而只有所有或门指示前一操作不是读取访问或者访问存储器就绪才从这些C元件和与门传递上升脉冲。
图7示出具有多个存储器70a-c的实施例。处理器10具有用于写入数据和读取数据的单独端口72、74。类似地,存储器70a-c具有用于写入和读取数据的单独端口。读取数据多路复用器在存储器70a-c的数据端口和处理器10的读取端口之间提供。该多路复用器76将读取数据从被访问存储器传到处理器10。多路复用器76可以例如由用于不同存储器的读取触发器的输出来控制,因为这些触发器指示在前一循环中读取的是存储器中的哪一个。但是当然也可以使用其他控制多路复用器的方法,例如可以使用存储前一循环的sel信号的选择寄存器来控制复用器。
应该理解,所述电路只是根据本发明的电路的例子。例如,在不脱离本发明的情况下,可以反相使用部分或全部电路的信号电平。与此结合,局部同步电路可能由延迟线的输出进行时钟控制。通过延迟线产生振荡的必要反相可能在握手电路中提供。本发明也不限定于作为示例使用的特定类型的握手协议。而是可以使用其他握手协议,例如使用更多或更少数目的握手线。
如图所示,局部同步电路模块10与第二电路12通信,其中存储器12可以是存储器。第二电路可以是异步电路,或者它可以是局部同步电路本身,从而在其延迟路径通过与电路模块10的握手接口改路线的时钟振荡器电路的控制下操作。因此,在握手期间形成公共时钟振荡器电路。
图8示出具有多个局部同步电路模块80a-c的电路,其中每一个局部同步电路模块都具有其自己的时钟振荡器电路81a-c。局部同步电路模块80a-c都可以通过第二电路的相同端口访问第二电路82。每个局部同步电路模块在局部同步电路模块80a-c与第二电路82之间具有其自己的握手接口84a-c。仲裁器电路88包括在握手接口84a-c与第二电路82之间。多路复用器和/或多路分解器86包括在局部同步电路模块80a-c的交换接口与第二电路82之间。多路复用器和/或多路分解器86由仲裁器88控制。
在操作中,局部同步电路模块80a-c一次一个地耦合于第二电路82。此时,其时钟电路中延迟线的输出和输入之间的耦合通过与第二电路82的握手接口84a-c改路线,并且握手信号流经延迟线。
每个局部同步模块80a-c可以通过与第二电路82的握手接口使得其时钟电路中延迟线的输出和输入之间的耦合被改路线。仲裁器88在第二电路82与相关局部同步电路模块80a-c的握手接口84a-c之间传递握手信号。如果当较早的握手正在进行中的时候局部同步电路模块80a-c中的另一个试图启动与第二电路的另外握手,则只有当完成了较早的握手时,仲裁器88才将另外的握手传递到第二电路82。这可以例如通过只有当完成了较早握手时才确认另外握手的请求来完成。当两个或更多局部同步电路模块80a-c试图同时访问第二电路时,仲裁器选择这些电路模块80a-c之一并且首先传递该电路模块的握手。仲裁器88使多路复用器和/或多路分解器86将第二电路82的信息交换接口连接到其握手被传递的电路模块80a-c的信息交换接口。用于传递异步握手的仲裁器电路在本质上是公知的。
在另一个实施例中,可以提供多个存储器(例如,锁存器和/或触发器),其中每一个均位于局部同步电路模块80a-c的相应之一与多路复用器和/或多路分解器86之间。在局部同步电路模块80a-c与第二电路82之间交换的信息在握手期间例如响应来自相关局部同步电路模块80a-c的请求信号而存储。这样的优点是在第二电路82响应之前,仲裁器可以确认来自局部同步电路模块80a-c的握手。在这种情况下,第二电路82发起与第二电路82的单独握手以当第二电路82应答该单独握手时交换来自存储器的信息。
在重叠信息交换的情况下,例如,如果第二电路82是在输出前一地址的读取数据的相同循环中输入地址的存储器,最好使用更复杂的设计。在这种情况下,最好在图8的电路中加入交换模块。
图9示出用于该电路中的交换模块。该交换模块包含第一寄存器90、第二寄存器92、转发器94和定序器96。转发器94和定序器96是传统电路组件。基本上,转发器94重复启动握手,并且当该握手完成时,它启动另一个握手等等而无限下去。当定序器96从转发器94接收到请求信号时,定序器96在其左手端口启动握手,并且当确认了左手端口上的握手时在其右手端口启动握手。当确认了右手端口上的握手时,定序器96确认来自转发器94的握手。
第一寄存器90响应来自左手端口的确认信号存储存储器的地址。第二寄存器响应来自右手端口的确认信号存储来自存储器的读取数据。
在一个实施例中,这种交换模块包括在一方面的局部同步电路模块80a-c的每一个与另一方面的仲裁器88和多路复用器和/或多路分解器86之间。
该交换模块使得存储器、多路复用器和/或多路分解器86和仲裁器88的组合对于每个局部同步电路模块80a-c而言看上去似乎它是不与其他局部同步电路模块80a-c共享的存储器一样。该交换模块确认来自局部同步电路模块80a-c的请求,它在第一寄存器90中存储对应地址,并且启动向存储器82的握手。在下一个握手中,只有当存储器响应前面握手而确认了所启动的握手时,局部同步电路模块80a-c才被确认。此时,响应前面地址而读取的数据在第二寄存器中可用。
因此,通过使用图4和/或6的局部同步电路模块80a-c及其握手接口的实施例,局部同步模块80a-c在不需要访问存储器时可以以最大速度操作,而在访问存储器时将其时钟信号延迟最小量。如果存储器大大快于局部同步电路模块80a-c中的一个或多个,则局部同步电路模块80a-c由于它们共享相同存储器而难以被延迟,因为交换模块与局部同步电路模块之间的握手可以在仲裁器准予了访问之前完成。写入操作无需采用下一个握手等待数据返回。
当然,局部同步模块80a-c及其握手接口可以具有多个端口,如图4和6所示。在这种情况下,均可能以或多或少的程度共享的多个存储器可以通过不同端口来并联。因此,当局部同步电路模块80a-c及其握手接口访问不同存储器时,在时钟信号中不发生延迟。类似地,这些端口中的一些可以互斥地连接到局部同步模块80a-c及其握手接口。因此不需要用于在局部同步电路模块80a-c之间通信的存储器,并且不由于存储器而发生延迟。
Claims (10)
1.一种数字电子电路,包括:
-局部同步电路模块,具有一个时钟输入和多个存储元件,所述时钟输入用来定时在所述局部同步电路模块中的所述存储元件之间传输的信息的存储;
-延迟电路,具有一个输入和输出,耦合到所述时钟输入,所述延迟电路提供延迟,当所述延迟包括在时钟振荡器中时,确保至少与在所述存储元件之间传输信息所需的时间一样长的时钟周期;
-另外电路
-握手电路,用于产生握手信号,所述握手信号用于定时所述存储元件与所述另外电路之间的信息传输,所述握手电路包括所述延迟电路,从而握手事务期间所述握手信号的至少部分通过经由所述延迟电路来定时,并且施加于所述时钟输入以对所述局部同步电路模块进行时钟控制。
2.根据权利要求1所述的数字电子电路,所述电路包括改路线电路,用于在所述局部同步电路模块的控制下对所述延迟电路的所述输出和所述输入之间的耦合改路线,所述改路线电路在使所述延迟线自主产生局部时钟振荡的局部路径和使所述延迟线通过由所述另外电路同步的所述握手电路传递所述握手信号的所述至少部分的握手路径之间对所述耦合改路线。
3.根据权利要求2所述的数字电子电路,其中所述另外电路安排成使用临时重叠的信息交换事务来操作,所述局部路径包括用于禁止将信号跃迁从所述延迟电路的输出反馈到其输入的禁止输入,所述禁止输入耦合于所述另外电路的输出,从而禁止反馈直到所述另外电路完成了最后一个前面信息交换事务的最终部分为止。
4.根据权利要求3所述的数字电子电路,包括激活电路,用于在完成了最后一个前面信息交换事务的最终部分之前,由所述另外电路否决禁止通过所述局部路径的耦合。
5.根据权利要求2所述的数字电子电路,包括所述另外电路包括各自具有相应握手接口的多个单元,所述改路线电路通过所述握手接口的选定之一对所述耦合改路线,所述握手接口的所述选定之一在所述局部同步电路模块的控制下选择。
6.根据权利要求2所述的数字电子电路,其中所述另外电路包括耦合于所述局部同步电路模块的具有地址和数据接口的存储器,所述存储元件与所述另外电路之间的信息传输包括地址和数据的传输,当所述局部同步电路模块访问所述存储器时通过所述握手路径并且随后通过所述局部路径对所述耦合定路线。
7.根据权利要求3所述的数字电子电路,其中所述另外电路包括耦合于所述局部同步电路模块的具有地址和数据接口的存储器,所述存储器安排成产生在通知所述存储器对于接收下一个地址就绪的同时通知数据可用的就绪信号,当有效时,所述握手路径将所述就绪信号馈送到所述存储器的请求输入,所述禁止输入安排成禁止所述局部路径,直到所述就绪信号指示数据可用为止。
8.根据权利要求1所述的数字电子电路,其中所述局部同步电路模块是多个局部同步电路模块之一,每一个局部同步电路模块具有耦合于其时钟输入的其自己的握手电路和其自己的延迟电路,所述数字电子电路包括耦合在所述局部同步电路模块与所述握手电路之间的仲裁器以及多路复用器和/或多路分解器,所述仲裁器仲裁来自所述局部同步电路模块中不同多个的握手事务可以伴有通过所述多路复用器和/或多路分解器来自所述局部同步电路模块的信息交换而进行的次序。
9.根据权利要求8所述的数字电子电路,其中所述另外电路是以与地址重叠的方式传输读取数据的存储器,所述数字电子电路包括用于每个局部同步电路模块的相应交换模块,所述交换模块设计成使所述存储器看上去似乎它不与任何其他局部同步电路模块共享一样。
10.一种系统组件,包括:
-局部同步电路模块,具有一个时钟输入和多个存储元件,所述时钟输入定时在所述局部同步电路模块中的所述存储元件之间传输的信息的存储;
-延迟电路,具有一个输入和输出,耦合到所述时钟输入,所述延迟电路提供延迟,所述延迟至少与在所述存储元件之间传输信息所需的时间间隔一样长;
-用于连接另外电路的连接;
-握手电路,用于产生握手信号,所述握手信号用于定时所述存储元件与所述另外电路的所述连接之间的信息传输,所述握手电路包括所述延迟电路,从而握手事务期间所述握手信号的至少部分通过经由所述延迟电路来定时,并且施加于所述时钟输入以对所述局部同步电路模块进行时钟控制。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02075578 | 2002-01-02 | ||
EP02075578.1 | 2002-01-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1666186A true CN1666186A (zh) | 2005-09-07 |
CN100507891C CN100507891C (zh) | 2009-07-01 |
Family
ID=8185592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028266161A Expired - Fee Related CN100507891C (zh) | 2002-01-02 | 2002-12-06 | 局部同步电路之间的信息交换 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7185220B2 (zh) |
EP (1) | EP1464001B1 (zh) |
JP (1) | JP4404637B2 (zh) |
KR (1) | KR100956304B1 (zh) |
CN (1) | CN100507891C (zh) |
AT (1) | ATE350712T1 (zh) |
AU (1) | AU2002367038A1 (zh) |
DE (1) | DE60217408T2 (zh) |
WO (1) | WO2003060727A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1980344B (zh) * | 2005-12-09 | 2011-04-20 | 索尼株式会社 | 信息信号处理设备、功能块以及控制该功能块的方法 |
CN101377691B (zh) * | 2008-09-05 | 2012-01-11 | 无锡中星微电子有限公司 | 一种apb总线跨时钟域访问的电路及方法 |
CN103650604A (zh) * | 2011-05-12 | 2014-03-19 | 意法爱立信有限公司 | 时间延迟估计 |
CN111352744A (zh) * | 2018-12-21 | 2020-06-30 | 图核有限公司 | 计算机中的数据交换 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1759368A (zh) * | 2003-01-23 | 2006-04-12 | 罗切斯特大学 | 多时钟域微处理器 |
DE10303673A1 (de) * | 2003-01-24 | 2004-08-12 | IHP GmbH - Innovations for High Performance Microelectronics/Institut für innovative Mikroelektronik | Asynchrone Hüllschaltung für eine global asynchrone, lokal synchrone (GALS) Schaltung |
WO2006100626A2 (en) * | 2005-03-22 | 2006-09-28 | Koninklijke Philips Electronics N.V. | Electronic circuit wherein an asynchronous delay is realized |
US7856516B2 (en) | 2006-10-27 | 2010-12-21 | Kyocera Mita Corporation | Interfacing incompatible signaling using generic I/O and interrupt routines |
WO2009147566A1 (en) * | 2008-06-02 | 2009-12-10 | Koninklijke Philips Electronics N.V. | Asynchronous communication |
US8300752B2 (en) * | 2008-08-15 | 2012-10-30 | International Business Machines Corporation | Method, circuit, and design structure for capturing data across a pseudo-synchronous interface |
US8189723B2 (en) * | 2008-08-15 | 2012-05-29 | International Business Machines Corporation | Method, circuit, and design structure for capturing data across a pseudo-synchronous interface |
US10505704B1 (en) * | 2015-08-02 | 2019-12-10 | Wave Computing, Inc. | Data uploading to asynchronous circuitry using circular buffer control |
CN114024893A (zh) * | 2021-11-18 | 2022-02-08 | 群联电子股份有限公司 | 时钟重整电路模块、信号传输系统及信号传输方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3560793B2 (ja) * | 1997-11-27 | 2004-09-02 | 株式会社東芝 | データ転送方法 |
US7065665B2 (en) * | 2002-10-02 | 2006-06-20 | International Business Machines Corporation | Interlocked synchronous pipeline clock gating |
-
2002
- 2002-12-06 US US10/500,520 patent/US7185220B2/en not_active Expired - Lifetime
- 2002-12-06 EP EP02806352A patent/EP1464001B1/en not_active Expired - Lifetime
- 2002-12-06 WO PCT/IB2002/005204 patent/WO2003060727A2/en active IP Right Grant
- 2002-12-06 CN CNB028266161A patent/CN100507891C/zh not_active Expired - Fee Related
- 2002-12-06 KR KR1020047010450A patent/KR100956304B1/ko not_active IP Right Cessation
- 2002-12-06 AU AU2002367038A patent/AU2002367038A1/en not_active Abandoned
- 2002-12-06 AT AT02806352T patent/ATE350712T1/de not_active IP Right Cessation
- 2002-12-06 DE DE60217408T patent/DE60217408T2/de not_active Expired - Lifetime
- 2002-12-06 JP JP2003560754A patent/JP4404637B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1980344B (zh) * | 2005-12-09 | 2011-04-20 | 索尼株式会社 | 信息信号处理设备、功能块以及控制该功能块的方法 |
CN101377691B (zh) * | 2008-09-05 | 2012-01-11 | 无锡中星微电子有限公司 | 一种apb总线跨时钟域访问的电路及方法 |
CN103650604A (zh) * | 2011-05-12 | 2014-03-19 | 意法爱立信有限公司 | 时间延迟估计 |
CN111352744A (zh) * | 2018-12-21 | 2020-06-30 | 图核有限公司 | 计算机中的数据交换 |
CN111352744B (zh) * | 2018-12-21 | 2023-10-31 | 图核有限公司 | 计算机中的数据交换 |
Also Published As
Publication number | Publication date |
---|---|
JP2005515544A (ja) | 2005-05-26 |
EP1464001A2 (en) | 2004-10-06 |
ATE350712T1 (de) | 2007-01-15 |
CN100507891C (zh) | 2009-07-01 |
JP4404637B2 (ja) | 2010-01-27 |
US20050141257A1 (en) | 2005-06-30 |
EP1464001B1 (en) | 2007-01-03 |
AU2002367038A8 (en) | 2003-07-30 |
DE60217408T2 (de) | 2007-10-04 |
WO2003060727A3 (en) | 2004-03-11 |
AU2002367038A1 (en) | 2003-07-30 |
WO2003060727A2 (en) | 2003-07-24 |
US7185220B2 (en) | 2007-02-27 |
DE60217408D1 (de) | 2007-02-15 |
KR100956304B1 (ko) | 2010-05-10 |
KR20040073538A (ko) | 2004-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100507891C (zh) | 局部同步电路之间的信息交换 | |
JP3661235B2 (ja) | 共有メモリシステム、並列型処理装置並びにメモリlsi | |
EP0596871B1 (en) | Multiprocessor bus protocol | |
CN1199117C (zh) | 信源同步及公共时钟协议中的数据传输 | |
RU2271566C2 (ru) | Архитектура и протокол шины с учетверенной подкачкой | |
RU2110838C1 (ru) | Устройство для оптимизации организации доступа к общей шине во время передачи данных с прямым доступом к памяти | |
CN1150466C (zh) | 在包括核心频率的奇数分数的频率上进行源同步传输的方法和设备 | |
JPH07311751A (ja) | 共用メモリを有するマルチプロセッサ・システム | |
US4837785A (en) | Data transfer system and method of operation thereof | |
CN100483374C (zh) | 包括存储器的数据处理电路及相关方法 | |
EP1132818B1 (en) | Method and data processing system for access arbitration of a plurality of processors to a time multiplex shared memory in a real time system | |
Seceleanu et al. | On-chip segmented bus: A self-timed approach [SoC] | |
CN1181438C (zh) | 异步时钟域设备对共享存储装置访问的控制方法 | |
JPS6290742A (ja) | 中央処理装置の性能を向上させる方法および装置 | |
JPH0215357A (ja) | データ処理装置 | |
US5687327A (en) | System and method for allocating bus resources in a data processing system | |
Kessels | Register-communication between mutually asynchronous domains | |
CN1564144A (zh) | 高速数据传输的装置及方法 | |
RU2256949C2 (ru) | Способ и устройство дифференциального стробирования на коммуникационной шине | |
JP2002141922A (ja) | ループ型バスシステム | |
JPH0560625B2 (zh) | ||
JP2004348745A (ja) | 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法 | |
JP3698912B2 (ja) | マルチプロセッサシステムの制御装置および方法 | |
JP3882791B2 (ja) | 計算機システムのノード閉塞装置及びそのトランザクション制御方法 | |
KR20060009292A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090701 Termination date: 20191206 |