异步电路的制作方法

文档序号:7506796阅读:165来源:国知局
专利名称:异步电路的制作方法
技术领域
本发明涉及两阶段异步电路。
背景技术
处理速度增加和功耗降低是微型计算机开发者所面临的两个问题,并且提出了来自各种观点的技术。例如,日本未审专利申请公布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。具体地,当输入了输入信号ini时,控制电路22将操作控制信号muxl输出到运算电路24。响应于操作控制信号muxl,运算电路24执行运算操作A+B。在经过对应于运算电路24执行运算操作所需的时间的预定时间后,控制电路22将锁存信号Iatl输出到运算电路24。响应于锁存信号latl,运算电路24保持操作结果。然后,控制电路22将输出信号outl输出到下一级中的电路块30。输出信号outl为从电路块20到电路块30的握手信号,用作对电路块30的输入信号in2。在电路块30中,当输入了输入信号in2(输出信号outl)时,控制电路32将操作控制信号mux2输出到运算电路34。响应于操作控制信号mux2,运算电路34执行运算操作 C2。在经过与运算电路34执行运算操作所需的时间相应的预定时间后,控制电路32将锁存信号lat2输出到运算电路34。响应于锁存信号lat2,运算电路34保持该操作结果。然后,控制电路32将输出信号out2输出。通常,在当前操作结束后,需要执行初始化来将运算电路的状态复位到其初始状态,以便开始下一操作。作为异步电路的控制技术,已知两阶段控制方案。根据该方案,在每一电路块中,交替地执行“工作阶段”,即执行数据通路的有效操作,诸如运算操作或数据锁存,以及数据通路不工作并且执行初始化的“空闲阶段”。在这种两阶段异步电路中,例如,通过使用Q模块(Q-module)的两阶段控制电路,执行数据通路的控制(The transactionsof the Institute of Electronics, Information and Communication Engineers (电子,情报与通信工程师学会学报),D-l,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。当输入了输入信号ini时,控制电路62将操作控制信号muxl输出到运算电路64,就象图11中所示的异步电路10的控制电路22—样。响应于操作控制信号muxl,运算电路64执行运算操作A+B。在经过与运算电路64执行运算操作所需的时间对应的预定时间后,控制电路62将锁存信号Iatl输出到运算电路64。响应于锁存信号latl,运算电路64保持操作结果。然后,控制电路62将输出信号outl输出到下一级中的电路块70。输出信号outl是从电路块60到电路块70的握手信号,用作到电路块70的输入信号in2。在电路块70中,当输入了输入信号in2(输出信号outl)时,控制电路72将操作控制信号mux2输出到运算电路74。响应于操作控制信号mux2,运算电路74执行运算操作C2。在经过与运算电路74执行运算操作所需的时间对应的预定时间后,控制电路72将锁存信号lat2输出到运算电路74。响应于锁存信号lat2,运算电路74保持该操作结果。然后,输出电路72将输出信号out2输出。输出信号out2是从电路块70到电路块60的握手信号,其被反相器80反相,并且该反相信号用作电路块60的输入信号ini。稍后描述两阶段异步电路50中的每一电路块的控制电路。注意,控制电路62和控制电路72具有相同的配置,并且代表性地描述控制电路62。图13示出两阶段异步电路50中的控制电路62的示例。如图13所示,控制电路62包括延迟元件65、AND元件66、反相器67和Q模块90。输入信号ini被输入到AND元件66,并且也通过延迟兀件65输入到Q模块90。注意延迟兀件65仅将输入信号ini的上升沿延迟预定时间长度。Q模块90输出锁存信号Iatl和输出信号outl。将输出信号outl输出到下一级中的电路块并且还输出到反相器67,由反相器67反相,然后输出到AND元件66。AND元件66输出该输入信号ini和由反相器67反相的输出信号outl之间的逻辑AND。逻辑AND是将要输出到运算电路64的操作控制信号muxl。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的锁存信号Iatl,并且被输出到运算电路64,也输出到C元件93和反相器95。C元件93的输出被输入到反相器92和AND元件94。AND元件94输出C元件93的输出和由反相器92反相的锁存信号Iatl之间的逻辑AND。逻辑AND是到下一级中的电 路块的握手信号(输出信号outl),并且被输出到下一级中的电路块以及输出到反相器67。图14示出了表示当信号均处于它们的初始状态“O”时两阶段异步电路50中的信号的转变的时序图的示例。注意,为更易于理解,除非需要,否则在图14和下文所使用的时序图中未示出门之间的延迟。如图14所示,当在时刻t0,输入信号ini上升时,操作控制信号muxl也上升。响应于此,运算电路64开始操作。在时刻tl,在经过与延迟电路65的延迟对应的时间(tl-tO)后,延迟元件65的输出上升到“I”。因此,锁存信号Iatl也上升。响应于此,运算电路64执行锁存操作并且保持该操作结果。因为到C元件93的两个输入(延迟元件65的输出和锁存信号latl)均变为“1”,因此,C元件93的输出从“O”转变为“I”。当C元件93的输出变为“I”时,通过反相器92,输入到AND元件91的信号变为“0”,因此,在时刻t2,作为锁存信号Iatl的AND元件91的输出下降。当锁存信号Iatl下降时,作为输出信号outl (输入信号in2)的AND元件94的输出上升。响应于此,为操作控制信号muxl的AND元件66的输出下降。此外,响应于输出信号outl (输入信号in2)的上升沿,操作控制信号mux2上升,并且运算电路74开始操作。在此之后,在时刻t3,在经过与控制电路62中的延迟元件65等效的控制电路72中的延迟元件的延迟对应的时间(t3-t2)后,锁存信号lat2上升,然后,在时刻t4下降。响应于此,输出信号out2上升,并且操作控制信号mux2下降。因为由反相器80反相的输出信号out2用作输入信号inl,在时刻t4,响应于输出信号out2的上升沿,输入信号inl下降。响应于在时刻t4输入信号inl的下降沿,在时刻t5,C元件93的输出从“I”转变为“0”,因此,输出信号outl (输入信号in2)下降。响应于在时刻t5输入信号in2的下降沿,在时刻t6,控制电路72中的C元件的输出从“I”转变为“0”,因此,输出信号out2下降。因此,电路块60中的控制电路62的输入和输出信号(输入信号inl,操作控制信号muxl、锁存信号Iatl和输出信号outl)以及电路块70中的控制电路72的输入和输出信号(输入信号in2,操作控制信号mux2、锁存信号lat2和输出信号out2)均为“0”,并且电路块60和电路块70回复到它们的初始状态。此外,在时刻t6,响应于输出信号out2的下降沿,输入信号inl上升。在此之后,在时刻t6至时刻t9,这些信号进行与在时刻t0至时刻t6相同的转变。此外,这些信号在时刻t9至时刻til进行相同的转变。在图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和锁存信号Iat分别与图13中所示的输入信号inl、输出信号outl、操作控制信号muxl和锁存信号Iat等效。控制电路100包括req信号生成电路110、延迟电路Dl、延迟电路D3以及执行控制信号生成电路120。req信号生成电路110包括C元件112、AND电路114、反相器116、反相器118以及延迟电路D2。执行控制信号生成电路120包括OR电路122。输入信号in被输入到C元件112的一个输入端Cl,并且还通过反相器116被输入到AND电路114的一个输入端。AND电路114的另一个输入端连接到C元件112的输出端CO。AND电路114的输出是req信号,并且req信号被输入到延迟电路D2的输入端,并且延迟电路D2的输出端通过反相器118连接到C元件的另一输入端。从延迟电路D2输出的信号,即反相器118的输入端上的信号为C2。此外,在下文中,将反相器118的输出侧的信号表不为C2_bar,尽管未不出。req信号被输入到OR电路122的一个输入端,并且还被输入到延迟电路Dl。ack信号,其是延迟电路Dl的输出,被作为锁存信号Iat输出到连接到控制电路100的运算电路,并且还被输入到OR电路122的另一输入端和延迟电路D3。延迟电路D3的输出是要被输出到下一级中的电路块的输出信号out。OR电路122的输出是要被输出到运算电路的操作控制信号mux。注意控制电路100中的延迟电路Dl仅延迟输入(在该示例中是req信号)的下降沿。图16示出日本未审专利申请公布No. 2008-181170的图13,其是示出图15中所示的控制电路100的信号的转变的时序图。在图16中,箭头表示因果关系。如图16所示,在初始状态的时刻t0,除反相器118的输出侧的信号C2_bar外,信号均为“O”。在时刻tl,当输入信号inl上升时,C元件112的两个输入变为相同值“ 1”,并且输出端的信号CO上升。在时刻t2,当输入信号inl下降时,C兀件112的一个输入端Cl的信号下降;然而,因为C元件112的另一输入端的信号C2_bar保持为“1”,所以C元件112暂时保持为“I”。因此,AND电路114的输出,req信号上升。在时刻t2, req信号的上升沿后,ack信号、操作控制信号mux、锁存信号Iat和输出信号out均上升。然后,在从req信号上升的时刻t2起经过了与延迟电路D2的延迟对应的时间后的时刻,作为req信号的延迟信号的信号C2上升。响应于此,反相器118的输出侧的信号C2_bar 下降。由此,C元件112的两个输入变为“0”,因此在时刻t3,信号CO下降并且req信号也下降。 响应于req信号的下降沿,信号C2下降,并且信号C2_bar上升。在上述操作后,在时刻t6,控制电路100的输入信号in、输出信号out、操作控制信号mux和锁存信号Iat均变为“O”。包括控制电路100的电路块由此能开始下一基本操作。

发明内容
本发明人已经发现了尽管在日本未审专利申请公布No. 2008-181170中公开的技术能消除空闲阶段,但电路尺寸增加。例如,如图15所示,控制电路100需要包括三个延迟电路(D1、D2和D3)。包括在异步电路中的电路块的级数越大,则控制电路和延迟电路的数量越大,导致电路尺寸增加。本发明的方面是异步电路。该异步电路包括以层级结构连接的多个电路块,并且每一电路块包括运算电路和在运算电路上进行两阶段控制的控制电路。异步电路进一步包括模式控制电路。该模式控制电路控制第一级中的电路块以便当电路块开始空闲阶段时开始初始化,并且当最后一级中的电路块开始空闲阶段时开始工作阶段,并且控制第二级中的电路块以便当第一块中的电路块开始初始化时开始工作阶段,并且当第一级中的电路块开始工作阶段时开始初始化。作为本发明的方面,根据上述方面的电路的实现为方法或设备、包括上述方面的电路的处理器等等也是有效的。根据本发明的技术,可以提高两阶段异步电路的处理速度,并且抑制电路尺寸的增加。


本发明的上述和其他方面、优点和特征将从下述结合附图的某些实施例的描述而更显而易见,在附图中图I是示出根据本发明的第一实施例的异步电路的图;图2是示出图I中所示的异步电路中的模式控制电路的电路配置示例的图;图3是示出图I中所示的异步电路中的模式控制电路的电路配置示例的另一图;图4是示出图3中所示的模式控制电路应用到图I中所示的异步电路的图5是示出图4中所示的异步电路的信号转变的时序图;图6是示出根据本发明的第二实施例的微型计算机的图;图7是示出包括在图6中所示的微型计算机中的异步电路的信号转变的时序图;图8是示出包括根据相关技术的两阶段异步电路的微型计算机的图;图9是示出包括在图8所示的微型计算机中的异步电路的信号转变的时序图;图10是说明图6和8中所不的微型计算机间的处理速度差异的图;图11是示出根据相关技术的异步电路的图;图12是示出根据相关技术的两阶段异步电路的图; 图13是示出图12所示的两阶段异步电路的每一电路块的控制电路的示例的图;图14是示出图12中所示的两阶段异步电路中的信号转变的时序图;图15是示出在日本未审专利申请公布No. 2008-181170中公开的控制电路的图;以及图16是示出在图15中所示的控制电路中的信号转变的时序图。
具体实施例方式在下文中,将参考

本发明的实施例。适当地缩短和简化下述描述和附图以便使说明清楚。在图中,相同的附图标记表示相同的结构元件以及适当地省略冗余的说明。<第一实施例>图I示出根据本发明的第一实施例的异步电路200。异步电路200包括用作第一级中的电路块的电路块210,以及用作第二级中的电路块的电路块220。电路块210包括控制电路212和运算电路214,并且电路块220包括控制电路222和运算电路224。异步电路200是两阶段异步电路,并且控制电路212和控制电路222分别对运算电路214和运算电路224执行两阶段控制。控制电路212和控制电路222执行与进行两阶段控制的常见控制电路相同的操作。例如,与图13中所示的控制电路62—样,控制电路212在输入到控制块210的信号in(输入信号inl)的上升沿使操作控制信号muxl上升,以使运算电路214开始操作,从而开始工作阶段,并且在经过预定时间后,输出锁存信号Iatl以使运算电路214的触发器(未示出)锁存操作结果,并且进一步使操作控制信号muxl下降,以使运算电路214停止操作,由此开始空闲阶段。此外,与空闲阶段的开始同时,控制电路212使输出信号out (输出信号outl)上升。此外,控制电路212在输入信号inl的下降沿开始初始化,并且在初始化完成时使输出信号outl下降。同样地,控制电路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)的输出信号outl所输入到的OR元件232、使从最后一级中的电路块(电路块220)输出的输出信号out2反相的第一反相器233、OR兀件232和第一反相器233的输出所输入的第一 AND元件234、使第一 AND元件234的输出反相并且将其作为电路块220的输入信号inl输出的第二反相器235,以及使第二反相器235的输出反相并且将其作为输入信号in2输出的第三反相器231。注意,当存在用于控制整个异步电路200的操作开始和停止的使能信号时,能如 图3所示配置模式控制电路230。图3中所示的模式控制电路230除图2中所示的电路配置外,进一步包括使能信号EN和第二反相器235的输出所输入到的第二 AND兀件236。在这种情况下,输入信号inl是第二 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中所示的信号均为“O”。在时刻T0,使能信号EN上升,并且输入信号inl也上升。响应于输入信号inl的上升沿,操作控制信号muxl也上升,并且运算电路214开始操作并进入工作阶段。注意输入信号in2,即第三反相器231的输出,保持为“O”。在时刻Tl,在从时刻TO起经过了与仅延迟控制电路212中的输入信号的上升沿的延迟元件的延迟对应的时间(Tl-TO)后,锁存信号Iatl上升。响应于此,运算电路214执行锁存操作并且保持操作结果。然后,在时刻T2,锁存信号Iatl下降,操作控制信号muxl下降,并且输出信号outl上升。控制块210由此进入空闲阶段。当输出信号outl上升时,OR元件232的输出变为“I”。因为输出信号out2保持为“0”,所以第一反相器233的输出也保持为“ I ”。因此,第一 AND元件234的输出变为“ I ”,并且第二反相器235的输出变为“O”。因此,输入信号inl下降。电路块210中的控制电路212由此开始初始化。响应于在时刻T2输入信号inl的下降沿,在时刻T3,输出信号outl下降。控制电路212的初始化由此结束。此外,在时刻T2,响应于第二反相器235的输出的下降沿,输入信号in2上升。响应于输入信号in2的上升沿,操作控制信号mux2也上升,并且运算电路224开始操作并且进入工作阶段。在此之后,在时刻T4,在经过与控制电路222中的延迟元件的延迟对应的时间(T4-T2)后,锁存信号lat2上升。响应于此,运算电路224执行锁存操作并且保持操作结
果O然后,在时刻T5,锁存信号lat2下降,操作控制信号muX2下降,并且输出信号out2上升。控制块220由此进入空闲阶段。异步电路220的第一过程由此结束。当输出信号out2上升时,第一反相器233的输出变为“O”。因此,第一 AND兀件234的输出变为“0”,并且第二反相器235的输出变为“I”。因此,输入信号in2下降, 并且输入信号inl上升。电路块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中,时刻to至时刻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和存储指令等的R0M320,并且异步电路310从R0M320提取指令并执行它们。异步电路310包括以层级结构连接的η (η为3或更大的整数)级电路块I至η和模式控制电路330。电路块I至η的每一个包括控制电路和运算电路。例如,电路块I包括控制电路IA和运算电路1Β,电路块2包括控制电路2Α和运算电路2Β,电路块3包括控制电路3Α和运算电路3Β,并且电路块η包括控制电路ηΑ和运算电路ηΒ。电路块I至η执行与图4中所示的异步电路200的电路块210和电路块220相同的操作。具体地,每一电路块响应于输入到电路块的信号in的上升沿,使操作控制信号mux上升,以使运算电路开始操作,由此开始工作阶段,并且在经过预定时间后,输出锁存信号lat,使运算电路的触发器(未示出)锁存该操作结果,并进一步使操作控制信号mux下降,使运算电路停止操作,由此开始空闲阶段。此外,与空闲阶段的开始同时,电路块使输出信号out上升。此外,电路块在输入信号in的下降沿开始初始化,在初始化完成时使输出信号out下降。 电路块I至η执行提取指令,解码指令、执行指令,在指令执行期间访问存储器(未示出),在指令执行完成时回写存储器,并且电路块分别执行上述处理。例如,第一级的电路块(电路块I)中的运算电路IB从ROM 320提取指令,并且第~■级的电路块(电路块2)中的运算电路2Β解码由运算电路IB提取的指令。此外,最后一级中的电路块(电路块η)将数据回写到存储器。除了输入从最后一级中的电路块(电路块η)输出的输出信号outn来代替从第二级中的电路块(电路块2)输出的输出信号out2之外,模式控制电路330与图4中所示的异步电路200的模式控制电路230相同。模式控制电路330将输入信号inl输出到电路块I的控制电路IA。此外,模式控制电路330通过第三反相器231使第二反相器235的输出反相,并且将其输出到OR元件232的一个输入端,并且输入到控制电路2A。控制电路IA将输出信号outl输出到OR元件232的另一输入端。第二级至第(η-i)级中的电路块的控制电路将输出信号out输出到下一级中的电路块的控制电路作为下一级的输入信号in。例如,如图6所示,控制电路2A将输出信号out2输出到控制电路3A作为输入信号in3。控制电路3A将输出信号out3输出到第四级中的电路块的控制电路(未示出)作为输入信号in4。此外,第(η-i)级中的电路块(n_l)(未示出)将输出信号out(n-l)输出到控制电路ηΑ作为电路块η的输入信号inn。如上所述,电路块η的控制电路ηΑ将输出信号outn输出到模式控制电路330的第一反相器233。图7是图6中所示的微型计算机300中的信号转变的时序图。在异步电路310的操作开始前,图7中所示的信号均为“O”。
在时刻T10,使能信号EN上升,并且输入信号inl也上升。响应于输入信号inl的上升沿,操作控制信号muxl也上升,并且运算电路IB开始操作(在该情况下为提取),并且进入工作阶段。注意,作为第三反相器231的输出的输入信号in2保持为“O”。在时刻Tl I,在从时刻TlO起经过了与控制电路IA中的延迟元件的延迟对应的时间后,锁存信号Iatl上升。响应于此,运算电路IB执行锁存操作并且保持该操作结果(锁存的指令)。
然后,在时刻T12,锁存信号Iatl下降,操作控制信号muxl下降,并且输出信号outl上升。电路块I由此进入空闲阶段。当输出信号outl上升时,OR元件232的输出变为“I”。因为输出信号out2保持为“0”,所以第一反相器233的输出也保持为“I”。因此,第一 AND元件234的输出变为“1”,并且第二反相器235的输出变为“O”。因此,输入信号inl下降。电路块I中的控制电路IA由此开始初始化。此外,响应于在时刻T12输入信号的下降沿,在时刻T13,输出信号outl下降。控制电路IA的初始化由此完成。此外,在时刻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的上升沿,开始工作阶段,并且在经过预定时间后保持操作结果,并且使锁存信号Iat和操作控制信号mux下降以及输出信号out上升,由此进入空闲阶段。然后,在时刻T17,来自最后一级中的电路块η的输出信号outn上升,并且电路块η进入空闲阶段。当输出信号outn上升时,模式控制电路330中的第一反相器233的输出变为“O”。因此,第一 AND元件234的输出变为“0”,并且第二反相器235的输出变为“I”。因此,输入信号inl上升,并且输入信号in2下降。电路块I由此进入工作阶段,异步电路310中的第二过程开始,并且电路块2开始初始化。在此之后,在从时刻T17至T19的时间段,执行与时刻TIO至T17相同的信号转变。在时刻T19后,以相同的方式重复这些转变。如图7所示,在微型计算机300中,因为异步电路310的第一级中的电路块I与它的空闲阶段的开始同时地开始初始化,所以当最后一级中的电路块η开始空闲阶段时,可以立即开始对于下一过程的工作阶段。
在下文中,比较微型计算机300的处理速度和图8中所示的微型计算机400的处
理速度。图8所示的微型计算机400包括执行指令的异步电路410和存储指令等的ROM320,并且异步电路410从ROM 320提取指令并执行它们。异步电路410是已知的两阶段异步电路,并且以层级结构连接多级电路块(电路块I至η)。电路块分别与图6中所示的微型计算机300的异步电路中的电路块相同。然而,来自电路块I的输出信号outl被输出到电路块2作为电路块2的输入信号in2,并且来自最后一级中的电路块η的输出信号outn输出到反相器422。此外,反相器422的输出和使能信号EN均被输入到AND元件424,并且AND元件424的输出用作电路块I的输入信号inl。图9是图示图8中所示的异步电路400中的信号转变的时序图。 在异步电路410的操作开始前,图8中所示的信号均为“O”。在时刻T20,使能信号EN上升,并且输入信号inl也上升。响应于输入信号inl的上升沿,操作控制信号muxl也上升,并且运算电路IB开始操作(在这种情况下,为提取),并且进入工作阶段。在从时刻T20起经过了与控制电路IA中的延迟元件的延迟对应的时间后,锁存信号Iatl上升。响应于此,运算电路IB执行锁存操作并且保持操作结果(锁存的指令)。然后,在时刻T21,锁存信号Iatl下降,操作控制信号muxl下降,并且输出信号outl上升,电路块I由此进入空闲阶段。当输出信号outl上升时,输入信号in2也上升。响应于此,操作控制信号mux2上升,并且运算电路2B开始操作并且进入工作阶段。在从时刻T21起经过了与控制电路2A中的延迟元件的延迟对应的时间后,锁存信号lat2上升。响应于此,运算电路2B执行锁存操作并且保持操作结果。然后,在时刻T22,锁存信号lat2下降,操作控制信号mux2下降,并且输出信号out2上升。电路块2由此进入空闲阶段。响应于来自前一级的输出信号out的上升沿,后续级中的电路块开始工作阶段,并且在经过预定时间后,保持操作结果并且使锁存信号Iat和操作控制信号mux下降,并且输出信号out上升,由此进入空闲阶段。然后,在时刻T23,来自最后一级中的电路块η的输出信号outn上升,并且电路块η进入空闲阶段。当输出信号outn上升时,反相器422的输出变为“O”。因此,作为输入信号inl的AND元件424的输出下降。电路块I由此开始初始化。响应于输入信号inl的下降沿,在时刻t24,输出信号outl下降,并且电路块IA的初始化完成。响应于此,输入信号in2下降,并且控制电路2A的初始化开始。在前一级中的电路块的初始化完成时,后续电路块开始初始化,并且在时刻t26输出信号outn下降,并且后一级中的电路块η的初始化完成。当输出信号outn下降时,反相器422的输出变为“I”。因此,作为输入信号inl的AND元件424的输出上升。电路块I由此开始下一工作阶段。如从图7和图9之间的比较可以看出,在图6所示的微型计算机300中,从当前过程的开始到下一过程的开始所需的时间长度为“T17-T10”,而在图8所示的微型计算机400中为“t26-t20”。由此,微型计算机300的处理速度高于微型计算机400的处理速度是显而易见的。如上所述,诸如处理器的微型计算机执行一个指令的阶段通常被划分成提取指令、解码指令、执行指令、在指令执行期间访问存储器,以及在指令执行结束时回写存储器。比较图6中所示的微型计算机300和图8中所示的微型计算机400的处理速度,假定微型计算机300和微型计算机400中的异步电路的电路块分别执行上述级的处理。注意,在这种情况下,电路块的级数为η = 5。
在图10中,FE、DE、EX、MA和WB分别表示“提取指令”、“解码指令”、“执行指令”、“访问存储器”和“回写存储器”。此外,实线表示执行级的处理的电路块处于工作阶段,并且虚线表示执行级的处理的电路块正在初始化。首先,在时刻Τ40,微型计算机400的异步电路410的电路块I开始工作阶段,并且提取指令。同样地,在时刻Τ40,微型计算机300的异步电路310的电路块I开始工作阶段并提取指令。在时刻Τ41,异步电路410的电路块I完成指令提取处理并且进入空闲阶段。同样地,异步电路310的电路块I完成指令提取处理并进入空闲阶段。在异步电路410的情况下,在电路块I进入空闲阶段的时刻Τ41,电路块2至5顺序地进入工作阶段。由此,顺序地执行解码指令、执行指令、访问存储器和回写存储器。然后,在时刻Τ42,最后一级中的电路块5完成回写存储器并且进入空闲阶段。同样在异步电路310的情况下,在电路块I进入空闲阶段的时刻Τ41,电路块2至5顺序地进入工作阶段,并且在时刻Τ42,最后一级中的电路块5完成回写存储器并且进入空闲阶段。然而,在异步电路310的情况下,在时刻Τ41,电路块I进一步开始初始化。在异步电路410的情况下,从时刻Τ42,电路块I至5顺序地开始初始化。然后,在时刻Τ43,最后一级中的电路块5完成初始化。响应于此,电路块I开始工作阶段并提取指令。另一方面,在异步电路310的情况下,因为电路块I在时刻Τ42已经完成初始化,所以在时刻Τ42电路块I开始工作阶段并提取指令。此外,从时刻Τ42,电路块2至5顺序地开始初始化。然后,在时刻Τ43前的某一时刻,电路块5的初始化完成。在此之后,从时刻Τ42已经开始的由电路块I进行的提取处理完成时,电路块2进入工作阶段并执行指令的解码。如图10所示,在时刻Τ43,在异步电路410中,电路块I开始工作阶段,而在异步电路310中,电路块I已经完成工作阶段并且电路块2处于工作阶段。具体地,在根据第二实施例的微型计算机300中,异步电路310与其空闲阶段开始的同时开始初始化,并且当最后一级中的电路块5开始空闲阶段时开始工作阶段。此外,电路块2在电路块I开始初始化时开始工作阶段,并且在电路块I开始工作阶段时开始初始化。异步电路310由此实现比根据相关技术的异步电路410更高的处理速度。此外,作为由处理器执行的级的处理中的一个的“指令提取”通常花费比其他级的处理更长的时间,并且在第一级中执行。根据本发明的第二实施例的微型计算机300,在由电路块I执行提取时,能执行其他电路块的初始化,并且在由其他电路块执行处理时,能执行电路块I的初始化,使得能整体地实现高的处理效率。此外,尽管微型计算机300中的异步电路310包括三级或更多级的电路块,但模式控制电路330具有与图4中所示的仅包括两级电路块的异步电路200中的模式控制电路230相同的配置。因此,当电路块的级数越大时,从抑制电路尺寸的增加的观点看,根据本发明的技术比日本未审专利申请公布No. 2008-181170中公开的技术更有利。在上文中描述了本发明的实施例 。仅通过示例的方式提供实施例,并且在不背离本发明的范围的情况下可以对上述实施例做出各种改变和改进。对本技术的技术人员来说显而易见的所有这些改变和改进意图包括在本发明的范围内。例如,可以如本领域的普通技术人员所期望的组合第一和第二实施例。此外,例如,尽管图13中所示的控制电路62用作执行上述实施例中的两阶段控制的控制电路,但也可以使用具有与控制电路62不同的电路配置的控制电路,只要能实现与图13中所示的控制电路62相同的功能。此外,尽管图2或3中所示的模式控制电路230用作上述实施例中的模式控制信号,但也可以使用能实现与图2或3中所示的模式控制电路230相同功能的、具有不同电路配置的模式控制信号。尽管就多个实施例描述了本发明,但本领域的技术人员将意识到在权利要求的精神和范围内能够以各种改进来实施本发明,并且本发明不限于上述示例。此外,权利要求书的范围不受上述实施例限制。此外,应注意到,申请人的意图是涵盖所有权利要求要素的等同物,即使审查期间有后续修改。
权利要求
1.ー种异步电路,包括以层级结构连接的多个电路块,每个电路块包括运算电路和对所述运算电路进行两阶段控制的控制电路,所述异步电路进一歩包括 模式控制电路,控制第一级中的电路块在所述电路块开始空闲阶段时开始初始化,并且在最后一级中的电路块开始空闲阶段时开始工作阶段,并且控制第二级中的电路块在所述第一级中的所述电路块开始初始化时开始工作阶段,并且在所述第一级中的所述电路块开始工作阶段时开始初始化。
2.如权利要求I所述的异步电路,其中 所述控制电路在输入到所述电路块的信号In的上升沿使工作阶段开始,并且在经过预定时间后,使空闲阶段开始并且使输出信号Out上升,并且在所述信号In的下降沿使初始化开始并在初始化完成时使所述信号Out下降,并且所述模式控制电路包括 OR元件,接收输入到所述第二级中的所述电路块的所述信号In和从所述第一级中的所述电路块输出的所述信号Out ; 第一反相器,使从所述最后ー级中的所述电路块输出的所述信号Out反相; 第一 AND元件,接收所述OR元件和所述第一反相器的输出; 第二反相器,使所述第一 AND元件的输出反相,并且将反相结果作为所述第一级中的所述电路块的所述信号In输出;以及 第三反相器,使所述第二反相器的输出反相,并且将反相结果作为所述第二级中的所述电路块的所述信号In输出。
3.如权利要求I所述的异步电路,其中 所述异步电路包括在处理器中,并且 包括在所述第一级中的所述电路块中的所述运算电路执行提取指令。
4.如权利要求2所述的异步电路,其中 所述异步电路包括在处理器中,并且 包括在所述第一级中的所述电路块中的所述运算电路执行提取指令。
5.如权利要求2所述的异步电路,其中 第二 AND元件进ー步包括在所述第二反相器和所述第一级中的所述电路块之间, 所述第二 AND元件接收使能信号和所述第二反相器的输出,以及 所述第一级中的所述电路块的所述信号In是所述第二 AND元件的输出。
6.如权利要求3所述的异步电路,其中 第二 AND元件进ー步包括在所述第二反相器和所述第一级中的所述电路块之间, 第二 AND元件接收使能信号和所述第二反相器的输出,以及 所述第一级中的所述电路块的所述信号In是所述第二 AND元件的输出。
7.如权利要求4所述的异步电路,其中 第二 AND元件进ー步包括在所述第二反相器和所述第一级中的所述电路块之间, 所述第二 AND元件接收使能信号和所述第二反相器的输出,以及 所述第一级中的所述电路块的所述信号In是所述第二 AND元件的输出。
全文摘要
本发明提供一种异步电路,包括以层级结构连接的多个电路块,每一电路块包括运算电路和在运算电路上进行两阶段控制的控制电路,以及模式控制电路。模式控制电路控制第一级中的电路块在该电路块开始空闲阶段时开始初始化,并且在最后一级中的电路块开始空闲阶段时开始工作阶段,并且控制第二级中的电路块在第一级中的电路块开始初始化时开始工作阶段,并且在第一级中的电路块开始工作阶段时开始初始化。这提高了两阶段异步电路的处理速度并且抑制了电路尺寸的增加。
文档编号H03K19/21GK102710254SQ20121005796
公开日2012年10月3日 申请日期2012年3月7日 优先权日2011年3月10日
发明者山口良一 申请人:瑞萨电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1