CN1148648C - 中央处理器或微控制器的数据相关判别及选择传递电路 - Google Patents

中央处理器或微控制器的数据相关判别及选择传递电路 Download PDF

Info

Publication number
CN1148648C
CN1148648C CNB991242432A CN99124243A CN1148648C CN 1148648 C CN1148648 C CN 1148648C CN B991242432 A CNB991242432 A CN B991242432A CN 99124243 A CN99124243 A CN 99124243A CN 1148648 C CN1148648 C CN 1148648C
Authority
CN
China
Prior art keywords
instruction
result
data
stage
address
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 - Fee Related
Application number
CNB991242432A
Other languages
English (en)
Other versions
CN1300005A (zh
Inventor
谢卫国
严晓浪
滕强华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Huaxin Microelectronics Co., Ltd.
Original Assignee
SUZHOU HUAXIN MICRO-ELECTRONICS Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SUZHOU HUAXIN MICRO-ELECTRONICS Co Ltd filed Critical SUZHOU HUAXIN MICRO-ELECTRONICS Co Ltd
Priority to CNB991242432A priority Critical patent/CN1148648C/zh
Publication of CN1300005A publication Critical patent/CN1300005A/zh
Application granted granted Critical
Publication of CN1148648C publication Critical patent/CN1148648C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)
  • Complex Calculations (AREA)

Abstract

一种用于精简指令集流水线结构的微控制器的数据相关判别电路及选择传递电路,数据相关判别电路包括两个地址比较器,分别用于把读操作数阶段及执行阶段的指令中的操作数地址与写结果阶段的指令中的目标地址进行比较,数据选择传递电路根据数据相关判别电路的比较结果把来自微控制器中的累加器、随机存取存储器、指令译码器、写结果寄存器和数学逻辑单元的选择性地输出到数学逻辑单元。

Description

中央处理器或微控制器的数据相关判别及选择传递电路
本发明涉及精简指令集流水线结构的中央处理器(CPU)或微控制器(MCU),尤其涉及微控制器中的数据相关判别及选择传递电路。
在现代微电脑芯片设计中,精简指令集流水线结构越来越流行,采用流水线结构的目的是提高执行速度。现举例来说明。在一定的工艺技术条件下,如果一个微电脑芯片执行一条指令所需的平均时间为1μs,若不采用流水线结构,则其执行速度为平均1条指令/1μs;若采用4阶段的流水线结构,则其执行速度为平均4条指令/1μs。现以4阶段流水线结构为例来说明精简指令集流水线结构微控制器的工作原理。
参考图1来说明精简指令集流水线结构微控制器的工作原理。
第一阶段,取指令阶段(IF阶段):程序计数器101提供一个地址P1给指令只读存储器102。指令只读存储器102将输出一条与此地址相对应的指令向量P2。该指令向量包括操作数或操作数地址、目标地址及操作控制码等。
第二阶段,读操作数阶段(RD阶段):指令向量P2经指令寄存器103延时一个时钟周期后通过该寄存器103的输出端103a传送给指令译码器105。该译码器105将输入的指令向量译码后输出各种微代码向量P7、P8、P9、P10、P11等。向量P7、P8分别为两个操作数的地址。根据这些操作数地址,从随机存取存储器(RAM)107中取出相应的操作数P13、P14,并输送到数据选择传递电路109的输入端。数据选择传递电路109根据来自数据相关判别电路108的控制向量P15,选择两个适当的操作数并通过其输出端P16、P17输送给数学逻辑单元111。
第三阶段,执行运算阶段(EX阶段):数学逻辑单元(ALU)111根据操作控制代码P18,对操作数P16、P17进行相应的操作运算,并将运算结果通过其输出端111a输送给写结果寄存器106。
第四阶段,写结果阶段(WR阶段):将存在写结果寄存器106中的运算结果通过其输出端106a写入到随机存取存储器(RAM)106。
上述四阶段流水线结构的操作可用下表一来观察。
在周期0,指令1在取指令阶段,此时指令1已被从指令存储器102中取出。在周期1,指令1移到读操作数阶段,根据指令1中规定的地址,读取操作数A,B;此时,指令2进入取指令阶段。在周期2,指令1进入执行阶段,将操作码提供给数学逻辑单元111并将执行规定的操作运算;指令2移到读操作数阶段;指令3进入取指令阶段。最后,在周期3,指令1进入写结果阶段,将数学逻辑单元111的运算结果写入到目标地址规定的存储单元中。
表一
    周期     取指令阶段   读操作数阶段   执行阶段   写结果阶段
    0     指令1
    1     指令2   指令1
    2     指令3   指令2   指令1
    3     指令4   指令3   指令2   指令1
    4     指令5   指令4   指令3   指令2
