两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

中央處理器或微控制器的數(shù)據(jù)相關(guān)判別及選擇傳遞電路的制作方法

文檔序號(hào):6417339閱讀:164來源:國(guó)知局
專利名稱:中央處理器或微控制器的數(shù)據(jù)相關(guān)判別及選擇傳遞電路的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及精簡(jiǎn)指令集流水線結(jié)構(gòu)的中央處理器(CPU)或微控制器(MCU),尤其涉及微控制器中的數(shù)據(jù)相關(guān)判別及選擇傳遞電路。
在現(xiàn)代微電腦芯片設(shè)計(jì)中,精簡(jiǎn)指令集流水線結(jié)構(gòu)越來越流行,采用流水線結(jié)構(gòu)的目的是提高執(zhí)行速度。現(xiàn)舉例來說明。在一定的工藝技術(shù)條件下,如果一個(gè)微電腦芯片執(zhí)行一條指令所需的平均時(shí)間為1μs,若不采用流水線結(jié)構(gòu),則其執(zhí)行速度為平均1條指令/1μs;若采用4階段的流水線結(jié)構(gòu),則其執(zhí)行速度為平均4條指令/1μs?,F(xiàn)以4階段流水線結(jié)構(gòu)為例來說明精簡(jiǎn)指令集流水線結(jié)構(gòu)微控制器的工作原理。
參考

