CN102710254A - 异步电路 - Google Patents
异步电路 Download PDFInfo
- Publication number
- CN102710254A CN102710254A CN201210057962.1A CN201210057962A CN102710254A CN 102710254 A CN102710254 A CN 102710254A CN 201210057962 A CN201210057962 A CN 201210057962A CN 102710254 A CN102710254 A CN 102710254A
- Authority
- CN
- China
- Prior art keywords
- circuit
- signal
- circuit block
- output
- asynchronous
- 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.)
- Pending
Links
Images
Classifications
-
- 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/24—Resetting means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Pulse Circuits (AREA)
- Advance Control (AREA)
- Microcomputers (AREA)
Abstract
本发明提供一种异步电路,包括以层级结构连接的多个电路块,每一电路块包括运算电路和在运算电路上进行两阶段控制的控制电路,以及模式控制电路。模式控制电路控制第一级中的电路块在该电路块开始空闲阶段时开始初始化,并且在最后一级中的电路块开始空闲阶段时开始工作阶段,并且控制第二级中的电路块在第一级中的电路块开始初始化时开始工作阶段,并且在第一级中的电路块开始工作阶段时开始初始化。这提高了两阶段异步电路的处理速度并且抑制了电路尺寸的增加。
Description
相关申请的交叉引用
本申请基于2011年3月10日提交的日本专利申请No.2011-053097并要求其优先权,其公开通过引用整体并入本文。
技术领域
本发明涉及两阶段异步电路。
背景技术
处理速度增加和功耗降低是微型计算机开发者所面临的两个问题,并且提出了来自各种观点的技术。
例如,日本未审专利申请公布No.63-047833公开了一种技术,允许同时执行CPU操作和指令提取,从而减少微型计算机的总指令执行时间。
此外,日本未审专利申请公布No.63-000749公开了一种技术,并行地执行数据读取/写入周期和指令代码提取周期,从而提高了通过总线的存储器存取的效率。
作为降低半导体集成电路的数字电路的功耗的技术,已知异步设计技术。在根据该技术的异步电路中,通过相邻电路块间交换的握手信号来控制处理定时,这与通过一个时钟信号(全局时钟信号)控制整个电路的同步电路不同。通过将这种异步电路应用于微型计算机,期望降低微型计算机的功耗。
图11通过不同的参考数字图示了在日本未审专利申请公布No.2008-181170的图27中所示的电路。异步电路10通过使用两个电路块(电路块20和电路块30),从输入数据A和B获得D,即(A+B)2。如在此所示,在异步电路10中,电路块20包括控制电路22和运算电路24,并且电路块30包括控制电路32和运算电路34。运算电路24执行运算操作来获得C,即A+B,以及运算电路34执行运算操作来获得D,即C2。一组运算电路24和运算电路34被称为异步电路10的数据通路。注意,尽管在每一运算电路中包括锁存和保持操作结果的触发器电路,但在该图中省略。
控制电路22和控制电路32分别控制运算电路24和运算电路34。具体地,当输入了输入信号in1时,控制电路22将操作控制信号mux1输出到运算电路24。响应于操作控制信号mux1,运算电路24执行运算操作A+B。在经过对应于运算电路24执行运算操作所需的时间的预定时间后,控制电路22将锁存信号lat1输出到运算电路24。响应于锁存信号lat1,运算电路24保持操作结果。然后,控制电路22将输出信号out1输出到下一级中的电路块30。输出信号out1为从电路块20到电路块30的握手信号,用作对电路块30的输入信号in2。
在电路块30中,当输入了输入信号in2(输出信号out1)时,控制电路32将操作控制信号mux2输出到运算电路34。响应于操作控制信号mux2,运算电路34执行运算操作C2。在经过与运算电路34执行运算操作所需的时间相应的预定时间后,控制电路32将锁存信号lat2输出到运算电路34。响应于锁存信号lat2,运算电路34保持该操作结果。然后,控制电路32将输出信号out2输出。
通常,在当前操作结束后,需要执行初始化来将运算电路的状态复位到其初始状态,以便开始下一操作。作为异步电路的控制技术,已知两阶段控制方案。根据该方案,在每一电路块中,交替地执行“工作阶段”,即执行数据通路的有效操作,诸如运算操作或数据锁存,以及数据通路不工作并且执行初始化的“空闲阶段”。在这种两阶段异步电路中,例如,通过使用Q模块(Q-module)的两阶段控制电路,执行数据通路的控制(The transactions of the Institute of Electronics,Information and Communication Engineers(电子,情报与通信工程师学会学报),D-1,vol.J78,No.4,pp.416-423,1995年4月)。
在本说明书中,由整个异步电路执行的操作称为“过程”,并且由包括在异步电路中的每一电路块执行的操作、操作所需的寄存器间的数据传输等等称为“基本操作”。此外,为简化说明,由电路块执行的“基本操作”也简称为“操作”。
例如,图11中所示的异步电路10执行过程D=(A+B)2,并且电路块20和电路块30分别执行基本操作C=A+B和基本操作D=C2。
通常,两阶段异步电路在当前操作结束后执行初始化以便执行下一过程。参考图12描述。
图12示出通过使用两阶段控制方案,实现由图11中所示的异步电路10执行的过程的电路(两阶段异步电路)的示例。图12中所示的两阶段异步电路50包括执行基本操作C=A+B的电路块60、执行基本操作D=C2的电路块70,以及使从电路块70输出的输出信号out2反相并且将其提供给电路块60的反相器80。电路块60包括控制电路62和运算电路64,并且电路块70包括控制电路72和运算电路74。
当输入了输入信号in1时,控制电路62将操作控制信号mux1输出到运算电路64,就象图11中所示的异步电路10的控制电路22一样。响应于操作控制信号mux1,运算电路64执行运算操作A+B。在经过与运算电路64执行运算操作所需的时间对应的预定时间后,控制电路62将锁存信号lat1输出到运算电路64。响应于锁存信号lat1,运算电路64保持操作结果。然后,控制电路62将输出信号out1输出到下一级中的电路块70。输出信号out1是从电路块60到电路块70的握手信号,用作到电路块70的输入信号in2。
在电路块70中,当输入了输入信号in2(输出信号out1)时,控制电路72将操作控制信号mux2输出到运算电路74。响应于操作控制信号mux2,运算电路74执行运算操作C2。在经过与运算电路74执行运算操作所需的时间对应的预定时间后,控制电路72将锁存信号lat2输出到运算电路74。响应于锁存信号lat2,运算电路74保持该操作结果。然后,输出电路72将输出信号out2输出。输出信号out2是从电路块70到电路块60的握手信号,其被反相器80反相,并且该反相信号用作电路块60的输入信号in1。
稍后描述两阶段异步电路50中的每一电路块的控制电路。注意,控制电路62和控制电路72具有相同的配置,并且代表性地描述控制电路62。
图13示出两阶段异步电路50中的控制电路62的示例。如图13所示,控制电路62包括延迟元件65、AND元件66、反相器67和Q模块90。输入信号in1被输入到AND元件66,并且也通过延迟元件65输入到Q模块90。注意延迟元件65仅将输入信号in1的上升沿延迟预定时间长度。
Q模块90输出锁存信号lat1和输出信号out1。将输出信号out1输出到下一级中的电路块并且还输出到反相器67,由反相器67反相,然后输出到AND元件66。AND元件66输出该输入信号in1和由反相器67反相的输出信号out1之间的逻辑AND。逻辑AND是将要输出到运算电路64的操作控制信号mux1。
Q模块90是已知的,并且包括AND元件91、反相器92、C元件93和AND元件94,以及反相器95。C元件93是米勒(Muller)C元件,其为存储元件,当所有输入值匹配时,其输出反映输入值。
如图13所示,延迟元件65的输出被输入到AND元件91和C元件93。AND元件91输出由反相器92反相的C元件92的输出和延迟元件65的输出之间的逻辑AND。逻辑AND是将输出到运算电路64的锁存信号lat1,并且被输出到运算电路64,也输出到C元件93和反相器95。
C元件93的输出被输入到反相器92和AND元件94。AND元件94输出C元件93的输出和由反相器92反相的锁存信号lat1之间的逻辑AND。逻辑AND是到下一级中的电路块的握手信号(输出信号out1),并且被输出到下一级中的电路块以及输出到反相器67。
图14示出了表示当信号均处于它们的初始状态“0”时两阶段异步电路50中的信号的转变的时序图的示例。注意,为更易于理解,除非需要,否则在图14和下文所使用的时序图中未示出门之间的延迟。
如图14所示,当在时刻t0,输入信号in1上升时,操作控制信号mux1也上升。响应于此,运算电路64开始操作。
在时刻t1,在经过与延迟电路65的延迟对应的时间(t1-t0)后,延迟元件65的输出上升到“1”。因此,锁存信号lat1也上升。响应于此,运算电路64执行锁存操作并且保持该操作结果。
因为到C元件93的两个输入(延迟元件65的输出和锁存信号lat1)均变为“1”,因此,C元件93的输出从“0”转变为“1”。
当C元件93的输出变为“1”时,通过反相器92,输入到AND元件91的信号变为“0”,因此,在时刻t2,作为锁存信号lat1的AND元件91的输出下降。
当锁存信号lat1下降时,作为输出信号out1(输入信号in2)的AND元件94的输出上升。响应于此,为操作控制信号mux1的AND元件66的输出下降。
此外,响应于输出信号out1(输入信号in2)的上升沿,操作控制信号mux2上升,并且运算电路74开始操作。
在此之后,在时刻t3,在经过与控制电路62中的延迟元件65等效的控制电路72中的延迟元件的延迟对应的时间(t3-t2)后,锁存信号lat2上升,然后,在时刻t4下降。响应于此,输出信号out2上升,并且操作控制信号mux2下降。
因为由反相器80反相的输出信号out2用作输入信号in1,在时刻t4,响应于输出信号out2的上升沿,输入信号in1下降。
响应于在时刻t4输入信号in1的下降沿,在时刻t5,C元件93的输出从“1”转变为“0”,因此,输出信号out1(输入信号in2)下降。
响应于在时刻t5输入信号in2的下降沿,在时刻t6,控制电路72中的C元件的输出从“1”转变为“0”,因此,输出信号out2下降。因此,电路块60中的控制电路62的输入和输出信号(输入信号in1,操作控制信号mux1、锁存信号lat1和输出信号out1)以及电路块70中的控制电路72的输入和输出信号(输入信号in2,操作控制信号mux2、锁存信号lat2和输出信号out2)均为“0”,并且电路块60和电路块70回复到它们的初始状态。
此外,在时刻t6,响应于输出信号out2的下降沿,输入信号in1上升。在此之后,在时刻t6至时刻t9,这些信号进行与在时刻t0至时刻t6相同的转变。此外,这些信号在时刻t9至时刻t11进行相同的转变。
在图14中,时刻t0至时刻t2是电路块60中的运算电路64执行操作的时间段,即电路块60的工作阶段。此外,时刻t2至时刻t6是运算电路64不执行操作的时间段,即电路块60的空闲阶段。同样地,时刻t2至时刻t4是电路块70的工作阶段,而时刻t4至时刻t7是电路块70的空闲阶段。
空闲阶段是要初始化电路块。存在包括在电路块中的运算电路不工作的空闲阶段导致两阶段异步电路的处理速度不能增加的问题。
日本未审专利申请公布No.2008-181170公开了一种通过消除两阶段异步电路的空闲阶段来增加处理速度的技术。该技术例如使用图15中所示的控制电路100,代替图12中所示的两阶段异步电路50中的控制电路(控制电路62,控制电路72)。
图15用不同的附图标记示出日本未审专利申请公布No.2008-181170的图9,并且图15中所示的输入信号in、输出信号out、操作控制信号mux和锁存信号lat分别与图13中所示的输入信号in1、输出信号out1、操作控制信号mux1和锁存信号lat等效。
控制电路100包括req信号生成电路110、延迟电路D1、延迟电路D3以及执行控制信号生成电路120。
req信号生成电路110包括C元件112、AND电路114、反相器116、反相器118以及延迟电路D2。执行控制信号生成电路120包括OR电路122。
输入信号in被输入到C元件112的一个输入端C1,并且还通过反相器116被输入到AND电路114的一个输入端。AND电路114的另一个输入端连接到C元件112的输出端C0。AND电路114的输出是req信号,并且req信号被输入到延迟电路D2的输入端,并且延迟电路D2的输出端通过反相器118连接到C元件的另一输入端。从延迟电路D2输出的信号,即反相器118的输入端上的信号为C2。此外,在下文中,将反相器118的输出侧的信号表示为C2_bar,尽管未示出。
req信号被输入到OR电路122的一个输入端,并且还被输入到延迟电路D1。ack信号,其是延迟电路D1的输出,被作为锁存信号lat输出到连接到控制电路100的运算电路,并且还被输入到OR电路122的另一输入端和延迟电路D3。延迟电路D3的输出是要被输出到下一级中的电路块的输出信号out。OR电路122的输出是要被输出到运算电路的操作控制信号mux。
注意控制电路100中的延迟电路D1仅延迟输入(在该示例中是req信号)的下降沿。
图16示出日本未审专利申请公布No.2008-181170的图13,其是示出图15中所示的控制电路100的信号的转变的时序图。在图16中,箭头表示因果关系。
如图16所示,在初始状态的时刻t0,除反相器118的输出侧的信号C2_bar外,信号均为“0”。
在时刻t1,当输入信号in1上升时,C元件112的两个输入变为相同值“1”,并且输出端的信号C0上升。
在时刻t2,当输入信号in1下降时,C元件112的一个输入端C1的信号下降;然而,因为C元件112的另一输入端的信号C2_bar保持为“1”,所以C元件112暂时保持为“1”。因此,AND电路114的输出,req信号上升。
在时刻t2,req信号的上升沿后,ack信号、操作控制信号mux、锁存信号lat和输出信号out均上升。
然后,在从req信号上升的时刻t2起经过了与延迟电路D2的延迟对应的时间后的时刻,作为req信号的延迟信号的信号C2上升。响应于此,反相器118的输出侧的信号C2_bar下降。
由此,C元件112的两个输入变为“0”,因此在时刻t3,信号C0下降并且req信号也下降。
响应于req信号的下降沿,信号C2下降,并且信号C2_bar上升。
在上述操作后,在时刻t6,控制电路100的输入信号in、输出信号out、操作控制信号mux和锁存信号lat均变为“0”。包括控制电路100的电路块由此能开始下一基本操作。
发明内容
本发明人已经发现了尽管在日本未审专利申请公布No.2008-181170中公开的技术能消除空闲阶段,但电路尺寸增加。例如,如图15所示,控制电路100需要包括三个延迟电路(D1、D2和D3)。包括在异步电路中的电路块的级数越大,则控制电路和延迟电路的数量越大,导致电路尺寸增加。
本发明的方面是异步电路。该异步电路包括以层级结构连接的多个电路块,并且每一电路块包括运算电路和在运算电路上进行两阶段控制的控制电路。
异步电路进一步包括模式控制电路。该模式控制电路控制第一级中的电路块以便当电路块开始空闲阶段时开始初始化,并且当最后一级中的电路块开始空闲阶段时开始工作阶段,并且控制第二级中的电路块以便当第一块中的电路块开始初始化时开始工作阶段,并且当第一级中的电路块开始工作阶段时开始初始化。
作为本发明的方面,根据上述方面的电路的实现为方法或设备、包括上述方面的电路的处理器等等也是有效的。
根据本发明的技术,可以提高两阶段异步电路的处理速度,并且抑制电路尺寸的增加。
附图说明
本发明的上述和其他方面、优点和特征将从下述结合附图的某些实施例的描述而更显而易见,在附图中:
图1是示出根据本发明的第一实施例的异步电路的图;
图2是示出图1中所示的异步电路中的模式控制电路的电路配置示例的图;
图3是示出图1中所示的异步电路中的模式控制电路的电路配置示例的另一图;
图4是示出图3中所示的模式控制电路应用到图1中所示的异步电路的图;
图5是示出图4中所示的异步电路的信号转变的时序图;
图6是示出根据本发明的第二实施例的微型计算机的图;
图7是示出包括在图6中所示的微型计算机中的异步电路的信号转变的时序图;
图8是示出包括根据相关技术的两阶段异步电路的微型计算机的图;
图9是示出包括在图8所示的微型计算机中的异步电路的信号转变的时序图;
图10是说明图6和8中所示的微型计算机间的处理速度差异的图;
图11是示出根据相关技术的异步电路的图;
图12是示出根据相关技术的两阶段异步电路的图;
图13是示出图12所示的两阶段异步电路的每一电路块的控制电路的示例的图;
图14是示出图12中所示的两阶段异步电路中的信号转变的时序图;
图15是示出在日本未审专利申请公布No.2008-181170中公开的控制电路的图;以及
图16是示出在图15中所示的控制电路中的信号转变的时序图。
具体实施方式
在下文中,将参考附图说明本发明的实施例。适当地缩短和简化下述描述和附图以便使说明清楚。在图中,相同的附图标记表示相同的结构元件以及适当地省略冗余的说明。
<第一实施例>
图1示出根据本发明的第一实施例的异步电路200。异步电路200包括用作第一级中的电路块的电路块210,以及用作第二级中的电路块的电路块220。电路块210包括控制电路212和运算电路214,并且电路块220包括控制电路222和运算电路224。异步电路200是两阶段异步电路,并且控制电路212和控制电路222分别对运算电路214和运算电路224执行两阶段控制。
控制电路212和控制电路222执行与进行两阶段控制的常见控制电路相同的操作。例如,与图13中所示的控制电路62一样,控制电路212在输入到控制块210的信号in(输入信号in1)的上升沿使操作控制信号mux1上升,以使运算电路214开始操作,从而开始工作阶段,并且在经过预定时间后,输出锁存信号lat1以使运算电路214的触发器(未示出)锁存操作结果,并且进一步使操作控制信号mux1下降,以使运算电路214停止操作,由此开始空闲阶段。此外,与空闲阶段的开始同时,控制电路212使输出信号out(输出信号out1)上升。此外,控制电路212在输入信号in1的下降沿开始初始化,并且在初始化完成时使输出信号out1下降。
同样地,控制电路222也在输入到电路块220的信号in(输入信号in2)的上升沿使操作控制信号mux2上升以使运算电路224开始操作,从而开始工作阶段,并且在经过预定时间后,输出锁存信号lat2,使运算电路224的触发器(未示出)锁存操作结果,并且进一步使操作控制信号mux2下降,使运算电路224停止操作,从而开始空闲阶段。此外,与空闲阶段的开始同时,控制电路222使输出信号out(输出信号out2)上升。此外,在输入信号in2的下降沿,控制电路22开始初始化,并且在初始化结束时使输出信号out2下降。
异步电路200进一步包括模式控制电路230。模式控制电路230对第一级中的电路块(电路块210)执行控制,以便当电路块210开始空闲阶段时开始初始化,并且当最后一级中的电路块(在本示例中,电路块220)开始空闲阶段时开始工作阶段,并且对第二级中的电路块(在本示例中,为电路块220)执行控制,以便当第一级中的电路块,即电路块210开始初始化时开始工作阶段,并且当电路块210开始工作阶段时开始初始化。
图2示出实现上述控制的模式控制电路230的电路配置的示例。如图2所示,模式控制电路230包括:第二级中的电路块(电路块220)的输入信号in2和第一级中的电路块(电路块210)的输出信号out1所输入到的OR元件232、使从最后一级中的电路块(电路块220)输出的输出信号out2反相的第一反相器233、OR元件232和第一反相器233的输出所输入的第一AND元件234、使第一AND元件234的输出反相并且将其作为电路块220的输入信号in1输出的第二反相器235,以及使第二反相器235的输出反相并且将其作为输入信号in2输出的第三反相器231。
注意,当存在用于控制整个异步电路200的操作开始和停止的使能信号时,能如图3所示配置模式控制电路230。
图3中所示的模式控制电路230除图2中所示的电路配置外,进一步包括使能信号EN和第二反相器235的输出所输入到的第二AND元件236。在这种情况下,输入信号in1是第二AND元件236的输出并且被输入到电路块210。
为更易于理解,将图3中所示的模式控制电路230应用于异步电路200示出在图4中作为示例。
图5是图4中所示的异步电路200的信号转变的时序图。与图12中所示的两阶段异步电路50的信号转变相比,假定图4中所示的异步电路200中的运算电路214和运算电路224分别执行与两阶段异步电路50中的运算电路64和运算电路74相同的操作,并且异步电路200中的控制电路212和控制电路222的延迟元件分别具有与两阶段异步电路50中的控制电路62和控制电路72的延迟元件相同的延迟。
在异步电路200的操作开始前,图5中所示的信号均为“0”。
在时刻T0,使能信号EN上升,并且输入信号in1也上升。响应于输入信号in1的上升沿,操作控制信号mux1也上升,并且运算电路214开始操作并进入工作阶段。注意输入信号in2,即第三反相器231的输出,保持为“0”。
在时刻T1,在从时刻T0起经过了与仅延迟控制电路212中的输入信号的上升沿的延迟元件的延迟对应的时间(T1-T0)后,锁存信号lat1上升。响应于此,运算电路214执行锁存操作并且保持操作结果。
然后,在时刻T2,锁存信号lat1下降,操作控制信号mux1下降,并且输出信号out1上升。控制块210由此进入空闲阶段。
当输出信号out1上升时,OR元件232的输出变为“1”。因为输出信号out2保持为“0”,所以第一反相器233的输出也保持为“1”。因此,第一AND元件234的输出变为“1”,并且第二反相器235的输出变为“0”。因此,输入信号in1下降。电路块210中的控制电路212由此开始初始化。响应于在时刻T2输入信号in1的下降沿,在时刻T3,输出信号out1下降。控制电路212的初始化由此结束。
此外,在时刻T2,响应于第二反相器235的输出的下降沿,输入信号in2上升。响应于输入信号in2的上升沿,操作控制信号mux2也上升,并且运算电路224开始操作并且进入工作阶段。
在此之后,在时刻T4,在经过与控制电路222中的延迟元件的延迟对应的时间(T4-T2)后,锁存信号lat2上升。响应于此,运算电路224执行锁存操作并且保持操作结果。
然后,在时刻T5,锁存信号lat2下降,操作控制信号mux2下降,并且输出信号out2上升。控制块220由此进入空闲阶段。异步电路220的第一过程由此结束。
当输出信号out2上升时,第一反相器233的输出变为“0”。因此,第一AND元件234的输出变为“0”,并且第二反相器235的输出变为“1”。因此,输入信号in2下降,并且输入信号in1上升。电路块210由此进入工作阶段,异步电路200的第二过程开始,并且电路块220开始初始化。
然后,在时刻T6,电路块220的初始化完成,并且输出信号out2下降。
如上所述,在异步电路200中,因为电路块210与其空闲阶段的开始同时地开始初始化,所以当电路块220开始空闲阶段时可以立即开始对于下一过程的工作阶段。
如前所述,在根据相关技术的两阶段异步电路中,因为第一级中的电路块与最后一级中的电路块的空闲阶段的开始同时地开始初始化,因此在从最后一级中的电路块的空闲阶段的开始起经过了预定时间后,开始对于下一过程的工作阶段。因此,根据本发明的实施例的模式控制电路230能实现比根据相关技术的两阶段异步电路更高的处理速度。
从图5和图14的对比,这是显而易见的。
在图14中,时刻t0至时刻t2是图13中所示的两阶段异步电路50的电路块60的工作阶段,并且时刻t2至时刻t6是电路块60的空闲阶段。此外,时刻t2至时刻t4是电路块70的工作阶段,并且时刻t4至时刻t7是电路块70的空闲阶段。
在图5中,时刻t0至时刻t2是图4中所示的异步电路200中的电路块210的工作阶段,并且时刻t2至时刻t5是电路块210的空闲阶段。此外,时刻t2至时刻t5是电路块220的工作阶段,并且时刻t5至时刻t7是电路块220的空闲阶段。
注意,电路块210的工作阶段的长度(T2-T0)与电路块60的工作阶段的长度(t2-t0)相同。然而,电路块210的空闲阶段的长度(T5-T2)明显短于电路块60的空闲阶段的长度(t6-t2)。
此外,电路块220的工作阶段的长度(T5-T2)与电路块70的工作阶段的长度(t4-t2)相同。然而,电路块220的空闲阶段的长度(T7-T5)明显短于电路块70的空闲阶段的长度(t7-t4)。
结果,在异步电路200中,从当前过程的开始到下一过程的开始所需的时间长度为“T5-T0”,而在两阶段异步电路50中,所需的时间长度为“t6-t0”,长于“T5-T0”。因此,电路块210具有比两阶段异步电路50更高的处理速度。
此外,与常见的两阶段异步电路相比,根据该实施例,仅将模式控制电路230增加到异步电路200,以便增加处理速度。例如,图2中所示的模式控制电路230由三个反相器、一个OR元件和一个AND元件组成,并且实现在日本未审专利申请公布No.2008-181170中公开的技术所需的电路尺寸的增加较小。
<第二实施例>
在根据上述第一实施例的异步电路200中,本发明的技术应用于包括两级电路块的两阶段异步电路。本发明的技术也适用于包括两级或更多级(任意数)的电路块的两阶段异步电路,并且也能实现上述优点。在下文中,将本发明应用于包括三级或更多级电路块的两阶段异步电路的示例描述为第二实施例。
图6是示出根据本发明的第二实施例的微型计算机300。微型计算机300包括执行指令的异步电路310和存储指令等的ROM320,并且异步电路310从ROM320提取指令并执行它们。
异步电路310包括以层级结构连接的n(n为3或更大的整数)级电路块1至n和模式控制电路330。
电路块1至n的每一个包括控制电路和运算电路。例如,电路块1包括控制电路1A和运算电路1B,电路块2包括控制电路2A和运算电路2B,电路块3包括控制电路3A和运算电路3B,并且电路块n包括控制电路nA和运算电路nB。
电路块1至n执行与图4中所示的异步电路200的电路块210和电路块220相同的操作。具体地,每一电路块响应于输入到电路块的信号in的上升沿,使操作控制信号mux上升,以使运算电路开始操作,由此开始工作阶段,并且在经过预定时间后,输出锁存信号lat,使运算电路的触发器(未示出)锁存该操作结果,并进一步使操作控制信号mux下降,使运算电路停止操作,由此开始空闲阶段。此外,与空闲阶段的开始同时,电路块使输出信号out上升。此外,电路块在输入信号in的下降沿开始初始化,在初始化完成时使输出信号out下降。
电路块1至n执行提取指令,解码指令、执行指令,在指令执行期间访问存储器(未示出),在指令执行完成时回写存储器,并且电路块分别执行上述处理。
例如,第一级的电路块(电路块1)中的运算电路1B从ROM 320提取指令,并且第二级的电路块(电路块2)中的运算电路2B解码由运算电路1B提取的指令。此外,最后一级中的电路块(电路块n)将数据回写到存储器。
除了输入从最后一级中的电路块(电路块n)输出的输出信号outn来代替从第二级中的电路块(电路块2)输出的输出信号out2之外,模式控制电路330与图4中所示的异步电路200的模式控制电路230相同。
模式控制电路330将输入信号in1输出到电路块1的控制电路1A。此外,模式控制电路330通过第三反相器231使第二反相器235的输出反相,并且将其输出到OR元件232的一个输入端,并且输入到控制电路2A。
控制电路1A将输出信号out1输出到OR元件232的另一输入端。
第二级至第(n-1)级中的电路块的控制电路将输出信号out输出到下一级中的电路块的控制电路作为下一级的输入信号in。例如,如图6所示,控制电路2A将输出信号out2输出到控制电路3A作为输入信号in3。控制电路3A将输出信号out3输出到第四级中的电路块的控制电路(未示出)作为输入信号in4。此外,第(n-1)级中的电路块(n-1)(未示出)将输出信号out(n-1)输出到控制电路nA作为电路块n的输入信号inn。
如上所述,电路块n的控制电路nA将输出信号outn输出到模式控制电路330的第一反相器233。
图7是图6中所示的微型计算机300中的信号转变的时序图。
在异步电路310的操作开始前,图7中所示的信号均为“0”。
在时刻T10,使能信号EN上升,并且输入信号in1也上升。响应于输入信号in1的上升沿,操作控制信号mux1也上升,并且运算电路1B开始操作(在该情况下为提取),并且进入工作阶段。注意,作为第三反相器231的输出的输入信号in2保持为“0”。
在时刻T11,在从时刻T10起经过了与控制电路1A中的延迟元件的延迟对应的时间后,锁存信号lat1上升。响应于此,运算电路1B执行锁存操作并且保持该操作结果(锁存的指令)。
然后,在时刻T12,锁存信号lat1下降,操作控制信号mux1下降,并且输出信号out1上升。电路块1由此进入空闲阶段。
当输出信号out1上升时,OR元件232的输出变为“1”。因为输出信号out2保持为“0”,所以第一反相器233的输出也保持为“1”。因此,第一AND元件234的输出变为“1”,并且第二反相器235的输出变为“0”。因此,输入信号in1下降。电路块1中的控制电路1A由此开始初始化。此外,响应于在时刻T12输入信号的下降沿,在时刻T13,输出信号out1下降。控制电路1A的初始化由此完成。
此外,在时刻T12,响应于第二反相器235的输出的下降沿,输入信号in2上升。响应于输入信号in2的上升沿,操作控制信号mux2也上升,并且运算电路2B开始操作并且进入工作阶段。
在此之后,在时刻T14,在经过与控制电路2A中的延迟元件的延迟对应的时间后,锁存信号lat2上升。响应于此,运算电路2B执行锁存操作并且保持操作结果。
然后,在时刻T15,锁存信号lat2下降,操作控制信号mux2下降,并且输出信号out2上升。电路块2由此进入空闲阶段。
当输出信号out2上升时,输入信号in3上升。响应于输入信号in3的上升沿,操作控制信号mux3也上升,并且运算电路3B开始操作并且进入工作阶段。
在经过与控制电路3A中的延迟元件的延迟对应的时间后,锁存信号lat3上升,并且运算电路3B执行锁存操作并且保持操作结果。然后,在时刻T16,锁存信号lat3下降,操作控制信号mux3下降,并且输出信号out3上升。电路块3由此进入空闲阶段。
后续级中的电路块响应于来自前一级的输出信号out的上升沿,开始工作阶段,并且在经过预定时间后保持操作结果,并且使锁存信号lat和操作控制信号mux下降以及输出信号out上升,由此进入空闲阶段。
然后,在时刻T17,来自最后一级中的电路块n的输出信号outn上升,并且电路块n进入空闲阶段。
当输出信号outn上升时,模式控制电路330中的第一反相器233的输出变为“0”。因此,第一AND元件234的输出变为“0”,并且第二反相器235的输出变为“1”。因此,输入信号in1上升,并且输入信号in2下降。电路块1由此进入工作阶段,异步电路310中的第二过程开始,并且电路块2开始初始化。
在此之后,在从时刻T17至T19的时间段,执行与时刻T10至T17相同的信号转变。在时刻T19后,以相同的方式重复这些转变。
如图7所示,在微型计算机300中,因为异步电路310的第一级中的电路块1与它的空闲阶段的开始同时地开始初始化,所以当最后一级中的电路块n开始空闲阶段时,可以立即开始对于下一过程的工作阶段。
在下文中,比较微型计算机300的处理速度和图8中所示的微型计算机400的处理速度。
图8所示的微型计算机400包括执行指令的异步电路410和存储指令等的ROM 320,并且异步电路410从ROM 320提取指令并执行它们。
异步电路410是已知的两阶段异步电路,并且以层级结构连接多级电路块(电路块1至n)。电路块分别与图6中所示的微型计算机300的异步电路中的电路块相同。然而,来自电路块1的输出信号out1被输出到电路块2作为电路块2的输入信号in2,并且来自最后一级中的电路块n的输出信号outn输出到反相器422。此外,反相器422的输出和使能信号EN均被输入到AND元件424,并且AND元件424的输出用作电路块1的输入信号in1。
图9是图示图8中所示的异步电路400中的信号转变的时序图。
在异步电路410的操作开始前,图8中所示的信号均为“0”。
在时刻T20,使能信号EN上升,并且输入信号in1也上升。响应于输入信号in1的上升沿,操作控制信号mux1也上升,并且运算电路1B开始操作(在这种情况下,为提取),并且进入工作阶段。
在从时刻T20起经过了与控制电路1A中的延迟元件的延迟对应的时间后,锁存信号lat1上升。响应于此,运算电路1B执行锁存操作并且保持操作结果(锁存的指令)。
然后,在时刻T21,锁存信号lat1下降,操作控制信号mux1下降,并且输出信号out1上升,电路块1由此进入空闲阶段。
当输出信号out1上升时,输入信号in2也上升。响应于此,操作控制信号mux2上升,并且运算电路2B开始操作并且进入工作阶段。
在从时刻T21起经过了与控制电路2A中的延迟元件的延迟对应的时间后,锁存信号lat2上升。响应于此,运算电路2B执行锁存操作并且保持操作结果。
然后,在时刻T22,锁存信号lat2下降,操作控制信号mux2下降,并且输出信号out2上升。电路块2由此进入空闲阶段。
响应于来自前一级的输出信号out的上升沿,后续级中的电路块开始工作阶段,并且在经过预定时间后,保持操作结果并且使锁存信号lat和操作控制信号mux下降,并且输出信号out上升,由此进入空闲阶段。
然后,在时刻T23,来自最后一级中的电路块n的输出信号outn上升,并且电路块n进入空闲阶段。
当输出信号outn上升时,反相器422的输出变为“0”。因此,作为输入信号in1的AND元件424的输出下降。电路块1由此开始初始化。
响应于输入信号in1的下降沿,在时刻t24,输出信号out1下降,并且电路块1A的初始化完成。响应于此,输入信号in2下降,并且控制电路2A的初始化开始。
在前一级中的电路块的初始化完成时,后续电路块开始初始化,并且在时刻t26输出信号outn下降,并且后一级中的电路块n的初始化完成。
当输出信号outn下降时,反相器422的输出变为“1”。因此,作为输入信号in1的AND元件424的输出上升。电路块1由此开始下一工作阶段。
如从图7和图9之间的比较可以看出,在图6所示的微型计算机300中,从当前过程的开始到下一过程的开始所需的时间长度为“T17-T10”,而在图8所示的微型计算机400中为“t26-t20”。由此,微型计算机300的处理速度高于微型计算机400的处理速度是显而易见的。
如上所述,诸如处理器的微型计算机执行一个指令的阶段通常被划分成提取指令、解码指令、执行指令、在指令执行期间访问存储器,以及在指令执行结束时回写存储器。比较图6中所示的微型计算机300和图8中所示的微型计算机400的处理速度,假定微型计算机300和微型计算机400中的异步电路的电路块分别执行上述级的处理。注意,在这种情况下,电路块的级数为n=5。
在图10中,FE、DE、EX、MA和WB分别表示“提取指令”、“解码指令”、“执行指令”、“访问存储器”和“回写存储器”。此外,实线表示执行级的处理的电路块处于工作阶段,并且虚线表示执行级的处理的电路块正在初始化。
首先,在时刻T40,微型计算机400的异步电路410的电路块1开始工作阶段,并且提取指令。同样地,在时刻T40,微型计算机300的异步电路310的电路块1开始工作阶段并提取指令。
在时刻T41,异步电路410的电路块1完成指令提取处理并且进入空闲阶段。同样地,异步电路310的电路块1完成指令提取处理并进入空闲阶段。
在异步电路410的情况下,在电路块1进入空闲阶段的时刻T41,电路块2至5顺序地进入工作阶段。由此,顺序地执行解码指令、执行指令、访问存储器和回写存储器。然后,在时刻T42,最后一级中的电路块5完成回写存储器并且进入空闲阶段。
同样在异步电路310的情况下,在电路块1进入空闲阶段的时刻T41,电路块2至5顺序地进入工作阶段,并且在时刻T42,最后一级中的电路块5完成回写存储器并且进入空闲阶段。然而,在异步电路310的情况下,在时刻T41,电路块1进一步开始初始化。
在异步电路410的情况下,从时刻T42,电路块1至5顺序地开始初始化。然后,在时刻T43,最后一级中的电路块5完成初始化。响应于此,电路块1开始工作阶段并提取指令。
另一方面,在异步电路310的情况下,因为电路块1在时刻T42已经完成初始化,所以在时刻T42电路块1开始工作阶段并提取指令。此外,从时刻T42,电路块2至5顺序地开始初始化。然后,在时刻T43前的某一时刻,电路块5的初始化完成。在此之后,从时刻T42已经开始的由电路块1进行的提取处理完成时,电路块2进入工作阶段并执行指令的解码。
如图10所示,在时刻T43,在异步电路410中,电路块1开始工作阶段,而在异步电路310中,电路块1已经完成工作阶段并且电路块2处于工作阶段。
具体地,在根据第二实施例的微型计算机300中,异步电路310与其空闲阶段开始的同时开始初始化,并且当最后一级中的电路块5开始空闲阶段时开始工作阶段。此外,电路块2在电路块1开始初始化时开始工作阶段,并且在电路块1开始工作阶段时开始初始化。异步电路310由此实现比根据相关技术的异步电路410更高的处理速度。
此外,作为由处理器执行的级的处理中的一个的“指令提取”通常花费比其他级的处理更长的时间,并且在第一级中执行。根据本发明的第二实施例的微型计算机300,在由电路块1执行提取时,能执行其他电路块的初始化,并且在由其他电路块执行处理时,能执行电路块1的初始化,使得能整体地实现高的处理效率。
此外,尽管微型计算机300中的异步电路310包括三级或更多级的电路块,但模式控制电路330具有与图4中所示的仅包括两级电路块的异步电路200中的模式控制电路230相同的配置。因此,当电路块的级数越大时,从抑制电路尺寸的增加的观点看,根据本发明的技术比日本未审专利申请公布No.2008-181170中公开的技术更有利。
在上文中描述了本发明的实施例。仅通过示例的方式提供实施例,并且在不背离本发明的范围的情况下可以对上述实施例做出各种改变和改进。对本技术的技术人员来说显而易见的所有这些改变和改进意图包括在本发明的范围内。
例如,可以如本领域的普通技术人员所期望的组合第一和第二实施例。
此外,例如,尽管图13中所示的控制电路62用作执行上述实施例中的两阶段控制的控制电路,但也可以使用具有与控制电路62不同的电路配置的控制电路,只要能实现与图13中所示的控制电路62相同的功能。
此外,尽管图2或3中所示的模式控制电路230用作上述实施例中的模式控制信号,但也可以使用能实现与图2或3中所示的模式控制电路230相同功能的、具有不同电路配置的模式控制信号。
尽管就多个实施例描述了本发明,但本领域的技术人员将意识到在权利要求的精神和范围内能够以各种改进来实施本发明,并且本发明不限于上述示例。
此外,权利要求书的范围不受上述实施例限制。此外,应注意到,申请人的意图是涵盖所有权利要求要素的等同物,即使审查期间有后续修改。
Claims (7)
1.一种异步电路,包括以层级结构连接的多个电路块,每个电路块包括运算电路和对所述运算电路进行两阶段控制的控制电路,所述异步电路进一步包括:
模式控制电路,控制第一级中的电路块在所述电路块开始空闲阶段时开始初始化,并且在最后一级中的电路块开始空闲阶段时开始工作阶段,并且控制第二级中的电路块在所述第一级中的所述电路块开始初始化时开始工作阶段,并且在所述第一级中的所述电路块开始工作阶段时开始初始化。
2.如权利要求1所述的异步电路,其中:
所述控制电路在输入到所述电路块的信号In的上升沿使工作阶段开始,并且在经过预定时间后,使空闲阶段开始并且使输出信号Out上升,并且在所述信号In的下降沿使初始化开始并在初始化完成时使所述信号Out下降,并且
所述模式控制电路包括:
OR元件,接收输入到所述第二级中的所述电路块的所述信号In和从所述第一级中的所述电路块输出的所述信号Out;
第一反相器,使从所述最后一级中的所述电路块输出的所述信号Out反相;
第一AND元件,接收所述OR元件和所述第一反相器的输出;
第二反相器,使所述第一AND元件的输出反相,并且将反相结果作为所述第一级中的所述电路块的所述信号In输出;以及
第三反相器,使所述第二反相器的输出反相,并且将反相结果作为所述第二级中的所述电路块的所述信号In输出。
3.如权利要求1所述的异步电路,其中:
所述异步电路包括在处理器中,并且
包括在所述第一级中的所述电路块中的所述运算电路执行提取指令。
4.如权利要求2所述的异步电路,其中:
所述异步电路包括在处理器中,并且
包括在所述第一级中的所述电路块中的所述运算电路执行提取指令。
5.如权利要求2所述的异步电路,其中:
第二AND元件进一步包括在所述第二反相器和所述第一级中的所述电路块之间,
所述第二AND元件接收使能信号和所述第二反相器的输出,以及
所述第一级中的所述电路块的所述信号In是所述第二AND元件的输出。
6.如权利要求3所述的异步电路,其中:
第二AND元件进一步包括在所述第二反相器和所述第一级中的所述电路块之间,
第二AND元件接收使能信号和所述第二反相器的输出,以及
所述第一级中的所述电路块的所述信号In是所述第二AND元件的输出。
7.如权利要求4所述的异步电路,其中:
第二AND元件进一步包括在所述第二反相器和所述第一级中的所述电路块之间,
所述第二AND元件接收使能信号和所述第二反相器的输出,以及
所述第一级中的所述电路块的所述信号In是所述第二AND元件的输出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011-053097 | 2011-03-10 | ||
JP2011053097A JP2012190251A (ja) | 2011-03-10 | 2011-03-10 | 非同期式回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102710254A true CN102710254A (zh) | 2012-10-03 |
Family
ID=46794972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210057962.1A Pending CN102710254A (zh) | 2011-03-10 | 2012-03-07 | 异步电路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20120229181A1 (zh) |
JP (1) | JP2012190251A (zh) |
CN (1) | CN102710254A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205274A (zh) * | 2015-10-09 | 2015-12-30 | 重庆大学 | 一种并行计算异步电路 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2318194B (en) * | 1996-10-08 | 2000-12-27 | Advanced Risc Mach Ltd | Asynchronous data processing apparatus |
JP3856892B2 (ja) * | 1997-03-03 | 2006-12-13 | 日本電信電話株式会社 | 自己同期型パイプラインデータパス回路および非同期信号制御回路 |
JPH117427A (ja) * | 1997-06-13 | 1999-01-12 | Takashi Minamitani | 非同期式ディジタルシステム及び非同期式データパス回路及び非同期式ディジタル信号処理回路及び非同期式ディジタル信号処理方法 |
US6337589B1 (en) * | 1997-09-11 | 2002-01-08 | Mitsubishi Denki Kabushiki Kaisha | Phase-lock loop with independent phase and frequency adjustments |
US6867620B2 (en) * | 2000-04-25 | 2005-03-15 | The Trustees Of Columbia University In The City Of New York | Circuits and methods for high-capacity asynchronous pipeline |
JP2008181170A (ja) * | 2007-01-23 | 2008-08-07 | Research Organization Of Information & Systems | 非同期式回路の制御回路 |
-
2011
- 2011-03-10 JP JP2011053097A patent/JP2012190251A/ja active Pending
-
2012
- 2012-02-08 US US13/368,376 patent/US20120229181A1/en not_active Abandoned
- 2012-03-07 CN CN201210057962.1A patent/CN102710254A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205274A (zh) * | 2015-10-09 | 2015-12-30 | 重庆大学 | 一种并行计算异步电路 |
CN105205274B (zh) * | 2015-10-09 | 2018-03-23 | 重庆大学 | 一种并行计算异步电路 |
Also Published As
Publication number | Publication date |
---|---|
US20120229181A1 (en) | 2012-09-13 |
JP2012190251A (ja) | 2012-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI804890B (zh) | 時鐘樹電路、哈希引擎、計算晶片、算力板和資料處理設備 | |
EP3885997A1 (en) | Efficient hardware architecture for accelerating grouped convolutions | |
US7653805B2 (en) | Processing in pipelined computing units with data line and circuit configuration rule signal line | |
WO2021258801A1 (zh) | 时钟电路系统、计算芯片、算力板和数据处理设备 | |
EP3264221B1 (en) | Method and circuit for dynamic power control | |
CN212160484U (zh) | 时钟电路系统、计算芯片、算力板和数字货币挖矿机 | |
CN111930682A (zh) | 时钟树、哈希引擎、计算芯片、算力板和数字货币挖矿机 | |
US5133069A (en) | Technique for placement of pipelining stages in multi-stage datapath elements with an automated circuit design system | |
US20130247058A1 (en) | System for scheduling the execution of tasks based on logical time vectors | |
CN113407235B (zh) | 一种基于硬件加速的运算电路系统及芯片 | |
TWI528720B (zh) | 用於低擺時脈之免競爭位準轉換正反器 | |
Lewis et al. | Reconfigurable latch controllers for low power asynchronous circuits | |
CN102710254A (zh) | 异步电路 | |
CN212515799U (zh) | 时钟树、哈希引擎、计算芯片、算力板和加密货币挖矿机 | |
EP3234768B1 (en) | System and method for fast modification of register content | |
JPH0573268A (ja) | 加算器 | |
CN114970848A (zh) | 用于并行处理器的数据搬运装置及相应处理器 | |
US6698001B2 (en) | Method for generating register transfer level code | |
CN112181356A (zh) | 一种可配置的多进多出fifo的设计方法及装置 | |
JPH0844560A (ja) | メモリ制御回路とその回路を内蔵した集積回路素子 | |
US3414889A (en) | Electronically multiplexed dynamic serial storage register | |
JP5087278B2 (ja) | 電子回路における電力消費ピークの制御 | |
US11836488B2 (en) | Accelerator controller for inserting template microcode instructions into a microcode buffer to accelerate matrix operations | |
CN110390964B (zh) | 管道锁存器、使用管道锁存器的半导体装置和半导体系统 | |
US5615141A (en) | Multiplying apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121003 |