CN112116094B - 一种超导流水线电路及处理器 - Google Patents
一种超导流水线电路及处理器 Download PDFInfo
- Publication number
- CN112116094B CN112116094B CN202010875646.XA CN202010875646A CN112116094B CN 112116094 B CN112116094 B CN 112116094B CN 202010875646 A CN202010875646 A CN 202010875646A CN 112116094 B CN112116094 B CN 112116094B
- Authority
- CN
- China
- Prior art keywords
- data
- signal
- stage
- circuit
- superconducting
- 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.)
- Active
Links
- 230000000903 blocking effect Effects 0.000 claims abstract description 51
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000000034 method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000004907 flux Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001066 destructive effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Evolutionary Computation (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Advance Control (AREA)
Abstract
提供一种超导流水线电路,至少包括:第一可清零寄存器组、第一逻辑组合电路、第二可清零寄存器组以及第二逻辑组合电路,其中第一和第二可清零寄存器组用于在使能信号的控制下接收数据输入,并在第一时钟的控制下,将接收的输入数据进行输出;第一逻辑组合电路接收第一可清零寄存器组的输出数据,并在第一时钟的控制下将该数据运算之后输出至第二可清零寄存器组;第二逻辑组合电路接收第二可清零寄存器组的输出数据,并在第一时钟的控制下将该数据运算之后进行输出;其中,第二逻辑组合电路还用于生成内部清零信号以及阻塞信号;阻塞信号用于控制使能信号的有效和无效,以及内部清零信号用于控制第一和第二可清零寄存器组清零。
Description
技术领域
本发明涉及超导电子电路领域,特别涉及一种超导流水线电路及处理器。
背景技术
快速单磁通量子(RSFQ)超导电路是利用约瑟夫森结的物理原理,采用超导材料制成。电路工作利用约瑟夫森结中是否存在导通电流来标志0和1。超导电路具有功耗低,运行速度快的特点,是今后电子电路的重点发展方向。
目前的RSFQ超导处理器主流设计是利用行波流水,数据通路上任意一条路径经过一个逻辑门都要求其他所有数据路径都经过一个逻辑门来实现时钟对齐,如果没有相应的逻辑门元件,就要在数据通路上添加D触发器(DFF)来实现行波流水。如图1A和图1B所示,图1A是没有实现行波流水的超导逻辑电路的示意图,图1B是添加四个DFF器件实现行波流水的超导逻辑电路的示意图。由图1B可以看出,在添加四个DFF之后,数据通路的任意一条路径经过的超导逻辑器件的数量相等,实现了行波流水。
图1A和图1B中的逻辑门元件就是RSFQ超导逻辑门,由于其物理特性,所有逻辑门元件都需要有一个时钟信号来驱动,时钟信号和数据信号一样,都是单磁通量子。DFF也是如此,有一个时钟接入端口,时钟信号到来时,会把上一个时钟周期内从数据输入端收到的信号发送到数据输出端输出。
行波流水电路的特点是数据整体进入运算逻辑电路后,就在电路中连续运算传输下去,直到电路末端输出结果。这种使用行波流水的超导电路可以实现很高的运行频率,其特点在于每个逻辑门元件都需要时钟驱动,因此在没有逻辑门的纵向流水级,需要添加DFF触发器,同一个纵列(如图1B中虚线框所示的列1、列2和列3)组成一级行波流水级。因此在每个时钟周期都可以从数据输入端输入一组数据,然后每当时钟信号到来,数据流都会向下一级流动。但是与传统流水线概念不同,由于超导信号的传输需要通过约瑟夫森传输线(JTL)传递,其传播速度远低于电信号的传输速度,因此一条跨越若干流水级的JTL会造成极大的时间延迟,虽然超导电路可以很高速的运行,但是很难做到数据反馈。也就是说数据是“一次性”输入,“一次性”输出的,中间如果有需要数据前递,将会面临极大的设计困难。
发明内容
根据现有技术的上述缺陷,本发明提出一种超导流水线电路,至少包括:第一可清零寄存器组、第一逻辑组合电路、第二可清零寄存器组以及第二逻辑组合电路,其中
所述第一可清零寄存器组和所述第二可清零寄存器组用于在使能信号的控制下接收数据输入,并在第一时钟的控制下,将接收的输入数据进行输出;
所述第一逻辑组合电路接收所述第一可清零寄存器组的输出数据,并在第一时钟的控制下将该数据运算之后输出至所述第二可清零寄存器组;
所述第二逻辑组合电路接收所述第二可清零寄存器组的输出数据,并在第一时钟的控制下将该数据运算之后进行输出;
其中,所述第二逻辑组合电路还用于生成内部清零信号以及阻塞信号;
所述阻塞信号用于控制所述使能信号,当有阻塞信号时,使所述使能信号无效,当没有阻塞信号时,使所述使能信号有效;以及
所述内部清零信号用于控制所述第一可清零寄存器组和所述第二可清零寄存器组清零。
优选地,还包括第三可清零寄存器组,用于在所述使能信号的控制下接收来自所述第二逻辑组合电路的数据,并在所述第一时钟的控制下,将接收的输入数据进行输出。
优选地,还包括外部清零信号,所述外部清零信号由流水线电路外部提供,并分别输入到第一、第二和第三可清零寄存器组中,用于控制所述第一、第二和第三可清零寄存器组的清零。
优选地,还包括用于控制流水线阻塞的阻塞控制单元,所述阻塞控制单元利用所述阻塞信号控制所述使能信号的有效或者无效。
优选地,所述阻塞控制单元包括:
非门,其包括用于接收所述阻塞信号的数据输入端,以及数据输出端;
与门,其包括用于接收所述非门的输出信号的第一数据输入端,用于接收所述使能信号的第二数据输入端,以及用于输出所述使能信号的数据输出端;
其中,当有阻塞信号时,所述与门没有输出,当没有阻塞信号时,所述与门有输出。
优选地,所述可清零寄存器组包括至少一个超导触发器,所述超导触发器包括:
RDFF,其包括用于接收所述使能信号的时钟输入端,用于接收输入数据的数据输入端,用于接收所述清零信号的重置端,以及数据输出端;
NDRO,其包括用于接收所述使能信号的重置端,用于接收第一时钟的时钟输入端,用于接收所述RDFF的输出数据的数据输入端以及用于数据输出的数据输出端。
优选地,其中,所述超导触发器还包括:
SPL,其包括用于接收所述使能信号的数据输入端,第一输出端以及第二输出端,其中
所述第一输出端用于将所述使能信号输出到所述RDFF的时钟输入端,以及所述第二输出端用于将所述使能信号输出到所述NDRO的重置端。
优选地,所述第一逻辑组合电路和所述第二逻辑组合电路是没有插入DFF以实现行波流水的组合电路。
优选地,所述使能信号的周期大于逻辑组合电路中运算时间最长的路径所需的运算时间。
优选地,所述使能信号是第二时钟。
本发明还提供一种超导处理器,所述处理器包括:取指IF级、译码ID级、执行EX级、存储MEM级、写回WB级、判断BR电路以及IO电路,其中上述各级均包含至少一个可清零寄存器组以及至少一个逻辑组合电路,其中
所述可清零寄存器组用于在使能信号的控制下接收来自上级逻辑组合电路的数据输入,并在第一时钟控制下,将接收的输入数据输出至本级逻辑组合电路;
所述逻辑组合电路用于接收本级可清零寄存器组的输出数据,并在第一时钟的控制下将该数据运算之后输出至下级的可清零寄存器组,其中
所述判断BR电路用于生成内部清零信号,用以对所述取指IF级、译码ID级以及执行EX级中的可清零寄存器组清零。
优选地,其中,所述存储MEM级用于生成阻塞信号,用以对所述取指IF级、译码ID级以及执行EX级中的可清零寄存器组进行阻塞。
本发明可以节约当前超导电路设计中,为了实现行波流水而添加的大量DFF触发器,节约电路面积和超导元件数量。并且提出带有“阻塞”和“清零”控制信号的流水线电路,可以实现在指令跳转等情况下,流水线的及时清空或者阻塞等待。
附图说明
图1A是没有实现行波流水的超导逻辑电路的示意图;
图1B是添加DFF器件实现行波流水的超导逻辑电路的示意图;
图2是本发明一个实施例的带有清零功能的超导寄存器组的电路图;
图3是本发明一个实施例的超导流水线电路的示意图;
图4是本发明一个实施例的超导处理器的逻辑图。
具体实施方式
为了使本发明的目的、技术方案以及优点更加清楚明白,下面结合附图通过具体实施例对本发明作进一步详细说明。
现有典型的RSFQ超导电路设计是通过添加DFF来实现与逻辑门时钟对齐的行波流水电路,其运算效果是使输入数据在电路中通过行波流水的方式逐级传递,进行相应的逻辑运算。这种电路中,每个逻辑门和DFF都接入有一个快速时钟(fast clock,在本文中称为fclk)。每次fclk到来时,电路中的数据都会流向后续一列“行波流水级”,注意这里的“行波流水级”是指图1B所示的行波流水电路中的一列(如图1B虚线框所示的列1、列2以及列3),和本发明中所指的整体处理器的“流水线级”不是一个概念。这样的行波流水电路,在每个fclk周期都可以输入一组数据,如果一个行波流水超导电路有m个行波流水级,即有m列逻辑门,那么在同一时刻,电路中可以有最多m组不同的数据存在,分别在m个行波流水级中进行传递,然后每个fclk时钟周期,输出端口都会输出一组运算结果。
这种经典的使用单时钟的行波流水超导电路,优点是运算速度快,快速时钟fclk的频率可以非常高,现有研究成果已经可以达到70GHz甚至更高。但是缺点是难以实现行波流水线的控制,数据一旦输入,就会一直传输下去,在电路中进行传递,该过程中难以让数据停止,或者反馈给前级电路。并且在电路设计时,为了保证数据传递的整齐,行波流水线的稳定,需要添加大量DFF来使电路实现行波流水,与逻辑门电路对齐,增加了电路的面积。
为了实现流水线阻塞、清零以及跳转等流水线控制,本发明使用带有清零功能的超导寄存器组(也称为可清零寄存器组)来组织处理器电路,提供一种超导流水线电路以及超导处理器。本发明中的超导可清零寄存器组可以由中国专利申请公布号为CN111049503A、发明名称为“一种超导触发器及其运行方法”的专利申请中所公开的超导触发器组成,但是也可以使用其他基于约瑟夫森结组成的具有锁存功能的超导寄存器组。
图2是本发明一个实施例的带有清零功能的超导寄存器组200的电路图,如图2所示,超导寄存器组200包括四个超导触发器,每个超导触发器由分离器(SPL)、可复位触发器(RDFF)以及非破坏读出寄存器(NDRO)组成。其中,SPL包括用于接收使能信号EN的数据输入端,并将该使能信号EN分别输出到NDRO的重置端以及RDFF的时钟输入端;RDFF的数据输入端用于接收输入数据(In0-In3),RDFF的重置端用于接收清零信号clear;NDRO的数据输入端用于接收来自RDFF的输出数据,NDRO的时钟输入端用于接收快速时钟fclk信号,NDRO的数据输出端用于将数据输出(Out0-Out3)。
图2所示的可清零超导寄存器组中,快速时钟fclk用于配合寄存器组之间的组合电路工作;使能信号EN用于控制整体处理器流水线的工作,同时还有一个清零信号clear,用于对RDFF中的数据清零。该寄存器组采用纵向排列,通过共用快速时钟fclk、使能信号EN以及清零信号clear,可以实现在使能信号EN到来后同步读取数据(即使能信号EN到来后,同步将数据读取到NDRO中),在快速时钟fclk到来后,同步发送数据,在清零信号clear到来后,清空RDFF,并在下一个使能信号EN到来后,同步清空寄存器组。
在流水线电路设计中,使用可清零寄存器组,最主要的功能是可以实现流水线的清零,比如在经典的传统五级流水线处理器设计中,如果遇到一条跳转指令,需要在第3级“执行级”才能得到是否跳转的结论,此时后续指令已经加载到“取指级”和“译码级”,如果需要执行跳转,那么就要把前面两级的流水线数据清空,不再执行错误的指令。利用本发明的可清零的寄存器组就能够实现这样的设计需求。
图3是本发明一个实施例的超导流水线电路300的示意图,如图3所示,该超导流水线电路300包括第一可清零寄存器组301、第一逻辑组合电路302、第二可清零寄存器组303、第二逻辑组合电路304以及第三可清零寄存器组305。应当注意,图3中所示的可清零寄存器组以及逻辑组合电路的数量仅仅是示例性的,根据实际应用可使用更多或更少的可清零寄存器组以及逻辑组合电路的数量。图3中的清零信号clear被输入到图2所示的寄存器组的clear输入端,作用是清空寄存器组,这个信号可以是在流水线架构中由后级流水线产生,向前级发送,清空前级的流水线寄存器。这种由流水线间产生的清零信号称为内部清零信号(inner clear)。同时,该信号也可以由处理器外部输入,在出现系统中断、异常等需要清空整个处理器的情况时,用于清空全部流水线寄存器组。这种由外部产生的清零信号称为外部清零信号(out clear)。因此,在具体实现中,clear信号的作用范围可以灵活控制,利用逻辑门元件和JTL传输线的单向传递特点,精确控制不同类型的clear信号作用到不同范围的寄存器上。例如,如图3所示,第二逻辑组合电路304发出的内部清零信号inner clear可用于清空第一可清零寄存器组301和第二可清零寄存器组303,而外部清零信号outclear可用于同时清空可清零寄存器组301、303以及305。本发明所说的清零信号包括内部清零信号和外部清零信号。应当注意,本发明所说的流水线的前级指的是流水线数据通路中数据先到达的部分,后级指的是流水线数据通路中数据后到达的部分,例如图3中,第二逻辑组合电路304为后级流水线电路,第一可清零寄存器组301、第一逻辑组合电路302以及第二可清零寄存器组303为前级流水线电路,可以由第二逻辑组合电路304向前级的可清零寄存器组301、303发送清零信号。
如图3所示,第一可清零寄存器组301用于在使能信号EN的控制下接收数据输入,并在快速时钟fclk的控制下,将接收的输入数据输出到第一逻辑组合电路302;第一逻辑组合电路302经运算之后,在快速时钟fclk的控制下,将数据输出到第二可清零寄存器组303;第二可清零寄存器组303用于在使能信号EN的控制下接收数据,并在快速时钟fclk的控制下,将接收的数据输出到第二逻辑组合电路304;第二逻辑组合电路304经运算之后,在快速时钟fclk的控制下将数据输出到第三可清零寄存器组305。其中,第二逻辑组合电路304在内部指令(比如例外或者指令跳转)的控制下可用于产生内部清零信号inner clear以及阻塞信号block,该内部清零信号inner clear用于控制第一可清零寄存器组301和第二可清零寄存器组303的清零,该阻塞信号block用于控制使能信号EN的有效或无效;第三可清零寄存器组305用于在使能信号EN的控制下接收数据,并在快速时钟fclk的控制下,将接收的数据进行输出。
应当注意,虽然在图3的示例中,阻塞信号block和内部清零信号inner clear均可由第二逻辑组合电路304产生,但本发明不限于此,该设置仅仅是为了便于描述本发明的清零以及阻塞过程,实际应用中,根据流水线电路的设置,可以由其他的逻辑组合电路(比如逻辑组合电路302)产生阻塞信号block和内部清零信号inner clear,阻塞信号block和内部清零信号也不限于由同一逻辑组合电路产生,可以根据需要分别由不同的逻辑组合电路产生,并分别输出到不同的前级电路中,同时阻塞信号block也不限于由流水线电路内部产生,而是可以由处理器外部提供。
图3中的可清零寄存器组位于逻辑组合电路的两侧,可清零寄存器组301用于向组合电路提供数据输入,其输入频率是fclk。这里的逻辑组合电路是指省略DFF以后的由超导逻辑门组成的电路,虽然称为“组合电路”,但是由于超导元件的特点,其内部每个逻辑门依然接入了时钟信号,工作频率均为fclk(但本发明不限于此,实际应用中也可以使用其他频率的时钟信号)。可清零寄存器组305用于接收组合电路的运算结果,输出给后续电路。图3中的流水线结构的使能信号EN,控制可清零寄存器组的数据读取,只有使能信号EN到来之后的一个快速时钟fclk周期内,可清零寄存器组才会将从组合电路部分输入的数据写入可清零寄存器组的NDRO中,然后以fclk的快速时钟周期不断的发出数据,提供给后续逻辑组合电路运算。所以使能信号EN是控制流水线工作的整体性信号,该使能信号EN也可以采用时钟信号;快速时钟fclk用于提供给超导元件保证超导逻辑门的正常工作。
图3中的超导流水线电路还包括用于控制流水线阻塞的阻塞控制单元,该阻塞控制单元利用阻塞信号控制使能信号EN的有效或者无效。阻塞控制单元由非门307和与门306构成。其中,非门307包括用于接收阻塞信号block的数据输入端,以及数据输出端;与门306,包括第一数据输入端,用于接收非门307的输出数据,第二数据输入端,用于接收使能信号EN,以及数据输出端,用于输出受阻塞信号控制的使能信号EN。例如,当阻塞信号block没有输入时,非门307有信号输出,此时使能信号EN到来时,会直接经与门306输出;当阻塞信号有输入时,非门307没有数据输出,此时不论有没有使能信号EN输入,与门306均不会输出使能信号EN。由此可以实现阻塞信号block对使能信号EN的控制,保证当阻塞信号到来时,使能信号不会输入到可清零寄存器组中。应当注意,图3所示仅为阻塞控制单元的一个示例,其他可以实现阻塞控制的逻辑组合电路均可应用于本发明中。
下面将结合图2和图3具体说明超导流水线电路中的控制以及其流水线的清零功能和阻塞功能。
在正常数据传输过程中,输入数据会存储在第一可清零寄存器组301的RDFF中,等使能信号EN到达后,先对NDRO清零,同时RDFF的时钟输入端接收到使能信号EN,经过RDFF器件本身的延时之后,将数据输出到NDRO中,随后快速时钟fclk到达,NDRO会将数据持续输出到第一逻辑组合电路302中;第一逻辑组合电路302对所接收的数据进行运算处理之后,在快速时钟fclk的控制下,输出到第二可清零寄存器组303中。由于第一逻辑组合电路302中没有添加DFF,即数据通路的任意一条路径经过的超导逻辑器件的数量可以不相等(可以参考图1A的没有实现行波流水的电路),因此第一逻辑组合电路302中的各个路径进行数据处理并输出的时间并不相同,因此需要设计使能信号EN的时钟周期足够长,使得在第一逻辑组合电路302中,运算时间最长的路径可以完成运算并输出数据,在第一逻辑组合电路302运算期间,第一可清零寄存器组301在快速时钟fclk的作用下持续向第一逻辑组合电路302输入数据,使得第一逻辑组合电路302中的运算时间较短的路径可以持续运算并产生输出。当第一逻辑组合电路302中,运算时间最长的路径完成运算后,使能信号EN到达,第二可清零寄存器组303即可接收来自第一逻辑组合电路302的输出数据,并在快速时钟的作用下继续传输数据。
当后级的流水级发现有例外或者指令跳转时,则向前级的流水线的寄存器组发送清零指令,及时清除无效的指令信息,保证流水线的连续高效运行。例如,如图3所示,当在第二逻辑组合电路304中发现有例外等情况,则会向第一可清零寄存器组301以及第二级可清零寄存器组303发送内部清零信号,第一和第二可清零寄存器组的RDFF的重置端接收到内部清零信号后,其RDFF变为零状态,在使能信号EN到来后,NDRO被清零,且由于RDFF中没有数据输出到NDRO中,因此在快速时钟fclk到来后,NDRO不会有数据输出到下级逻辑组合电路中,即实现了流水线的清零。类似地,当有外部清零信号输入时,会对第一、第二和第三可清零寄存器组清零,实现了流水线的整体清零。
当流水线需要阻塞时,例如,当第二逻辑组合电路304需要进行耗时比较长的处理过程,在此过程中,不希望有新的数据输入到第二逻辑组合电路304中,以影响其数据处理,此时,由第二逻辑组合电路304输出阻塞信号block,此时与门306没有使能信号EN输出,第一可清零寄存器组301的RDFF的时钟端没有信号输入,NDRO的重置端也没有信号输入,此时输入的数据会存储在第一可清零寄存器组301的RDFF中,不会输出到NDRO中,由于NDRO没有被清零,因此其会在快速时钟fclk到来时,以快速时钟fclk的频率持续向第一逻辑组合电路302输出NDRO之前存储的数据,第一逻辑组合电路302进行运算后会将数据输出;同样的道理,第二可清零寄存器组303接收到第一逻辑组合电路302输出的数据后,会存储在第二可清零寄存器组303的RDFF中,不会将该数据输出到NDRO中,由于NDRO没有被清零,因此其会在快速时钟fclk到来时,以快速时钟fclk的频率持续向第二逻辑组合电路304输出NDRO之前存在的数据。也就是说,在第二逻辑组合电路304输出阻塞信号期间,第二可清零寄存器组303会持续向其发送之前的数据,而不会向其发送新的数据。由此可以实现阻塞,直到第二逻辑组合电路304停止输出阻塞信号。
基于上述超导流水线电路,本发明提出了一种超导处理器架构。如图4所示,图4是本发明一个实施例的超导处理器的逻辑图,该架构适用于任意位宽的处理器。
图4中的超导处理器由取指IF级、译码ID级、执行EX级、存储MEM级和写回WB级五级流水线组成,还包括与MEM同级的跳转判断BR电路以及负责与外围电路进行数据交互的IO电路,应当注意,图4中的超导处理器仅仅是示例性的,实际应用中,根据处理器处理内容的不同,可以应用更多级的流水线。
图4中的每个方框仅代表该级流水线的逻辑组成,其内部包括组合逻辑电路和至少一个可清零寄存器组,其每个寄存器组都连接有快速时钟fclk和使能信号EN。
如图4所示,在进入EX级计算后,会根据指令类型进入MEM级和BR判断电路,如果此时处理的是一条跳转指令,同时BR电路判断得出需要进行跳转,那么BR电路就会给前面三个流水级IF、ID、EX发送内部清零信号,这些流水级的可清零寄存器组会被清空,因为此时已经读取到IF、ID、EX级的指令是错误的,不需要执行。真正要执行的是跳转目标的指令,同时跳转目标指令的信息也由BR电路发送到IF级进行处理。
在指令到达MEM级时,如果这是一条内存读写指令,那么它需要较长的时间与外部电路进行数据交互,在进行数据读取或者写入的过程中,为了避免出现数据相关造成错误,此时需要前面各级流水线进行等待,直到数据读写完成,再继续流动。因此MEM级会发出一个阻塞信号,前面各级流水收到该阻塞信号后,会停止数据流动,寄存器内容保持不变,即阻断EN的传入,直到阻塞信号消失,流水线恢复正常工作。应当注意,本发明虽然以MEM发出阻塞信号为例进行了介绍,但实际应用中,可以根据需要,由其他级发出阻塞信号,实现流水线的阻塞。
具体地,阻塞信号会阻止可清零寄存器组中使能信号EN的输入,此时可清零寄存器组的RDFF中不会有新的数据输入,NDRO会在快速时钟的作用下,持续输出之前的数据,也就是说EX级会持续向MEM级输出内存读写指令,直到数据读取或者写入的过程完成,阻塞信号消失,保证了在MEM读取或者写入期间,MEM级不会接收到其他的指令,避免出现数据相关造成错误。
本发明提出了一种流水线实例,在流水线电路之间可以发出“阻塞”和“清零”信号;可以控制整体流水线的工作进度,比如流水线收到“阻塞”信号就会停止数据流动,寄存器组的内容不发生变化,等待后续工作的完成。如果流水线寄存器组收到“清零”信号,那么就会直接清空寄存器组的内容,例如复位到全0状态,可以实现指令跳转或者系统中断时,清除处理器中已经读取进来的无效指令和数据。
本发明提出的超导电路由现有的没有实现行波流水的电路组成逻辑组合电路部分(即,该逻辑组合电路部分不包括用于时钟对齐的DFF触发器),和由可清零寄存器组构成的流水线间寄存器组部分组成,实现了经典半导体电路的寄存器转换级电路(RegisterTransfer Level,RTL)效果。本发明采用了可清零寄存器组,实现流水线的控制,可以节约超导逻辑组合电路中用于时钟对齐的DFF触发器,节约大量电路面积和超导元件需求。
最后应该说明的是,以上实施例仅用以解释本发明的技术方案而非限制。尽管上文参照实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围中。
Claims (12)
1.一种超导流水线电路,至少包括:第一可清零寄存器组、第一逻辑组合电路、第二可清零寄存器组以及第二逻辑组合电路,其中
所述第一可清零寄存器组和所述第二可清零寄存器组用于在使能信号的控制下接收数据输入,并在第一时钟的控制下,将接收的输入数据进行输出;
所述第一逻辑组合电路接收所述第一可清零寄存器组的输出数据,并在第一时钟的控制下将该数据运算之后输出至所述第二可清零寄存器组;
所述第二逻辑组合电路接收所述第二可清零寄存器组的输出数据,并在第一时钟的控制下将该数据运算之后进行输出;
其中,所述第二逻辑组合电路还用于生成内部清零信号以及阻塞信号;
所述阻塞信号用于控制所述使能信号,当有阻塞信号时,使所述使能信号无效,当没有阻塞信号时,使所述使能信号有效;以及
所述内部清零信号用于控制所述第一可清零寄存器组和所述第二可清零寄存器组清零。
2.根据权利要求1所述的一种超导流水线电路,还包括第三可清零寄存器组,用于在所述使能信号的控制下接收来自所述第二逻辑组合电路的数据,并在所述第一时钟的控制下,将接收的输入数据进行输出。
3.根据权利要求2所述的一种超导流水线电路,还包括外部清零信号,所述外部清零信号由流水线电路外部提供,并分别输入到第一、第二和第三可清零寄存器组中,用于控制所述第一、第二和第三可清零寄存器组的清零。
4.根据权利要求1所述的一种超导流水线电路,还包括用于控制流水线阻塞的阻塞控制单元,所述阻塞控制单元利用所述阻塞信号控制所述使能信号的有效或者无效。
5.根据权利要求4所述的一种超导流水线电路,所述阻塞控制单元包括:
非门,其包括用于接收所述阻塞信号的数据输入端,以及数据输出端;
与门,其包括用于接收所述非门的输出信号的第一数据输入端,用于接收所述使能信号的第二数据输入端,以及用于输出所述使能信号的数据输出端;
其中,当有阻塞信号时,所述与门没有输出,当没有阻塞信号时,所述与门有输出。
6.根据权利要求1所述的一种超导流水线电路,所述可清零寄存器组包括至少一个超导触发器,所述超导触发器包括:
RDFF,其包括用于接收所述使能信号的时钟输入端,用于接收输入数据的数据输入端,用于接收所述清零信号的重置端,以及数据输出端;
NDRO,其包括用于接收所述使能信号的重置端,用于接收第一时钟的时钟输入端,用于接收所述RDFF的输出数据的数据输入端以及用于数据输出的数据输出端。
7.根据权利要求6所述的一种超导流水线电路,其中,所述超导触发器还包括:
SPL,其包括用于接收所述使能信号的数据输入端,第一输出端以及第二输出端,其中
所述第一输出端用于将所述使能信号输出到所述RDFF的时钟输入端,以及所述第二输出端用于将所述使能信号输出到所述NDRO的重置端。
8.根据权利要求1所述的一种超导流水线电路,所述第一逻辑组合电路和所述第二逻辑组合电路是没有插入DFF以实现行波流水的组合电路。
9.根据权利要求1所述的一种超导流水线电路,所述使能信号的周期大于逻辑组合电路中运算时间最长的路径所需的运算时间。
10.根据权利要求1所述的一种超导流水线电路,所述使能信号是第二时钟。
11.一种超导处理器,所述处理器包括:取指IF级、译码ID级、执行EX级、存储MEM级、写回WB级、判断BR电路以及IO电路,其中上述各级均包含至少一个可清零寄存器组以及至少一个逻辑组合电路,其中
所述可清零寄存器组用于在使能信号的控制下接收来自上级逻辑组合电路的数据输入,并在第一时钟控制下,将接收的输入数据输出至本级逻辑组合电路;
所述逻辑组合电路用于接收本级可清零寄存器组的输出数据,并在第一时钟的控制下将该数据运算之后输出至下级的可清零寄存器组,其中
所述判断BR电路用于生成内部清零信号,用以对所述取指IF级、译码ID级以及执行EX级中的可清零寄存器组清零。
12.根据权利要求11所述的一种超导处理器,其中,所述存储MEM 级用于生成阻塞信号,用以对所述取指IF级、译码ID级以及执行EX级中的可清零寄存器组进行阻塞。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010875646.XA CN112116094B (zh) | 2020-08-27 | 2020-08-27 | 一种超导流水线电路及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010875646.XA CN112116094B (zh) | 2020-08-27 | 2020-08-27 | 一种超导流水线电路及处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112116094A CN112116094A (zh) | 2020-12-22 |
CN112116094B true CN112116094B (zh) | 2022-08-30 |
Family
ID=73805404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010875646.XA Active CN112116094B (zh) | 2020-08-27 | 2020-08-27 | 一种超导流水线电路及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112116094B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11303281B2 (en) * | 2020-04-03 | 2022-04-12 | University Of Southern California | Efficient pipelined architecture for superconducting single flux quantum logic circuits utilizing dual clocks |
CN112817028B (zh) * | 2020-12-29 | 2024-02-13 | 上海工物高技术产业发展有限公司 | 多道分析仪清零方法、装置、系统和存储介质 |
CN112861463B (zh) * | 2021-03-11 | 2023-04-25 | 中国科学院计算技术研究所 | 超导处理器及其输入输出控制模块 |
CN113114187B (zh) * | 2021-03-16 | 2023-10-20 | 中国科学院计算技术研究所 | 异步脉冲传递阻塞单元及其控制方法、超导单磁通量子电路 |
CN113128172B (zh) * | 2021-04-23 | 2023-10-27 | 中国科学院计算技术研究所 | 超导寄存器堆装置及其控制方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001345695A (ja) * | 2000-06-02 | 2001-12-14 | Science & Tech Agency | 超電導信号発生装置 |
JP3695370B2 (ja) * | 2001-08-17 | 2005-09-14 | 日本電気株式会社 | 超伝導論理集積回路 |
US7764568B2 (en) * | 2007-07-03 | 2010-07-27 | Seth Lloyd | Bucket brigade address decoding architecture for classical and quantum random access memories |
US10554207B1 (en) * | 2018-07-31 | 2020-02-04 | Northrop Grumman Systems Corporation | Superconducting non-destructive readout circuits |
CN111147045B (zh) * | 2019-12-23 | 2021-11-05 | 中国科学院计算技术研究所 | 一种超导电路的清零方法及系统 |
CN111427810B (zh) * | 2020-03-17 | 2021-10-15 | 中国科学院计算技术研究所 | 超导接口异步采集装置 |
-
2020
- 2020-08-27 CN CN202010875646.XA patent/CN112116094B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112116094A (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112116094B (zh) | 一种超导流水线电路及处理器 | |
KR102449549B1 (ko) | 초전도 비파괴 판독 회로들 | |
Dorojevets et al. | FLUX chip: design of a 20-GHz 16-bit ultrapipelined RSFQ processor prototype based on 1.75-/spl mu/m LTS technology | |
JP2554914B2 (ja) | プログラマブル集積回路デバイス | |
US5365476A (en) | Three-port Josephson memory cell for superconducting digital computer | |
US7971038B2 (en) | Asynchronous ripple pipeline | |
CN111147045B (zh) | 一种超导电路的清零方法及系统 | |
US8499140B2 (en) | Dynamically adjusting pipelined data paths for improved power management | |
CN111984058B (zh) | 基于超导sfq电路的微处理器系统及其运算装置 | |
Hanninen et al. | Robust adders based on quantum-dot cellular automata | |
US20070288724A1 (en) | Microprocessor | |
CN100472432C (zh) | 电子电路 | |
KR20080028410A (ko) | 파이프라인 마이크로프로세서에서의 전력 절감을 위한시스템 및 방법 | |
CN112861463B (zh) | 超导处理器及其输入输出控制模块 | |
US8402251B2 (en) | Selecting configuration memory address for execution circuit conditionally based on input address or computation result of preceding execution circuit as address | |
EP1986094A1 (en) | System and method for processing data in a series of computers | |
US6229750B1 (en) | Method and system for reducing power dissipation in a semiconductor storage device | |
US8423725B1 (en) | Multithreading implementation for flops and register files | |
Volk et al. | Pulsar: A Superconducting Delay-Line Memory | |
CN113407239B (zh) | 一种基于异步单轨的流水线处理器 | |
US20030097541A1 (en) | Latency tolerant processing equipment | |
KR970007262B1 (ko) | 데이타패스 및 명령세트 확장이 용이한 risc 구조 | |
Zhang et al. | Design of a Compact Superconducting RSFQ Register File | |
JPH05299715A (ja) | ジョセフソン処理装置 | |
Dorojevets et al. | Based on 1.75-um LTS Technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |