計算機系統(tǒng)結(jié)構(gòu)(ch-2)_第1頁
計算機系統(tǒng)結(jié)構(gòu)(ch-2)_第2頁
計算機系統(tǒng)結(jié)構(gòu)(ch-2)_第3頁
計算機系統(tǒng)結(jié)構(gòu)(ch-2)_第4頁
計算機系統(tǒng)結(jié)構(gòu)(ch-2)_第5頁
已閱讀5頁,還剩91頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、1v 計算機系統(tǒng)的性能評價計算機系統(tǒng)的性能評價 T TCPUCPU = I = IN NCPICPITcTc MIPSMIPS和和MFLOPSMFLOPS 基準測試程序基準測試程序(benchmarkbenchmark) 算術平均值算術平均值Am 調(diào)和平均值調(diào)和平均值Hm 幾何平均值幾何平均值Gm11()niiniiiNiNIICPIICPICPII總時鐘周期數(shù)指令總條數(shù)CCPU11=CPUNCNfTICPITICPI性能661010CPIfTIMIPScCPUN結(jié)論與參結(jié)論與參照機無關照機無關2v2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示v2.2 2.2 尋址方式與指令格式的優(yōu)化尋址方式與指令格式的優(yōu)

2、化v2.3 CISC2.3 CISCv2.4 RISC2.4 RISC3v2.1.1 數(shù)據(jù)類型、數(shù)據(jù)表示與數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)類型、數(shù)據(jù)表示與數(shù)據(jù)結(jié)構(gòu)v2.1.2 高級數(shù)據(jù)表示高級數(shù)據(jù)表示 自定義數(shù)據(jù)表示自定義數(shù)據(jù)表示 帶標志符的數(shù)據(jù)表示帶標志符的數(shù)據(jù)表示 數(shù)據(jù)描述符表示數(shù)據(jù)描述符表示 向量數(shù)據(jù)表示向量數(shù)據(jù)表示 堆棧數(shù)據(jù)表示堆棧數(shù)據(jù)表示4v什么是數(shù)據(jù)類型?什么是數(shù)據(jù)類型?v與數(shù)據(jù)值有什么區(qū)別?與數(shù)據(jù)值有什么區(qū)別?v為什么要定義數(shù)據(jù)類型?為什么要定義數(shù)據(jù)類型?v如何實現(xiàn)不同的數(shù)據(jù)類型?如何實現(xiàn)不同的數(shù)據(jù)類型?5v 數(shù)據(jù)類型數(shù)據(jù)類型:數(shù)值集合數(shù)值集合+ +操作集合。操作集合。v 數(shù)據(jù)表示數(shù)據(jù)表示:計算機硬

3、件可直接識別和引用的數(shù)據(jù)類型。:計算機硬件可直接識別和引用的數(shù)據(jù)類型。v 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)數(shù)據(jù)類型的組織方式;由軟件識別的數(shù)據(jù)類型。:結(jié)構(gòu)數(shù)據(jù)類型的組織方式;由軟件識別的數(shù)據(jù)類型。v 不同的數(shù)據(jù)表示可以為數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)提供不同的支持不同的數(shù)據(jù)表示可以為數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)提供不同的支持, 因此因此數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)表示是數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)表示是軟、硬件界面軟、硬件界面。v 理論上只需理論上只需最基本的數(shù)據(jù)類型最基本的數(shù)據(jù)類型(定點),其它都可由軟件實現(xiàn),(定點),其它都可由軟件實現(xiàn),但效率差,相反,所有數(shù)據(jù)類型都由硬件實現(xiàn),成本高。但效率差,相反,所有數(shù)據(jù)類型都由硬件實現(xiàn),成本高。v 實驗表明實驗表明

4、:用定點數(shù)據(jù)表示實現(xiàn)浮點運算,處理機速度降低兩:用定點數(shù)據(jù)表示實現(xiàn)浮點運算,處理機速度降低兩個數(shù)量級。個數(shù)量級。何謂硬件能夠直接識別?何謂硬件能夠直接識別?能夠直接由硬件實現(xiàn)相應數(shù)據(jù)的運算,也就是系能夠直接由硬件實現(xiàn)相應數(shù)據(jù)的運算,也就是系統(tǒng)結(jié)構(gòu)中要有相應的運算指令和運算部件來完成這統(tǒng)結(jié)構(gòu)中要有相應的運算指令和運算部件來完成這項任務。項任務。數(shù)據(jù)表示數(shù)據(jù)表示+數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)6v系統(tǒng)效率是否提高系統(tǒng)效率是否提高縮短運行時間(減少縮短運行時間(減少CPU與存儲器的通信量)與存儲器的通信量)減少所需存儲空間減少所需存儲空間v高通用性和高利用率高通用性和高利用率否則會因為硬件成本的增加而降低性價比否

5、則會因為硬件成本的增加而降低性價比7v 1 1)若)若無向量數(shù)據(jù)表示無向量數(shù)據(jù)表示,一般需,一般需6 6條指令,其中條指令,其中4 4條要條要循環(huán)循環(huán)4 4萬次。萬次。vCPUCPU與與M M的通信量為:的通信量為:取指令:取指令:2+42+44000040000條條讀、寫數(shù)據(jù):讀、寫數(shù)據(jù):3 34000040000個個共訪問存儲器:共訪問存儲器:2+72+74000040000次次循環(huán)次數(shù)初始化循環(huán)次數(shù)初始化變址寄存器初始化變址寄存器初始化Ai+BiAi變址值修改變址值修改循環(huán)次數(shù)修改循環(huán)次數(shù)修改判斷并循環(huán)判斷并循環(huán)8 2)若)若有向量數(shù)據(jù)表示有向量數(shù)據(jù)表示,則只需,則只需1條條向量加法指令

6、向量加法指令,即只需取即只需取1條指令,少取指令條指令,少取指令1+440000次,讀、寫數(shù)次,讀、寫數(shù)據(jù)次數(shù)不變,執(zhí)行時間(訪存次數(shù))縮短一半以上。據(jù)次數(shù)不變,執(zhí)行時間(訪存次數(shù))縮短一半以上。無向量表示無向量表示有向量表示有向量表示取指令:取指令:2+4400001讀寫數(shù)據(jù)讀寫數(shù)據(jù)340000340000總訪問次數(shù)總訪問次數(shù)2+7400001+3400009v數(shù)據(jù)表示數(shù)據(jù)表示不斷上移不斷上移。字符串、向量、堆棧等數(shù)據(jù)表示已很。字符串、向量、堆棧等數(shù)據(jù)表示已很普遍。圖、表等復雜數(shù)據(jù)表示也開始在某些計算機上出現(xiàn)。普遍。圖、表等復雜數(shù)據(jù)表示也開始在某些計算機上出現(xiàn)。v對于一些復雜數(shù)據(jù)類型,如果用