从上述流水线图表中,可以看到,指令2与3中的操作数正在或已被读取时,指令1的结果被写入到存储单元中。如果指令2与3在读操作数或执行指令的阶段需要用指令1的运算结果,那么指令1的运算结果就必须被提前传递到数学逻辑单元111的输入端,否则,就会发生“数据灾难”(DATAHAZARD)或得到错误的结果。例如,若指令2要用指令1的结果,那么在周期3,指令1的结果在被写入存储器的同时必须被向前转送到指令2的执行阶段。(这种数据转送是通过下列方法来实现的:将读操作数阶段和执行阶段的操作数地址或位置与写结果阶段的目标地址或位置进行比较,并用一组多路选择开关将适当的操作数据传递给数学逻辑单元111。)
考虑下列程序片段:
SUB A,B,C    ---- A-B,结果存放到C
ADD D,C,F    ---- D+C,结果存放到F
指令X
指令Y
上述程序片段的执行次序可用表二流水线图表来表示。
表二
    周期   取指令阶段   读操作数阶段   执行阶段  写结果阶段
    0   SUB A,B,C
    1   ADD D,C,F   SUB A,B,C
    2   指令X   ADD D,C,F   SUB A,B,C
    3   指令Y   指令X   ADD D,C,F  SUB A,B,C
