版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 原文出處:Madden S,Frankin M,Hellerstein J,et al.TinyDB:an acquisitional query processing system for sensor networks.</p><p><b> 中央處理器設(shè)計(jì)</b></p><p><b> 摘要</b><
2、/p><p> CPU(中央處理單元)是數(shù)字計(jì)算機(jī)的重要組成部分, 其目的是對(duì)從內(nèi)存中接收的指令進(jìn)行譯碼,同時(shí)對(duì)存儲(chǔ)于內(nèi)部寄存器、存儲(chǔ)器或輸入輸出接口單元的數(shù)據(jù)執(zhí)行傳輸、算術(shù)運(yùn)算、邏輯運(yùn)算以及控制操作。在外部,CPU為轉(zhuǎn)換指令數(shù)據(jù)和控制信息提供一個(gè)或多個(gè)總線并從組件連接到它。在通用計(jì)算機(jī)開(kāi)始的第一章,CPU作為處理器的一部分被屏蔽了。但是CPU有可能出現(xiàn)在很多電腦之間,小,相對(duì)簡(jiǎn)單的所謂微控制器的計(jì)算機(jī)被用在電腦和
3、其他數(shù)字化系統(tǒng)中,以執(zhí)行限制或?qū)iT(mén)任務(wù)。例如,一個(gè)微控制器出現(xiàn)在普通電腦的鍵盤(pán)和檢測(cè)器中,但是這些組件也被屏蔽。在這種微控制器中,與我們?cè)谶@一章中所討論的CPU可能十分不同。字長(zhǎng)也許更短,(或者說(shuō)4或8個(gè)字節(jié)),編制數(shù)量少,指令集有限。相對(duì)而言,性能差,但對(duì)完成任務(wù)來(lái)說(shuō)足夠了。最重要的是它的微控制器的成本很低,符合成本效益。</p><p> 在接下去的幾頁(yè)里,我考慮的是兩個(gè)計(jì)算機(jī)的CPU,一個(gè)是一個(gè)復(fù)雜指令集
4、計(jì)算機(jī)( CISC),另一個(gè)是精簡(jiǎn)指令集計(jì)算機(jī)(RISC)。在詳細(xì)的設(shè)計(jì)檢查之后,我們比較了兩個(gè)CPU的性能,并提交了用來(lái)提高性能的一些方法的簡(jiǎn)要概述。最后,我們討論了關(guān)于一般數(shù)字系統(tǒng)設(shè)計(jì)的設(shè)計(jì)思路。</p><p><b> 1.雙CPU的設(shè)計(jì)</b></p><p> 正如我們前一章提到的,一個(gè)典型的CPU通常被分成兩部分:數(shù)據(jù)路徑和控制單元。該數(shù)據(jù)路徑由一個(gè)
5、功能單元、登記冊(cè)和內(nèi)部總線組成,為在功能單元、存儲(chǔ)器以及其他計(jì)算機(jī)組件之間提供轉(zhuǎn)移信息的途徑。這個(gè)數(shù)據(jù)途徑有可能是流水線,也有可能不是。控制單元由一個(gè)程序計(jì)數(shù)器,一個(gè)指令寄存器,控制邏輯,和可能有其他硬或微程序組成。如果數(shù)據(jù)途徑是流水線那么控制單元也有可能是流水線。電腦的CPU是一個(gè)部分,要么是復(fù)雜指令集計(jì)算機(jī)( CISC),要么是精簡(jiǎn)指令集計(jì)算機(jī)(RISC),有自己的指令集架構(gòu)。</p><p> 本章的目的
6、是提交兩個(gè)CPU的設(shè)計(jì),用來(lái)說(shuō)明指令集,數(shù)據(jù)路徑,和控制單元的構(gòu)造特征的合并。該設(shè)計(jì)將自上而下,但隨著先前組件設(shè)計(jì)的重新使用,來(lái)說(shuō)明指令集構(gòu)架在數(shù)據(jù)路徑和控制單元上的影響,數(shù)據(jù)路徑上的單元的影響力。這些材料廣泛使用了表格和圖表。</p><p> 雖然我們重用和改變部分來(lái)自其他國(guó)家的設(shè)計(jì),其他章節(jié)的背景信息,此處不再重復(fù)。但是,參考資料可以在這本書(shū)的前幾節(jié)里找到詳細(xì)的信息。</p><p&g
7、t; 這兩個(gè)CPU是為了一個(gè)帶有微程序控制單元的使用非流水線數(shù)據(jù)路徑的復(fù)雜指令集計(jì)算機(jī)( CISC)和一個(gè)帶有硬控制單元的使用流水線數(shù)據(jù)路徑的精簡(jiǎn)指令集計(jì)算機(jī)(RISC)而提出的。這些是兩個(gè)截然不同指令集架構(gòu),數(shù)據(jù)路徑和控制單元的組合。</p><p> 2.復(fù)雜指令集計(jì)算機(jī)</p><p> 我們提交的第一個(gè)設(shè)計(jì)就是為一個(gè)帶有非流水線數(shù)據(jù)路徑和微程序的控制單元的</p>
8、<p> 復(fù)雜指令集計(jì)算機(jī)而設(shè)計(jì)的。我們以介紹指令集構(gòu)架為開(kāi)端,它包括CPU的注冊(cè)設(shè)置,教學(xué)形式,和處理方式。復(fù)雜指令集計(jì)算機(jī)( CISC)的指令集構(gòu)架的性質(zhì)是通過(guò)它的內(nèi)存到內(nèi)存進(jìn)行數(shù)據(jù)存取操作指示8個(gè)處理模式,兩長(zhǎng)指令格式和指令集,來(lái)為它們的執(zhí)行獲得重要的運(yùn)行序列。</p><p> 我們?yōu)閷?shí)施復(fù)雜指令集計(jì)算機(jī)( CISC)構(gòu)架而設(shè)計(jì)一個(gè)數(shù)據(jù)路徑。這個(gè)數(shù)據(jù)路徑是基于最初描述的7-9節(jié)里,并納入
9、了8-10節(jié)里的CPU中。對(duì)登記檔案,功能單元以及總線進(jìn)行修改來(lái)支持現(xiàn)有的指令集構(gòu)架。</p><p> 一旦數(shù)據(jù)路徑被明確,被設(shè)計(jì)的一個(gè)控制單元就去完成指令集構(gòu)架的執(zhí)行。控制單元的設(shè)計(jì)必須涉及硬件組織和微程序組織的一個(gè)協(xié)調(diào)的定義。特別是把微程序分成微線路,然而同時(shí)也設(shè)計(jì)了它們相互影響的音序器,這是設(shè)計(jì)的關(guān)鍵部分。即使是指令集領(lǐng)域和有聯(lián)系的同代碼的這種協(xié)調(diào)一致的努力。以下是硬件和微代碼組織的定義,我們?cè)敿?xì)描述的
10、是為運(yùn)行代表的微型代碼個(gè)微型線路的基本部分。</p><p><b> 2.1指令集構(gòu)架</b></p><p> 圖1顯示了程序員獲得的一套復(fù)雜指令集計(jì)算機(jī)( CISC)的寄存器。所有的注冊(cè)有16位。這個(gè)注冊(cè)文件有8個(gè)寄存器,從R0到R7。R0是一個(gè)寄存器,當(dāng)它被作為目的來(lái)使用,作為來(lái)源和拋棄的結(jié)果來(lái)使用時(shí)她總是提供零價(jià)值。</p><p&g
11、t; 除了注冊(cè)文件,還有一個(gè)程序計(jì)數(shù)器pc和堆棧指針SP。堆棧指針的出現(xiàn)的情況表明內(nèi)存堆棧是構(gòu)架的一部分。最后登記的是處理器狀態(tài)寄存器PSR,它包括最右邊的五個(gè)位的信息;剩下的都被假定包含0.該處理器狀態(tài)寄存器包含四個(gè)存儲(chǔ)狀態(tài)位值Z,N,C,和V,他們分別位于0-3之間。另外,一個(gè)存儲(chǔ)中斷使得EI處在4的位置上。</p><p> 圖1包含了42個(gè)通過(guò)指令集進(jìn)行的操作。每個(gè)操作都一個(gè)記憶和精心挑選的同位代碼。
12、根據(jù)一些明確的操作和是否分開(kāi)操作,將這些操作分成4組。另外,這些狀態(tài)位受到被列開(kāi)的操作的影響。</p><p><b> 圖1</b></p><p> 圖2給出了CPU的指令格式。通用指令格式的有五個(gè)領(lǐng)域。首先,OPCODE是指定的操作。接下去的兩個(gè)是MODE 和 S,是被用來(lái)確定運(yùn)算的地址。最后兩個(gè)領(lǐng)域是SRC和DST,分別是3位的來(lái)源登記和目的地登記領(lǐng)域。此
13、外,還有一個(gè)可選的第二個(gè)字母W,隨著一些作為一個(gè)操作或一個(gè)地址的指示而出現(xiàn)的,而不是隨著其他出現(xiàn)的。</p><p><b> 圖2</b></p><p> OPCODE的前兩位,IR(15:14),確定了一些明確的操作和格式領(lǐng)域的如何使用。當(dāng)這些位是00時(shí) ,要么是沒(méi)有被要求的操作要么是被OPCODE隱含的操作的位置。正如圖2(b)顯示的,只有OPCODE領(lǐng)域
14、的是需要的。右邊的4個(gè)OPCODE位可以指定多達(dá)16個(gè)操作或帶有暗示的操作地址。</p><p> 如果IR是(15:14)是01,指令有一個(gè)操作,且是數(shù)據(jù)傳輸或數(shù)據(jù)操作指令。因?yàn)橛辛艘粋€(gè)操作,MODE領(lǐng)域就會(huì)為獲得它而指定處理方式。單處理可能會(huì)涉及DST格式里的注冊(cè)地址,所以DST領(lǐng)域也會(huì)被引出。S領(lǐng)域和SRC領(lǐng)域涉及到兩個(gè)運(yùn)算的同時(shí)出現(xiàn),因此不被用于典型的單一的操作指示。但是,切換指令要求有一個(gè)切換數(shù)額來(lái)只
15、是到底切換多少位。為獲得最大的靈活性,這個(gè)切換數(shù)額是只針對(duì)像來(lái)源運(yùn)算一樣的的運(yùn)算。因此,SAH領(lǐng)域和S領(lǐng)域是一個(gè)完整的16位運(yùn)算,但它們的值只有0-15是有意義的。對(duì)帶有單一運(yùn)算的16位指令來(lái)說(shuō)有足夠的OPCODE位。</p><p> 圖2給出了指定通過(guò)MODE領(lǐng)域的處理方式。MODE的前兩位指定了4中不同的處理類型:注冊(cè)、立即、索引以及相關(guān)的程序計(jì)數(shù)器PC。MODE的第三位明確是否地址是通過(guò)這些被用作間接處
16、理的模式而形成。一個(gè)例外就是直接處理,它是通過(guò)運(yùn)用間接立即類型而獲得的。否則,如果第三位等于0的,間接處理就不適用,而如果等于1 ,間接處理就適用。對(duì)指令的注冊(cè)類型來(lái)說(shuō),MONE(2:1)=00和這個(gè)W字母是不需要的。因?yàn)檫\(yùn)算或處理是來(lái)自注冊(cè)。表格的第三欄提供了注冊(cè)轉(zhuǎn)換為針對(duì)一個(gè)操作指令的每個(gè)處理模式的聲明。</p><p> 如果IR(15:14) 等于10,然后有兩個(gè)地址被用來(lái)正確的指令。通用指令的所有領(lǐng)域
17、,其中包括S和SRC,被用于為所有指令的案件。其中一個(gè)地址,無(wú)論是來(lái)源或目的地,都使用處理模式。如果S等于0,那么來(lái)源使用被MODE指定的處理模式,且來(lái)源是注冊(cè)的。如果S等于1那么目的地使用處理方式,且來(lái)源是注冊(cè)的。注冊(cè)轉(zhuǎn)換為處理結(jié)果的描述在在表2第四次和第五次欄已給出了。此外,根據(jù)MODE領(lǐng)域的內(nèi)容,第二個(gè)指令字母W是一個(gè)地址或立即操作,有可能存在,也有可能不存在。</p><p> 帶有IR(15:14)=
18、11的指令是分流的。對(duì)切換來(lái)說(shuō)除了S領(lǐng)域和SHA領(lǐng)域,它的格式和IR(15:14)=01一樣的。對(duì)于這個(gè)類型的所有指令,目的地的地址(而不是操作)成為新的地址放置程序計(jì)數(shù)器PC里。因此,注冊(cè)模式對(duì)分支指令是無(wú)效的。</p><p> 在進(jìn)行下一步之前,明確數(shù)據(jù)路徑來(lái)支持指令集構(gòu)架,我們將簡(jiǎn)要的說(shuō)明構(gòu)架的特征來(lái)界定是復(fù)雜指令集計(jì)算機(jī)( CISC)或是精簡(jiǎn)指令集計(jì)算機(jī)(RISC)。在第9章里給出的大部分操作都被包括
19、在指令集里。一些不會(huì)顯示的操作是多余的。同樣的動(dòng)作可以通過(guò)使用帶有顯示指令的適當(dāng)?shù)奶幚砟J絹?lái)實(shí)現(xiàn)。例如,LD, ST, IN, 和 OUT都可以通過(guò)使用在內(nèi)存映射結(jié)構(gòu)里的MOVE指令來(lái)實(shí)現(xiàn)。通過(guò)查看指令的格式,我們發(fā)現(xiàn)大部分指令可以從來(lái)自內(nèi)存的操作上進(jìn)行直接操作。有8個(gè)處理模式和兩種不同長(zhǎng)度的指令格式。此外,有些的指示執(zhí)行復(fù)雜的行動(dòng)可被視為很可能會(huì)超過(guò)一個(gè)時(shí)鐘周期執(zhí)行的步驟的行動(dòng)。這些特征明確指出這是一個(gè)復(fù)雜指令集計(jì)算機(jī)( CISC)的
20、架構(gòu)。</p><p><b> 2.2數(shù)據(jù)路徑組織</b></p><p> 不是從頭開(kāi)始,我們將重新使用非流水線數(shù)據(jù)路徑被雇用在第8-10節(jié)里的微程序控制器,并進(jìn)行修改。該數(shù)據(jù)路徑顯示在第8-10節(jié),和新的數(shù)據(jù)路徑,是給出的圖10-6的基礎(chǔ)上進(jìn)行修改的。我們對(duì)待每個(gè)反復(fù)修改的數(shù)據(jù)路徑,都是以注冊(cè)文件為開(kāi)端的。</p><p> 在第8
21、-10節(jié)里,注冊(cè)R8是被作為臨時(shí)的存儲(chǔ)位置。在新的微程序的架構(gòu),有復(fù)雜的指示要跨越許多時(shí)鐘周期和執(zhí)行復(fù)雜的動(dòng)作。因此,更多的臨時(shí)存儲(chǔ)需要通過(guò)微程序來(lái)使用。為了滿足這個(gè)需要,我們擴(kuò)展了注冊(cè)文件從9登記到16.前8個(gè)登記,R0-R7,對(duì)計(jì)算機(jī)程序員來(lái)說(shuō)是可見(jiàn)的。接下去的8個(gè)登記,R8-R15,是被用來(lái)作為微程序的臨時(shí)存儲(chǔ),并從程序員那就被隱藏。圖3提供了一個(gè)帶有臨時(shí)登記屏蔽的擴(kuò)展注冊(cè)文件的地圖。如前所述,編程R0提供的是一個(gè)常數(shù)0.編程R1
22、到R7可提供給程序員使用,編程R8到R15提供通用的臨時(shí)存儲(chǔ)被微程序使用,最后4個(gè)編程,R12到R15具有特殊的用途:保持簡(jiǎn)單的微型代碼,標(biāo)準(zhǔn)的位置對(duì)存儲(chǔ)的操作和被為大多數(shù)指令而執(zhí)行的微代碼所使用的地址來(lái)說(shuō)是必不可少的。因此,R12是源地址SA,R13是源數(shù)據(jù)SD,R14是目的地地址DA,R15是目的地?cái)?shù)據(jù)DD。</p><p> 我們不能進(jìn)入8個(gè)基于在指令集內(nèi)可用3位登記地址的臨時(shí)登記冊(cè)。為了解決這個(gè)問(wèn)題,首
23、先,我們提供了來(lái)自微指令的4位注冊(cè)地址,其次,選擇來(lái)自這些地址和微指令集的指令之間的微指令位。此外,允許注冊(cè)地址的靈活性通過(guò)DST成為來(lái)源和通過(guò)SRC成為目的地,他們是需要操作結(jié)果的允可來(lái)直接存放在內(nèi)存中。為了完成這個(gè)目標(biāo),我們通過(guò)增加圖4所示的邏輯來(lái)修改登記檔案。該指令集架構(gòu)使用兩個(gè)地址,一個(gè)</p><p><b> 圖3</b></p><p> 是來(lái)源操作
24、,一個(gè)是像目的地一樣的其他來(lái)源。該登記冊(cè)檔案使用B地址的來(lái)源,以及A和D處理的文件連接在一起,從而使其他來(lái)源和目的地使用同一個(gè)地址。雖然在微指令水平上的地址從3個(gè)減少到2個(gè)是沒(méi)必要的,但對(duì)在微指令中的注冊(cè)地址和指令格式中的匹配使用的登記領(lǐng)域的位的數(shù)量的減少還是必要的。</p><p> 一個(gè)四倍的2比1的多路復(fù)用器附屬在兩個(gè)地址一個(gè)一個(gè)的輸入到注冊(cè)文件中,在來(lái)自微指令的地址和指令的地址之間進(jìn)行選擇。在微指令中有
25、5位的空間是用來(lái)合并目的地和來(lái)源地址的DSA,再增加5位空間給B地址SB。每個(gè)領(lǐng)域的第一個(gè)位是在微指令(0)中的登記地址和指令(0)中的登記地址之間進(jìn)行選擇的。如果一個(gè)指令地址被選定了,不管它是被增加的4倍2比1多功能器確定的DST還是 SRC。這個(gè)多路復(fù)用器是被第二位的DST或是 SRC控制的,取決于它們之間的一個(gè)在任何一個(gè)微指令中的第一位一個(gè)1,從而確保正確的第二位是用來(lái)確定注冊(cè)地址的。0被附加到DST 和 SRC的這個(gè)三位領(lǐng)域的左
26、邊致使它們能狗處理RO到R7.加上其中選擇來(lái)源地址的第一位,是來(lái)自包括四個(gè)位的的微指令的地址以致所有的17個(gè)編程都能被達(dá)到。對(duì)注冊(cè)文檔最后的改變就是取代在帶有在線上他們輸入的開(kāi)放的集成電路和帶有在線上他們輸出的不變的0值的文件中的存儲(chǔ)元素R0。登記檔案結(jié)果的一個(gè)特征顯示在圖10-4( b)中。</p><p> 在8個(gè)被提供的切換指令的基礎(chǔ)上,我們發(fā)現(xiàn)來(lái)自第8-10節(jié)的切換器我們需要進(jìn)行修改。這個(gè)修改涉及到切換
27、邏輯的最終的位。對(duì)于合乎邏輯的切換,0要向前面一樣被插入。對(duì)于右邊的算術(shù)轉(zhuǎn)變,她寫(xiě)的位是即將來(lái)的位,對(duì)于左邊算術(shù)的轉(zhuǎn)變,0是即將來(lái)的位。旋轉(zhuǎn)切換要求來(lái)自與被給定的切換器的終端相反的位。最后,隨著執(zhí)行要的旋轉(zhuǎn)是作為切換器的兩端的一個(gè)輸入而提供執(zhí)行觸發(fā)器的輸出。</p><p> 這些輸入是由兩個(gè)4比1多路復(fù)用器提供的,它們是MUX R 和MUX L,添加到一個(gè)基本的16位切換器中,所有這些都顯示在圖5(a)。同時(shí)
28、,來(lái)自輸入操作的適當(dāng)?shù)倪@些輸入是由兩個(gè)4比1多路復(fù)用器提供的,它們是MUX R 和MUX L,添加到一個(gè)基本的16位切換器中,所有這些都顯示在圖5(a)。同時(shí),來(lái)自輸入操作的適當(dāng)?shù)慕Y(jié)束位必須送交執(zhí)行觸發(fā)器。一個(gè)2比1多路復(fù)用器MUX SO選擇的結(jié)束位來(lái)傳遞到執(zhí)行觸發(fā)器。新的切換器的特征是在第8-10部分上代替了原來(lái)的切換器,看在圖5(b)。</p><p> 對(duì)最初的數(shù)據(jù)路徑的所有修改都顯示在圖5上。作為設(shè)計(jì)過(guò)
29、程的一個(gè)部分,新的數(shù)據(jù)路徑需要進(jìn)行檢查,以確保它具有執(zhí)行指令集和處理方式的所有必要的能力。當(dāng)然,一些已經(jīng)做出的決定就不需要再進(jìn)行討論了。例如,沒(méi)有專門(mén)的乘法和部分硬件,這些操作必須被微程序執(zhí)行從而控制數(shù)據(jù)路徑。</p><p> 2.3微程序控制組織</p><p> 微程序控制單元伴隨著圖4和圖5的數(shù)據(jù)路徑。這個(gè)控制由四個(gè)主要部分組成。其中之一是控制單元登記:指令登記IR,程序計(jì)數(shù)器
30、PC和堆棧指針度SP。 在一些設(shè)計(jì)PC和SP是邏輯的,它們包含在注冊(cè)文件中,因此是數(shù)據(jù)路徑的一部分。這里,因?yàn)樗鼈儽蛔?cè)文件分開(kāi)了,被并最初的程序控制使用,我們已用控制來(lái)包含他們。在控制范圍內(nèi)的次序是由微型程序裝置提供的,它包括兩個(gè)登記:控制處理登記CAR和副程式分支機(jī)構(gòu)登記SBR。微程序的程序計(jì)數(shù)器,控制處理登記CAR按順序的到達(dá)下一個(gè)地址或者平行登錄。隨著平行登錄,地址可以被設(shè)置成任何值和下一個(gè)地址,她來(lái)自包括在微</p>
31、;<p><b> 圖4</b></p><p> 指令里的下一地址領(lǐng)域的三個(gè)來(lái)源。</p><p> 微線路有子線路,就像程序。為了區(qū)分它們,我們把微線路叫做微程序微子線路。SBR被用來(lái)存儲(chǔ)關(guān)于CAR的下一代地址,同時(shí)一個(gè)微子線路是在微路線的要求下為了使微程序執(zhí)行轉(zhuǎn)向下一個(gè)微指令。控制單元的最后一部分是指令解碼器,它由組合邏輯組成,它也是CAR的
32、下一個(gè)地址的來(lái)源。</p><p><b> 2.4微程序結(jié)構(gòu)</b></p><p> 我們對(duì)微程序進(jìn)行了自上而下的設(shè)計(jì)。最高一層由一個(gè)像ASM的圖組成,給出了一個(gè)流動(dòng)的微線路。這些線路有跟在第8-10部分中流水線CPU階段相似的標(biāo)簽。但是,在這種情況下,不是表現(xiàn)單一的帶有組合邏輯的計(jì)數(shù)器,路線要求在多個(gè)周期上使用相同的硬件。在某種程度上,流動(dòng)之間和路線范圍內(nèi)跟
33、指令和他們的解碼器是密切相關(guān)的。由于測(cè)繪光盤(pán)可用來(lái)分流的同時(shí)帶有一種格式一個(gè)數(shù)據(jù)傳輸和操作動(dòng)作,它可以通過(guò)使用測(cè)繪光盤(pán)方便的控制整個(gè)微線路之間的流動(dòng)。這個(gè)流動(dòng)顯示在圖10-8中,這個(gè)圖表并不是嚴(yán)格的ASM圖,因?yàn)槊總€(gè)矩形框?qū)?yīng)的微線路代表了不同的國(guó)家而不是一個(gè)單一的國(guó)家以及對(duì)應(yīng)的是多計(jì)時(shí)周期而不是單一的周期。</p><p> 每個(gè)指令的執(zhí)行都以指令獲取微指令為開(kāi)端的。PC提供了地址以及已經(jīng)更新的下一個(gè)地址。獲
34、取的指令被放置在IR中。指令解碼過(guò)程是以使用MUX M和測(cè)繪光盤(pán)為開(kāi)始的。當(dāng)MM等于0時(shí),只有前三個(gè)OPCODE的位被使用,其余的位都設(shè)置為0。此外,除非前兩個(gè)等于01,否則從左邊起的第三位被忽視。一個(gè)五條分支的結(jié)果。這個(gè)分支被圖中的五個(gè)二進(jìn)制決策框代替。由于OPCODE的位是被用來(lái)指指令正在被解碼的運(yùn)算,在三種情況下,這個(gè)分支的目的是微線路去獲取運(yùn)算。在另一種情況下,程序分支地址被獲取。在最后的情況下,圖中的分支直接去執(zhí)行。有三條途徑
35、去解除障礙取決于決策框制定的決策。這些途徑維護(hù)來(lái)自在指令獲取中的操作碼(OPCODE)的三個(gè)位的解碼,以獲得轉(zhuǎn)化數(shù)額參數(shù)。在兩個(gè)操作擷取的最后有一個(gè)額外的決策要求。</p><p> 在我五個(gè)決策中的四個(gè),一個(gè)獲取操作路線是要進(jìn)行的。根據(jù)操作碼(OPCODE)的前三個(gè)位,要么一個(gè)單一的操作,兩個(gè)操作(或者一個(gè)操作加一個(gè)參數(shù)),要么一個(gè)分支地址,這二者選其一。一個(gè)操作地址和參數(shù)值被放在登記的R12到R15 (SA
36、, SD, DA, and DD)中的為它們保留的位置。這四個(gè)執(zhí)行路線表明操作在這些標(biāo)準(zhǔn)的注冊(cè)位置里,以及在大多情況下,利用它們產(chǎn)生一個(gè)留在標(biāo)準(zhǔn)位置DD的結(jié)果。反饋路線也是使用這個(gè)標(biāo)準(zhǔn)登記位置來(lái)發(fā)現(xiàn)結(jié)果和它的地址。</p><p> 繼其執(zhí)行,在目的地中,大部分操作去存放結(jié)果是必要的。這個(gè)是被反饋微線路完成的。但是,一些操作沒(méi)有結(jié)果寫(xiě)入程序中。這些操作的存在明顯領(lǐng)先于直接引導(dǎo)的路徑,這些路徑從零操作執(zhí)行,程序分
37、支和兩個(gè)操作執(zhí)行到中斷處理。在每個(gè)執(zhí)行微線路之后,在獲取下一個(gè)指令之前該程序進(jìn)入了中斷。</p><p><b> 3.綜述</b></p><p> 在這篇文章中,我們檢查了兩個(gè)CPU的設(shè)計(jì):復(fù)雜指令集計(jì)算機(jī)( CISC)或是精簡(jiǎn)指令集計(jì)算機(jī)(RISC)。</p><p> 復(fù)雜指令集計(jì)算機(jī)( CISC)控制單元包括一個(gè)堆棧指針除了程序
38、計(jì)數(shù)器??刂莆⒊绦蛭挥诠獗P(pán)ROM中,以及一個(gè)多路復(fù)用器的組合和一個(gè)光盤(pán)ROM提供快速的指令解碼。</p><p> 控制單元還具有廣泛的跳躍和有條件的分支能力,包括微型子路線的一個(gè)層次。關(guān)于控制的微程序被模塊化以致在執(zhí)行關(guān)于指令的微程序中共享許多微型子路線。</p><p> 精簡(jiǎn)指令集計(jì)算機(jī)(RISC)控制單元是流水線的,以及已添加專門(mén)的硬件去處理分支。流水線的CPU都有數(shù)據(jù)和控制風(fēng)
39、險(xiǎn)問(wèn)題能力。我們研究任何形式的風(fēng)險(xiǎn),像軟件和硬件一頁(yè)提出每個(gè)解決方案。</p><p> 在討論了復(fù)雜指令集計(jì)算機(jī)( CISC)或是精簡(jiǎn)指令集計(jì)算機(jī)(RISC)的性能之后,我們談到了一些先進(jìn)的概念,包括并行執(zhí)行單位,帶有流水線的微程序控制器組合,超流水線處理器,超標(biāo)量處理器,以及高性能的預(yù)測(cè)和投機(jī)技術(shù)。最后,我們把本文中的設(shè)計(jì)技術(shù)和廣泛的數(shù)字系統(tǒng)設(shè)計(jì)聯(lián)系起來(lái)。</p><p><b
40、> 圖5</b></p><p><b> 參考文獻(xiàn)</b></p><p> [1].DIETMEYER,D.L.,Logic Design ofDigital Systems,3rd ed.Boston,MA:</p><p> Allvn.Bacon,1988.</p><p> [2]
41、.MANO,M.M.Computer Engineering:Hardware Design.Englewood Cliffs,NJ:</p><p> Prentice Hall,1988.</p><p> [3].HAMACHER,V C.,VRANESIC,Z.G,AND ZAKY’S.G.Computer Organization,</p><p>
42、 3rd ed.New York,Ny.-McGraw—Hill,1990.</p><p> [4].HENNESSY-工L.,AND PATTERSON,D.A.Computer Architecture:A</p><p> Quantitative Approach,2nd ed.San Francisco,CA:Morgan Kaufmann,1996.</p>
43、<p> [5].KANE.G..AND HEINRICH,1.MIPS RISc Architecture.Englewood Cliffs,NJ:</p><p> Prentice Hall,1992.</p><p> [6].SPARC INTERNATIONAL.INC.The SP4尺C Architecture Manual:Version&</p&
44、gt;<p> Englewood Clifts,NJ:Prentice Hall.1992.</p><p> [7].MANO.M.M.Computer System Architecture,3rd ed.Englewood Cliffs,NJ:</p><p> Prentice Hall.1993.</p><p> CENTRAL
45、PROCESSING</p><p> UNIT DESIGNS</p><p><b> ABSTRACT</b></p><p> The CPU is the key component of a digital computer. Its purpose is to decode instruction receied from
46、memory and perform transfers, arithmetic, logic, and control operations with data stored in internal registers, memory, or I/O interface units. Externally, the CPU provides one or more buses for transferring instructions
47、, data, and control information to and from components connected to it. In the generic computer at the beginning of chapter 1, the CPU is a part of the processor and is heavily s</p><p> In the following pa
48、ges, we consider two computer CPUs, one for a complex instruction set computer (CISC) and the other for a reduced instruction set computer (RISC). After a detailed examination of the designs, we compare the performance o
49、f the two CPUs and present a brief overview of some methods used to enhance that performance. Finally, we relate the design ideas discussed to general digital system design.</p><p> Two CPU designs <
50、/p><p> As mentioned in previous chapters, atypical CPU is usually divided into two parts: the datapath and the control unit. The datapath consists of a function unit, registers, and internal buses that provid
51、e pathways for the transfer of information between the registers, the function unit, and other computer components. The datapath may or may not be pipelined. The control unit consists of a program counter, an instruction
52、 register, and control logic, and may be other hardwired or microprogrammed. If</p><p> The purposes of this chapter is to present two CPU designs that illustrate combinations of architectural characteristi
53、cs of the instruction set, the datapath, and the control unit. The designs will be top down, but with the reuse of prior component designs, illustrating the influence of the instruction set architecture on the datapath a
54、nd control units, and the influence of the datapath on the unit. The material makes extensive use of tables and diagrams. Although we reuse and modify component d</p><p> References, however, are given to e
55、arlier sections of the book, where detailed information can be found. </p><p> The two CPUs presented are for a CISC using a non-pipelined datapath with a microprogrammed control unit and a RICS using a pip
56、elined datapath with a hardwired pipelined control unit. These represent two quite distinct combinations of instruction set architecture, datapath, and control unit.</p><p> The complex instruction set comp
57、uter</p><p> The first design we present is for a complex instruction set computer with a non-pipelined datapath and microprogrammed control unit. We begin by describing the instruction set architecture, in
58、cluding the CPU register set, instruction formats, and addressing modes. The CISC nature of the instruction set architecture is demonstrated by its memory-to-memory access for data manipulation instructions, eight addres
59、sing modes, two instruction format lengths, and instructions that require significant s</p><p> We design a datapath for implementing the CISC architecture. The datapath is based on the one initially descri
60、bed in Section 7-9 and incorporated into a CPU in section 8-10. modifications are made to the register file, the function unit, and the buses to support the present instruction set architecture.</p><p> Onc
61、e the datapath has been specified, a control unit is designed to complete the implementation of the instruction set architecture. The design of the control unit must involve a coordinated definition of both the hardware
62、organization and the microprogram organization. In particular , dividing the microprogram into microroutines, while at the same time designing the sequencer with which they interact, is a key part of the design. Even the
63、 instruction fields and opcodes are tied to this coordina</p><p> Instruction set architecture</p><p> Figure 10-1 shows the CISC register set accessible to the programmer. All registers have
64、16 bits. The register file has eight registers, R0 though R7.R0 is a special register that always supplies the value zero when it is used as a source and discards the result when it is used as a destination.</p>&
65、lt;p> In additional to the register file, there is a program counter PC and stack pointer SP. The presence of a stack pointer indicates that a memory stack is a part of the architecture . the final register is the pr
66、ocessor status register PSR, which contains information only in its rightmost the five bits; the remainder of the register is assumed to contain zero. The PSR contains the four stored status bit values Z,N,C,and V in pos
67、itions 3 through 0, respectively. In additional, a stored interrupt en</p><p> Table 10-1 contains the 42 operations performed by the instructions. Each operation has a mnemonic and a carefully selected opc
68、ode. The operations are divided into four groups based on the number of explicit operands and whether the operation is branch. In addition, the status bits affected by the operation are listed.</p><p> Figu
69、re 10-2 gives the instruction formats for the CPU. The generic instruction format has five fields. The first, OPCODE, specifies of the operation. The next two, MODE and S , are used to determine the addresses of the oper
70、ands. The last two fields, SRC and DST, are the 3-bit source register and destination register address fields, respectively. In addition, there is an optional second word W that appears with some instructions as an oper
71、and or an address, but not with others.</p><p> The first two bits of OPCODE, IR(15:14), determine the number of explicit operands and how the fields of the format are used. When these bits are 00,either no
72、 operand is required or the location of the operand is implied by OPCODE. Only the OPCODE field is needed, as shown in figure 2(b).the four rightmost OPCODE bits can specify up to 16 operands or with implied operand addr
73、esses.</p><p> If IR(15:14) is 01, the instruction has one operand and is a data transfer or data manipulation instruction. Since there is an operand, the MODE field specifies the addressing mode for obtain
74、ing it. The single address may involve the DST register address in its formation, so the DST field is also present. The S field and SRC field relate to the presence of two operands and so are not used for the typical sin
75、gle operand instructions. but, the shift instructions require a shift amount to indicate </p><p> Table 10-2 gives the addressing modes specified by the MODE field. The first two bits of MODE specify four d
76、ifferent types of addressing: register, immediate, indexed, and relative to the PC. The third bit of MODE specifies whether the address generated by these modes is used as an indirect address. The one exception to this i
77、s direct addressing, which is obtained by applying indirection to the immediate type. Otherwise, if the third bit equals 0, indirect addressing does not apply whereas, if i</p><p> If IR(15:14) is equal to
78、10, then the instruction has two addresses used for true operands. All fields of the generic instruction, including S and SRC, are used for this case for all instructions. one of addresses, either the source or the desti
79、nation, uses the addressing modes. If S=0, then the source uses the addressing mode specified by MODE, and the source is a register. If S=1, then the destination uses the addressing mode, and the source is a register. Re
80、gister transfer descriptions of the</p><p> Instructions with IR(15:14)=11 are branches. Aside form the S field and the SHA field for shifts, the format is the same as for IR(15:14)=01. For all instructions
81、 of this type, the destination address (not the operand) becomes the new address placed in the program counter PC. As a consequence, the register mode is invalid for branch instructions.</p><p> Before proc
82、eeding to the next step, which defines the datapath to support the instruction set architecture, we will briefly note the characteristics of the architecture that define it as CISC or RISC. Most of the operations given i
83、n Chapter 9 are included in the instruction set. A number of operations that do not appear are redundant. The same actions can be achieved by using proper addressing modes with instructions that do appear. For example, L
84、D, ST, IN, and OUT can all be achieved by using M</p><p> Datapath organization</p><p> Rather than beginning from scratch, we will reuse the non-pipelined datapath employed with the microprog
85、rammed control in section 8-10, with modifications. That datapath was shown in section 8-10, and the new, modified datapath based on it is given in Figure 10-6. we treat each modification in turn, beginning with the regi
86、ster file.</p><p> In section 8-10, register R8 was used as a temporary storage location. In the new microprogrammed architecture, there are complex instructions spanning many clock cycles and performing co
87、mplicated operations. Thus, more temporary storage is needed for use by the microprograms. To meet this need, we expand the register file from 9 registers to 16. the first 8 registers, R0 through R7, are visible to the c
88、omputer programmer. The second 8 registers, R8 though R15 , are used as temporary storage for</p><p> We cannot access the eight temporary registers based on the 3-bit register address available in the inst
89、ruction. To deal with this problem, we provide, first, 4-bit register address from the microinstruction, and second, a microinstruction bit to choose between these addresses and those from the instruction. In addition, t
90、he flexibility to allow the register addressed by DST to be a source and by SRC to be a destination is needed to permit results of operations to be placed directly in memory. T</p><p> A quad 2-to-1 multipl
91、exer is attached to each of the two address inputs to the register file, to select between an address from the microinstruction and an address from the instruction. There is a 5-bit field in the microinstruction for the
92、combined destination and source address DSA, in addition to a 5-bit field for the B address SB. The first bit of each of the these fields selects between the register file address in the microinstruction(0) and the regis
93、ter file address in the instruction(1).</p><p> We find that, based on the eight shift instructions provided, the shifter from section 8-10, needs to be modified. The modifications involve the end bits of t
94、he shift logic. For logical shifts, a 0 is inserted, as before. For the right arithmetic shift, she sign bit is the incoming bit, and for the left arithmetic shift, 0 is the incoming bit. Rotates require that the bit fro
95、m the opposite end of the shifter be fed around. Finally, rotates with carry require that the carry flip-flop output be pr</p><p> The inputs are furnished by two 4-t0-1 multiplexers, MUX R and MUX L, added
96、 to a basic 16-bit shifter, all shown in Figure 10-5(a). also, the appropriate end bits from the input operand must be sent to the carry flip-flop. A 2-to-1 multiplexer MUX SO selects the end bit to pass to the carry fli
97、p-flop C. the symbol for the new shifter, which replaces the basic shifter from section 8-10, appears in Figure 10-5(b), FS3, FS2, FS1, and FS0 from the FS field drive the control inputs S3, S2, S1 and S0,</p><
98、;p> All modifications to the original datapath are represented in Figure 10-6. As a part of the design process, the new datapath needs to be checked to make sure that it has all of the capabilities necessary for impl
99、ementing the instruction set and addressing modes .Certainly ,some decisions have been made that have not been discussed. For example, there is no dedicated multiplication or division hardware, so these operations must b
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)專業(yè)外文翻譯--中央處理器設(shè)計(jì)
- 中央處理器(cpu)模型設(shè)計(jì)課程設(shè)計(jì)
- 移動(dòng)式自動(dòng)檢測(cè)系統(tǒng)中央處理器單元設(shè)計(jì)研究.pdf
- 基于奔騰4中央處理器的h.264解碼器的設(shè)計(jì)和優(yōu)化
- 一類計(jì)算機(jī)中央處理器芯片布局工作的設(shè)計(jì)算法.pdf
- gb_t 20276-2016 信息安全技術(shù) 具有中央處理器的ic卡嵌入式軟件安全技術(shù)要求
- 民航氣象自動(dòng)觀測(cè)系統(tǒng)中央處理單元的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 外文翻譯--微處理器
- 微處理器外文翻譯
- 外文翻譯--微處理器.doc
- 微處理器外文翻譯.docx
- arm微處理器外文翻譯
- 外文翻譯--微處理器.doc
- 外文翻譯--通用HTML表單處理器.doc
- 外文翻譯--通用HTML表單處理器.doc
- 中英文外文翻譯--plc和微處理器
- 基于微處理器的繼電保護(hù)畢業(yè)論文外文翻譯
- 電子信息工程 外文翻譯 外文文獻(xiàn) 英文文獻(xiàn) 微處理器
- 電子信息工程 微處理器 外文翻譯 外文文獻(xiàn) 英文文獻(xiàn)
- 外文翻譯---基于c51兼容微處理器單片機(jī)的pwm控制器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論