7、數(shù)據(jù)表示實現(xiàn),硬件代價對于一些復雜數(shù)據(jù)類型,如果用數(shù)據(jù)表示實現(xiàn),硬件代價可能非常大。但如果用硬件給以適當?shù)闹С?,用軟、硬結(jié)合可能非常大。但如果用硬件給以適當?shù)闹С?,用軟、硬結(jié)合的方法實現(xiàn),效果會很好。如用的方法實現(xiàn),效果會很好。如用變址尋址方式變址尋址方式支持向量表示。支持向量表示。v系統(tǒng)結(jié)構(gòu)設計者應考慮系統(tǒng)結(jié)構(gòu)設計者應考慮:哪些數(shù)據(jù)類型用硬件實現(xiàn)(數(shù)據(jù):哪些數(shù)據(jù)類型用硬件實現(xiàn)(數(shù)據(jù)表示),哪些用軟件實現(xiàn)(數(shù)據(jù)結(jié)構(gòu)),哪些用軟、硬結(jié)合表示),哪些用軟件實現(xiàn)(數(shù)據(jù)結(jié)構(gòu)),哪些用軟、硬結(jié)合實現(xiàn)(給以適當?shù)挠布С郑崿F(xiàn)(給以適當?shù)挠布С郑?011一般處理機中的數(shù)據(jù)表示方法一般處理機中的數(shù)據(jù)表

8、示方法v數(shù)據(jù)存儲單元(寄存器、主存儲器、外存儲器等)只存放數(shù)據(jù)存儲單元(寄存器、主存儲器、外存儲器等)只存放純數(shù)純數(shù)據(jù)據(jù)v通過指令中的通過指令中的操作碼解釋:操作碼解釋: 數(shù)據(jù)的類型數(shù)據(jù)的類型(定點、浮點、字符、字符串、邏輯數(shù)、向量(定點、浮點、字符、字符串、邏輯數(shù)、向量等)等) 進位制進位制(2進制、進制、10進制、進制、16進制等)進制等) 數(shù)據(jù)字長數(shù)據(jù)字長(字、半字、雙字、字節(jié)等)(字、半字、雙字、字節(jié)等) 尋址方式尋址方式(直接尋址、間接尋址、相對尋址、寄存器尋址(直接尋址、間接尋址、相對尋址、寄存器尋址等)等) 數(shù)據(jù)的功能數(shù)據(jù)的功能(地址、數(shù)值、控制字、標志等)(地址、數(shù)值、控制字、

9、標志等)v同一種操作有很多條指令(如同一種操作有很多條指令(如IBM370 的加法的加法指令指令共有共有8條)條)1213v在高級語言和應用軟件中,在高級語言和應用軟件中,數(shù)據(jù)的屬性數(shù)據(jù)的屬性由數(shù)據(jù)自己定由數(shù)據(jù)自己定義,而機器語言中的數(shù)據(jù)屬性一般由指令區(qū)分。高級語義,而機器語言中的數(shù)據(jù)屬性一般由指令區(qū)分。高級語言與機器語言之間的這種言與機器語言之間的這種語義差距語義差距,要靠,要靠編譯器等填補編譯器等填補,這增加了編譯的負擔、降低效率。這增加了編譯的負擔、降低效率。v常用高級數(shù)據(jù)表示方法:常用高級數(shù)據(jù)表示方法:自定義(自定義(Self-defining)數(shù)據(jù)表示)數(shù)據(jù)表示帶標志符的數(shù)據(jù)表示帶標

10、志符的數(shù)據(jù)表示 數(shù)據(jù)描述符表示數(shù)據(jù)描述符表示向量數(shù)組數(shù)據(jù)表示向量數(shù)組數(shù)據(jù)表示 堆棧數(shù)據(jù)表示堆棧數(shù)據(jù)表示141)帶標志符的數(shù)據(jù)表示)帶標志符的數(shù)據(jù)表示 60年代開始,年代開始,Burroughs公司在大型機中引入帶公司在大型機中引入帶標志符標志符的數(shù)據(jù)表示方式和的數(shù)據(jù)表示方式和數(shù)據(jù)數(shù)據(jù)描述符描述符兩種自定義數(shù)據(jù)表示方式。兩種自定義數(shù)據(jù)表示方式。vB5000的類型標志位為的類型標志位為1位,用來區(qū)分是操作數(shù)還位,用來區(qū)分是操作數(shù)還 是描述符;是描述符;vB6500、B7500的類型標志位為的類型標志位為3位,用來區(qū)分位,用來區(qū)分8種數(shù)種數(shù)據(jù);據(jù);vR-2的類型標志位為的類型標志位為10位位數(shù)據(jù)值數(shù)

11、據(jù)值類型標志類型標志 帶標志符的數(shù)據(jù)表示帶標志符的數(shù)據(jù)表示15v功能:操作數(shù)、指令、地址、控制字功能:操作數(shù)、指令、地址、控制字v陷阱:可由軟件定義陷阱:可由軟件定義4種捕捉方式種捕捉方式v封寫:只讀、讀寫封寫:只讀、讀寫v類型:在功能的基礎上進一步定義類型類型:在功能的基礎上進一步定義類型v校驗:奇偶校驗校驗:奇偶校驗2位位2位位1位位4位位1位位功能功能陷阱陷阱封寫封寫類型類型校驗校驗數(shù)值數(shù)值16v 標志符數(shù)據(jù)表示方法的標志符數(shù)據(jù)表示方法的主要優(yōu)點主要優(yōu)點: 簡化了指令系統(tǒng)和程序設計,縮小了人與機器之間的語義簡化了指令系統(tǒng)和程序設計,縮小了人與機器之間的語義差距。差距。標志符對高級語言程序

12、員透明,由編譯程序建立。標志符對高級語言程序員透明,由編譯程序建立。 簡化編譯程序,使高級語言與機器語言之間的簡化編譯程序,使高級語言與機器語言之間的語義差距語義差距大大大縮短。大縮短。 便于實現(xiàn)相容性和一致性檢查便于實現(xiàn)相容性和一致性檢查,可以由硬件自動實現(xiàn),可以由硬件自動實現(xiàn)。 由硬件自動實現(xiàn)由硬件自動實現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換。 支持支持DBS的實現(xiàn)與數(shù)據(jù)類型無關的要求。的實現(xiàn)與數(shù)據(jù)類型無關的要求。 方便軟件調(diào)試。根據(jù)捕捉標志設置斷點等。方便軟件調(diào)試。根據(jù)捕捉標志設置斷點等。v 8087中就使用了標志符數(shù)據(jù)表示方法中就使用了標志符數(shù)據(jù)表示方法17v數(shù)據(jù)和指令的長度可能不一致。數(shù)據(jù)和指令