在周期3中,A-B的结果被写入C。可是在执行阶段,C却被用来计算D+C。因此,正常的读操作数路径必须被绕开,并必须将写结果阶段中的C值转递到执行阶段的数学逻辑单元的输入端。否则,就得不到预期的结果。
在复杂指令集微控制器中,由于相邻指令的执行在时间上是互不重叠的,即在当前这条指令执行完毕之后,下一条指令才被从指令存储器中取出并开始执行。但在精简指令集流水线结构微控制器中,由于相邻指令的执行在时间上是相互重叠的,如果某一条指令的操作数是相邻前一条或二条指令的执行结果(这种情况称为数据相关),那么就必须将这一个结果向前传递到执行阶段;否则,就会发生所谓的“数据灾难”(Data Hazard),也就不可能得到期望的运算结果。为了实现各阶段之间数据的正确传递,需要将读操作数阶段的指令和执行阶段的指令中的操作数地址与写结果阶段的指令中的目标地址进行比较;然后用比较的结果所产生的信号来控制一组多路选择开关,从而将适当的操作数传送到数学逻辑单元的数据输入口。为了准确无误地实现这种数据传递,就必须要用数据相关判别电路来判别相邻指令是否具有数据相关性。
目前,在普通的精简指令集流水线结构的控制器中所用的数据相关判别电路中,需要用4个地址比较器再加上其它逻辑组合及时序电路。
本发明提出了一种新的指令数据相关判别电路,在该电路中,只用了2个地址比较器,其余部分的电路也比过去的技术简单。
本发明的目的在于简化电路,提高可靠性,并缩小芯片面积,降低生产成本。本发明设计的4阶段流水线结构微控制器中数据相关判别电路仅采用2个地址比较器,而过去的技术需要用4个地址比较器。
从以下对本发明更详细的描述并结合附图将使本发明的目的、特征和优点变得更加明显起来,其中:
图1是说明已有技术的精简指令集流水线结构微控制器的工作原理的图。
图2是依据本发明的一个实施实例的流水线结构微控制器的数据相关判别及选择传递电路的方框图。
图3是说明使用依据本发明的精简指令集流水线结构微控制器的工作原理图。
本发明提出了一种新的应用于流水线结构微控制器或中央处理器的数据相关判别及选择传递电路。
本发明提供了一种新的精简指令集流水线结构的微控制器,该微控制器包括一数据相关判别电路和一数据选择传递电路,其中述数据相关判别电路包括第一和第二地址比较器(COM1,COM2),第一地址比较器用于把所述微控制器的读操作数阶段的指令中的操作数地址与执行阶段的指令中的目标地址进行比较,第二地址比较器用于把微控制器的读操作数阶段的指令中的操作数地址与写结果阶段的指令中的操作数地址进行比较。数据选择传递电路用于根据所述数据相关判别电路的判决结果把来自所述微控制器中的累加器、随机存取存储器、指令译码器、写结果寄存器和数学逻辑单元的数据信号选择性地输出到数学逻辑单元(ALU)的A口和B口。
本发明所述数据相关判别电路,实现了四种数据相关的判别选择功能。功能1:当读操作数阶段的指令指示从随机存取存储器(RAM)读操作数,执行阶段的指令指示写结果到RAM,并且所述第一地址比较器(COM1)指示RAM地址相同时,则执行阶段指令的运算结果将被传送到ALU的B口;功能2:当读操作数阶段的指令指示从RAM读操作数,写结果阶段的指令指示写结果到RAM,并且所述第二地址比较器指示RAM地址相同时,则写结果阶段指令的运算结果将被传送到ALU的B口;功能3:当读操作数阶段的指令指示从累加器读操作数,并且执行阶段的指令指示写结果到累加器时,则执行阶段指令的运算结果将被传送到ALU的A口;当读操作数阶段的指令指示从累加器读操作数,并且写结果阶段的指令指示写结果到累加器时,则写结果阶段指令的运算结果将被传送到ALU的A口。
本发明所涉及的微控制器的指令长度定义利用三个指令定义区域,其中用同一指令定义区域来规定立即数、操作数地址或目标地址,用另一指令定义区域来规定不同操作运算的操作码,以及用还有一个指令定义区域来规定用于识别指令中的操作数地址或位置及目标地址或位置从而控制精简指令集流水线结构中流水线各阶段之间的数据传递的识别控制码。
例如,一种指令长度为17位,包括:作为识别指令中操作数地址或位置及目标地址或位置从而控制所述精简指令集流水线结构中流水线各阶段之间的数据数据传递的识别控制码的三位;规定不同操作运算的操作码的六位;以及作为为指令所执行的立即数、操作数地址或目标地址的八位。
例如,对于数学逻辑或循环移位运算,指令中的最低8位(第0位到第7位)表示立即数、操作数地址或目标地址;第8位到第13位表示操作码;第14位到第16位用来识别指令中操作数位置及目标位置。当第16位为‘1’时,表示有一个操作数从累加器中读出;当第16位为‘0’时,表示无操作数来自累加器。当第15位为‘1’时,表示有一个操作数从RAM中读取,当第15位为‘0’时,表示无操作数从RAM中读取。当第14位为‘1’时,表示目标是在RAM单元中,当第14位为‘0’时,表示写结果的目标是累加器。当然,其它形式的指令定义方案对本领域内的技术人员来说也是明显的,但为了清楚,以如上的指令定义方案为例来描述本发明,不应把此作为对本发明的限制。
本发明的技术方案可用图2来说明。参考图2,数据相关判别电路的各路输入信号分别为处于RD阶段的指令的最高三位(第14位到第16位)[图2中的n1(或i16)、n5(或i15)、n3(或i14)],最低8位(第0位到第7位)[即图2中的n7或i(7:0)],时钟信号n4(或clk)及控制信号n2(或e_alu)、n6(或w_alu)。信号e_alu、w_alu分别代表EX阶段及WR阶段指令的操作类别。例如,当e_alu或w_alu为‘1’时,则表示相应指令执行的是数学、逻辑或循环移位操作;否则,表示相应指令执行的是其它操作(如跳转控制等)。
如图2所示,所述数据相关判别电路包括第一到第四寄存器(REG1,REG2,REG3,REG4)、第一和第二比较器(COM1、COM2)、第一到第四与门(AND1,AND2,AND3,AND4),所述数据选择传递电路包括第一到第六多路选择器(MUX1,MUX2,MUX3,MUX4,MUX5,MUX6)及第一和第二或门(11,18)。其中:第一与门的输出,连接到第三与门的输入;第一寄存器的反向输出,连接到第一与门的输入;第一寄存器的输出,连接到第三寄存的输入;第三寄存器的反相输出,连接到第三与门的的输入;第一与门和第三与门的输出;连接到第一或门的输入;第一与门的输出,连接到MUX1的控制端;MUX1的输入,分别连接来自写结果阶段和执行阶段的输入数据;MUX2的输入,连接来自累加器和RAM的输入数据;MUX5的输入,连接MUX1和MUX2的输出,输出,连接到ALU的A口;第一地址比较器的输入A,连接来自指令译码的地址信号,输入B,连接第二寄存器的输出;第二寄存的输出,连接第四寄存器的输入;第二地址比较器的输入B,连接第四寄存的输出,输入A,连接连接来自指令译码的地址信号。第一地址比较器的输出,连接第二与门的输入;第二地址比较器的输出,连接第四与门的输入;第二或门的输入,连接第二和第四与门的输出。MUX3的控制端,连接第二与门的输出,输入端,分别连接来自执行阶段和写结果阶段的数据;MUX4的输入,分别连接来自RAM的读操作数和译码器的立即数;MUX6的控制端,连接来第二或门的输出,输入端,连接来自MUX3和MUX4的输出,输出端,连接ALU的B口。
图2所示数据相关判别电路的包括如下输入信号:区分读操作数阶段的指令写结果到随机存储器还是累加器的译码信号(n3);来自读操作数阶段的操作数地址信号(n7);指示读操作数阶段的指令从随机存取存储器读操作数的译码信号(n5);指示读操作数阶段的指令读累加器的译码信号(n1);指示执行阶段的操作类别的控制信号(n2);指示写结果阶段的操作类别的控制信号(n6)。
图2所示数据相关判别电路的信号连接关系如下:所述第一寄存器(REG1)的输入端连接所述译码信号(n3),输出端连接执行阶段的指令的译码信号(n9);所述第三寄存器(REG3)的输入连接所述执行阶段译码信号(n9),输出端连接写结果阶段的指令的译码信号(n15);所述第二寄存器(REG2)的输入端连接所述地址信号(n7),输出端连接执行阶段的指令的地址信号(n11);所述第四寄存器(REG2)的输入端连接所述执行阶段地址信号(n11),输出端连接写结果阶段的指令的地址信号(n17);所述第一地址比较器的输入端分别连接所述地址信号(n7)和(n11),输出比较结果信号(n10);所述第二地址比较器的输入端分别连接所述地址信号(n7)和(n17),输出比较结果信号(n16);所述第一与门(AND1)的输入端分别连接所述信号n1、n2和所述REG1的反相输出(n8),输出端连接判决结果信号n12;所述第二与门的输入端分别连接所述信号n9、n5和n10,输出端连接判决结果信号n13;所述第三与门的输入端分别连接所述信号n1、n6和所述REG3的反相输出(n14),输出端连接判决结果信号n18;所述第四与门的输入端分别连接所述信号n5、n16、n15,输出端连接判决结果信号n28。
图2所示数据选择传递电路包括如下输入信号:所述判决结果信号n12、n18、n13、n28;分别来自累加器、随机存取存储器、指令译码器、写结果寄存器和数学逻辑单元的被选择的输入数据(n22、n21、n23、n19、n20)。
图2所示数据选择传递电路的信号连接关系如下:所述第一或门(11)的输入端连接所述判决信号n12和n18,输出控制信号n25;所述第二或门(18)的输入端连接所述判决信号n13和n28,输出控制信号n29;所述第一多路选择器(MUX1)的控制端连接所述判决信号(n12),输入端连接所述输入数据n19和n20;所述第二多路选择器(MUX2)的控制端连接所述译码信号(n1),输入端连接所述输入数据n21和n22;所述第三多路选择器(MUX3)的控制端连接所述判决信号(n13),输入端连接所述输入数据n19和n20;所述第四多路选择器(MUX4)的控制端连接所述译码信号(n5),输入端连接所述输入数据n23和n21;所述第五多路选择器(MUX5)的控制端连接所述控制信号(n25),输入端连接所述MUX1的输出数据(n24)和所述MUX2的输出数据(n26),输出端连接到所述数学逻辑单元(ALU211)的A口;所述第六多路选择器(MUX6)的控制端连接所述控制信号(n29),输入端连接所述MUX3的输出数据(n30)和所述MUX4的输出数据(n31),输出端连接到所述数学逻辑单元(ALU211)的B口。
分析图2所示电路,信号i14经寄存器REG1,延时一个时钟周期后输出信号n9及其反向信号n8;n9经寄存器REG3再延迟一个时钟周期后输出n15及反向信号n14。在数据选择传递电路209中,输入信号n19到n23分别为5个不同阶段、不同来源的数据:n19为写结果阶段的运算结果w_result;n20为执行阶段的运算结果e_result;n21为来自RAM的数据;n22为来自累加器的数据;n23立即数。
根据前面关于i14、i15、i16的定义及流水线结构微控制器工作原理的叙述并结合图2,可以知道,当n8=‘1’时,表示EX阶段的写结果目标为累加器,当n14=‘1’时,表示WR阶段的写结果目标为累加器。当n1、n2、n8同时都等于‘1’时,则与门AND1的输出n12=‘1’;这表明RD阶段指令的来自累加器的操作数是EX阶段指令的运算结果,故必须将此运算结果提前传递给ALU211和A口,否则将得出错误的结果。n12连接到多路选择器MUX1的控制端。因此时n12=‘1’,故EX阶段的运算结果n20(e_result)被传送到MUX1的输出端n24。因为n12=‘1’时,n25也等于‘1’,故e_result进而被传送到MUX5的输出端n27。而n27将被传送到ALU211的A口。同理,当n1、n6、n14同时为‘1’时,与门AND3的输出n18=‘1’,这表示RD阶段指令的来自累加器的操作数是WR阶段指令的运算结果。此时,如果n12=‘0’,则WR阶段指令的运算结果n19(w_result)将被传送到ALU的A口。如果n12、n18同时等于‘1’,那么只有e_result被传送到ALU211的A口。这从图2所示的电路是很容易看出的。
继续参考图2,RD阶段指令中的地址n7(这里及以下所说的地址可以是操作数的地址,也可以是目标地址),与EX阶段指令中的地址n11输入到地址比较器COM1。此时,如果n2(即e_alu)为‘1’,则COM1将对上述两个地址进行比较,如果这两个地址相同,则比较器的输出n10=‘1’,否则n10=‘0’。
当n9=‘1’时,表示EX阶段指令的写结果目标为某一RAM单元。与此类似,当n15=‘1’时,表示WR阶段指令的写结果目标为某一RAM单元。当n9、n5、n10同时都为‘1’时,则n13=‘1’,这表明RD阶段指令中的来自RAM单元的操作数是EX阶段指令的运算结果。故必须将此结果提前传送到ALU211的B口,否则,将会产生“数据灾难”(Data Hazard),从而得到错误的结果。
当n13=‘1’时,多路选择器MUX3将e_result传送到输出端n30。因此时n29也等于‘1’,多路选择器MUX6选则n30,故e_result进而被传送到其输出端n32并被送到ALU211的B口。同理,如果n15、n5、n16同时等于‘1’,则n28=‘1’,这表明RD阶段指令中的来自RAM单元的操作数是WR阶段指令中的运算结果。此时,如果n13=‘0’,则w_result将被传送到ALU211的B口。如果n13、n28同时等于‘1’,那么只有e_result被传送到ALU211的B口。
如上所述,本发明与背景技术相比所具有的有益效果在于具有下列优点:电路更加简单,因而更加可靠;采用本发明的精简指令集流水线结构微控制器的芯片面积将相应缩小,因而成本也将随之降低。
现参考图3来说明在精简指令集流水线结构微控制器中应用本发明的实现方式。
(1)取指令阶段(时钟周期0):程序计数器201根据控制单元204输出的控制信号Q3,输出指令地址Q1。指令存储器202根据地址Q1输出对应的指令向量Q2(指令长度为17位)。
(2)读操作数阶段(时钟周期1):指令向量Q2经指令寄存器203延时一个时钟周期后通过该指令寄存器的输出端203a传送给指令译码器205。该指令译码器205将输入的指令向量译码后输出各种不同的微代码向量Q7、Q9、Q10、Q11。数据相关判别电路208根据来自指令译码器205的各种微代码向量,来判别在指令流水线中各阶段的数据的相关性,并据此输出数据选择传递控制代码向量Q15。数据选择传递电路209,根据控制代码向量Q15,从下列5个不同阶段、不同来源的数据中选出2个适当的数据并分别传递给数学逻辑单元ALU211的A口与B口。
a.数学逻辑单元211的在其输出端211a处运算结果输出;
b.累加器212的输出Q13;
c.写结果寄存器206的数据输出Q14;
d.随机存取存储器207的数据输出Q14;
e.指令译码器205的输出向量Q9(立即数)。
(3)执行阶段:ALU211根据操作控制码向量Q18对输入操作数Q16、Q17进行相应的运算,并从其输出端211a把运算结果输送给写结果寄存器206。
(4)写结果阶段:将存在写结果寄存器206中的运算结果通过其输出端206a写入随机存取存储器207或累加器212中。
以下是本发明的两个具体实施例子。
例一,请考虑下列2条指令:
      ADD A,X
     SUB[m1],A
