精簡指令集的特點
精簡指令集計算機RISC的特點是指令及其格式精少,操作和控制簡捷。具體有下列幾個方面。
精簡指令集
RISC結(jié)構(gòu)采用精簡的,長短劃一的指令集,使大多數(shù)的操作獲得了盡可能高的效率。某些在傳統(tǒng)結(jié)構(gòu)中要用多周期指令實現(xiàn)的操作,在RISC結(jié)構(gòu)中,通過機器語言編程,就代之以多條單周期指令了。精簡的指令集大大改善了處理器的性能,并推動了RISC的設(shè)計。對于到底精簡到什么程度的問題,沒有一定的回答。將現(xiàn)有RISC系統(tǒng)與CISC系統(tǒng)作一對比,便可見大概。通常,對RISC而言:
指令數(shù)少,不超過128條。
尋址方式少,不超過4種。
指令格式少,不超過4種。
處理關(guān)于擴充指令集的建議是非常慎重的,要經(jīng)過認真的權(quán)衡,驗證,在看它們是否真正提高計算機的性能。例如,MIPS采用了一條規(guī)則:增加一條指令必須使性能在一定的應(yīng)用范圍內(nèi)得到1%的增益,否則這條指令將被拒絕。
指令時鐘周期,指令長度相等
如果每一條指令要執(zhí)行的任務(wù)既簡單又明了,則執(zhí)行每一條指令所的時間可以被壓縮周期數(shù)也可減少。RISC的設(shè)計目標是實現(xiàn)一個機器周期執(zhí)行一條指令,使得系統(tǒng)操作更加有效。接近這個目標的技術(shù)包括指令流水線及特定的裝/存結(jié)構(gòu)等。典型的指令可包括取指、譯碼、執(zhí)行和存裝果等階段。單周期指可通過讓所有指令為標準長短來實現(xiàn)。標準指令長短應(yīng)與計算機系統(tǒng)的基本字長相等,通常與系統(tǒng)中數(shù)據(jù)線數(shù)相等。
在任何取指周期,完整的單個指令要傳給CPU。例如,如果基字長是32位,且系統(tǒng)總線的數(shù)據(jù)部分是32線,則標準指令長度是32位。要讓所有指令的執(zhí)行時間一致較困難。有些指令,包含簡單的在CPU寄存器上的邏輯操作(清寄存器等),則可容易地在一個CPU時鐘周期內(nèi)執(zhí)行;其它指令可能包含內(nèi)存存?。▽?nèi)存的讀寫、取數(shù)等)或多周期操作(乘、除等),可能無法在單周期內(nèi)執(zhí)行。這給設(shè)計者提出了這樣的要求;讓大多數(shù)經(jīng)常使用的指令得以在一個單周期內(nèi)執(zhí)行。
指令流水線
減少執(zhí)行一條指令所需周期數(shù)的方法是重疊執(zhí)行多條指令。指令流水線采用這樣的工作方式:將每條指令的執(zhí)行分為幾個離散部分,然后同時執(zhí)行多條指令。任何指令的取指和執(zhí)行階段占據(jù)相同時間,理想的是一個單周期。這可說是RISC最重要的一條設(shè)計原則。所有從內(nèi)存到CPU執(zhí)行的指令,都遵循一種恒定的流的形式。每條指令都以同樣的步調(diào)執(zhí)行,無等待的指令。CPU始終是忙的。達到流水線操作的必要條件是:
標準的,固定長短的指令,它與計算機字長和數(shù)據(jù)線的字長相等。
所有指令的標準執(zhí)行時間,最好在一個單CPU周期內(nèi)。
例SPARC芯片等采用了取指、譯碼、執(zhí)行和寫入結(jié)果四級流水線結(jié)構(gòu),以最大限度來提高處理器性能。在每一個時鐘周期的頭上,都可以開始執(zhí)行一條新的指令,這就保證了每個機器周期從存貯器平均取出一條新的指令,從而,總體看,大多數(shù)指令能在單周期內(nèi)實現(xiàn)。指令流水線技術(shù)可以比作一條裝配線—指令象是被加工的產(chǎn)品一樣,從一道工序流到下一道工序,一直到它執(zhí)行完為止。
因此,指令流水線利用一個等于其流水線深度的因子,來減少指令周期數(shù)是可能的,但這樣的話,要求流水線始終充滿有用指令且沒有任何東西阻礙指令通過流水線,這樣的需求給結(jié)構(gòu)增加了一定的負擔。例如,對于ALU等資源的競爭,阻止了流水線中指令的流動。長短不一的執(zhí)行時間所引起的不良后果更是顯而易見,這也是為什么RISC要定義一個有前面所述特點的指令集的原因。
裝入和存數(shù)(LOAD/Store)結(jié)構(gòu)
執(zhí)行與內(nèi)存有關(guān)的操作指令,不是要求增加每個周期的時間,就是要求增加指令的周期數(shù),二者必取其一。因為這些指令要計算操作數(shù)的地址,將所需的操作數(shù)從內(nèi)存中讀出,計算得出結(jié)果,再把結(jié)果送回內(nèi)存,所以它們執(zhí)行的時間就長得多。為了消除這種指令的負作用,RISC采用了這樣的裝入和存數(shù)結(jié)構(gòu):只有裝入(Load)和存數(shù)(Store)指令才去訪間內(nèi)存,所有其它操作只訪問保存在處理器寄存器中的操作數(shù)。其優(yōu)點在于:
減少訪問內(nèi)存的次數(shù),降低了對內(nèi)存帶寬的要求。
將所有的操作限制于只針對寄存器,幫助了指令集的簡化。
取消內(nèi)存操作可使編釋器優(yōu)化寄存的分配更容易—這種特性減少對內(nèi)存的存取,同時也減少了每一任務(wù)的指令數(shù)。
所有這些都有助于RISC實現(xiàn)的每個周期執(zhí)行一條指令的目標。盡管如此,裝入和存數(shù)指令仍阻礙著IRSC設(shè)計目標的實現(xiàn)。用優(yōu)化編譯技術(shù)處理裝入指令和分支指令的延遲,有助問題的解決。優(yōu)化編譯技術(shù)雖不是專門面向RISC結(jié)構(gòu)的,但優(yōu)化編譯器依賴于RISC結(jié)構(gòu)完成其出色的任務(wù),RISC結(jié)構(gòu)又依賴于優(yōu)化編譯器得到它們更完善的性能。編釋器要能分析數(shù)據(jù)和控制流,并在此基礎(chǔ)上調(diào)整指令的執(zhí)行順序,巧妙安排寄存器的用法。前一種作用可減少CPU的空閑時間,后一種作用可以提高寄存器中所保存的數(shù)據(jù)的可再用率,減少訪存次數(shù),縮短數(shù)據(jù)通路的長度。
擁有較大寄存器組
為了便于實現(xiàn)多數(shù)指令在寄存器之間的操作,即所謂的寄存器到寄存器操作,必須有足夠量的CPU通用寄存器。足量的寄存器使得在隨后操作中需作為操作用的中間結(jié)果暫存在CPU寄存器中,因而就減少了對內(nèi)存的裝入和存數(shù),加快了運行速度。工業(yè)化RISC系統(tǒng)中至少采用32個通用CPU寄存器。
采用硬連線控制
由于微程序設(shè)計給設(shè)計者提供的靈活性,許多CISC系統(tǒng)是微程序控制的。不同的指令通常具有不同長度的微程序,這意味著每條指令執(zhí)行的周期數(shù)不一樣,這與所有指令一致的、流線的處理原則相矛盾。但這可由硬連線控制來解決,而且速度會更快。因此RISC應(yīng)該是硬連接線控制的。當每條指令與一單條微指令有一對一相相符合的關(guān)系時可有例外,也就是每個微程序由一單個控制字組成。這種設(shè)計可與用硬連線控制一樣快,一樣高效,并使設(shè)計者得益于微程序設(shè)計的優(yōu)越性。采用硬連線控制,可使RISC系統(tǒng)控制器簡單。設(shè)計的簡單又使機器的布局更加合理,使得設(shè)計者可以集中精力去優(yōu)化那些剩下的,為數(shù)不多的,但又很關(guān)鍵的處理器特性。簡化的結(jié)構(gòu)使芯片上面積資源緊張的狀態(tài)得以緩解,一些對性能至關(guān)重要的結(jié)構(gòu),象大的寄存器元件,轉(zhuǎn)換查找緩存(TLB)S協(xié)處理器和乘除單元都可以裝在同一塊芯片上。這些附加的資源又使處理器增加了很大的性能優(yōu)勢。事實上,RISC并非一定嚴格地完全具備上述特點,有些稱作RISC型的系統(tǒng)甚至違背了上述某方面。上述特點應(yīng)被當作一種指導(dǎo)原則來解釋RISC的性質(zhì)。放寬點講,滿足大部分這些特點的系統(tǒng)就能被看作RISC。
精簡指令集有哪些指令
精簡指令集 精簡指令集,計算機CPU的一種設(shè)計模式,也被稱為RISC(Reduced Instruction Set Computing 的縮寫)。常見的精簡指令集微處理器包括AVR、PIC、ARM、DEC Alpha、PA-RISC、SPARC、MIPS、Power架構(gòu)等。早期,這種CPU指令集的特點是指令數(shù)目少,每條指令都采用標準字長、執(zhí)行時間短、CPU的實現(xiàn)細節(jié)對于機器級程序是可見的等等。
-
RISC
+關(guān)注
關(guān)注
6文章
462瀏覽量
83734 -
精簡指令集
+關(guān)注
關(guān)注
0文章
4瀏覽量
2428
發(fā)布評論請先 登錄
相關(guān)推薦
評論