13、的長度可能不一致。 解決方法:解決方法: 數(shù)據(jù)和指令分存于不同的存儲器,即數(shù)據(jù)和指令分存于不同的存儲器,即多體存儲器多體存儲器 合理設計指令字長和數(shù)據(jù)字長,一般原則是指令字合理設計指令字長和數(shù)據(jù)字長,一般原則是指令字長向數(shù)據(jù)字長靠攏長向數(shù)據(jù)字長靠攏v指令的執(zhí)行速度(指令的執(zhí)行速度(微觀速度微觀速度)降低。)降低。 程序的設計時間、編譯時間和調(diào)試時間縮短(程序的設計時間、編譯時間和調(diào)試時間縮短(宏觀時間宏觀時間)v硬件復雜度增加。硬件復雜度增加。 隨隨VLSIVLSI的發(fā)展,已不是大問題。的發(fā)展,已不是大問題。v存儲容量的變化。存儲容量的變化。 數(shù)據(jù)占用的存儲容量增大數(shù)據(jù)占用的存儲容量增大 指令

14、所占用的存儲容量減小指令所占用的存儲容量減小192)數(shù)據(jù)描述符表示法)數(shù)據(jù)描述符表示法用于用于描述一組相同類型的數(shù)據(jù)描述一組相同類型的數(shù)據(jù)(向量、矩陣、記(向量、矩陣、記錄等)。錄等)。Burroughs公司生產(chǎn)的公司生產(chǎn)的B6700機中采用的數(shù)據(jù)描機中采用的數(shù)據(jù)描述符表示方法:述符表示方法:101(描述符標志位)(描述符標志位) 特征標記特征標記 數(shù)據(jù)塊長度數(shù)據(jù)塊長度起始地址起始地址000/010(標志符)(標志符)數(shù)據(jù)數(shù)據(jù)38202048320yx塊長度為塊長度為3塊長度為塊長度為422v標志符要與每個數(shù)據(jù)相連,兩者合用一存儲單元,而標志符要與每個數(shù)據(jù)相連,兩者合用一存儲單元,而描述符則和

15、數(shù)據(jù)分開存放描述符則和數(shù)據(jù)分開存放v要訪問數(shù)據(jù)集中的元素時,必須先訪問描述符,增加要訪問數(shù)據(jù)集中的元素時,必須先訪問描述符,增加一級尋址一級尋址v描述符可看成是程序的一部分,而不是數(shù)據(jù)的一部分描述符可看成是程序的一部分,而不是數(shù)據(jù)的一部分23向量數(shù)據(jù)表示向量數(shù)據(jù)表示v C Ci i=A=Ai+5i+5+B+Bi i i=10 i=10 1000 1000v C C代碼代碼 for (i=10;i=1000;i+)for (i=10;i=1000;i+) Ci Ci=Ai+5+Bi;=Ai+5+Bi;v 標量機上運行時,編譯后需借助變址操作實現(xiàn),標量機上運行時,編譯后需借助變址操作實現(xiàn),各條指令