第一条指令所执行的运算是将立即数X与累加器A中的数据相加,并将结果存于A中。第二条指令所执行的操作是以m1为地址的RAM单元中的数据与累加器A中的数据相减,并将结果存于以m1为地址的RAM单元中。在此实例中,由于第2条指令中的操作数(即累加器中的数据)是第一条指令的运算结果,所以这两条指令之间存在着数据相关性。于是,当第二条指令处于读操作数阶段时,数据相关判别电路208将据此而输出一个相应的数据选择控制代码Q15,此代码驱使数据选择传递电路209将其输入端211a处第一条指令的运算结果作为Q16直接前递(forwarding)给数学逻辑单元211的A口。
例二,请考虑下列三条指令:
      ADD [m1],A
      INC [m2]
      SUB A,[m1]
第一条指令执行的是以m1为地址的RAM单元中的数据与累加器中的数据相加并将结果存在以m1为地址的RAM单元中。第二条指令执行的是以m2为地址的RAM单元中的数据加1并将结果存在以m2为地址的RAM单元中。第三条指令所执行的是累加器中的数据与以m1为地址的RAM单元中的数据相减,并将结果存在累加器中。在此实例中,第一条指令与第二条指令无数据相关性,第二条指令与第三条指令也无数据相关性。但第一条指令与第三条指令存在着数据相关性。第三条指令的操作数[m1](即以m1为地址的RAM单元中的数据)是第一条指令的运算结果。当第三条指令处于读操作数阶段时,第一条指令处于写结果阶段,但此时其运算结果尚未写入以m1为地址的RAM单元中。于是,在第一条指令处于读操作数阶段时,数据相关判别电路208输出一个相应的数据选择控制代码Q15,此代码驱使数据选择传递电路209将其输入端206a处第一条指令的运算结果作为Q17传送到ALU211的B口。
上述例子仅是本发明的特定实例,决不能视为对本发明的限制。