圖1來說明精簡(jiǎn)指令集流水線結(jié)構(gòu)微控制器的工作原理。
第一階段,取指令階段(IF階段)程序計(jì)數(shù)器101提供一個(gè)地址P1給指令只讀存儲(chǔ)器102。指令只讀存儲(chǔ)器102將輸出一條與此地址相對(duì)應(yīng)的指令向量P2。該指令向量包括操作數(shù)或操作數(shù)地址、目標(biāo)地址及操作控制碼等。
第二階段,讀操作數(shù)階段(RD階段)指令向量P2經(jīng)指令寄存器103延時(shí)一個(gè)時(shí)鐘周期后通過該寄存器103的輸出端103a傳送給指令譯碼器105。該譯碼器105將輸入的指令向量譯碼后輸出各種微代碼向量P7、P8、P9、P10、P11等。向量P7、P8分別為兩個(gè)操作數(shù)的地址。根據(jù)這些操作數(shù)地址,從隨機(jī)存取存儲(chǔ)器(RAM)107中取出相應(yīng)的操作數(shù)P13、P14,并輸送到數(shù)據(jù)選擇傳遞電路109的輸入端。數(shù)據(jù)選擇傳遞電路109根據(jù)來自數(shù)據(jù)相關(guān)判別電路108的控制向量P15,選擇兩個(gè)適當(dāng)?shù)牟僮鲾?shù)并通過其輸出端P16、P17輸送給數(shù)學(xué)邏輯單元111。
第三階段,執(zhí)行運(yùn)算階段(EX階段)數(shù)學(xué)邏輯單元(ALU)111根據(jù)操作控制代碼P11,對(duì)操作數(shù)P16、P17進(jìn)行相應(yīng)的操作運(yùn)算,并將運(yùn)算結(jié)果通過其輸出端111a輸送給寫結(jié)果寄存器106。
第四階段,寫結(jié)果階段(WR階段)將存在寫結(jié)果寄存器106中的運(yùn)算結(jié)果通過其輸出端106a寫入到RAM107中。
上述四階段流水線結(jié)構(gòu)的操作可用下表一來觀察。
在周期0,指令1在取指令階段,此時(shí)指令1已從指令存儲(chǔ)器102中取出。在周期1,指令1移到讀操作數(shù)階段,根據(jù)指令1中規(guī)定的地址,讀取操作數(shù)A、B。此時(shí),指令2進(jìn)入取指令階段。在周期2,指令1進(jìn)入執(zhí)行階段,將操作碼提供給數(shù)學(xué)邏輯單元111并將執(zhí)行規(guī)定的操作運(yùn)算;指令2移到讀操作數(shù)階段,指令3進(jìn)入取指令階段。最后,在周期3,指令1進(jìn)入寫結(jié)果階段,將數(shù)學(xué)邏輯單元111的運(yùn)算結(jié)果寫入到目標(biāo)地址規(guī)定的存儲(chǔ)單元中。
表一
從上述流水線圖表中,可以看到,指令2與3中的操作數(shù)正在或已被讀取時(shí),指令1的結(jié)果被寫入到存儲(chǔ)單元中。如果指令2與3在讀操作數(shù)或執(zhí)行指令的階段需要用指令1的運(yùn)算結(jié)果,那么指令1的運(yùn)算結(jié)果就必須被提前傳遞到數(shù)學(xué)邏輯單元111的輸入端,否則,就會(huì)發(fā)生“數(shù)據(jù)災(zāi)難”(DATAHAZARD)或得到錯(cuò)誤的結(jié)果。例如,若指令2要用指令1的結(jié)果,那么在周期3,指令1的結(jié)果在被寫入存儲(chǔ)器的同時(shí)必須被向前轉(zhuǎn)送到指令2的執(zhí)行階段。(這種數(shù)據(jù)轉(zhuǎn)送是通過下列方法來實(shí)現(xiàn)的將讀操作數(shù)階段和執(zhí)行階段的操作數(shù)地址或位置與寫結(jié)果階段的目標(biāo)地址或位置進(jìn)行比較,并用一組多路選擇開關(guān)將適當(dāng)?shù)牟僮鲾?shù)據(jù)傳遞給數(shù)學(xué)邏輯單元111。
考慮下列程序片段SUB A,B,C----A-B,結(jié)果存放到CADD D,C,F----D+C,結(jié)果存放到F指令X指令Y
上述程序片段的執(zhí)行次序可用下表二的流水線圖表來表示。
表二
在周期3中,A-B的結(jié)果被寫入C??墒窃趫?zhí)行階段,C卻被用來計(jì)算D+C。因此,正常的讀操作數(shù)路徑必須被繞開,并必須將寫結(jié)果階段中的C值傳遞到執(zhí)行階段的數(shù)學(xué)邏輯單元的輸入端。否則,就得不到預(yù)期的結(jié)果。
在復(fù)雜指令集微控制器中,由于相鄰指令的執(zhí)行在時(shí)間上是互不重疊的,即在當(dāng)前這條指令執(zhí)行完畢之后,下一條指令才被從指令存儲(chǔ)器中取出并開始執(zhí)行。但在精簡(jiǎn)指令集流水線結(jié)構(gòu)微控制器中,由于相鄰指令的執(zhí)行在時(shí)間上是相互重疊的,如果某一條指令的操作數(shù)是相鄰前一條或二條指令的執(zhí)行結(jié)果(這種情況稱為數(shù)據(jù)相關(guān)),那么就必須將這一個(gè)結(jié)果向前傳遞到執(zhí)行階段,否則,就會(huì)發(fā)生所謂的“數(shù)據(jù)災(zāi)難”(Data Hazard),也就不可能得到期望的運(yùn)算結(jié)果。為了實(shí)現(xiàn)各階段之間數(shù)據(jù)的正確傳遞,需要將讀操作數(shù)階段的指令和執(zhí)行階段的指令中的操作數(shù)地址與寫結(jié)果階段的指令中的目標(biāo)地址進(jìn)行比較;然后用比較的結(jié)果所產(chǎn)生的信號(hào)來控制一組多路選擇開關(guān),從而將適當(dāng)?shù)牟僮鲾?shù)傳送到數(shù)學(xué)邏輯單元的數(shù)據(jù)輸入口。為了準(zhǔn)確無誤地實(shí)現(xiàn)這種數(shù)據(jù)傳遞,就必須要用數(shù)據(jù)相關(guān)判別電路來判別相鄰指令是否具有數(shù)據(jù)相關(guān)性。
目前,在普通的精簡(jiǎn)指令集流水線結(jié)構(gòu)的控制器中所用的數(shù)據(jù)相關(guān)判別電路中,需要用4個(gè)地址比較器再加上其它邏輯組合及時(shí)序電路。
本發(fā)明提出了一種新的指令數(shù)據(jù)相關(guān)判別電路,在該電路中,只用了2個(gè)地址比較器,其余部分的電路也比過去的技術(shù)簡(jiǎn)單。
本發(fā)明的目的在于簡(jiǎn)化電路,提高可靠性,并縮小芯片面積,降低生產(chǎn)成本。本發(fā)明設(shè)計(jì)的4階段流水線結(jié)構(gòu)微控制器中數(shù)據(jù)相關(guān)判別電路僅采用2個(gè)地址比較器,而過去的技術(shù)需要用4個(gè)地址比較器。
從以下對(duì)本發(fā)明更詳細(xì)的描述并結(jié)合附圖將使本發(fā)明的目的、特征和優(yōu)點(diǎn)變得更加明顯起來,其中圖1是說明已有技術(shù)的精簡(jiǎn)指令集流水線結(jié)構(gòu)微控制器的工作原理的圖。
圖2是依據(jù)本發(fā)明的一個(gè)實(shí)施例的流水線結(jié)構(gòu)微控制器的數(shù)據(jù)相關(guān)判別及選擇傳遞電路的方框圖。
圖3是說明使用依據(jù)本發(fā)明的精簡(jiǎn)指令集流水線結(jié)構(gòu)微控制器的工作原理圖。
本發(fā)明提出了一種新的應(yīng)用于流水線結(jié)構(gòu)微控制器或中央處理器的數(shù)據(jù)相關(guān)判別及選擇傳遞電路。
本發(fā)明提供了一種新的精簡(jiǎn)指令集流水線結(jié)構(gòu)的微控制器,該微控制器包括一數(shù)據(jù)相關(guān)判別電路和一數(shù)據(jù)選擇傳遞電路,其中數(shù)據(jù)相關(guān)判別電路包括第一和第二地址比較器,第一地址比較器用于把微控制器的讀操作數(shù)階段的指令中的操作數(shù)地址與寫結(jié)果階段的指令中的目標(biāo)地址進(jìn)行比較,第二地址比較器用于把微控制器的執(zhí)行階段的指令中的操作數(shù)地址與寫結(jié)果階段的指令中的操作數(shù)地址進(jìn)行比較,數(shù)據(jù)選擇傳遞電路用于根據(jù)數(shù)據(jù)相關(guān)判別電路的比較結(jié)果把來自微控制器中的累加器、隨機(jī)存取存儲(chǔ)器、指令譯碼器、寫結(jié)果寄存器和數(shù)學(xué)邏輯單元的選擇性地輸出到數(shù)學(xué)邏輯單元。
本發(fā)明所涉及的微控制器的指令長(zhǎng)度定義利用三個(gè)指令定義區(qū)域,其中用同一指令定義區(qū)域來規(guī)定立即數(shù)、操作數(shù)地址或目標(biāo)地址,用另一指令定義區(qū)域來規(guī)定不同操作運(yùn)算的操作碼,以及用還有一個(gè)指令定義區(qū)域來規(guī)定用于識(shí)別指令中的操作數(shù)地址或位置及目標(biāo)地址或位置從而控制精簡(jiǎn)指令集流水線結(jié)構(gòu)中流水線各階段之間的數(shù)據(jù)傳遞的識(shí)別控制碼。
例如,一種指令長(zhǎng)度為17位,其中把指令中的三位作為識(shí)別指令中的操作數(shù)地址或位置及目標(biāo)地址或位置從而控制所述精簡(jiǎn)指令集流水線結(jié)構(gòu)中流水線各階段之間的數(shù)據(jù)傳遞的識(shí)別控制碼;把該指令中的八位作為指令所執(zhí)行的立即數(shù)、操作數(shù)地址或目標(biāo)地址;以及把該指令中的六位作為規(guī)定不同操作運(yùn)算的操作碼。
例如,對(duì)于數(shù)學(xué)邏輯或循環(huán)移位運(yùn)算,指令中的最低8位(第0位到第7位)表示立即數(shù)、操作數(shù)地址或目標(biāo)地址;第8位到第13位表示操作碼;第14位到第16位用來識(shí)別指令中操作數(shù)位置及目標(biāo)位置。當(dāng)?shù)?6位為‘1’時(shí),表示有一個(gè)操作數(shù)從累加器中讀出;當(dāng)?shù)?6位為‘0’時(shí),表示無操作數(shù)來自累加器。當(dāng)?shù)?5位為‘1’時(shí),表示有一個(gè)操作數(shù)從RAM中讀取,當(dāng)?shù)?5位為‘0’時(shí),表示無操作數(shù)從RAM中讀取。當(dāng)?shù)?4位為‘1’時(shí),表示目標(biāo)是在RAM單元中,當(dāng)?shù)?4位為‘0’時(shí),表示寫結(jié)果的目標(biāo)是累加器。當(dāng)然,其它形式的指令定義方案對(duì)本領(lǐng)域內(nèi)的技術(shù)人員來說也是明顯的,但為了清楚,以如上的指令定義方案為例來描述本發(fā)明,不應(yīng)把此作為對(duì)本發(fā)明的限制。
本發(fā)明的技術(shù)方案可用圖2來說明。參考圖2,數(shù)據(jù)相關(guān)判別電路的各路輸入信號(hào)分別為處于RD階段的指令的最高三位(第14位到第16位)[圖2中的n1(或i16)、n5(或i15)和n3(或i14)],最低8位(第0位到第7位)[即圖2中的n7或i(70)],時(shí)鐘信號(hào)n4(或clk)及控制信號(hào)n2(或e_alu)、n6(或w_alu)。信號(hào)e_alu、w_alu分別代表EX階段及WR階段指令的操作類別。例如,當(dāng)e_alu或w_alu為‘1’時(shí),表示相應(yīng)指令執(zhí)行的是數(shù)學(xué)、邏輯或循環(huán)移位操作;否則,表示相應(yīng)指令執(zhí)行的是其它操作(如跳轉(zhuǎn)控制等)。
信號(hào)i14經(jīng)寄存器REG1,延時(shí)一個(gè)時(shí)鐘周期后輸出信號(hào)n9及其反向信號(hào)n8;n9經(jīng)寄存器REG3再延遲一個(gè)時(shí)鐘周期后輸出n15及反向信號(hào)n14。在數(shù)據(jù)選擇傳遞電路209中,輸入信號(hào)n19到n23分別為5個(gè)不同階段、不同來源的數(shù)據(jù);n19為寫結(jié)果階段的運(yùn)算結(jié)果w_result;n20為執(zhí)行階段的運(yùn)算結(jié)果e_result;n21為來自RAM的數(shù)據(jù);n22為來自累加器的數(shù)據(jù);n23為立即數(shù)。
根據(jù)前面關(guān)于i14、i15、i16的定義及流水線結(jié)構(gòu)微控制器工作原理的敘述并結(jié)合圖2,可以知道,當(dāng)n8=‘1’時(shí),表示EX階段的寫結(jié)果目標(biāo)為累加器,當(dāng)n14=‘1’時(shí),表示W(wǎng)R階段的寫結(jié)果目標(biāo)為累加器。當(dāng)n1、n2、n8同時(shí)都等于‘1’時(shí),則與門AND1的輸出n12=‘1’;這表明RD階段指令的來自累加器的操作數(shù)是EX階段指令的運(yùn)算結(jié)果,故必須將此運(yùn)算結(jié)果提前傳遞給ALU 211的A口,否則將得出錯(cuò)誤的結(jié)果。n12連接到多路選擇器(MUX)1的控制端。因此時(shí)n12=‘1’,故EX階段的運(yùn)算結(jié)果n20(e_result)被傳送到MUX1的輸出端n24。因?yàn)閚12=‘1’時(shí),n25也等于‘1’,故e_result進(jìn)而被傳送到MUX 5的輸出端n27。而n27將被傳送到ALU 211的A口。同理,當(dāng)n1、n6、n14同時(shí)為‘1’時(shí),AND3的輸出n18=‘1’,這表示RD階段指令的來自累加器的操作數(shù)是WR階段指令的運(yùn)算結(jié)果。此時(shí),如果n12=‘0’,則WR階段指令的運(yùn)算結(jié)果n19(w_result)將被傳送到ALU211的A口。如果n12、n18同時(shí)等于‘1’,那么只有e_result被傳送到ALU211的A口。這從圖2所示的電路是很容易看出的。
繼續(xù)參考圖2,RD階段指令中的地址n7(這里及以下所說的地址可以是操作數(shù)的地址,也可以是目標(biāo)地址),與EX階段指令中的地址n11輸入到地址比較器COM1。此時(shí),如果n2(即e_alu)為‘1’,則COM1將對(duì)上述兩個(gè)地址進(jìn)行比較,如果這兩個(gè)地址相同,則比較器的輸出n10=‘1’,否則n10=‘0’。
當(dāng)n9=‘1’時(shí),表示EX階段指令的寫結(jié)果目標(biāo)為某一RAM單元。與此類似,當(dāng)n15=‘1’時(shí),表示W(wǎng)階段指令的寫結(jié)果目標(biāo)為某一RAM單元。當(dāng)n9、n5、n10同時(shí)都為‘1’時(shí),則n13=‘1’,這表明RD階段指令中的來自RAM單元的操作數(shù)是EX階段指令的運(yùn)算結(jié)果。故必須將此結(jié)果提前傳送到ALU211的B口,否則,將會(huì)產(chǎn)生“數(shù)據(jù)災(zāi)難”(Data Hazard),從而得到錯(cuò)誤的結(jié)果。
當(dāng)n13=‘1’時(shí),MUX3將e_result傳送到輸出端n30。因此時(shí)也等于‘1’,MUX 6選擇n30,故e_result進(jìn)而被送到其輸出端n32并被送到ALU 211的B口。同理,如果n15、n5、n16同時(shí)等于‘1’,則n28=‘1’,這表明RD階段指令中的來自RAM單元的操作數(shù)是WR階段指令中的運(yùn)算結(jié)果。此時(shí),如果n13=‘0’,則w_result將被傳送到ALU 211的B口。如果n13、n28同時(shí)等于‘1’,那么只有e_result被傳送到ALU 211的A口。
如上所述,本發(fā)明與背景技術(shù)相比所具有的有益效果在于具有下列優(yōu)點(diǎn)電路更加簡(jiǎn)單,因而更加可靠;采用本發(fā)明的精簡(jiǎn)指令集流水線結(jié)構(gòu)微控制器的芯片面積將相應(yīng)縮小,因而成本也將隨之降低。
現(xiàn)參考圖3來說明在精簡(jiǎn)指令集流水線結(jié)構(gòu)微控制器中應(yīng)用本發(fā)明的實(shí)現(xiàn)方式。
(1)取指令階段(時(shí)鐘周期0)程序計(jì)數(shù)器201根據(jù)控制單元204輸出的控制信號(hào)Q3,輸出指令地址Q1。指令存儲(chǔ)器202根據(jù)地址Q1輸出對(duì)應(yīng)的指令向量Q2(指令長(zhǎng)度為17位)。
(2)讀操作數(shù)階段(時(shí)鐘周期1)指令向量Q2經(jīng)指令寄存器203延時(shí)一個(gè)時(shí)鐘周期后通過該指令寄存器的輸出端203a傳送給指令譯碼器205。該指令譯碼器205將輸入的指令向量譯碼后輸出各種不同的微代碼向量Q7、Q9、Q10、Q11。數(shù)據(jù)相關(guān)判別電路208根據(jù)來自指令譯碼器205的各種微代碼向量,來判別在指令流水線中各階段的數(shù)據(jù)的相關(guān)性,并據(jù)此輸出數(shù)據(jù)選擇傳遞控制代碼向量Q15。數(shù)據(jù)選擇傳遞電路209,根據(jù)控制代碼向量Q15,從下列5個(gè)不同階段、不同來源的數(shù)據(jù)中選出2個(gè)適當(dāng)?shù)臄?shù)據(jù)并分別傳遞給數(shù)學(xué)邏輯單元(ALU)211的A口與B口a.?dāng)?shù)學(xué)邏輯單元211在其輸出端211a處的運(yùn)算結(jié)果輸出;b.累加器212的輸出Q13;b.寫結(jié)果寄存器206在輸出端206a處的輸出d.隨機(jī)存取存儲(chǔ)器207的數(shù)據(jù)輸出Q14;e.指令譯碼器205的輸出向量Q9(立即數(shù))。
(3)執(zhí)行階段ALU211根據(jù)操作控制碼向量Q18對(duì)輸入操作數(shù)Q16、Q17進(jìn)行相應(yīng)的運(yùn)算,并從其輸出端211a把運(yùn)算結(jié)果輸送給寫結(jié)果寄存器206。
(4)寫結(jié)果階段將存在寫結(jié)果寄存器206中的運(yùn)算結(jié)果通過其輸出端206a寫入隨機(jī)存取存儲(chǔ)器207或累加器212中。
以下是本發(fā)明的兩個(gè)具體實(shí)施例子。
例一,考慮下列2條指令A(yù)DD A,XSUB[m1],A第一條指令所執(zhí)行的運(yùn)算是將立即數(shù)X與累加器A中的數(shù)據(jù)相加,并將結(jié)果存于A中。第二條指令所執(zhí)行的操作是以m1為地址的RAM單元中的數(shù)據(jù)與累加器A中的數(shù)據(jù)相減,并將結(jié)果存于以m1為地址的RAM單元中。在此實(shí)例中,由于第2條指令中的操作數(shù)(即累加器中的數(shù)據(jù))是第一條指令的運(yùn)算結(jié)果,所以這兩條指令之間存在著數(shù)據(jù)相關(guān)性。于是,當(dāng)?shù)诙l指令處于讀操作數(shù)階段時(shí),數(shù)據(jù)相關(guān)判別電208將據(jù)此而輸出一個(gè)相應(yīng)的數(shù)據(jù)選擇控制代碼Q15,此代碼驅(qū)使數(shù)據(jù)選擇傳遞電路209將其輸出端211a處第一條指令的運(yùn)算結(jié)果作為Q16直接前遞(forwarding)給數(shù)學(xué)邏輯單元211的A口。
例二,考慮下列三條指令A(yù)DD[m1],AINC[m2]
SUB A,[m2]第一條指令執(zhí)行的是以m1為地址的RAM單元中的數(shù)據(jù)與累加器中的數(shù)據(jù)相加并將結(jié)果存在以m1為地址的RAM單元中。第二條指令執(zhí)行的是以m2為地址的RAM單元中的數(shù)據(jù)加1并將結(jié)果存在以m2為地址的RAM單元中。第三條指令所執(zhí)行的是累加器中的數(shù)據(jù)與以m1為地址的RAM單元中的數(shù)據(jù)相減,并將結(jié)果存在累加器中。在此實(shí)例中,第一條指令與第二條指令無數(shù)據(jù)相關(guān)性,第二條指令與第三條指令也無數(shù)據(jù)相關(guān)性。但第一條指令與第三條指令存在著數(shù)據(jù)相關(guān)性。第三條指令的操作數(shù)[m1](即以m1為地址的RAM單元中的數(shù)據(jù))是第一條指令的運(yùn)算結(jié)果。當(dāng)?shù)谌龡l指令處于讀操作數(shù)階段時(shí),第一條指令處于寫結(jié)果階段,但此時(shí)其運(yùn)算結(jié)果尚未寫入以m1為地址的RAM單元中。于是,在第一條指令處于讀操作數(shù)階段時(shí),數(shù)據(jù)相關(guān)判別電路208輸出一個(gè)相應(yīng)的數(shù)據(jù)選擇控制代碼Q15,此代碼驅(qū)使數(shù)據(jù)選擇傳遞電路209將其輸出端206a處第一條指令的運(yùn)算結(jié)果作為Q17傳送到ALU211的B口。
上述例子僅是本發(fā)明的特定實(shí)例,決不能視為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種精簡(jiǎn)指令集流水線結(jié)構(gòu)的微控制器,其中所述微控制器包括一數(shù)據(jù)相關(guān)判別電路和一數(shù)據(jù)選擇傳遞電路,其特征在于所述數(shù)據(jù)相關(guān)判別電路包括第一和第二地址比較器(COM1,COM2),所述第一地址比較器用于把所述微控制器的讀操作數(shù)階段的指令中的操作數(shù)地址與寫結(jié)果階段的指令中的目標(biāo)地址進(jìn)行比較,所述第二地址比較器用于把所述微控制器的執(zhí)行階段的指令中的操作數(shù)地址與寫結(jié)果階段的指令中的操作數(shù)地址進(jìn)行比較,所述數(shù)據(jù)選擇傳遞電路用于根據(jù)所述數(shù)據(jù)相關(guān)判別電路的比較結(jié)果把來自所述微控制器中的累加器、隨機(jī)存取存儲(chǔ)器、指令譯碼器、寫結(jié)果寄存器和數(shù)學(xué)邏輯單元的信號(hào)選擇性地輸出到數(shù)學(xué)邏輯單元。
2.如權(quán)利要求1所述的精簡(jiǎn)指令集流水線結(jié)構(gòu)的微控制器,其特征在于所述微控制器使用一種利用三個(gè)指令定義區(qū)域的指令,其中一指令定義區(qū)域?yàn)榱⒓磾?shù)、操作數(shù)地址或目標(biāo)地址,另一指令定義區(qū)域?yàn)椴煌僮鬟\(yùn)算的操作碼,還有一個(gè)指令定義區(qū)域?yàn)橛糜谧R(shí)別指令中的操作數(shù)地址或位置及目標(biāo)地址或位置從而控制精簡(jiǎn)指令集流水線結(jié)構(gòu)中流水線各階段之間的數(shù)據(jù)傳遞的識(shí)別控制碼。
3.如權(quán)利要求1所述的精簡(jiǎn)指令集流水線結(jié)構(gòu)的微控制器,其特征在于所述三個(gè)指令定義區(qū)域總共為十七位,包括作為識(shí)別指令中操作數(shù)地址或位置及目標(biāo)地址或位置從而控制所述精簡(jiǎn)指令集流水線結(jié)構(gòu)中流水線各階段之間的數(shù)據(jù)傳遞的識(shí)別控制碼的三位;規(guī)定不同操作運(yùn)算的操作碼的六位;以及作為為指令所執(zhí)行的立即數(shù)、操作數(shù)地址或目標(biāo)地址的八位。
4.如權(quán)利要求3所述的精簡(jiǎn)指令集流水線結(jié)構(gòu)的微控制器,其特征在于所述三位為所述指令的最高三位,所述六位為所述指令的次高六位,所述八位為所述指令的最低八位。
5.如權(quán)利要求4所述的精簡(jiǎn)指令集流水線結(jié)構(gòu)的微控制器,其特征在于所述三位的值分別表示是否有一操作數(shù)來自所述累加器、是否有一操作數(shù)來自所述RAM以及寫結(jié)果的目標(biāo)是所述累加器還是所述RAM。
6.如權(quán)利要求5所述的精簡(jiǎn)指令集流水線結(jié)構(gòu)的微控制器,其特征在于所述三位中的最高位表示是否有一操作數(shù)來自累加器,所述三位中的次高位表示是否有一操作數(shù)來自RAM,所述三位中的最低位表示寫結(jié)果的目標(biāo)是累加器還是RAM。
7.如權(quán)利要求6所述的精簡(jiǎn)指令集流水線結(jié)構(gòu)的微控制器,其特征在于如果所述三位中的最高位為‘1’,則表示有一操作數(shù)來自累加器,如果為‘0’,則表示沒有操作數(shù)來自累加器;如果所述三位中的次高位為‘1’,表示有一操作數(shù)來自RAM,如果為‘0’,則表示沒有操作數(shù)來自RAM;如果所述三位中的最低位為‘1’,則表示寫結(jié)果的目標(biāo)是RAM,如果為‘0’,則表示寫結(jié)果的目標(biāo)為累加器。
8.如權(quán)利要求6所述的精簡(jiǎn)指令集流水線結(jié)構(gòu)的微控制器,其特征在于如果所述三位中的最高位為‘0’,則表示有一操作數(shù)來自累加器,如果為‘1’,則表示沒有操作數(shù)來自累加器;如果所述三位中的次高位為‘0’,表示有一操作數(shù)來自RAM,如果為‘1’,則表示沒有操作數(shù)來自RAM;如果所述三位中的最低位為‘0’,則表示寫結(jié)果的目標(biāo)是RAM,如果為‘1’,則表示寫結(jié)果的目標(biāo)為累加器。
9.如權(quán)利要求6到8中任一項(xiàng)所述的精簡(jiǎn)指令集流水線結(jié)構(gòu)的微控制器,其特征在于所述數(shù)據(jù)相關(guān)判別電路包括第一到第四寄存器(REG1,REG2,REG3,REG4)、第一和第二比較器(COM1,COM2)、第一到第四與門(AND1,AND2,所述數(shù)據(jù)選擇傳遞電路包括第一到第六多路選擇器(MUX1,MUX2,MUX3,MUX4,MUX5,MUX6)及第一和第二或門(11,18)。
全文摘要
一種用于精簡(jiǎn)指令集流水線結(jié)構(gòu)的微控制器的數(shù)據(jù)相關(guān)判別電路及選擇傳遞電路,數(shù)據(jù)相關(guān)判別電路包括兩個(gè)地址比較器,分別用于把讀操作數(shù)階段及執(zhí)行階段的指令中的操作數(shù)地址與寫結(jié)果階段的指令中的目標(biāo)地址進(jìn)行比較,數(shù)據(jù)選擇傳遞電路根據(jù)數(shù)據(jù)相關(guān)判別電路的比較結(jié)果把來自微控制器中的累加器、隨機(jī)存取存儲(chǔ)器、指令譯碼器。寫結(jié)果寄存器和數(shù)學(xué)邏輯單元的選擇性地輸出到數(shù)學(xué)邏輯單元。
文檔編號(hào)G06F9/38GK1300005SQ9912424
公開日2001年6月20日 申請(qǐng)日期1999年12月13日 優(yōu)先權(quán)日1999年12月13日
發(fā)明者謝衛(wèi)國(guó), 嚴(yán)曉浪, 滕強(qiáng)華 申請(qǐng)人:杭州華盛微電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
易门县| 芦山县| 遂平县| 吉隆县| 鄂伦春自治旗| 奇台县| 昭平县| 凌海市| 宜宾市| 白朗县| 桂东县| 元谋县| 昂仁县| 亚东县| 九龙坡区| 任丘市| 凉城县| 滦平县| 个旧市| 蒙自县| 颍上县| 松桃| 内江市| 宁陵县| 来安县| 开远市| 盐山县| 奉新县| 陇南市| 阿巴嘎旗| 遂昌县| 习水县| 尉犁县| 乐都县| 昌都县| 开远市| 宜兰县| 开封县| 玛纳斯县| 安平县| 泽普县|