16、只能順序執(zhí)行。各條指令只能順序執(zhí)行。v 若有向量數(shù)據(jù)表示,可用一條向量指令實現(xiàn)若有向量數(shù)據(jù)表示,可用一條向量指令實現(xiàn)向量加(向量加(OP)A向量參數(shù)向量參數(shù)B向量參數(shù)向量參數(shù)C向量參數(shù)向量參數(shù)24基地址基地址向量長度向量長度 有效長度有效長度(向量長度(向量長度-位移量)位移量) 起始地址起始地址(基址(基址+位移)位移)位移量位移量向量參數(shù):基地址、位移量、向量長度、有效長度、步距向量參數(shù):基地址、位移量、向量長度、有效長度、步距向量數(shù)據(jù)表示向量數(shù)據(jù)表示Ci=Ai+5+Bi i=10 1000向量加(向量加(OP)A向量參數(shù)向量參數(shù)B向量參數(shù)向量參數(shù)C向量參數(shù)向量參數(shù)25L.D F0,a ;

17、load scalar aDADDIU R4,Rx,#512 ;last address to loadLoop: L.D F2,0(Rx) ;load X(i)MUL.D F2,F2,F0 ;a X(i)L.D F4,0(Ry) ;load Y(i)ADD.D F4,F4,F2 ;a X(i) + Y(i)S.D 0(Ry),F4 ;store into Y(i)DADDIU Rx,Rx,#8 ;increment index to XDADDIU Ry,Ry,#8 ;increment index to YDSUBU R20,R4,Rx ;compute boundBNEZ R20,Loo

18、p ;check if doneY=aX+Y26L.D F0,a ;load scalar aLV V1,Rx ;load vector XMULVS.D V2,V1,F0 ;vector-scalar multiplyLV V3,Ry ;load vector YADDV.D V4,V2,V3 ;addSV Ry,V4 ;store the result27A0A1(0)A2(0)A3A4A5(0)A6(0)A7稀疏向量稀疏向量A0A3A4A7壓縮向量壓縮向量01011001有序位向量有序位向量28v一般通用寄存器型機器對堆棧實現(xiàn)的支持較差:一般通用寄存器型機器對堆棧實現(xiàn)的支持較差:堆棧指令

19、少、功能單一(堆棧指令少、功能單一(Push、Pop) 堆棧位于存儲器內(nèi),速度低,通常用于保存子程序調(diào)用時的堆棧位于存儲器內(nèi),速度低,通常用于保存子程序調(diào)用時的返回地址及傳遞參數(shù)(返回地址及傳遞參數(shù)(軟堆棧軟堆棧)v具有堆棧數(shù)據(jù)表示和以堆棧尋址方式為主的計算機稱具有堆棧數(shù)據(jù)表示和以堆棧尋址方式為主的計算機稱堆棧型堆棧型計算機計算機。堆棧機器優(yōu)點:。堆棧機器優(yōu)點:寄存器硬堆棧寄存器硬堆棧與與主存軟堆棧主存軟堆棧聯(lián)為一體,速度同寄存器,容量聯(lián)為一體,速度同寄存器,容量同主存同主存豐富的堆棧指令,直接操作寄存器堆棧數(shù)據(jù),無需訪問主存豐富的堆棧指令,直接操作寄存器堆棧數(shù)據(jù),無需訪問主存支持高級語言的編

20、譯(逆波蘭表達式,支持高級語言的編譯(逆波蘭表達式,Reverse Polish Notation)F=AF=A* *B+C/(D-E)B+C/(D-E)用用逆波蘭表達式表示為逆波蘭表達式表示為ABAB* *CDE-/+CDE-/+只需要出、入棧兩種操作,就可以完成只需要出、入棧兩種操作,就可以完成任何普通表達式的運算任何普通表達式的運算支持支持嵌套嵌套與與遞歸遞歸30v尋找操作數(shù)及其他信息的地址的技術稱為尋址技術尋找操作數(shù)及其他信息的地址的技術稱為尋址技術 內(nèi)容:編址方式、尋址方式和定位方式內(nèi)容:編址方式、尋址方式和定位方式 對象:寄存器、主存儲器、堆棧和輸入輸出設備對象:寄存器、主存儲器、

21、堆棧和輸入輸出設備 重點:分析各尋址技術優(yōu)缺點,如何選擇和確定尋址技術重點:分析各尋址技術優(yōu)缺點,如何選擇和確定尋址技術311、 編址方式編址方式編址單位:字、字節(jié)、位編址單位:字、字節(jié)、位字節(jié)編址時信息在存儲器中按整數(shù)邊界存儲字節(jié)編址時信息在存儲器中按整數(shù)邊界存儲 (清華(清華p72 圖圖2.12) IBM370 字節(jié)(字節(jié)(8位)、半字(位)、半字(16位)、單字(位)、單字(32 位)、雙位)、雙字(字(64位),主存儲器寬度為位),主存儲器寬度為(64位)位) (P61圖圖2.13)多字節(jié)信息編排方法:多字節(jié)信息編排方法:小端排序小端排序(LitterEndian) :高地址為高位字節(jié)

22、:高地址為高位字節(jié)大端排序大端排序(BigEndian):高地址為低位字節(jié):高地址為低位字節(jié)零地址空間個數(shù)零地址空間個數(shù)3個:通用寄存器、主存儲器、輸入輸出個:通用寄存器、主存儲器、輸入輸出2個:通用寄存器、主存儲器和輸入輸出個:通用寄存器、主存儲器和輸入輸出1個:全部空間個:全部空間0個:隱含編址(堆棧計算機)個:隱含編址(堆棧計算機)32v 數(shù)據(jù)類型、數(shù)據(jù)表示與數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)類型、數(shù)據(jù)表示與數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)類型數(shù)據(jù)類型:數(shù)值數(shù)值+ +操作。數(shù)據(jù)表示操作。數(shù)據(jù)表示+ +數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)結(jié)構(gòu); 數(shù)據(jù)表示數(shù)據(jù)表示:計算機硬件可直接識別和引用的數(shù)據(jù)類型。:計算機硬件可直接識別和引用的數(shù)據(jù)類型。 數(shù)據(jù)結(jié)構(gòu)

23、數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)數(shù)據(jù)類型的組織方式;軟件識別的數(shù)據(jù)類:結(jié)構(gòu)數(shù)據(jù)類型的組織方式;軟件識別的數(shù)據(jù)類型。型。v 常用高級數(shù)據(jù)表示方法:常用高級數(shù)據(jù)表示方法: 自定義(自定義(Self-defining)數(shù)據(jù)表示)數(shù)據(jù)表示 標志符標志符數(shù)據(jù)表示數(shù)據(jù)表示 數(shù)據(jù)描述符數(shù)據(jù)描述符數(shù)據(jù)表示數(shù)據(jù)表示 向量向量數(shù)據(jù)表示數(shù)據(jù)表示 堆棧堆棧數(shù)據(jù)表示數(shù)據(jù)表示33v2.2.1 尋址方式尋址方式v2.2.2 程序定位技術程序定位技術v2.2.3 指令格式的優(yōu)化設計指令格式的優(yōu)化設計34v尋址方式在指令中的兩種尋址方式在指令中的兩種指明方式指明方式占用操作碼的某些位(如占用操作碼的某些位(如DJS 200系列)系列)在地址碼部

24、分專門設置尋址方式位字段(如在地址碼部分專門設置尋址方式位字段(如VAX-11)v3種面向的尋址方式種面向的尋址方式 面向寄存器的尋址方式面向寄存器的尋址方式面向堆棧的尋址方式面向堆棧的尋址方式面向主存的尋址方式面向主存的尋址方式35v程序的定位:程序的定位:把指令和數(shù)據(jù)中的把指令和數(shù)據(jù)中的邏輯地址邏輯地址(相對地址)轉(zhuǎn)換成主存儲(相對地址)轉(zhuǎn)換成主存儲器的器的物理地理物理地理(絕對地址)的過程。(絕對地址)的過程。v邏輯地址邏輯地址指相對于本程序或程序段的相對地址(編程時使用)指相對于本程序或程序段的相對地址(編程時使用)v物理地址物理地址指程序在主存儲器中使用的實際地址。指程序在主存儲器中

25、使用的實際地址。什么時間變換?如何變換?什么時間變換?如何變換?36v常用高級數(shù)據(jù)表示方法:常用高級數(shù)據(jù)表示方法:自定義(自定義(Self-defining)數(shù)據(jù)表示)數(shù)據(jù)表示標志符標志符數(shù)據(jù)表示數(shù)據(jù)表示數(shù)據(jù)描述符數(shù)據(jù)描述符數(shù)據(jù)表示數(shù)據(jù)表示 向量向量數(shù)據(jù)表示數(shù)據(jù)表示 堆棧堆棧數(shù)據(jù)表示數(shù)據(jù)表示v程序定位技術程序定位技術直接定位(無須重定位)直接定位(無須重定位)靜態(tài)重(再)定位靜態(tài)重(再)定位動態(tài)重(再)定位動態(tài)重(再)定位37v直接定位方式直接定位方式在在編寫編寫程序時或程序時或編譯編譯源程序(裝入主存前)時,程序中的指源程序(裝入主存前)時,程序中的指令和數(shù)據(jù)的地址就已經(jīng)確定。令和數(shù)據(jù)的地址

26、就已經(jīng)確定。(不重定位)(不重定位)v靜態(tài)重(再)定位靜態(tài)重(再)定位在程序運行之前在程序運行之前,裝入主存的過程中由,裝入主存的過程中由裝入程序裝入程序一次性完成一次性完成地址變換,把指令和數(shù)據(jù)的邏輯地址全部變換成物理地址。地址變換,把指令和數(shù)據(jù)的邏輯地址全部變換成物理地址。如圖所示如圖所示。如。如DOS系統(tǒng)中的系統(tǒng)中的LINK過程。過程。v動態(tài)重(再)定位動態(tài)重(再)定位在程序執(zhí)行過程中在程序執(zhí)行過程中,當訪問到相應的指令和數(shù)據(jù)時才進行地,當訪問到相應的指令和數(shù)據(jù)時才進行地址變換,確定其物理地址。址變換,確定其物理地址。如圖所示。如圖所示。3839v優(yōu)點優(yōu)點:1. 可在一般機器上全部用軟件

27、實現(xiàn)。可在一般機器上全部用軟件實現(xiàn)。2. 可以對多個程序段組成的程序靜態(tài)鏈接,而且實現(xiàn)簡單??梢詫Χ鄠€程序段組成的程序靜態(tài)鏈接,而且實現(xiàn)簡單。v缺點缺點:1. 因為程序是在執(zhí)行之前一次性裝入到主存儲器中的,執(zhí)行因為程序是在執(zhí)行之前一次性裝入到主存儲器中的,執(zhí)行期間不能在主存中移動,所以期間不能在主存中移動,所以不利于提高主存儲器的利用率不利于提高主存儲器的利用率。2. 若程序所要求的存儲容量超過了分配給它的物理空間,則若程序所要求的存儲容量超過了分配給它的物理空間,則程序員必須采用程序員必須采用覆蓋結(jié)構(gòu)。覆蓋結(jié)構(gòu)。3. 多個用戶多個用戶不能共享不能共享已經(jīng)在主存儲器中的同一個程序。已經(jīng)在主存儲

28、器中的同一個程序。4041v優(yōu)點優(yōu)點:1.1.可以使用較小的主存分配單位,以提高主存儲器的利用率。可以使用較小的主存分配單位,以提高主存儲器的利用率。2.2.幾個程序可以共享存放在主存的同一程序段。幾個程序可以共享存放在主存的同一程序段。3.3.支持虛擬存儲器??梢詾橛脩籼峁┮粋€比實際主存儲器物支持虛擬存儲器??梢詾橛脩籼峁┮粋€比實際主存儲器物理空間大得多的邏輯地址空間。(不需要使用覆蓋技術)理空間大得多的邏輯地址空間。(不需要使用覆蓋技術)v 缺點缺點:1.1.需要硬件支持(基址寄存器、地址加法器等)。需要硬件支持(基址寄存器、地址加法器等)。 2.2.在虛擬存儲器中實現(xiàn)存儲管理的軟件算法比

29、較復雜在虛擬存儲器中實現(xiàn)存儲管理的軟件算法比較復雜。42v 由兩部分組成:由兩部分組成:操作碼操作碼和和地址碼地址碼。v 操作碼主要包括兩部分內(nèi)容:操作碼主要包括兩部分內(nèi)容:操作種類:操作種類:加、減、乘、除、數(shù)據(jù)傳送、移位、轉(zhuǎn)移、加、減、乘、除、數(shù)據(jù)傳送、移位、轉(zhuǎn)移、 輸入輸出輸入輸出操作數(shù)描述操作數(shù)描述:(假如沒采用自定義數(shù)據(jù)類型)(假如沒采用自定義數(shù)據(jù)類型)數(shù)據(jù)的類型:數(shù)據(jù)的類型:定點數(shù)、浮點數(shù)、復數(shù)、定點數(shù)、浮點數(shù)、復數(shù)、 字符、字符串、邏輯數(shù)、向量字符、字符串、邏輯數(shù)、向量 進位制:進位制:2進制、進制、10進制、進制、16進制進制數(shù)據(jù)字長:數(shù)據(jù)字長:字節(jié)、半字、字、雙字字節(jié)、半字、

30、字、雙字OPOA43v操作數(shù)的地址:操作數(shù)的地址:直接地址、間接地址、立即數(shù)、寄存器編號、變址寄存器直接地址、間接地址、立即數(shù)、寄存器編號、變址寄存器編號編號v地址的附加信息:地址的附加信息:偏移量、塊長度、跳距偏移量、塊長度、跳距v尋址方式:尋址方式:直接尋址、間接尋址、立即數(shù)尋址、變址尋址、相對尋址、直接尋址、間接尋址、立即數(shù)尋址、變址尋址、相對尋址、寄存器尋址寄存器尋址44指令指令操作碼操作碼地址碼地址碼操作種類操作種類操作數(shù)描述操作數(shù)描述操作數(shù)地址操作數(shù)地址地址附加信息地址附加信息尋址方式尋址方式45v 主要目標:主要目標: 節(jié)省程序存儲空間(平均指令字長最短)節(jié)省程序存儲空間(平均指

31、令字長最短) 提高執(zhí)行速度(指令格式盡量規(guī)整,便于譯碼)提高執(zhí)行速度(指令格式盡量規(guī)整,便于譯碼)v 研究內(nèi)容:研究內(nèi)容: 操作碼操作碼的優(yōu)化表示的優(yōu)化表示 地址碼地址碼的優(yōu)化表示的優(yōu)化表示46v操作碼的三種編碼方法:操作碼的三種編碼方法: 定(等)長編碼定(等)長編碼、Huffman編碼編碼、擴展編碼擴展編碼編碼方式編碼方式整個整個OS所用所用指令的操作碼總位數(shù)指令的操作碼總位數(shù)改進的改進的百分比百分比8位定長編碼位定長編碼4-6-10擴展編碼擴展編碼Huffman編碼編碼301,248184,966172,34603943B-1700B-1700操作碼編碼方式比較操作碼編碼方式比較v改進操

32、作碼編碼方式能夠節(jié)省程序存儲空間。改進操作碼編碼方式能夠節(jié)省程序存儲空間。47v操作碼的操作碼的信息冗余量信息冗余量= =(操作碼的實際平均長度(操作碼的實際平均長度H H)/ /操作碼實際平均長度操作碼實際平均長度v操作碼的操作碼的實際平均長度實際平均長度 L L表示操作碼的實際平均長度表示操作碼的實際平均長度 p pi i表示第表示第i i種操作碼出現(xiàn)的概率種操作碼出現(xiàn)的概率 l li i表示第表示第i i種操作碼的實際長度種操作碼的實際長度niiilpL121loginiiHpp v操作碼的操作碼的最短平均長度最短平均長度可通過下式計算(可通過下式計算(信息源熵信息源熵):):-其中:其

33、中:P Pi i表示第表示第i i種操作碼在程序中出現(xiàn)的概率種操作碼在程序中出現(xiàn)的概率P21表表2.1481、定(等)長編碼、定(等)長編碼v相對最短操作碼長度的相對最短操作碼長度的信息冗余量信息冗余量為:為:NHNR22loglog2logLNv對于對于N個操作,采用定長編碼時,所需的最小二進個操作,采用定長編碼時,所需的最小二進制位數(shù)為(即操作碼的平均實際長度制位數(shù)為(即操作碼的平均實際長度L):):2LNv特點特點規(guī)整統(tǒng)一,便于譯碼、冗余量大規(guī)整統(tǒng)一,便于譯碼、冗余量大491)把所有指令按照在程序中出現(xiàn)的概率排序。把所有指令按照在程序中出現(xiàn)的概率排序。2)選選兩個概率最小的結(jié)點兩個概率最

34、小的結(jié)點,將其概率值相加合并成一新結(jié)點,將其概率值相加合并成一新結(jié)點,把新結(jié)點與其它還沒有合并的結(jié)點一起形成新結(jié)點集。把新結(jié)點與其它還沒有合并的結(jié)點一起形成新結(jié)點集。3)在新結(jié)點集中選取兩個概率最小的結(jié)點進行合并,如此繼續(xù)在新結(jié)點集中選取兩個概率最小的結(jié)點進行合并,如此繼續(xù)進行下去,直至全部結(jié)點合并完畢。(進行下去,直至全部結(jié)點合并完畢。(根結(jié)點值應為根結(jié)點值應為1)。)。4)每個結(jié)點都有兩個分支,分別用一位代碼每個結(jié)點都有兩個分支,分別用一位代碼0 和和1表示(表示(可以可以任選任選)。)。5)從根結(jié)點開始,沿箭頭所指方向,到達屬于該指令的概率結(jié)從根結(jié)點開始,沿箭頭所指方向,到達屬于該指令的