Claims (9)

1.一种精简指令集流水线结构的微控制器,其特征在于所述微控制器包括一数据相关判别电路和一数据选择传递电路,
所述数据相关判别电路包括第一和第二地址比较器(COM1,COM2),所述第一地址比较器用于把所述微控制器的读操作数阶段的指令中的操作数地址与执行阶段的指令中的目标地址进行比较,所述第二地址比较器用于把所述微控制器的读操作数阶段的指令中的操作数地址与写结果阶段的指令中的操作数地址进行比较;
所述数据选择传递电路用于根据所述数据相关判别电路的判决结果把来自所述微控制器中的累加器、随机存取存储器、指令译码器、写结果寄存器和数学逻辑单元的数据信号选择性地输出到数学逻辑单元(ALU)的A口和B口,
在所述数据相关判别电路中,实现了四种数据相关的判别选择功能,功能1:当读操作数阶段的指令指示从随机存取存储器(RAM)读操作数,执行阶段的指令指示写结果到RAM,并且所述第一地址比较器(COM1)指示RAM地址相同时,则表明执行阶段的指令和读操作数据阶段的指令发生数据相关,执行阶段指令的运算结果将被传送到ALU的B口;功能2:当读操作数阶段的指令指示从RAM读操作数,写结果阶段的指令指示写结果到RAM,并且所述第二地址比较器指示RAM地址相同时,则表明写结果阶段的指令和读操作数据阶段的指令发生数据相关,此时如果执行阶段的指令没有发生相关,则写结果阶段指令的运算结果将被传送到ALU的B口;功能3:当读操作数阶段的指令指示从累加器读操作数,并且执行阶段的指令指示写结果到累加器时,则表明执行阶段的指令和读操作数据阶段的指令发生数据相关,执行阶段指令的运算结果将被传送到ALU的A口;功能4:当读操作数阶段的指令指示从累加器读操作数,并且写结果阶段的指令指示写结果到累加器时,则表明写结果阶段的指令和读操作数据阶段的指令发生数据相关,此时如果执行阶段的指令不发生数据相关,则写结果阶段指令的运算结果将被传送到ALU的A口。
2.如权利要求1所述的精简指令集流水线结构的微控制器,其特征在于所述微控制器使用一种利用三个指令定义区域的指令,其中一指令定义区域为立即数、操作数地址或目标地址,另一指令定义区域为不同操作运算的操作码,还有一个指令定义区域为用于识别指令中的操作数地址或位置及目标地址或位置从而控制精简指令集流水线结构中流水线各阶段之间的数据传递的识别控制码。
3.如权利要求1所述的精简指令集流水线结构的微控制器,其特征在于所述三个指令定义区域总共为17位,包括:作为识别指令中操作数地址或位置及目标地址或位置从而控制所述精简指令集流水线结构中流水线各阶段之间的数据数据传递的识别控制码的三位;规定不同操作运算的操作码的六位;以及作为为指令所执行的立即数、操作数地址或目标地址的八位。
4.如权利要求3所述的精简指令集流水线结构的微控制器,其特征在于所述三位为所述指令的最高三位,所述六位为所述指令的次高六位,所述八位为所述指令的最低八位。
5.如权利要求4所述的精简指令集流水线结构的微控制器,其特征在于所述三位的值分别表示是否有一操作数来自所述累加器、是否有一操作数来自所述RAM以及写结果的目标是所述累加器还是所述RAM。
6.如权利要求5所述的精简指令集流水线结构的微控制器,其特征在于所述三位中的最高位表示是否有一操作数来自累加器,所述三位中的次高位表示是否有一操作数来自RAM,所述三位中的最低位表示写结果的目标是累加器还是RAM。
7.如权利要求6所述的精简指令集流水线结构的微控制器,其特征在于如果所述三位中的最高位为‘1’,则表示有一操作数来自累加器,如果为‘0’,则表示没有操作数来自累加器;如果所述三位中的次高位为‘1’,表示有一操作数来自RAM,如果为‘0’,则表示没有操作数来自RAM;如果所述三位中的最低位为‘1’,则表示写结果的目标是RAM,如果为‘0’,则表示写结果的目标为累加器。
8.如权利要求6所述的精简指令集流水线结构的微控制器,其特征在于如果所述三位中的最高位为‘0’,则表示有一操作数来自累加器,如果为‘1’,则表示没有操作数来自累加器;如果所述三位中的次高位为‘0’,表示有一操作数来自RAM,如果为‘1’,则表示没有操作数来自RAM;如果所述三位中的最低位为‘0’,则表示写结果的目标是RAM,如果为‘1’,则表示写结果的目标为累加器。
9.如权利要求6到8中任一项所述的精简指令集流水线结构的微控制器,其特征在于所述数据相关判别电路包括第一到第四寄存器(REG1,REG2,REG3,REG4)、第一和第二比较器(COM1、COM2)、第一到第四与门(AND1,AND2,AND3,AND4),所述数据选择传递电路包括第一到第六多路选择器(MUX1,MUX2,MUX3,MUX4,MUX5,MUX6)及第一和第二或门(11,18)。
所述数据相关判别电路和数据选择传递电路的特征包括如下连接关系:第一与门的输出,连接到第三与门的输入;第一寄存器的反向输出,连接到第一与门的输入;第一寄存器的输出,连接到第三寄存的输入;第三寄存器的反相输出,连接到第三与门的的输入;第一与门和第三与门的输出;连接到第一或门的输入;第一与门的输出,连接到MUX1的控制端;MUX1的输入,分别连接来自写结果阶段和执行阶段的输入数据;MUX2的输入,连接来自累加器和RAM的输入数据;MUX5的输入,连接MUX1和MUX2的输出,输出,连接到ALU的A口;第一地址比较器的输入A,连接来自指令译码的地址信号,输入B,连接第二寄存器的输出;第二寄存的输出,连接第四寄存器的输入;第二地址比较器的输入B,连接第四寄存的输出,输入A,连接连接来自指令译码的地址信号。第一地址比较器的输出,连接第二与门的输入;第二地址比较器的输出,连接第四与门的输入;第二或门的输入,连接第二和第四与门的输出。MUX3的控制端,连接第二与门的输出,输入端,分别连接来自执行阶段和写结果阶段的数据;MUX4的输入,分别连接来自RAM的读操作数和译码器的立即数;MUX6的控制端,连接来第二或门的输出,输入端,连接来自MUX3和MUX4的输出,输出端,连接ALU的B口。
CNB991242432A 1999-12-13 1999-12-13 中央处理器或微控制器的数据相关判别及选择传递电路 Expired - Fee Related CN1148648C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB991242432A CN1148648C (zh) 1999-12-13 1999-12-13 中央处理器或微控制器的数据相关判别及选择传递电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB991242432A CN1148648C (zh) 1999-12-13 1999-12-13 中央处理器或微控制器的数据相关判别及选择传递电路

