




已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
RISC處理器設(shè)計,RISC系統(tǒng)結(jié)構(gòu),基本思想:簡單結(jié)構(gòu)的高效實現(xiàn)體:指令系統(tǒng)結(jié)構(gòu)操作:簡單數(shù)據(jù):Load-Store結(jié)構(gòu),尋址方式簡單編碼:定長相:實現(xiàn)與使用方式簡化硬件,提高主頻指令流水線技術(shù):寄存器操作容易解決相關(guān)編譯技術(shù)用:性能及兼容性性能:每條指令周期數(shù)差不多,主頻高,CPI高流水及多發(fā)射技術(shù)在提高性能的前提下不影響兼容性,指令系統(tǒng)結(jié)構(gòu),指令系統(tǒng)的設(shè)計原則,指令系統(tǒng)在計算機中的位置硬件和軟件的界面設(shè)計要求兼容性:在很長時間內(nèi)保持不變通用性:適合于各種應用方便:編譯器或程序員覺得好用,有較多功能高效:便于CPU設(shè)計的優(yōu)化,不同的實現(xiàn)方法得到不同的性能,指令系統(tǒng)與系統(tǒng)結(jié)構(gòu),50-60年代ComputerArchitecture=ComputerArithmetic70-80年代ComputerArchitecture=InstructionSetDesign90年代以后ComputerArchitecture=DesignofCPU,MemorySystem,I/OSystem,MultiprocessorsSearchingthespaceofpossibledesignsatalllevelsofcomputersystems,影響指令系統(tǒng)設(shè)計的因素,工藝技術(shù)早期的硬件昂貴,簡化硬件是指令系統(tǒng)設(shè)計的主要因素如何發(fā)揮存儲層次的效率,如何利用芯片面積系統(tǒng)結(jié)構(gòu)增加指令功能還是提高主頻?并行性:SIMD、向量、多發(fā)射(兼容性好)、PIM操作系統(tǒng)多進程支持、虛地址空間等編譯技術(shù)與程序設(shè)計語言指令的表達能力應用程序兼容性,工藝技術(shù)的發(fā)展(1),工藝技術(shù)是處理器技術(shù)發(fā)展的源動力集成度及CPU主頻提高快,訪存延遲提高慢1990年:33MHzIntel386,80ns訪存延遲1996年:266MHzIntelPII,60ns訪存延遲上述趨勢影響系統(tǒng)結(jié)構(gòu)研究的內(nèi)容并行技術(shù):流水線、多處理器、磁盤陣列存儲層次網(wǎng)絡,工藝技術(shù)的發(fā)展(2),Moore定律Intel的創(chuàng)始人之一GordonMoore在1971年預言每18個月芯片集成度增加一倍。30年來這個預言基本正確,普遍認為這個定律可以適用到2010年2002年達到每個芯片100,000,000個晶體管2910年達到每個芯片1,000,000,000個晶體管這么多晶體管用來做什么?=系統(tǒng)結(jié)構(gòu)的研究,工藝技術(shù)的發(fā)展(3),Moore定律:處理器集成度提高,工藝技術(shù)的發(fā)展(4),Moore定律:存儲器集成度的提高,工藝技術(shù)對指令系統(tǒng)的影響,早期的指令系統(tǒng)設(shè)計主要考慮如何減少硬件隨著集成度的提高,如何有效利用芯片面積成為系統(tǒng)結(jié)構(gòu)重要研究內(nèi)容,一些新的并行結(jié)構(gòu)如PIM、SIMD等必然影響指令系統(tǒng)多發(fā)射技術(shù)的兼容性好由于CPU與存儲器的速度差距,指令系統(tǒng)的設(shè)計應能較好地利用存儲層次,如通過并行或流水容忍延遲。,微處理器技術(shù)的發(fā)展(1),通常微處理器指單片上的處理器1971年Intel設(shè)計出第一個商品化微處理器。70年代以來,微處理器的性能提高速度遠大于大型機或小型機。目前幾乎所有的計算機系統(tǒng)都基于微處理器微處理器性能的提高不僅得益于微電子技術(shù),更加得益于系統(tǒng)結(jié)構(gòu)技術(shù)(近年來尤其如此)。主頻每3年增加一倍,微處理器速度每18個月增加一倍(約每年增加50%)。性能價格比每年增加70%。,微處理器技術(shù)的發(fā)展(2),微處理器與其它計算機的性能提高速度,微處理器技術(shù)的發(fā)展(3),微處理器性能提高越來越快,系統(tǒng)結(jié)構(gòu)對指令系統(tǒng)的影響,指令系統(tǒng)本身是系統(tǒng)結(jié)構(gòu)設(shè)計的一部分不改變指令系統(tǒng)的前提下提高性能,如流水、多發(fā)射等指令系統(tǒng)的兼容性與系統(tǒng)結(jié)構(gòu)發(fā)展的矛盾關(guān)系Intel的做法,編譯技術(shù)對指令系統(tǒng)的影響,指令是編譯器的工作結(jié)果早期的指令系統(tǒng)主要考慮如何便于編程編譯器的影響寄存器分配堆棧用于存放局部變量,全局數(shù)據(jù)區(qū)用于存放靜態(tài)數(shù)據(jù),堆用于存放動態(tài)數(shù)據(jù)。寄存器分配要考慮一致性問題,可以被aliased的數(shù)據(jù)不能分配在寄存器中(C中的volatile)。為使編譯器有效使用graphcoloring啟發(fā)式算法,至少需要16個通用寄存器。規(guī)整:所有訪存指令都可用所有尋址方式簡單:簡化trade-offs,允許編譯時確定常量,只提供基本的通用操作。,設(shè)計指令系統(tǒng)考慮的因素,操作操作種類操作數(shù)堆棧型、累加器型、寄存器型操作數(shù)個數(shù)和類型訪存操作數(shù)的尋址方式:寄存器、立即數(shù)、直接、間接.指令編碼定長、變長,指令系統(tǒng)的類型(1),根據(jù)指令使用數(shù)據(jù)的方式,指令系統(tǒng)分為以下幾類堆棧型(Stack):操作數(shù)在棧頂,運算操作不用指定操作數(shù)累加器型(Accumulator):一個操作數(shù)總在累加器中,結(jié)果也寫回累加器寄存器型(Register),每個操作數(shù)都由指令指定Register-Register型,又稱為Load-Store型,所有運算操作的操作數(shù)都在寄存器中Register-Memory型,Memory-Memory型,上述三種指令系統(tǒng)類型也可以分別稱為0地址指令,單地址指令,以及多地址指令,指令系統(tǒng)的類型(2),例子:不同指令系統(tǒng)完成C=A+B的指令序列,假設(shè)A、B、C在內(nèi)存中不同的單元,指令系統(tǒng)的類型(3),早期的計算機多用堆棧和累加器型指令出于降低硬件復雜度的考慮現(xiàn)在已經(jīng)不用(Intel有點例外)80年代后的機器主要是寄存器型訪問寄存器比訪問存儲器快便于編譯器使用和優(yōu)化寄存器可以用來存放變量,減少訪存次數(shù),寄存器指令再分類,分類標準運算操作中操作數(shù)的個數(shù)運算操作中存儲器操作數(shù)的個數(shù),存儲訪問的表示,兩個方面如何表示地址:尋址方式給定一個地址,訪問目標及其長度,訪存對象,存儲器按字節(jié)編址:所有地址都是字節(jié)地址訪問長度:字節(jié)、半字、字、雙字地址對齊簡化硬件設(shè)計:如字地址最低兩位為0BigEndian和LittleEndian:影響不同機器間的數(shù)據(jù)兼容性。LittleEndian地址指向一個字的最右字節(jié),BigEndian反之,尋址方式(1),如何在指令中表示訪存地址,尋址方式(2),至少支持Register,Immediate,Displacement,和Registerindirect四種尋址方式地址偏移量位數(shù)12-16位立即數(shù)位數(shù)8-16位,指令操作,RuleofThumb:最常用的指令是簡單指令SPECint92的X86指令統(tǒng)計把這些簡單指令做得快一點,其它慢一點沒關(guān)系,轉(zhuǎn)移指令特點,條件轉(zhuǎn)移最多偏移量至少要8位轉(zhuǎn)移條件簡單:與0比較的最多,指令編碼,需要考慮的因素操作碼部分比較簡單操作數(shù)的個數(shù)、類型對指令長度影響很大變長指令程序代碼短、定長指令實現(xiàn)簡單編碼方法定長:RISC變長:VAX的指令1-53字節(jié),其中ADD指令3-19字節(jié)混合,從上述分析可以看出,簡單操作和簡單尋址方式用得最多10簡單操作指令占96%寄存器,立即數(shù),偏移尋址,寄存器間接尋址四種尋址方式簡單指令便于高效實現(xiàn)和使用load-store結(jié)構(gòu)簡化硬件設(shè)計,提高主頻定長簡化譯碼符合編譯器“常用的做得快,少用的只要對”的原則硬件優(yōu)化應充分考慮兼容性流水、多發(fā)射不改變指令系統(tǒng)流水、多發(fā)射技術(shù)在load-store指令系統(tǒng)上容易實現(xiàn),否則相關(guān)性分析困難上述原因呼喚RISC系統(tǒng)結(jié)構(gòu),一個“典型”的RISC,32位定長指令32個32位通用寄存器三寄存器操作數(shù)運算指令Load-Store指令,基址+偏移量尋址方式簡單轉(zhuǎn)移條件Delay-Branch,MIPS指令格式,RISC發(fā)展過程(1),1964年CDC公司推出的CDC6600是第一臺超級計算機,具備了RISC的一些基本特征CDC6600的設(shè)計者認識到為了實現(xiàn)有效的流水技術(shù),需要簡化體系結(jié)構(gòu)Load-Store結(jié)構(gòu)記分板(Score-Boarding)動態(tài)流水線調(diào)度亂序執(zhí)行(Out-of-Order)技術(shù)1976年的Cray-1向量機使用了與CDC6600類似的想法Cray是CDC6600的主要設(shè)計者之一上述簡化結(jié)構(gòu)以高效實現(xiàn)的想法在60-70年代沒有受到小型機和微處理器設(shè)計者的重視,RISC發(fā)展過程(2),1968年JohnCocke在IBM的SanJose研究中心開始ASC(AdvancedScientificComputer)項目的研究基本思想是讓編譯器做更多的指令調(diào)度以減少硬件復雜度還提出了每個周期發(fā)射多條指令的思想ASC計劃后來被取消,Cocke在1971年到FutureSystem1975年Cocke到IBM的Yorktown研究中心開始研制IBM801,801是最早開始設(shè)計的RISC處理器Cocke獲得了Eckert-Mauchly和Turing獎801是PowerPC的前身比801稍晚開始的有Patterson在Berkeley的RISC-I及RISC-II與Hennessy在Standford的MIPS項目這兩個大學的研究生曾參與801項目的研究,后來返回大學RISC-II是SPARC的前身,MIPS項目是MIPS處理器前身,RISC發(fā)展過程(3),801的項目經(jīng)理JoelBirnbaum到HP創(chuàng)立了PA-RISCDEC在推出Alpha之前曾經(jīng)使用MIPS處理器三年1994年Intel和HP宣布使用相同的系統(tǒng)結(jié)構(gòu)從上述發(fā)展過程不難解釋剛開始時五個RISC處理器的相似性后來每個RISC處理器有了不同的發(fā)展如Alpha的指令簡單,超流水結(jié)構(gòu),流水級多,主頻高,“aspeeddemon”PowerPC指令功能強,靈活,甚至有點象CISC,“abrainiac”,常見RISC指令系統(tǒng)比較,通過比較常見RISC處理器的指令系統(tǒng)加深對RISC的了解MIPSIV(Alpha與MIPS很象)PA-RISC1.1and2.0PowerPCSPARCv.9通過以下方面進行比較指令格式尋址方式指令功能,RISC指令系統(tǒng)的發(fā)展,尋址方式比較,指令功能比較,所有RISC處理器都有一些公共指令load/store指令算術(shù)運算及邏輯指令控制流指令不同處理器在比較及轉(zhuǎn)移指令時有較大不同,比較及條件轉(zhuǎn)移(1),轉(zhuǎn)移條件SPARCv.8使用4位條件碼(CC),該條件碼在程序狀態(tài)字中整數(shù)運算指令設(shè)置CC,條件轉(zhuǎn)移指令檢測CC浮點運算有另外兩位CCv.9為了支持64位運算增加了4位整數(shù)CC,3位浮點CCMIPS直接比較寄存器內(nèi)容判斷是否轉(zhuǎn)移浮點部件有一位條件碼,記錄cmp指令的結(jié)果PowerPC有4位CC,一個條件寄存器中有8份4位CC整數(shù)和浮點運算各1位,其它用于比較指令。Branch指令需指定根據(jù)哪一位進行轉(zhuǎn)移運算指令中有一位指定該指令是否影響CCPA-RISC有多中選擇,最常用的是比較兩個寄存器的值并根據(jù)結(jié)果決定是否轉(zhuǎn)移,比較及條件轉(zhuǎn)移(2),DelayedBranch技術(shù)緊挨Branch指令后面的指令視為Branch前面的指令執(zhí)行可以避免流水線斷流。轉(zhuǎn)移不成功時取消已執(zhí)行的delayslot指令可以把轉(zhuǎn)移目標的指令安排在delayslot中。轉(zhuǎn)移成功時取消已執(zhí)行的delayslot指令可以把轉(zhuǎn)移不成功的指令安排在delayslot中。,指令系統(tǒng)的其它功能,下面指令在前述的指令系統(tǒng)中也很常見(至少在兩個指令系統(tǒng)中出現(xiàn))AtomicSwap指令64位指令,ALPHA本來就是64位的,因此不區(qū)分64位指令預取指令BigEndian與LittleEndian的切換共享存儲同步指令等,AtomicSwap指令,以MIPS的LL和SC指令為例LL(LoadLinked)取數(shù)且置系統(tǒng)中LLbit為1LL為1時,處理器檢查相應單元是否被修改,如果其它處理器或設(shè)備訪問了相應單元或執(zhí)行了ERET操作,LLbit置為0執(zhí)行SC(StoreConditional)時若Llbit為1,則成功,目標寄存器為1;否則存數(shù)不成功,目標寄存器為0L1:LLR1,(R3)ADDR2,R1,1SCR2,(R3)BEQR2,0,L1NOP,MIPS部分指令特色(1),作為比較早期的RISC系統(tǒng),MIPS的指令系統(tǒng)已經(jīng)發(fā)展了四代,不斷增加新指令,包括邊界不對齊的數(shù)據(jù)傳送TLB指令(在MIPS中TLB失效由軟件解決)TLBI,TLBR,TLBW,TLBPSYSCALLCTCi,CFCiNOR指令JUMP/CALL指令,絕對跳轉(zhuǎn),指令中的立即數(shù)左移兩位替換PC的低28位地址條件過程調(diào)用,BGEZAL,BLTZALLL/SC指令用于原子操作RECIP和RSQRT(Reciprocal),MIPS部分指令特色(2),邊界不對齊的數(shù)據(jù)傳送,SPARC部分指令特色(1),寄存器窗口多組寄存器用于不同進程,8個全局寄存器用于傳遞參數(shù)等2-32個寄存器穿口,每個24個寄存器過程調(diào)用和退出不用把現(xiàn)場保留到存儲器SAVE和RESTORE指令SAVE做加法,源寄存器來自調(diào)用過程(caller),目標寄存器來自被調(diào)用過程(callee),該指令可用于自動修改堆棧指針。RESTORE做加法,源寄存器來自被調(diào)用過程(callee),目標寄存器來自調(diào)用過程(caller),該指令用來自動釋放堆?!皹酥尽奔訙p指令數(shù)據(jù)的低兩位指出數(shù)據(jù)類型適用于LIPS和Smalltalk等,SPARC部分指令特色(2),其它特色轉(zhuǎn)移指令JMPL把返回地址存在Rd中,Rd為R0時相當于JR,Rd為R31時相當于JALR128浮點運算和數(shù)據(jù)傳送指令轉(zhuǎn)移指令給出轉(zhuǎn)移是否成功的預測POPC計算一個操作數(shù)中“1”的個數(shù)CASA指令用于原子操作,把一個寄存器的值與一個內(nèi)存單元的值比較,如果相等,把內(nèi)存的值與另一個寄存器的值交換ILLTRAP:非法指令錯等等,PowerPC部分指令特色,Link和Count寄存器Link寄存器用于保存返回地址,實現(xiàn)快速過程調(diào)用Count寄存器用于循環(huán)計數(shù),每次自動遞減這兩個寄存器還可以放轉(zhuǎn)移地址PowerPC不用Delay
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 影像管理示教平臺技術(shù)要求
- 油氣管道安裝工技師模擬習題含答案
- 優(yōu)化住宅物業(yè)管理方案
- 餐飲聯(lián)營品牌授權(quán)合作協(xié)議范本
- 智能家居產(chǎn)品場地適配與必要性論證合同
- 企業(yè)團隊合作課件
- 裝修驗收要求方案
- 餐飲品牌加盟權(quán)轉(zhuǎn)讓與經(jīng)營管理協(xié)議
- 營地項目定價方案
- 高端制造業(yè)勞動合同范本定制與實施合同
- (2025)中國漢字聽寫大賽全部試題庫及答案
- 2025年03月四川成都農(nóng)業(yè)科技中心公開招聘筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 能源管理規(guī)定
- 風力發(fā)電對環(huán)境影響評估-深度研究
- 在線網(wǎng)課學習課堂《人工智能(北理 )》單元測試考核答案
- 2025年防臺防汛考試題及答案
- 蒙氏數(shù)學流程
- 湖州市婦幼保健院消除艾滋病、梅毒和乙肝母嬰傳播工作應知應會及工作制度(醫(yī)護篇)
- 福建泉寧塑膠新增FFS含拉伸膜袋用膜生.建設(shè)地點泉港區(qū)祥環(huán)評報告
- 鋼結(jié)構(gòu)居間協(xié)議范本年
- 2025屆上海市普陀區(qū)高三上學期一模考試英語試題【含答案解析】
評論
0/150
提交評論