35、概率結(jié)點,把沿線所經(jīng)過的代碼組合起來就得到這條指令的操作碼點,把沿線所經(jīng)過的代碼組合起來就得到這條指令的操作碼編碼。編碼。50 假設一臺模型計算機共有假設一臺模型計算機共有7種不同的操作碼,如果采種不同的操作碼,如果采用固定長操作碼則需要用固定長操作碼則需要3位。已知各種操作碼在程序中出位。已知各種操作碼在程序中出現(xiàn)的概率如下表所示,計算采用現(xiàn)的概率如下表所示,計算采用Huffman編碼法的操作編碼法的操作碼碼平均長度平均長度,并計算固定長操作碼和,并計算固定長操作碼和Huffman操作碼相操作碼相對于最短編碼的對于最短編碼的信息冗余量信息冗余量。指令指令I1概率概率0.45I20.30I30

36、.15I40.05I50.03I60.01I70.01510.450.300.150.050.030.010.011.000.550.250.100.050.0201010101010101011011101111011111011111152指令序號指令序號概率概率Huffman編碼法編碼法操作碼長度操作碼長度I10.4501位位I20.30102位位I30.151103位位I40.0511104位位I50.03111105位位I60.011111106位位I70.011111116位位采用采用Huffman編碼法所得到的操作碼的平均長度編碼法所得到的操作碼的平均長度0.4510.3020.

