RISC和CISC的區(qū)別_第1頁
RISC和CISC的區(qū)別_第2頁
RISC和CISC的區(qū)別_第3頁
RISC和CISC的區(qū)別_第4頁
RISC和CISC的區(qū)別_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、一、riscrisc (reduced instruction set computer ,精簡指令集計(jì)算機(jī))是一種執(zhí)行 較 少類型計(jì)算機(jī)指令的微處理器,起源于 80年代的mips主機(jī)(即risc機(jī)),risc 機(jī)中采用的微處理器統(tǒng)稱 risc處理器。這樣一來,它能夠以更快的速度執(zhí)行操作(每秒執(zhí)行更多百萬條指令,即 mips )。因?yàn)橛?jì)算機(jī)執(zhí)行每個(gè)指令類 型都需要額外 的晶體管和電路元件,計(jì)算機(jī)指令集越大就會使微處理器更復(fù)雜,執(zhí)行操作也會更慢。1 . risc體系的指令特征精簡指令集:包含了簡單、基本的指令,透過這些簡單、基本的指令,就可 以組 合成復(fù)雜指令。 同樣長度的指令:每條指令的長度都

2、是相同的,可以在一個(gè)單獨(dú)操作里完成。單機(jī)器周期指令:大多數(shù)的指令都可以在一個(gè)機(jī)器周期里完成,并且允許處理器在同一時(shí)間內(nèi)執(zhí)行一系列的指令。2 . risc體系的優(yōu)缺點(diǎn)優(yōu)點(diǎn):在使用相同的晶片技術(shù)和相同運(yùn)行時(shí)鐘下,risc系統(tǒng)的運(yùn)行速度將是cisc的2? 4倍。由于risc處理器的指令集是精簡的,它的記憶體管理單元、浮點(diǎn)單元等都能設(shè)計(jì)在同一塊晶片上。risc處理器比相對應(yīng)的cisc處理器設(shè)計(jì)更簡單,所需要的時(shí)間將變得更短,并可以比cisc處理器應(yīng)用更多先進(jìn) 的技術(shù),開發(fā)更快的下一代處理器。缺點(diǎn):多指令的操作使得程式開發(fā)者必須小心地選用合適的編譯器,而且編寫的代碼量會變得非常大。另外就是 risc體系

3、的處理器需要更快記憶體,這通常都集成于處理器內(nèi)部,就是 l1 cache (一級緩存)。 二、cisccisc是復(fù)雜指令系統(tǒng)計(jì)算機(jī)(complex instruction set computer )的簡稱, 微處理器是臺式計(jì)算機(jī)系統(tǒng)的基本處理部件,每個(gè)微處理器的核心是運(yùn)行指令的電路。指令由完成任務(wù)的多個(gè)步驟所組成,把數(shù)值傳送進(jìn)寄存器或進(jìn)行相加運(yùn)算。1. cisc體系的指令特征使用微代碼。指令集可以直接在微代碼記憶體(比主記憶體的速度快很多) 里執(zhí)行,新設(shè)計(jì)的處理器,只需增加較少的電晶體就可以執(zhí)行同樣的指令集,也可以很快地編寫新的指令集程式。龐大的指令集。可以減少編程所需要的代碼行數(shù),減輕程式

4、師的負(fù)擔(dān)。高階語言對應(yīng)的指令集:包括雙運(yùn)算元格式、寄存器 到寄 存器、寄存器到記憶體以及記憶體到寄存器的指令。2. cisc體系的優(yōu)缺點(diǎn)優(yōu)點(diǎn):能夠有效縮短新指令的微代碼設(shè)計(jì)時(shí)間,允許設(shè)計(jì)師實(shí)現(xiàn)cisc體系 機(jī)器的向上相容。新的系統(tǒng)可以使用一個(gè)包含早期系統(tǒng)的指令超集合,也就可以 使用較早電腦上使用的相同軟體。另外微程式指令的格式與高階語言相匹配,因而編譯器并不一定要重新編寫。缺點(diǎn):指令集以及晶片的設(shè)計(jì)比上一代產(chǎn)品更復(fù)雜,不同的指令,需要不同的時(shí)鐘周期來完成,執(zhí)行較慢的指令,將影響整臺機(jī)器的執(zhí)行效率三、差別所謂"體系結(jié)構(gòu)", 是指程序員在某cpu 上進(jìn)行程序設(shè)計(jì)時(shí)能夠使用的處理