Publications (2)

Publication Number Publication Date
CN1300005A CN1300005A (zh) 2001-06-20
CN1148648C true CN1148648C (zh) 2004-05-05

Family

ID=5283327

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991242432A Expired - Fee Related CN1148648C (zh) 1999-12-13 1999-12-13 中央处理器或微控制器的数据相关判别及选择传递电路

Country Status (1)

Country Link
CN (1) CN1148648C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221494B (zh) * 2005-08-31 2010-12-29 上海海尔集成电路有限公司 一种8位risc微控制器构架
CN103726274B (zh) * 2013-12-24 2016-07-06 杨海涛 一种洗衣机

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1484667A1 (en) * 2003-06-05 2004-12-08 Deutsche Thomson-Brandt Gmbh Method for fast verification of sector addresses
CN100368990C (zh) * 2005-12-02 2008-02-13 浙江大学 利用定时器控制异步计算的指令的方法
CN101833490B (zh) * 2010-03-31 2012-05-30 卡斯柯信号有限公司 基于软硬件相异性的二取二安全平台的信息处理方法
CN103235716B (zh) * 2013-04-19 2016-03-02 中国科学院自动化研究所 一种用于检测流水线数据相关的装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221494B (zh) * 2005-08-31 2010-12-29 上海海尔集成电路有限公司 一种8位risc微控制器构架
CN103726274B (zh) * 2013-12-24 2016-07-06 杨海涛 一种洗衣机