37、1530.0540.0350.0160.0161.97(位)(位)也可以采用將也可以采用將非葉子結(jié)點值相加非葉子結(jié)點值相加的方法求得的方法求得(補充)(補充)=1+0.55+0.25+0.10+0.05+0.02=1.97(位)(位)53操作碼的最短平均長度操作碼的最短平均長度0.451.1520.301.7370.152.7370.054.3220.035.0590.016.6440.016.6441.95(位)(位)采用采用3位等定長操作碼的信息冗余量為:位等定長操作碼的信息冗余量為: Huffman編碼法的信息冗余量僅為:編碼法的信息冗余量僅為:iippH2log%35395.117lo

38、g7log22HR%0.197.195.1197.195.197.1R冗余太多冗余太多54vHuffman編碼的編碼的特點:特點: 短碼不可能是長碼的前綴,從而保證譯碼的唯一性和實時性。短碼不可能是長碼的前綴,從而保證譯碼的唯一性和實時性。 Huffman編碼不唯一,其最長編碼的長度也可能不同,但操編碼不唯一,其最長編碼的長度也可能不同,但操作碼的平均碼長肯定是唯一的。作碼的平均碼長肯定是唯一的。 Huffman編碼中編碼中最長編碼的長度最長編碼的長度可能比使用定長編碼的長度可能比使用定長編碼的長度長,但其長,但其平均碼長平均碼長比定長編碼平均碼長短得多,比定長編碼平均碼長短得多,冗余少冗余少

39、。vHuffman操作碼的操作碼的主要缺點:主要缺點: 操作碼長度很操作碼長度很不規(guī)整不規(guī)整,硬件譯碼困難,硬件譯碼困難 與地址碼共同組成固定長的指令比較困難與地址碼共同組成固定長的指令比較困難55v 由定長編碼法與由定長編碼法與Huffman編碼法相編碼法相結(jié)合形成結(jié)合形成。操作。操作碼不定長,但只有有限的幾種長度。碼不定長,但只有有限的幾種長度。v 概率高的用短編碼,概率低的用長編碼概率高的用短編碼,概率低的用長編碼。其中某些。其中某些編碼組合(碼點)要留作編碼擴展之用。編碼組合(碼點)要留作編碼擴展之用。v 例如:將前例改例如:將前例改為為1-2-3-5不等長擴展編碼不等長擴展編碼法,和

40、法,和2-4等長擴展編碼等長擴展編碼法,可得到以下編碼方案:法,可得到以下編碼方案:56序號序號概率概率 1-2-3-5不等長擴展編碼不等長擴展編碼I10.450I20.3010I30.15110I40.0511100I50.0311101I60.0111110I70.01111112-4等長擴展編碼等長擴展編碼0001101100110111101111平均長度平均長度2.02.2信息冗余量信息冗余量2.5%11.4%7條指令的操作碼擴展編碼法條指令的操作碼擴展編碼法57v常用高級數(shù)據(jù)表示方法:常用高級數(shù)據(jù)表示方法:自定義(自定義(Self-defining)數(shù)據(jù)表示)數(shù)據(jù)表示標志符標志符數(shù)