5、器資源,其中最重要的是處理器所提供的指令系統(tǒng)和寄存器組。注意體系結(jié)構(gòu)(architecture) 和組成 (structure ) 的區(qū)別:前者是處理器的邏輯抽象,是程序員關(guān) 注的部分。后者是具體實(shí)現(xiàn),一般為計(jì)算機(jī)系統(tǒng)設(shè)計(jì)人員關(guān)注。一般來說,arachitecture , structure 是不同層次的概念,但兩者也有一定的聯(lián)系。以指令系統(tǒng)的設(shè)計(jì)為例:相同的指令系統(tǒng)可以通過“硬連接”或“微程序” 的方法來實(shí)現(xiàn)。前者通過cpu 的硬件電路來實(shí)現(xiàn),后者通過"微程序 "來實(shí)現(xiàn)。如 果指令集以硬連接實(shí)現(xiàn),那么對于復(fù)雜指令來說,電路設(shè)計(jì)就非常困難;反之, 若用微程序來實(shí)現(xiàn)指令集,可

6、以實(shí)現(xiàn)復(fù)雜指令?,F(xiàn)代 cisc 處理器一般都使用微 碼來實(shí)現(xiàn)。在使用微碼技術(shù)的處理器中,實(shí)際存在著兩套不同層次的指令:一套是面向 程序員的,高層的指令;一套是面向硬件實(shí)現(xiàn)的,底層的微碼。在指令與微碼之 間存在著一個(gè)“解釋器”,它將指令翻譯成對應(yīng)的微碼序列。由此可以想象,指 令與微碼之間 的關(guān)系實(shí)際上時(shí)“子程序調(diào)用”思想的推廣。對于 cisc? risc 的實(shí)現(xiàn)而言 , 它們所側(cè)重的復(fù)雜性不同 : cisc 處理器的實(shí)現(xiàn)復(fù)雜性更高 , 而 risc 編譯器的復(fù)雜性更高 .微碼相對于指令的特點(diǎn):1?微碼代表的都是非常簡單的基本操作,而指令可能非常復(fù)雜。2. 微碼的取指操作很快:所有的微碼都位于 r

7、om 中,而指令位于內(nèi)存中。 n ote_13. 微碼的格式很規(guī)則,簡單。因此易于譯碼。4. 微碼的執(zhí)行速度很快,而指令相對較慢。從處理器架構(gòu)來看,可以將使用微碼技術(shù)的現(xiàn)代 cisc 的基本單元視為一個(gè)快速的 risc 內(nèi)核。這樣問題就出來了 : 如果不引入“解釋器”,而直接使用 risc微碼作為指令,那會怎樣呢?一一這正是 risc 的思想。下面我們來看看使用微碼實(shí)現(xiàn)的 cisc 旨令集的優(yōu)缺點(diǎn):cisc 旨令集又復(fù)雜化的傾向,即向高級語言看齊,處理器廠商紛紛提供一些 功能強(qiáng)大的復(fù)雜指令,例如: in tel 針對 x86 處理器在 move 基礎(chǔ)上提供了 “成 串” move 指令,可以將

8、內(nèi)存中數(shù)據(jù)按字節(jié)成塊復(fù)制,相當(dāng)于 :while (n-) *dest+ = *src+;這方便于復(fù)制數(shù)據(jù)結(jié)構(gòu)。對于其他的復(fù)雜操作,也可以通過一條指令就實(shí)現(xiàn)。cisc 復(fù)雜指令的尋址方式也種類繁多,操作數(shù)可以直接來自內(nèi)存。但復(fù)雜指令為 現(xiàn)代處理器技術(shù)中廣泛使用的流水線技術(shù)引入了問題: 在微處理器中指令的執(zhí)行一般分為“預(yù)指”,“取操作數(shù)”,“運(yùn)算”,“存放”等操作。對于 cisc 復(fù)雜指令, 他們的執(zhí)行時(shí)間各不相同 note_2 (有的可在 4,5 個(gè)時(shí)鐘周期內(nèi)完成,有的卻需要幾十個(gè),即便對于簡單指令,也會由于尋址方式的不同造成不同的執(zhí)行時(shí)間 ) 。 更糟糕的是,指令長度也不一致,同一指令的長度也