Also Published As

Publication number Publication date
CN1300005A (zh) 2001-06-20

Similar Documents

Publication Publication Date Title
US6711667B1 (en) Microprocessor configured to translate instructions from one instruction set to another, and to store the translated instructions
JP3662258B2 (ja) X86・dspコアを有しかつx86命令をdsp命令へマッピングするdspファンクションデコーダを備える中央処理装置
EP0803091B1 (en) Computer system
US5892934A (en) Microprocessor configured to detect a branch to a DSP routine and to direct a DSP to execute said routine
US5771362A (en) Processor having a bus interconnect which is dynamically reconfigurable in response to an instruction field
JPS6341932A (ja) 分岐命令処理装置
WO2002050668A2 (en) System and method for multiple store buffer forwarding
WO1997030395A1 (fr) Memoire a acces multiples et processeur de donnees procurant l'acces a cette memoire
JP2620511B2 (ja) データ・プロセッサ
US5819067A (en) Computer system configured to translate a computer program into a second computer program prior to executing the computer program
CN1148648C (zh) 中央处理器或微控制器的数据相关判别及选择传递电路
US5335330A (en) Information processing apparatus with optimization programming
JPS63259727A (ja) コプロセツサのインタ−フエイス方式
JPH01177127A (ja) 情報処理装置
US6889314B2 (en) Method and apparatus for fast dependency coordinate matching
US5408620A (en) Circuit for executing conditional branch instructions in pipeline process
JP2001216159A5 (zh)
US6654874B1 (en) Microcomputer systems having compressed instruction processing capability and methods of operating same
US5504870A (en) Branch prediction device enabling simultaneous access to a content-addressed memory for retrieval and registration
JPH04260957A (ja) コンピュータ・システム
TW201810034A (zh) 用於累和的系統、設備及方法
US5860155A (en) Instruction decoding mechanism for reducing execution time by earlier detection and replacement of indirect addresses with direct addresses
CN1664775A (zh) 一种数字信号处理器中数据旁路技术
US6393452B1 (en) Method and apparatus for performing load bypasses in a floating-point unit
CN109960486B (zh) 二进制数据处理方法及其装置、介质和系统

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: SUZHOU HUAXIN MICROTRONICS A/S

Free format text: FORMER OWNER: HANGZHOU HUASHENG MICROELECTRONICS CO., LTD.

Effective date: 20030709

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20030709

Address after: 3, building 125, block A, Binhe Road, Suzhou New District, Jiangsu, 215011

Applicant after: Suzhou HuaXin Micro-electronics Co., Ltd.

Address before: 805 room 385, No. 310012, Wen two road, Zhejiang, Hangzhou

Applicant before: Hangzhou Huasheng Microelectronics Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: SUZHOU CHINA-CHIP MICROELECTRONICS CO., LTD.

Free format text: FORMER NAME: SUZHOU HUAXIN MICRO-ELECTRONICS CO., LTD.

CP03 Change of name, title or address

Address after: 215009 No. 198 Xiangyang Road, hi tech Zone, Jiangsu, Suzhou

Patentee after: Suzhou Huaxin Microelectronics Co., Ltd.

Address before: 3, building 125, block A, Binhe Road, Suzhou New District, Jiangsu, 215011

Patentee before: Suzhou HuaXin Micro-electronics Co., Ltd.

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040505

Termination date: 20111213