41、據(jù)表示數(shù)據(jù)表示數(shù)據(jù)描述符數(shù)據(jù)描述符數(shù)據(jù)表示數(shù)據(jù)表示 向量向量數(shù)據(jù)表示數(shù)據(jù)表示 堆棧堆棧數(shù)據(jù)表示數(shù)據(jù)表示v程序定位技術程序定位技術直接定位(無須重定位)直接定位(無須重定位)靜態(tài)重(再)定位靜態(tài)重(再)定位動態(tài)重(再)定位動態(tài)重(再)定位58v1-2-3-5不等長擴展編碼不等長擴展編碼法,其操作碼最短平均長度為:法,其操作碼最短平均長度為:L=0.4510.3020.153 (0.050.030.010.01)5 = 2.00信息冗余量為:信息冗余量為:v2-4等長擴展編碼等長擴展編碼法,其操作碼最短平均長度為法,其操作碼最短平均長度為:L= (0.45+0.30+0.15) 2+ (0.05+

42、0.03+0.01+0.01) 4 = 2.20信息冗余量為:信息冗余量為:v注意注意:使用不同的擴展方式,所能表示的指令條數(shù)是不同的。:使用不同的擴展方式,所能表示的指令條數(shù)是不同的。 X-YX-Y擴展法:擴展法:X X、Y Y表示操作碼的位數(shù)表示操作碼的位數(shù) X/YX/Y擴展法:擴展法:X X、Y Y表示擴展出的指令條數(shù)。表示擴展出的指令條數(shù)。 例:例:4-8-124-8-12的的15/15/1515/15/15和和8/64/5128/64/512編碼法(編碼法( P22P22 )%5 . 200. 295. 11R%4 .1120. 295. 11R60編碼方法編碼方法各種不同長度操作碼

43、的指令條數(shù)各種不同長度操作碼的指令條數(shù)總指令條數(shù)總指令條數(shù)4位操作碼位操作碼6位操作碼位操作碼10位操作碼位操作碼15/3/1615316348/31/1683116558/30/3283032708/16/2568162562804/32/2564322562924-6-10不等長擴展編碼法舉例不等長擴展編碼法舉例61v某模型機的各條指令的使用頻率如下:某模型機的各條指令的使用頻率如下: ADD:43% SHR:1% SUB:13% CLL:2% JOM:6% CLA:22% STO:5% STP:1% JMP:7% 請分別用請分別用Huffman編碼法編碼法和和等長擴展編碼法等長擴展編碼法

44、為其設為其設計操作碼,并計算平均操作碼長度。計操作碼,并計算平均操作碼長度。62vHuffmanHuffman編碼法編碼法1.001.000.010.010.010.010.020.020.050.050.060.060.070.070.130.130.220.220.430.430.020.020.040.040.090.090.220.220.130.130.350.350.570.57111111100000000163指令指令指令使用指令使用頻度頻度piHuffman編碼編碼操作碼長操作碼長度度li2-4擴展碼擴展碼編碼編碼操作碼長操作碼長度度liADD0.4301002CLA0.22

45、1003012SUB0MP0.071100410014JOM0.061101410104STO0.051110410114CLL0.0211110511004SHR0.01111110611014STP0.0111111161110464vHuffman編碼平均碼長編碼平均碼長:0.431+0.223+0.133+0.074+0.06 4+0.054 +0.025 +0.016+0.016 =2.42位位v2-4擴展平均碼長擴展平均碼長:(0.43+0.22)2+(0.13+0.07+0.06+0.05+0.02 +0.01+0.01)4 =2.7位位請大家練習一下本

46、題用請大家練習一下本題用2-5不等長擴展法的結(jié)果不等長擴展法的結(jié)果65主存寬度主存寬度主存寬度主存寬度6667v指令格式的優(yōu)化設計指令格式的優(yōu)化設計主要目標:主要目標: 節(jié)省程序存儲空間(縮短指令的平均字長)節(jié)省程序存儲空間(縮短指令的平均字長) 提高執(zhí)行速度(指令格式盡量規(guī)整,便于譯碼)提高執(zhí)行速度(指令格式盡量規(guī)整,便于譯碼) 研究內(nèi)容:研究內(nèi)容: 操作碼操作碼的優(yōu)化表示的優(yōu)化表示 地址碼地址碼的優(yōu)化表示的優(yōu)化表示 操作碼的優(yōu)化:操作碼的優(yōu)化:最短編碼長度(最短編碼長度(信息源熵信息源熵公式)、信息冗余度公式)、信息冗余度等(定)長編碼、等(定)長編碼、HuffmanHuffman編碼、擴

47、展編碼編碼、擴展編碼68v操作碼的優(yōu)化表示操作碼的優(yōu)化表示等(定)長編碼等(定)長編碼 格式最規(guī)整、冗余最大格式最規(guī)整、冗余最大Huffman編碼編碼 最小概率合并法最小概率合并法 代碼平均長度算法代碼平均長度算法 冗余最小、格式最不規(guī)整冗余最小、格式最不規(guī)整擴展編碼擴展編碼 等長擴展、不等長擴展等長擴展、不等長擴展 X-Y-Z、X/Y/Z 冗余量和規(guī)整性居中冗余量和規(guī)整性居中Nn2log69指令字格式的優(yōu)化指令字格式的優(yōu)化v信息在存儲器中的存放方式信息在存儲器中的存放方式任意存放任意存放問題:問題:信息跨存儲單元,降低訪問速度信息跨存儲單元,降低訪問速度00081018202870指令字格式

48、的優(yōu)化指令字格式的優(yōu)化按整數(shù)邊界存儲按整數(shù)邊界存儲(各類信息存儲的起始地址要求)(各類信息存儲的起始地址要求)字節(jié)(字節(jié)(1B):):半字(半字(2B) :0單字(單字(4B) : 0 0雙字(雙字(8B) : 0 0 00008101871指令字格式的優(yōu)化指令字格式的優(yōu)化v可采用不同的尋址方式、地址制、地址形式和長度以可采用不同的尋址方式、地址制、地址形式和長度以及多種指令字長與可變長操作碼結(jié)合對指令字優(yōu)化。及多種指令字長與可變長操作碼結(jié)合對指令字優(yōu)化。v只優(yōu)化只優(yōu)化OP,不優(yōu)化,不優(yōu)化OA(如采用等長地址碼),發(fā)揮(如采用等長地址碼),發(fā)揮不了操作碼優(yōu)化帶來的好處不了操作碼優(yōu)化帶來的好處7

49、2定長指令字內(nèi)實現(xiàn)多地址制定長指令字內(nèi)實現(xiàn)多地址制73定長指令字同地址制下的多種地址形式和長度定長指令字同地址制下的多種地址形式和長度74IBM 370 IBM 370 指令的主要格式指令的主要格式( (多種指令字長多種指令字長) )75v某模型機共某模型機共7條指令,使用頻度分別為條指令,使用頻度分別為35%,25%,20%,10%,5%,3%,2%。該模型機有。該模型機有8位和位和16位兩位兩種指令字長,采用種指令字長,采用2-4擴展操作碼擴展操作碼。8位長指令為位長指令為R-R二二地址型,地址型,16位長指令為位長指令為R-M二地址變址尋址型,變址范二地址變址尋址型,變址范圍為(圍為(-

50、128127)。)。(1)設計該機的兩種指令格式,標出各字段位數(shù)并給出操作設計該機的兩種指令格式,標出各字段位數(shù)并給出操作碼編碼。碼編碼。(2)該機允許使用多少個可編址的通用寄存器,多少個變址該機允許使用多少個可編址的通用寄存器,多少個變址寄存器?寄存器?(3)計算操作碼的平均碼長。計算操作碼的平均碼長。76v2-4擴展操作碼編碼擴展操作碼編碼指令號指令號指令的使用頻指令的使用頻率率2-4擴展操作碼編碼擴展操作碼編碼135% 00225% 01320% 10410% 110055% 110163% 111072% 1111R-RR-M77v2)指令格式)指令格式R-RR-R型:型:操作碼操作碼

51、OP源寄存器源寄存器Rs目的寄存器目的寄存器Rd 2位位 3位位 3位位R-M型:型: 操作碼操作碼OP源寄存器源寄存器Rs變址寄存器變址寄存器Rx偏移地址偏移地址 4位位 3位位 1位位 8位位v3)平均長度)平均長度 0.352+0.252+0.22+0.14+0.054+ 0.034 +0.024 =2.4位位78v指令系統(tǒng)的功能設計有指令系統(tǒng)的功能設計有兩個截然相反的方向兩個截然相反的方向: 復雜指令系統(tǒng)復雜指令系統(tǒng)CISC(Complex Instruction Set Computer)增強指令功能,設置功能復雜的指令增強指令功能,設置功能復雜的指令 面向目標代碼、面向高級語言、面