9、會因不同的尋址方式而變化。針對這些指令,如何設(shè)計(jì)流水線長度呢?若按最短指令設(shè)計(jì)流水線,當(dāng)碰到復(fù)雜 指令時(shí)流水線就會發(fā)生中斷;若按最長指令設(shè)計(jì)流水線,執(zhí)行較短指令時(shí)就會跳過某些工位,使流水線不能完全充滿。針對上述情況,以及20- 80定律(80%勺情況下執(zhí)行的是占指令集 20%勺常用指 令)。多數(shù)復(fù)雜指令很少用到。當(dāng)使用高級語言進(jìn)行程序設(shè)計(jì)時(shí),編譯器 為了兼容早 期的cpu 一般不會生成特殊的復(fù)雜指令。如果舍棄這些不常用的復(fù)雜指令,就能簡化cpu的設(shè)計(jì)。這正是risc的出發(fā)點(diǎn)。risc勺特點(diǎn)指令系統(tǒng)較?。悍N類的數(shù)量較少,只提供簡單指令。這些指令大多都能在4, 5個(gè)時(shí)鐘周期內(nèi)完成。2 .指令的操作

10、數(shù)必須預(yù)存于寄存器中,這樣取指操作的時(shí)間也統(tǒng)一了。3 .指令長度,尋址方式,格式都整齊劃一:這樣可以充分利用流水線,基本上 可實(shí) 現(xiàn)一個(gè)時(shí)鐘脈沖執(zhí)行一條指令的目標(biāo)。的子程序調(diào)用與cisc的不同:在cisc中,程序調(diào)用、返回時(shí)需將上下文保存在 堆 棧中,需要內(nèi)存操作。而 risc將它們存放在寄存器中,而且參數(shù)也使用寄存器傳遞。(若存在嵌套的子程序調(diào)用,中間調(diào)用過程中的上下文還是要從寄存器"濺出"(spill)到堆棧中,而"葉"子程序不需要。)中斷可視為特殊的子程序鏈接:cisc中發(fā)生中斷時(shí),所有的寄存器內(nèi)容都被壓入堆棧,而risc對中斷進(jìn)行區(qū)分對待,分為輕

11、量級和重量級。對輕量級中斷只保存需要保存的寄存器內(nèi)容;對重量級中斷的處理如同常規(guī)中斷。都采用流水線、高速緩存、不使用微碼。當(dāng)然,risc也有它的缺點(diǎn):代碼密度不高,可執(zhí)行文件體積較大,匯編代碼 可 讀性較差。代碼密度不高是個(gè)值得關(guān)注的問題:若不使用cache,會需要更大的指令存儲空間,取指時(shí)也占用更大的存儲器帶寬。若采用 cache,又會降低cache 的命中率。risc和cisc的差異主要有:1 .內(nèi)核結(jié)構(gòu)cisc結(jié)構(gòu)的計(jì)算機(jī)數(shù)據(jù)線和指令線是分時(shí)復(fù)用的,即所謂的馮.諾依曼(vonneumann )結(jié)構(gòu),也稱普里斯頓結(jié)構(gòu),是一種將程序指令存儲器和數(shù)據(jù)存儲器合并在一起統(tǒng)一編址的存儲器結(jié)構(gòu)。采用r

12、isc結(jié)構(gòu)的單片機(jī)數(shù)據(jù)線和指令線分離,即所謂的哈佛 ( harward ) 結(jié)構(gòu)。處理器取指令和取數(shù)據(jù)可同時(shí)進(jìn)行。2 .處理器指令集cisc處理的是不等長指令集,它必須對不等長指令進(jìn)行分割,因此在執(zhí)行單一指令的時(shí)候需要進(jìn)行較多的處理工作。risc執(zhí)行的是等長精簡指令集,cpu在執(zhí)行指令的時(shí)候速度較快且性能穩(wěn) 定。risc 可同時(shí)執(zhí)行多條指令,它可將一條指令分割成若干個(gè)進(jìn)程或線程,交 由多個(gè)處理器同時(shí)執(zhí)行,因此在并行處理方面risc 明顯優(yōu)于 cisc 。3 .指令系統(tǒng)risc設(shè)計(jì)者把主要精力放在那些經(jīng)常使用的指令上,盡量使它們具有簡單高效的特色。對不常用的功能,常通過組合指令來完成。因此,在

13、risc機(jī)避 上實(shí)現(xiàn)特殊功能時(shí),效率可能較低。但可以利用流水技術(shù)和超標(biāo)量技術(shù)加以改進(jìn)和彌補(bǔ)。而cisc計(jì)算機(jī)的指令系統(tǒng)比較豐富,有專用指令來完成特定的功能。因此,處理特殊任務(wù)效率較高。4 .指令的形成cisc因指令復(fù)雜,故采微指令碼控制單元的設(shè)計(jì),而 risc的指令90%是 由硬體直接完成,只有10%的指令是由軟體以組合的方式完成,因此指令執(zhí)行時(shí)間上risc較短,但risc所須rom空間相對的比較大,至于 ram使用大 小應(yīng)該與程序 的應(yīng)用比較有關(guān)系。5 .定址模式cisc的需要較多的定址模式,而 risc只有少數(shù)的定址模式,因此 cpu在計(jì) 算記憶體有效位址時(shí),cisc占用的匯流排周期較多。