52、向操作系統(tǒng)優(yōu)化面向目標代碼、面向高級語言、面向操作系統(tǒng)優(yōu)化 用一條指令代替一串指令。用一條指令代替一串指令。 精簡指令系統(tǒng)精簡指令系統(tǒng)RISC(Reduced Instruction Set Computer) vCISC特點:特點: 指令系統(tǒng)龐大,指令系統(tǒng)龐大,100條條 可變長指令字格式可變長指令字格式 ,如,如IBM370 多種尋址方式多種尋址方式 包括許多使用頻率不高的特殊功能指令包括許多使用頻率不高的特殊功能指令P25 表表2.579v指令系統(tǒng)龐大,相應硬件復雜,增加研制時間和成本且易造指令系統(tǒng)龐大,相應硬件復雜,增加研制時間和成本且易造成設計錯誤。成設計錯誤。v指令功能的不均衡,不

53、利于先進體系結(jié)構(gòu)(如流水線)的實指令功能的不均衡,不利于先進體系結(jié)構(gòu)(如流水線)的實現(xiàn)。現(xiàn)。v優(yōu)化編譯困難,難生成高效目標程序,編譯程序本身龐大。優(yōu)化編譯困難,難生成高效目標程序,編譯程序本身龐大。v多數(shù)指令的使用頻率不高,多數(shù)指令的使用頻率不高,80%20%規(guī)律規(guī)律。 如如VAX-11/780:304條指令、條指令、16種尋址方式、種尋址方式、7類類14種數(shù)種數(shù)據(jù)表示;據(jù)表示;IBM 360、370 、VAX8600、MC68020 控制部分控制部分占整個占整個CPU芯片面積芯片面積60%80IntelIntel80888088 處理機指令系統(tǒng)使用頻度和執(zhí)行時間統(tǒng)計處理機指令系統(tǒng)使用頻度和執(zhí)

54、行時間統(tǒng)計 (C C 語言編譯程序和語言編譯程序和 PROLOGPROLOG 解釋程序)解釋程序) 使用頻度使用頻度 執(zhí)行時間執(zhí)行時間 序號序號 指令指令 累計累計 序號序號 指令指令 累累 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 1010 1111 1212 1313 1414 1515 1616 1717 1818 1919 2020 MOVMOV PUSHPUSH CMPCMP JMPccJMPcc ADDADD POPPOP RETRET CALLCALL JUMPJUMP SUBSUB INCINC LESLES REPNREPN IMULIMUL D

55、ECDEC XORXOR REPNZREPNZ CLDCLD LOOPccLOOPcc TESTTEST 24.8524.85 10.3610.36 10.2810.28 9.039.03 6.806.80 4.144.14 3.923.92 3.893.89 2.702.70 2.432.43 2.372.37 1.981.98 1.921.92 1.691.69 1.371.37 1.131.13 0.780.78 0.540.54 0.520.52 0.400.40 24.8524.85 35.2135.21 45.4945.49 54.5254.52 61.3261.32 65.466

56、5.46 69.3869.38 73.2773.27 75.9775.97 78.4078.40 80.7780.77 82.7582.75 84.6784.67 86.3686.36 87.7387.73 88.8688.86 89.6489.64 90.1890.18 90.7090.70 91.1091.10 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 1010 1111 1212 1313 1414 1515 1616 1717 1818 1919 2020 IMULIMUL MOVMOV PUSHPUSH JMPccJMPcc CMPCMP CALLCAL

57、L RETRET ADDADD JMPJMP LESLES POPPOP DECDEC SUBSUB XORXOR INCINC LOOPccLOOPcc LDSLDS CMPSCMPS MOVSMOVS JCXZJCXZ 19.5519.55 17.4417.44 11.1111.11 10.5510.55 7.807.80 7.277.27 4.854.85 3.273.27 3.263.26 2.832.83 2.612.61 1.491.49 1.181.18 1.041.04 0.990.99 0.640.64 0.640.64 0.440.44 0.390.39 0.370.37

58、19.5519.55 36.9936.99 48.1048.10 58.6558.65 66.4566.45 73.7273.72 78.5778.57 81.8481.84 85.1085.10 87.9387.93 90.5490.54 92.092.03 3 93.2193.21 94.2594.25 95.2495.24 95.8895.88 96.5296.52 96.9696.96 97.3597.35 97.7297.72 81vRISC特點:特點:減少指令(減少指令(100條)和尋址(條)和尋址(24種)的種類。種)的種類。 大多數(shù)指令在單周期內(nèi)完成。大多數(shù)指令在單周期內(nèi)完成。

59、CPI1采用采用LOAD/STORE結(jié)構(gòu)。僅此兩指令可訪問存儲器結(jié)構(gòu)。僅此兩指令可訪問存儲器硬聯(lián)控制為主、固件(微程序)實現(xiàn)為輔硬聯(lián)控制為主、固件(微程序)實現(xiàn)為輔。固定的指令字格式。固定的指令字格式。優(yōu)化編譯設計技術。優(yōu)化編譯設計技術。設置大量的通用寄存器,并采用設置大量的通用寄存器,并采用重疊寄存器窗口重疊寄存器窗口技術。技術。指令執(zhí)行采用流水線技術、延遲加載和延時轉(zhuǎn)移技術。指令執(zhí)行采用流水線技術、延遲加載和延時轉(zhuǎn)移技術。Cache結(jié)構(gòu)(結(jié)構(gòu)(2級級Cache、I-Cache 、 D-Cache )v高效的流水線高效的流水線和和優(yōu)化編譯技術優(yōu)化編譯技術是現(xiàn)代是現(xiàn)代RISC系統(tǒng)特別注重的。系

60、統(tǒng)特別注重的。v如如RISC-I、 RISC-II。控制部分控制部分占整個占整個CPU芯片面積芯片面積10%82 TCPU=In CPI Tc 10ns2ns 1.11.4 1.31.4 RISC 33ns5ns 215 1 CISC TcCPIIn類型類型83 P31 表表2.6 請自學退偶(混合)請自學退偶(混合)CISC/RISC和后和后RISC84v指令系統(tǒng)功能設計指令系統(tǒng)功能設計要求要求:完整性(完整性(Completeness):):通用計算機所應具備的基本指通用計算機所應具備的基本指令種類。令種類。數(shù)據(jù)傳送類指令,運算類指令,程序控制類指令、輸入輸數(shù)據(jù)傳送類指令,運算類指令,程序

溫馨提示

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

最新文檔

評論

0/150

提交評論