14、6 .指令周期cisc指令的格式長短不一,執(zhí)行時(shí)的周期次數(shù)也不統(tǒng)一,而 risc結(jié)構(gòu)剛 好相反,故適合采用管線處理架構(gòu)的設(shè)計(jì),進(jìn)而可以達(dá)到平均一周期完成一指令的方向努力。顯然的,在設(shè)計(jì)上risc較cisc簡單,同時(shí)因?yàn)閏isc的執(zhí)行步驟過多, 閑置 的單元電路等待時(shí)間增長,不利于平行處理的設(shè)計(jì),所以就效能而言risc較cisc還是站了上風(fēng),但risc因指令精簡化后造成應(yīng)用程式碼變大,需要較 大的 程式記憶體空間,且存在指令種類較多等等的缺點(diǎn)。7 .存儲器操作risc對存儲器操作有限制,使控制簡單化;而 cisc機(jī)器的存儲器操作指 令 多,操作直接。8 .程序risc匯編語言程序一般需要較大的內(nèi)

15、存空間,實(shí)現(xiàn)特殊功能時(shí)程序復(fù)雜,不易設(shè)計(jì)。cisc匯編語言程序編程相對簡單,科學(xué)計(jì)算及復(fù)雜操作的程序社設(shè)計(jì)相對容易,效率較高。9 .中斷risc機(jī)器在一條指令執(zhí)行的適當(dāng)?shù)胤娇梢皂憫?yīng)中斷。cisc機(jī)器是在一條指令執(zhí)行結(jié)束后響應(yīng)中斷。10 . cpurisc cpu包含有較少的單元電路,因而面積小、功耗低。cisc cpu包含有豐富的電路單元,因而功能強(qiáng)、面積大、功耗大。11 .設(shè)計(jì)周期risc微處理器結(jié)構(gòu)簡單,布局緊湊,設(shè)計(jì)周期短,且易于采用最新技術(shù)。cisc微處理器結(jié)構(gòu)復(fù)雜,設(shè)計(jì)周期長。12 .用戶使用risc微處理器結(jié)構(gòu)簡單,指令規(guī)整,性能容易把握,易學(xué)易用。cisc微處理器結(jié)構(gòu)復(fù)雜,功能強(qiáng)

16、大,實(shí)現(xiàn)特殊功能容易。13 .應(yīng)用范圍由于risc指令系統(tǒng)的確定與特定的應(yīng)用領(lǐng)域有關(guān),故 risc機(jī)器更適合于 專用機(jī)。cisc機(jī)器則更適合于通用機(jī)。小結(jié):因此,大量的復(fù)雜指令、可變的指令長度、多種的尋址方式這些cisc的特點(diǎn),也是cisc的缺點(diǎn),因?yàn)檫@些都大大增加了解碼的難度,而在現(xiàn)在的高 速硬 件發(fā)展下,復(fù)雜指令所帶來的速度提升早已不及在解碼上浪費(fèi)點(diǎn)的時(shí)間。除了個(gè)人pc市場還在用x86指令集外,服務(wù)器以及更大的系統(tǒng)都早已不用cisc 了。x86仍然存在的理由就是為了兼容大量的x86平臺上的軟件,同時(shí),它的體系結(jié)構(gòu)組成的實(shí)現(xiàn)不太困難。而risc體系的arm指令最大特點(diǎn)是指令長度固定,指令格式種類少,尋址方式種類少,大多數(shù)是簡單指令且都能在一個(gè)時(shí)鐘周期內(nèi)完成,易于設(shè)計(jì)超標(biāo)量與流水線,寄存器數(shù)量多,大量操作在寄存器之間進(jìn)行。優(yōu)點(diǎn)是不言而喻的,因此,arm處理器才成為是當(dāng)前最流行的處理器系列,是幾種主流的嵌入式處理體系結(jié)構(gòu)之一。risc目前正如日中天,intei似乎也將最終拋棄x86而轉(zhuǎn)向risc結(jié)構(gòu)。而實(shí)際上,隨著risc處理器在嵌入式領(lǐng)域中大放 異 彩,傳統(tǒng)的x86系列cisc處理器在intel公司的積極改進(jìn)下也克服了功耗過高 的問 題,成為一些

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論