計算機系統(tǒng)結構—第二章(指令系統(tǒng))

上傳人:y****3 文檔編號:29207848 上傳時間:2021-10-01 格式:PPT 頁數(shù):126 大?。?.61MB
收藏 版權申訴 舉報 下載
計算機系統(tǒng)結構—第二章(指令系統(tǒng))_第1頁
第1頁 / 共126頁
計算機系統(tǒng)結構—第二章(指令系統(tǒng))_第2頁
第2頁 / 共126頁
計算機系統(tǒng)結構—第二章(指令系統(tǒng))_第3頁
第3頁 / 共126頁

下載文檔到電腦,查找使用更方便

30 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《計算機系統(tǒng)結構—第二章(指令系統(tǒng))》由會員分享,可在線閱讀,更多相關《計算機系統(tǒng)結構—第二章(指令系統(tǒng))(126頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、指令系統(tǒng) 指令系統(tǒng)的分類 數(shù)據(jù)表示 尋址技術 指令格式的優(yōu)化設計 指令系統(tǒng)的功能設計 綜合實例:MIPS指令集指令系統(tǒng)的分類本章內容根據(jù)CPU中操作數(shù)的存儲方法分類(主要分類準則)根據(jù)指令中顯式操作數(shù)個數(shù)分類根據(jù)操作數(shù)能否放在存儲器中分類堆棧型指令系統(tǒng)累加器型指令系統(tǒng)寄存器型指令系統(tǒng)6 之 1以以C=A+B為例說明不同指令系統(tǒng)的特點為例說明不同指令系統(tǒng)的特點6 之 2 灰色塊:灰色塊: 操作數(shù) 黑色塊:黑色塊: 結果 TOSTOS: 棧頂三種指令系統(tǒng)的特點指令長度短,代碼密度高,占用存儲空間小。代碼效率低,執(zhí)行效率不高。指令長度短,代碼密度高,代碼效率高。執(zhí)行效率不高。指令簡單,執(zhí)行效率高,對

2、編譯程序支持好。指令長度長。本章內容現(xiàn)在通用寄存器型已成為主流結構6 之 3通用寄存器型指令系統(tǒng)的分類本章內容 根據(jù)分類標準2、3可以分為:6 之 4不同通用寄存器型指令系統(tǒng)的特點本章內容6 之 5指令系統(tǒng)的選擇本章內容 針對應用需求,對指令中各屬性分布進行分析,根據(jù)指令執(zhí)行效率確定指令集風格 根據(jù)各種指令的各屬性分布確定寄存器數(shù)及操作數(shù)個數(shù) 必須考慮對OS和編譯程序的支持6 之 6數(shù)據(jù)表示 本章內容 基本概念 基本數(shù)據(jù)表示 高級數(shù)據(jù)表示 數(shù)據(jù)表示設計基本概念本章內容數(shù)據(jù)表示 計算機系統(tǒng)中可以使用和處理的各種數(shù)據(jù)的類型,主要有:整數(shù)、布爾數(shù)、字符、文件、圖、表、樹、陣列、隊列、鏈表、棧、向量、

3、串等。 能由硬件直接識別和引用(即有相應運算指令和有硬件支持)的數(shù)據(jù)類型,例如:定點數(shù)據(jù)表示、邏輯數(shù)據(jù)表示、浮點數(shù)據(jù)表示等。 帶有結構的數(shù)據(jù)元素的集合,例如:串、隊列、棧、向量、陣列、鏈表、樹、圖等。3 之 1三者之間的關系本章內容數(shù)據(jù)表示 3 之 2 數(shù)據(jù)表示和數(shù)據(jù)結構都是數(shù)據(jù)類型的子集; 數(shù)據(jù)表示是數(shù)據(jù)類型中最常用、也是相對較簡單,用硬件實現(xiàn)相對比較容易的; 數(shù)據(jù)結構由軟件進行實現(xiàn),轉換成數(shù)據(jù)表示。 確定哪些數(shù)據(jù)類型用數(shù)據(jù)表示實現(xiàn),是軟件與硬件的取舍問題。結 論本章內容數(shù)據(jù)表示 3 之 3 數(shù)據(jù)類型是指令系統(tǒng)的核心內容,系統(tǒng)結構設計者在設計時應首先確定: 基本數(shù)據(jù)表示本章內容數(shù)據(jù)表示 定點

4、數(shù)、浮點數(shù)、十進制數(shù)、邏輯數(shù)、字符等。 支持數(shù)據(jù)結構,提高系統(tǒng)效率和性能/價格。 根據(jù)應用需求,設計各種參數(shù)、指標。 浮點數(shù)數(shù)據(jù)表示的設計。2 之 1浮點數(shù)數(shù)據(jù)表示設計 浮點數(shù)格式 浮點數(shù)尾數(shù)基值選擇 浮點數(shù)尾數(shù)下溢處理 浮點數(shù)格式設計本章內容數(shù)據(jù)表示 2 之 2浮點數(shù)格式兩個符號::尾數(shù)符號:階碼符號本章內容數(shù)據(jù)表示 浮點數(shù)數(shù)據(jù)表示remmN1位位1位位q位位p位位mfefem兩個數(shù)值:兩個數(shù)值::尾數(shù)的值尾數(shù)的值 :階碼的值階碼的值兩個基:兩個基::尾數(shù)的基尾數(shù)的基:階碼的基階碼的基兩個字長兩個字長: :尾數(shù)的長度尾數(shù)的長度 :階碼的長度階碼的長度浮點數(shù)尾數(shù)基值的選擇 隨rm加大,范圍加大

5、。 隨rm加大,個數(shù)增多。 隨rm加大,精度變低。 隨rm加大,損失變小。 隨rm加大,速度變快。 rm的選擇應根據(jù)應用需要來綜合平衡: m 尾數(shù)字長較長可以彌補精度的損失。 m 提高的精度可以彌補尾數(shù)字長較短的不足。本章內容數(shù)據(jù)表示 浮點數(shù)數(shù)據(jù)表示浮點數(shù)尾數(shù)下溢的處理 在浮點數(shù)操作(相加、相乘、右移等)過程中產生的下溢會造成精度的損失。 設計,有多種方法,不同的方法有不同的優(yōu)點和缺點,其出發(fā)點和應用場合也不一樣,應根據(jù)需要進行選擇。 截斷法 舍入法 恒置“1”法 查表舍入法 本章內容數(shù)據(jù)表示 浮點數(shù)數(shù)據(jù)表示浮點數(shù)格式設計本章內容數(shù)據(jù)表示 浮點數(shù)數(shù)據(jù)表示 碼制可以采用原碼或補碼,數(shù)制可以采用整

6、數(shù)或小數(shù),基可以采用二進制、四進制、八進制、十進制或十六進制。多數(shù)機器采用表示,尾數(shù)的基rm。 碼制可以采用移碼或補碼,數(shù)制采用整數(shù),基re=2。一般機器都采用表示。2 之 1浮點數(shù)格式設計本章內容數(shù)據(jù)表示 浮點數(shù)數(shù)據(jù)表示 在表數(shù)范圍和表數(shù)精度給定的情況下,如何確定最短的尾數(shù)字長p和階碼字長q。 階碼長度q 影響表數(shù)范圍。尾數(shù)長度p 影響表數(shù)精度。尾數(shù)基值rm 影響表數(shù)范圍、精度及數(shù)在數(shù)軸上分布離散程度。2 之 2高級數(shù)據(jù)表示本章內容數(shù)據(jù)表示 堆棧、向量、數(shù)組(隊列)、記錄、自定義數(shù)據(jù)表示等。 支持數(shù)據(jù)結構,提高系統(tǒng)效率和性能/價格。 自定義數(shù)據(jù)表示。2 之 1自定義數(shù)據(jù)表示本章內容數(shù)據(jù)表示

7、存在問題 解決方法帶標志符的數(shù)據(jù)表示法數(shù)據(jù)描述符表示法2 之 2存在問題本章內容數(shù)據(jù)表示 自定義數(shù)據(jù)表示 在高級語言與機器語言之間存在著很大的語義差距(例如:),增加了編譯程序的負擔,能否在設計機器語言時,縮短與高級語言之間的差距?帶標志符的數(shù)據(jù)表示法本章內容數(shù)據(jù)表示 自定義數(shù)據(jù)表示 每個數(shù)據(jù)的格式為: 在B5000大型機中,每個數(shù)據(jù)有一位標志符 在B6500/B7500大型機中,每個數(shù)據(jù)有三位標志 在R-2巨型機中采用10位標志符10位標志符位標志符功能功能數(shù)值數(shù)值陷井陷井封寫封寫類型類型校驗校驗2位位2位位1位位4位位1位位標志符標志符數(shù)值數(shù)值 標志符由編譯器或標志符由編譯器或其它系統(tǒng)軟件

8、建立,對其它系統(tǒng)軟件建立,對一般高級語言程序員和一般高級語言程序員和計算機用戶透明。計算機用戶透明。4 之 1帶標志符的數(shù)據(jù)表示法簡化指令系統(tǒng)和程序設計簡化編譯程序便于硬件實現(xiàn)一致性校驗能由硬件自動完成數(shù)據(jù)類型的變換為軟件調試和應用軟件開發(fā)提供支持支持了數(shù)據(jù)庫系統(tǒng)的實現(xiàn)與數(shù)據(jù)類型無關的要求數(shù)據(jù)和指令的長度可能不一致指令執(zhí)行速度降低,程序設計時間、編譯時間和調試時間縮短硬件復雜度增加。本章內容數(shù)據(jù)表示 自定義數(shù)據(jù)表示4 之 2存儲空間分析 存儲空間將會增加。 合理地設計和使用會不增反降。 數(shù)據(jù)字增加,指令字縮小編譯程序縮短,目的程序縮短本章內容數(shù)據(jù)表示 自定義數(shù)據(jù)表示數(shù)據(jù)字長數(shù)據(jù)字長加長加長數(shù)據(jù)

9、數(shù)據(jù)指令指令指指令令字字長長縮縮短短采用標志符采用標志符的指令字長的指令字長標志符長度標志符長度不采不采用標用標志符志符的指的指令和令和數(shù)據(jù)數(shù)據(jù)字長字長采用標志符的數(shù)據(jù)長度采用標志符的數(shù)據(jù)長度4 之 3存儲空間分析假設X處理機的數(shù)據(jù)不帶標志符,其指令字長和數(shù)據(jù)字長均為32位;Y處理機的數(shù)據(jù)帶標志符,數(shù)據(jù)字長增加至35位,其中3位是標志符,其指令字長由32位減少至30位。并假設一條指令平均訪問兩個操作數(shù),每個操作數(shù)平均被訪問R次。分別計算一個有I條指令的程序在這兩種不同類型的處理機中所占用的存儲空間。程序在X中的存儲空間: 程序在Y中的存儲空間: 二者的比值為:當R3時有 BY/BX 數(shù)據(jù)表示

10、自定義數(shù)據(jù)表示RIIBY35230321635153223235230RRRIIRIIBBXYRIIBX322324 之 4數(shù)據(jù)描述符表示法本章內容數(shù)據(jù)表示 自定義數(shù)據(jù)表示 對于許多連續(xù)存放的同屬性數(shù)據(jù),例如:向量、矩陣、多維數(shù)組等,可以采用一個數(shù)據(jù)描述符作用于這樣的一組數(shù)據(jù),而沒有必要讓每個數(shù)據(jù)都帶標志符。 以Burroughs公司生產的機中采用的數(shù)據(jù)描述符表示方法進行介紹。5 之 1B-6700中的格式本章內容數(shù)據(jù)表示 自定義數(shù)據(jù)表示101數(shù)據(jù)塊起始地址數(shù)據(jù)塊起始地址標志位標志位數(shù)據(jù)塊長度數(shù)據(jù)塊長度000數(shù)值數(shù)值5 之 2取操作數(shù)的過程本章內容數(shù)據(jù)表示 自定義數(shù)據(jù)表示5 之 3101000

11、000101操作碼操作碼xy指令指令主存儲器主存儲器101101地址形地址形成邏輯成邏輯寄存器寄存器描述符描述符(數(shù)據(jù))(數(shù)據(jù))(數(shù)據(jù))(數(shù)據(jù))描述符描述符描述二維陣列(按行存儲)本章內容數(shù)據(jù)表示 自定義數(shù)據(jù)表示101標志標志3101標志標志4101標志標志4101標志標志4000a11000a12000a13000a14000a21000a22000a23000a24000a31000a32000a33000a34OPCXY343332312423222114131211aaaaaaaaaaaaA5 之 4特 點本章內容數(shù)據(jù)表示 自定義數(shù)據(jù)表示 整塊數(shù)據(jù)可一次性操作簡化編譯中的代碼生成 標志

12、符是和每個數(shù)據(jù)相連,合存于一個存儲單元中,;描述符是和數(shù)據(jù)分開存放的,。5 之 5數(shù)據(jù)表示設計本章內容數(shù)據(jù)表示 確定哪些數(shù)據(jù)類型用數(shù)據(jù)表示來實現(xiàn)的原則主要有:w 原則一原則一w 原則二原則二設計原則一本章內容數(shù)據(jù)表示數(shù)據(jù)表示設計 主存和處理機間所需傳送的消息量有否減少高速運算部件是否節(jié)省了時間是否節(jié)省了大量的輔助操作(由硬件完成)是否節(jié)省了編譯所需要的時間 向量數(shù)據(jù)表示的引入(例如:兩個200200的定點數(shù)矩陣相加)。設計原則二本章內容數(shù)據(jù)表示 數(shù)據(jù)表示設計 盡管堆棧操作速度很快,但矩陣運算效率卻降低了。 還需要解決通用性問題、如何高效地實現(xiàn)不同的數(shù)據(jù)結構、如何確定陣列型數(shù)據(jù)表示的規(guī)模等。 堆

13、棧、向量、鏈表等結構的實現(xiàn)低效。尋址技術 尋址技術就是尋找操作數(shù)及其他信息的地址的技術,它是軟件和硬件的一個主要分界面。 寄存器、主存儲器、堆棧和輸入輸出設備。 分析各種尋址技術的優(yōu)缺點,如何選擇和確定尋址技術。本章內容w 編址方式編址方式w 尋址方式尋址方式w 定位方式定位方式編址方式本章內容尋址技術 編址單位 零地址空間個數(shù) I/O設備的編址技術 并行存儲器的編址技術編址單位本章內容尋址技術編址方式 字編址 字節(jié)編址 位編址字編址本章內容尋址技術編址方式編址單位 。即,每個編址單位所包含的信息量(例:二進制位數(shù))與訪問一次設備(指讀或寫)所獲得的信息量是相同的。 實現(xiàn)很簡單,地址信息、存儲

14、器容量等沒有任何浪費。 沒有對非數(shù)值計算的應用(要求按字節(jié)編址,因為它的基本尋址單位是字節(jié))提供支持。字節(jié)編址 每個編址單位是字節(jié)。 編址單位與信息的基本單位(一個字節(jié))相一致。 地址空間的浪費。 因為每個編址單位所包含的信息量(一個字節(jié))與訪問一次設備所獲得的信息量(通常是一個字:字節(jié)的4倍以上)不相同,從而就產生了數(shù)據(jù)如何在存儲器里存放的問題。 有三種:(1、2、3)本章內容尋址技術編址方式編址單位從任意位置開始存儲 不浪費存儲器資源。本章內容尋址技術編址方式編址單位字節(jié)編址n增加讀取時間(可能需增加讀取時間(可能需要兩個存儲周期)要兩個存儲周期)n存儲器的讀寫控制比較存儲器的讀寫控制比較

15、復雜復雜字字單單- -字節(jié)字節(jié)單字單字字字半半- -單字單字字字雙雙- -半字半字字節(jié)字節(jié)存儲字長:存儲字長:6464位(位(8 8字節(jié))字節(jié))主存空間主存空間從存儲字起始位置開始存儲 浪費存儲器資源。本章內容尋址技術編址方式編址單位字節(jié)編址n讀取都可以在一個存儲讀取都可以在一個存儲周期內完成周期內完成n存儲器的讀寫控制比較存儲器的讀寫控制比較簡單簡單存儲字長:存儲字長:64位(位(8字節(jié))字節(jié))主存空間主存空間字節(jié)字節(jié)浪費浪費半字半字浪費浪費單字單字浪費浪費雙字雙字從地址整數(shù)倍位置開始存儲性能是前兩種方法的折中 本章內容尋址技術編址方式編址單位字節(jié)編址存儲字長:存儲字長:64位(位(8字節(jié))

16、字節(jié))主存空間主存空間字節(jié)字節(jié)浪費浪費雙字雙字單字單字浪費浪費雙字雙字字節(jié)字節(jié)浪費浪費單字單字雙字雙字字節(jié)字節(jié) 浪費浪費半字半字xx00 xx08xx10 xx18xx20 xx28xx30地址地址位編址本章內容尋址技術編址方式編址單位 每個編址單位是位。 同字節(jié)編址,只不過地址信息的浪費更大。 零地址空間個數(shù)本章內容尋址技術編址方式 通用寄存器、主存儲器和輸入輸出設備均獨立編址。 主存儲器與輸入輸出設備統(tǒng)一編址。 所有存儲設備統(tǒng)一編址,最低端是通用寄存器,最高端是輸入輸出設備,中間為主存儲器。 所有存儲設備都無需編址,例如:堆棧、Cache等。I/O設備的編址技術本章內容尋址技術編址方式 對

17、I/O設備本身進行編址,沒有對寄存器進行編址。 一個地址是數(shù)據(jù)寄存器,另一個是狀態(tài)或控制寄存器。 根據(jù)各種I/O設備的不同需要為它分配不同數(shù)據(jù)的地址。并行存儲器的編址技術本章內容尋址技術編址方式 高位交叉編址 主要目的是用來擴大存儲器容量。 低位交叉編址 主要目的是提高存儲器速度。高位交叉編址本章內容尋址技術編址方式并行存儲器的編址技術MBR存儲體存儲體0MAR0.00.00.0F.FMBR存儲體存儲體1MAR0.10.00.1F.FMBR存儲體存儲體n-1MARF.F0.0F.FF.F譯碼器譯碼器 高位高位 地址寄存器(低位)地址寄存器(低位) 數(shù)據(jù)寄存器數(shù)據(jù)寄存器 地址寄存器地址寄存器 低

18、位交叉編址本章內容尋址技術編址方式并行存儲器的編址技術MBR存儲體存儲體0MAR0.00.0F.F0.0MBR存儲體存儲體1MAR0.00.1F.F0.1MBR存儲體存儲體n-1MAR0.0F.FF.FF.F譯碼器譯碼器 地址寄存器(高位)地址寄存器(高位) (低位)(低位) 數(shù)據(jù)寄存器數(shù)據(jù)寄存器 地址寄存器地址寄存器 尋址方式本章內容尋址技術 常用尋址方式 尋址方式選擇 尋址方式參數(shù)大小選擇常用尋址方式的含義和使用常用尋址方式的含義和使用尋址方式選擇本章內容尋址技術尋址方式 使用根據(jù)指令系統(tǒng)風格和各種尋址方式的使用頻率,選擇高頻率的尋址方式。 在VAX指令集機器上運行gcc、Spice和Te

19、x基準程序,各種尋址方式的分布見圖。2 之 1偏移尋址和立即數(shù)使用頻率很高,必須支持偏移尋址和立即數(shù)使用頻率很高,必須支持這兩種方式;對其他尋址方式,則應根據(jù)軟、這兩種方式;對其他尋址方式,則應根據(jù)軟、硬取舍原則進行選擇。硬取舍原則進行選擇。2 之 2尋址方式參數(shù)大小選擇本章內容尋址技術尋址方式 根據(jù)進行分析和選擇。偏移尋址參數(shù)大小選擇立即數(shù)參數(shù)大小選擇 偏移尋址方式中的地偏移尋址方式中的地址長度至少為址長度至少為1216bit(75%99%)。)。偏移的范圍如何確偏移的范圍如何確定,因為其大小直接定,因為其大小直接影響指令的長度。影響指令的長度。 在在Alpha體系結構計算機上使用體系結構計

20、算機上使用SPEC CPU2000測試所得結果測試所得結果 立即數(shù)尋址模式中的立立即數(shù)尋址模式中的立即數(shù)字段長度至少為即數(shù)字段長度至少為816bit(50%80%)。)。 立即數(shù)的取值范圍如立即數(shù)的取值范圍如何確定,因為其大小直何確定,因為其大小直接影響指令的長度。接影響指令的長度。 在在Alpha體系結構計算機上使用體系結構計算機上使用SPEC CPU2000測試所得結果測試所得結果定位方式本章內容尋址技術 在程序裝入主存儲器之前,程序中的指令和數(shù)據(jù)的主存物理地址就已經確定了的稱為直接定位方式。 在程序裝入主存儲器的過程中隨即進行地址變換,確定指令和數(shù)據(jù)的主存物理地址的稱為靜態(tài)定位方式。 在

21、程序執(zhí)行過程中,當訪問到相應的指令或數(shù)據(jù)時才進行地址變換,確定指令和數(shù)據(jù)的主存物理地址的稱為動態(tài)定位方式。指令格式的優(yōu)化設計本章內容 指令的組成 操作碼的優(yōu)化設計 地址碼的優(yōu)化設計 指令字格式的優(yōu)化設計指令的組成本章內容指令格式的優(yōu)化設計 指令一般由兩部分組成:和。 由兩部分組成:由兩部分組成:指令的操作種類指令的操作種類所用操作數(shù)的類型所用操作數(shù)的類型 由三部分組成:由三部分組成:操作數(shù)地址操作數(shù)地址地址的附加信息地址的附加信息尋址方式尋址方式2 之 1指令格式優(yōu)化設計的目標本章內容指令格式的優(yōu)化設計程序的 指令格式要,以減少硬件譯碼的復雜度2 之 2本章內容指令格式的優(yōu)化設計操作碼的優(yōu)化設

22、計 評價方法 固定長度操作碼 Huffman編碼 擴展編碼法本章內容指令格式的優(yōu)化設計操作碼的優(yōu)化設計評價方法其中:表示第i種操作碼在程序中出現(xiàn)的概率;表示第i種操作碼的編碼長度;操作碼的總數(shù)。其中:為信息熵(理論上的最短平均碼長)。ipinipH2log1lH-1 R iilnipl12 之 1本章內容指令格式的優(yōu)化設計操作碼的優(yōu)化設計例 子 為增加可比性,對下面介紹的編碼方法采用同一例子:。2 之 2指令指令I1概率概率 0.45I20.30I30.15I40.05I50.03I60.01I70.01本章內容指令格式的優(yōu)化設計操作碼的優(yōu)化設計固定長度操作碼 所有指令的操作碼長度都是相同的。

23、如果需要編碼的指令有n條,則固定長度操作碼的位數(shù)至少需要 log2n 位。目前許多的RISC采用該思想。 H=1.95;l=3;R=35% 非常規(guī)整,硬件譯碼也很簡單。浪費嚴重。本章內容指令格式的優(yōu)化設計操作碼的優(yōu)化設計Huffman編碼 概率高的用短位數(shù)表示,概率低的用長位數(shù)表示。 利用Huffman樹實現(xiàn)。 是最優(yōu)化的編碼方式(平均碼長最短,信息的冗余量最?。僮鞔a很不規(guī)整。4 之 1本章內容指令格式的優(yōu)化設計操作碼的優(yōu)化設計Huffman編碼算法 把所有指令按照使用概率自左向右排列好。 選取兩個概率最小的結點合并成一個概率值是二者之和的新結點,并把這個新結點與其它還沒有合并的結點一起

24、形成新結點集合。 在新結點集合中選取兩個概率最小的結點進行合并,如此繼續(xù)進行下去,直至全部結點合并完畢。 最后得到的根結點的概率值為1。 每個結點都有兩個分支,分別用 “0” 和“1”表示。 從根結點開始,沿尖頭所指方向,到達屬于該指令的概率結點,把沿線所經過的代碼組合起來得到這條指令的操作碼編碼。4 之 2本章內容指令格式的優(yōu)化設計操作碼的優(yōu)化設計Huffman編碼舉例0.450.300.150.050.030.010.011.000.550.250.100.050.020101010101014 之 3本章內容指令格式的優(yōu)化設計操作碼的優(yōu)化設計Huffman編碼舉例指令序號指令序號概率概率

25、Huffman編碼法編碼法操作碼長度操作碼長度I10.4501位位I20.30102位位I30.151103位位I40.0511104位位I50.03111105位位I60.011111106位位I70.011111116位位H=1.95;l=1.97;R1%4 之 4本章內容指令格式的優(yōu)化設計操作碼的優(yōu)化設計擴展編碼法 是固定長度操作碼和Huffman編碼法相結合形成的。即:。 有多種擴展編碼,等長擴展(例如:4-8-12、3-6-9等)?不等長擴展(例如:4-6-10等)? 取決于具體指令的使用頻度的分布。5 之 1本章內容指令格式的優(yōu)化設計操作碼的優(yōu)化設計擴展編碼法舉例序號序號概率概率1

26、-2-3-5擴展編碼擴展編碼I10.450I20.3010I30.15110I40.0511100I50.0311101I60.0111110I70.01111112-4等長擴展編碼等長擴展編碼0001101100110111101111平均碼長平均碼長2.02.2信息冗余量信息冗余量2.5%11.4%5 之 2本章內容指令格式的優(yōu)化設計操作碼的優(yōu)化設計等長(4-8-12)15/15/15擴展編碼法操作碼編碼操作碼編碼說明說明0000000111104位長度的操作碼位長度的操作碼共共15種種1111 00001111 00011111 11108位長度的操作碼位長度的操作碼共共15種種1111

27、 1111 00001111 1111 00011111 1111 111012位長度的操作碼位長度的操作碼共共16種種5 之 3本章內容指令格式的優(yōu)化設計操作碼的優(yōu)化設計等長(4-8-12)8/64/512擴展編碼法操作碼編碼操作碼編碼說明說明0000000101114位長度的操作碼位長度的操作碼共共8種種1000 00001000 00011111 01118位長度的操作碼位長度的操作碼共共64種種1000 1000 00001000 1000 00011111 1111 011112位長度的操作碼位長度的操作碼共共512種種5 之 4本章內容指令格式的優(yōu)化設計操作碼的優(yōu)化設計不等長(4-

28、6-10) 擴展編碼法5 之 5編碼方法編碼方法各種不同長度操作碼的指令種類各種不同長度操作碼的指令種類總的總的指令種類指令種類4位操作碼位操作碼 6位操作碼位操作碼 10位操作碼位操作碼15/3/1615316348/31/1683116558/30/3283032708/16/2568162562804/32/256432256292本章內容指令格式的優(yōu)化設計地址碼的優(yōu)化設計 地址個數(shù)的選擇 優(yōu)化單個地址碼本章內容指令格式的優(yōu)化設計地址碼的優(yōu)化設計地址個數(shù)的選擇地址數(shù)目地址數(shù)目指令指令條數(shù)條數(shù)程序程序存儲量存儲量程序執(zhí)程序執(zhí)行速度行速度適用場合適用場合三地址三地址少少最大最大一般一般向量、

29、矩陣運算為主向量、矩陣運算為主二地址二地址一般一般很大很大很低很低一般不宜采用一般不宜采用一地址一地址較多較多較大較大較快較快連續(xù)運算,硬件結構簡單連續(xù)運算,硬件結構簡單零地址零地址最多最多最小最小最低最低嵌套、遞歸、變量較多嵌套、遞歸、變量較多二地址二地址R型型一般一般最小最小最快最快多累加器、數(shù)據(jù)傳送較多多累加器、數(shù)據(jù)傳送較多采用各種不同地址數(shù)指令編寫的程序的特點和適用范圍采用各種不同地址數(shù)指令編寫的程序的特點和適用范圍本章內容指令格式的優(yōu)化設計地址碼的優(yōu)化設計優(yōu)化單個地址碼 要用一個較短的地址碼表示一個較大的邏輯地址空間,同時還要有較靈活有效的尋址方式。 用間址尋址方式縮短地址碼長度用變

30、址尋址方式縮短地址碼長度用寄存器間接地址方式縮短地址碼長度(是最有效的方法)本章內容指令格式的優(yōu)化設計指令字格式的優(yōu)化設計 操作碼和地址碼的優(yōu)化,會造成指令字的不定長,無法同時滿足速度快和空間省。 合理結合,形成定長或多種長度的指令字,例如:長操作碼配短地址碼等。指令系統(tǒng)的功能設計本章內容 指令系統(tǒng)性能 基本指令系統(tǒng) 指令系統(tǒng)優(yōu)化設計復雜指令系統(tǒng)計算機(CISC)精簡指令系統(tǒng)計算機(RISC)指令系統(tǒng)性能本章內容指令系統(tǒng)的功能設計 是指作為通用計算機所應該具備的基本指令種類。 是指指令的執(zhí)行速度要快,使用頻度要高。例如:在RISC體系結構中,大多數(shù)指令都能在一個節(jié)拍內完成,而且只設置那些使用頻

31、度高的指令。 是計算機系統(tǒng)的生命力之所在。4 之 1指令系統(tǒng)性能本章內容指令系統(tǒng)的功能設計4 之 2 是硬件設計(如:VLSI技術)和軟件設計(如:編譯程序)的需要。 規(guī)整性主要包括:對稱性和均勻性。 對稱性本章內容指令系統(tǒng)的功能設計規(guī)整性4 之 3 :所有的通用寄存器要同等對待:如果設置A-B指令,則也應該設置B-A指令均勻性本章內容指令系統(tǒng)的功能設計規(guī)整性4 之 4 :某機器有5種數(shù)據(jù)表示、4種字長、8種數(shù)據(jù)存儲設備,則在設計加法指令時,指令種類應該是:548160種兩地址加法指令(不可能也不太現(xiàn)實)?;局噶钕到y(tǒng)本章內容指令系統(tǒng)的功能設計 在設計通用計算機時,指令系統(tǒng)的完整性是必須要考慮

32、的,基本指令有: 數(shù)據(jù)傳送類指令 運算類指令 程序控制指令 輸入輸出指令 處理機控制和調試指令復雜指令系統(tǒng)計算機(CISC)本章內容指令系統(tǒng)的功能設計 增強原有指令的功能以及設置更為復雜的新指令取代原先由軟件子程序完成的功能,實現(xiàn)軟件功能的硬化。從面向目標程序的優(yōu)化實現(xiàn)來改進指令系統(tǒng)從面向高級語言的優(yōu)化實現(xiàn)來改進指令系統(tǒng)從面向操作系統(tǒng)的優(yōu)化實現(xiàn)來改進指令系統(tǒng)從面向目標程序的優(yōu)化實現(xiàn)來改進本章內容指令系統(tǒng)的功能設計CISC 縮短目標程序的長度,即減少程序的空間開銷縮短目標程序的執(zhí)行時間,即減少程序的時間開銷 對大量已有的目標程序及其執(zhí)行情況進行,按統(tǒng)計出的各種指令和指令串的來分析改進。4 之 1

33、本章內容指令系統(tǒng)的功能設計CISC4 之 2指令的使用頻度 是指對多種典型程序中所用的指令和指令串進行統(tǒng)計所得出的百分比(著眼于減少目標程序所占用的存儲空間)。 是指對多種典型程序所執(zhí)行的指令和指令串進行統(tǒng)計所得出的百分比(著眼于減少目標程序的執(zhí)行時間)。統(tǒng)計結果表明:指令動態(tài)使用頻度統(tǒng)計結果表明:指令動態(tài)使用頻度指令靜態(tài)使用頻度指令靜態(tài)使用頻度本章內容指令系統(tǒng)的功能設計CISC對使用頻率高的指令, 增強其功能、加快其執(zhí)行速度并縮短字長;對使用頻率高的指令串, 增設新指令來替代它;對使用頻率低的指令, 取消或合并,但要考慮到指令系統(tǒng)的兼容性問題。4 之 3優(yōu)化方法本章內容指令系統(tǒng)的功能設計CI

34、SC例如:循環(huán)在程序中占有相當大的 比例,所以在指令上提供專門的支持。循環(huán)控制部分通常用3條指令完成 一條加法指令 一條比較指令 一條分支指令設置循環(huán)控制指令,用一條指令完成上述3條指令的功能。 4 之 4例 子從面向高級語言的優(yōu)化實現(xiàn)來改進本章內容指令系統(tǒng)的功能設計CISC 盡可能減小高級語言和機器語言之間的語義差距,以利于支持高級語言編譯器(縮短編譯器的代碼長度及編譯時間)的構造。增強對高級語言支持的指令的功能增強對編譯程序支持的指令的功能高級語言計算機增強對高級語言支持的指令的功能本章內容指令系統(tǒng)的功能設計CISC從面向高級語言的優(yōu)化實現(xiàn)來改進 對源程序中各種高級語言語句的靜態(tài)/動態(tài)使用

35、頻度進行統(tǒng)計分析來改進。 高級語言因用途不同,其語句使用頻度有較大差異,因此指令系統(tǒng)很難做到對各種語言都是優(yōu)化的。 優(yōu)化你所用的高級語言。增強對編譯程序支持的指令的功能本章內容指令系統(tǒng)的功能設計CISC從面向高級語言的優(yōu)化實現(xiàn)來改進 縮短高級語言和機器語言之間的語義差距。 如果計算機系統(tǒng)結構過分優(yōu)化于一種高級語言的實現(xiàn),就會顯著減低與其語義結構相差較大的其它高級語言的實現(xiàn)效率。 同時面向各種高級語言的優(yōu)化實現(xiàn)來改進動態(tài)自適應指令系統(tǒng)同時面向各種高級語言的優(yōu)化實現(xiàn)來改進本章內容指令系統(tǒng)的功能設計CISC從面向高級語言的優(yōu)化實現(xiàn)來改進增強支持編譯程序指令的功能 可以設法改進指令系統(tǒng),使它與各種高級

36、語言的語義差距都有共同的縮小。Von Neumann系統(tǒng)結構系統(tǒng)結構右移右移COBOLPL/IAPLFORTRANBASIC動態(tài)自適應指令系統(tǒng)本章內容指令系統(tǒng)的功能設計CISC從面向高級語言的優(yōu)化實現(xiàn)來改進增強支持編譯程序指令的功能 讓機器具有分別面向各種高級語言的多種指令系統(tǒng)、多種系統(tǒng)結構,并能動態(tài)地切換。微程序機器微程序機器面向面向BASIC系統(tǒng)結構系統(tǒng)結構面向面向FORTRAN系統(tǒng)結構系統(tǒng)結構面向面向COBOL系統(tǒng)結構系統(tǒng)結構BASIC虛擬機虛擬機FORTRAN虛擬機虛擬機COBOL虛擬機虛擬機高級語言計算機本章內容指令系統(tǒng)的功能設計CISC從面向高級語言的優(yōu)化實現(xiàn)來改進 讓高級語言和機

37、器語言之間無語義差距。間接執(zhí)行高級語言機器 高級語言 = 匯編語言直接執(zhí)行高級語言機器 高級語言 = 機器語言微程序機器級微程序機器級高級語言程序高級語言程序傳統(tǒng)傳統(tǒng)機器機器面面 向向高級語言高級語言機機 器器間接執(zhí)行間接執(zhí)行高級語言高級語言機機 器器解解釋釋匯匯編編解解釋釋解解釋釋解解釋釋編編譯譯編編譯譯直直接接執(zhí)執(zhí)行行高高級級語語言言機機器器從面向操作系統(tǒng)的優(yōu)化實現(xiàn)來改進本章內容指令系統(tǒng)的功能設計CISC減少運行操作系統(tǒng)所需的輔助操作時間;節(jié)省操作系統(tǒng)所占用的存貯空間。 對操作系統(tǒng)中常用的指令和指令串的使用頻率進行統(tǒng)計和分析來改造;增設專用于操作系統(tǒng)的新指令;將操作系統(tǒng)中由軟件子程序實現(xiàn)的

38、某些功能改用硬件或固件實現(xiàn)。2 之 1從面向操作系統(tǒng)的優(yōu)化實現(xiàn)來改進本章內容指令系統(tǒng)的功能設計CISC 指令集對操作系統(tǒng)的支持主要有: 處理機工作狀態(tài)和訪問方式的切換。 進程的管理和切換。 存儲管理和信息保護。 進程的同步與互斥,信號燈的管理等。 支持操作系統(tǒng)的有些指令屬于特權指令,一般用戶程序是不能使用的。 2 之 2精簡指令系統(tǒng)計算機(RISC)本章內容指令系統(tǒng)的功能設計 CISCRISC RISC的定義 RISC的思想 RISC的關鍵技術 RISC的特點CISCRISC本章內容指令系統(tǒng)的功能設計RISC RISC思想的提出主要是因為CISC存在這樣的一些問題: 指令系統(tǒng)復雜,不利于VLS

39、I的設計,也不利于設計自動化技術的采用; 許多復雜指令的執(zhí)行速度很低; 編譯程序選擇目標指令的范圍大,很難優(yōu)化; 20%和80%的規(guī)律:80%的指令只在20%的運行時間里用到。RISC的定義本章內容指令系統(tǒng)的功能設計RISC Carnegie -Mellon大學的定義 IEEE的Michael Slater的定義至今沒有一個確切的定至今沒有一個確切的定義義Carnegie -Mellon大學的定義本章內容指令系統(tǒng)的功能設計RISCRISC的定義 RISC應有如下的特點: 大多數(shù)指令在單周期內完成; LOAD/STORE結構; 硬布線控制邏輯; 減少指令和尋址方式的種類; 固定的指令格式; 注重

40、編譯優(yōu)化技術。IEEE的Michael Slater的定義本章內容指令系統(tǒng)的功能設計RISCRISC的定義 RISC為使流水線高效率執(zhí)行,應具有:簡單而統(tǒng)一格式的指令譯碼;大部分指令可以單周期執(zhí)行完成;僅LOAD和STORE指令可以訪問存儲器;簡單的尋址方式;采用延遲轉移技術;采用LOAD延遲技術。 RISC為使優(yōu)化編譯器便于生成優(yōu)化代碼,應具有:三地址指令格式、較多的寄存器、對稱的指令格式。RISC的思想本章內容指令系統(tǒng)的功能設計RISC 減少指令總數(shù)和簡化指令的功能來降低硬件設計的復雜度,提高指令的執(zhí)行速度。減少指令平均執(zhí)行周減少指令平均執(zhí)行周期數(shù)(期數(shù)(CPI)是是RISC思想的精華!思

41、想的精華!RISC的關鍵技術本章內容指令系統(tǒng)的功能設計RISC 采用重疊寄存器窗口技術提高使用效率。 采用延時轉移技術和指令取消技術來降低(條件)轉移指令對流水的影響。 例如:指令流調整技術。重疊寄存器窗口技術本章內容指令系統(tǒng)的功能設計RISCRISC的關鍵技術 縮短CALL、RETURN操作時間。 將設置的大量的寄存器,分成多個組和一個全局區(qū);每個組中分高、本、低三個區(qū);相鄰組的高、低區(qū)重疊;不同的過程使用不同的組和共享全局區(qū),這樣可以加速參數(shù)與結果的傳遞。 RISC II中采用的重疊寄存器窗口,見后圖。4 之 1RISC II中采用的重疊寄存器窗口中采用的重疊寄存器窗口R31CR26CR2

42、5CR16C高高本本R15CR10C低低過程過程CR31AR26AR25AR16A高高本本R15AR10A低低過程過程AR31BR26BR25BR16B高高本本R15BR10B低低過程過程B0984899099100105106115116121122131132137R9AR0AR9BR0BR9CR0C全局全局出出C出出B/入入C出出A/入入B入入A局部局部A局部局部B局部局部C調調用用調調用用4 之 2寄存器窗口技術的效果寄存器窗口技術的效果RISC II溢出次數(shù)溢出次數(shù)程序名稱程序名稱調用次數(shù)調用次數(shù)最大調用深度最大調用深度RISC II訪存次數(shù)訪存次數(shù)VAX-11訪存次數(shù)訪存次數(shù)111

43、K43KQuick SortPuzzle1020641244K8K696K444KMC68000機器類型機器類型VAX-11PDP-11RISC II5執(zhí)行指執(zhí)行指令條數(shù)令條數(shù)199626執(zhí)行時執(zhí)行時間間 ( s)2219210訪問內訪問內存次數(shù)存次數(shù)15120.2過程調用所需開銷的比較過程調用所需開銷的比較 Quick sort程序的調用次程序的調用次數(shù)多,深度不數(shù)多,深度不大,而大,而Puzzle程序正好相反。程序正好相反。 VAX-11、 PDP-11、 MC68000為為CISC計算機,計算機, RISC II為為RISC計算機。計算機。4 之 3重疊寄存器窗口技術本章內容指令系統(tǒng)的功

44、能設計RISCRISC的關鍵技術 寄存器設置多少個組?每個組多少個寄存器? 嵌套調用不超過8層,每層24個寄存器(每個區(qū)8個寄存器)可基本滿足要求,不滿足概率在1%左右(可使用主存緩沖)。4 之 4延時轉移技術本章內容指令系統(tǒng)的功能設計RISCRISC的關鍵技術 (條件)轉移指令會引起流水線斷流。F EF EF EF E1:add r1, r22:jmp next23: next1: sub r3, r4n: next2: move r4, a產生轉移地址產生轉移地址指令作廢指令作廢重新取指令重新取指令3 之 1延時轉移技術本章內容指令系統(tǒng)的功能設計RISCRISC的關鍵技術 延時轉移技術。F

45、 EF EF E1:jmp next22:add r1, r23: next1: sub r3, r4n: next2: move r4, a產生轉移地址產生轉移地址插入指令插入指令重新取指令重新取指令3 之 2指令序列的調整由編譯器自動進行延時轉移技術本章內容指令系統(tǒng)的功能設計RISCRISC的關鍵技術 采用延遲轉移技術的兩個限制條件:被移動指令在移動過程中與所經過的指令之間不能有數(shù)據(jù)相關;被移動指令不破壞條件碼,至少不影響后面的指令使用條件碼。 如果找不到符合條件的指令,必須在(條件)轉移指如果找不到符合條件的指令,必須在(條件)轉移指令后面插入空操作;如果指令的執(zhí)行過程分為多個流水段,令

46、后面插入空操作;如果指令的執(zhí)行過程分為多個流水段,則要插入多條指令。則要插入多條指令。3 之 3指令取消技術本章內容指令系統(tǒng)的功能設計RISCRISC的關鍵技術 采用指令延時技術,遇到條件轉移指令時,調整指令序列非常困難,在許多情況下找不到可以用來調整的指令。 采用指令取消技術(為了提高程序的執(zhí)行效率,應該盡量少取消指令)。4 之 1例1:向后轉移(loop結構)本章內容指令系統(tǒng)的功能設計RISCRISC的關鍵技術 調整前 調整后loop: X X X X X XY Y Y loop: Y Y YZ Z ZZ Z Zcmp r1, r2, loopcmp r1, r2, loopW W WX

47、X XW W W能夠使指令流水線在絕大多數(shù)情況下不斷流,因為絕大多數(shù)情況下,轉移是成功的。4 之 2例2:向前轉移(if-then-else結構)本章內容指令系統(tǒng)的功能設計RISCRISC的關鍵技術R R RS S Scmp r1, r2, thru;若轉移,則取消TTTT T T;若不轉移,則執(zhí)行TTTU U Uthru: VVV成功與不成功的概率通常各為50%,效果就不明顯。用于轉移不成功為主的場合。4 之 3例3:隱含轉移(if-then結構)本章內容指令系統(tǒng)的功能設計RISCRISC的關鍵技術語句:if (ab) then b=b+1調整前:調整后: cmp =, ra, rb,nex

48、tt: inc rbjmp xxx next:next:inc rbjmp txxx:用于轉移成功為主的場合。4 之 4指令流調整技術本章內容指令系統(tǒng)的功能設計RISCRISC的關鍵技術 通過、等方法消除數(shù)據(jù)相關,提高流水線執(zhí)行效率。調整前調整后addr1, r2, r3addr1, r2, r3addr3, r4, r5mulr6, r7, r0mulr6, r7, r3addr3, r4, r5mulr3, r8, r9mulr0, r8, r9調整后執(zhí)行速度快一倍RISC的特點簡化指令系統(tǒng)設計,適合VLSI實現(xiàn)提高執(zhí)行速度和效率降低設計成本,提高了系統(tǒng)的可靠性可以提供直接支持高級語言的能

49、力,簡化編譯程序的設計加重了匯編語言程序員的負擔對浮點運算和虛擬存儲器的支持不夠理想相對來說,RISC機器上的編譯程序要比CISC機器上的難寫。本章內容指令系統(tǒng)的功能設計RISC綜合實例MIPS指令集 概述 MIPS的寄存器 MIPS的數(shù)據(jù)表示 MIPS的尋址方式 MIPS指令格式 MIPS操作本章內容概 述本章內容MIPS指令集 MIPS計算機是一個簡單的64bit load-store系統(tǒng)結構的RISC計算機。MIPS強調: 簡單的load-store指令集; 設計上重視流水線效率; 使得編譯器更容易產生高效的目標代碼。MIPS是一種適合學習和理解的系統(tǒng)結構模型MIPS的寄存器本章內容MI

50、PS指令集 MIPS設置了32個64bit的通用寄存器(GPR)用于整數(shù)操作,分別命名為:R0、R1、R31。 MIPS設置了32個64bit的浮點數(shù)寄存器(FPR)用于浮點數(shù)數(shù)操作,分別命名為:F0、F1、F31。 例如:浮點狀態(tài)寄存器等。MIPS的數(shù)據(jù)表示本章內容MIPS指令集 有:字節(jié)(8bit)、半字(16bit)、字(32bit)和雙字(64bit)。 有:單精度(32bit),雙精度(64bit)。MIPS的尋址方式本章內容MIPS指令集 數(shù)據(jù)尋址方式只有兩種:和,字段長度都為16bit。 是通過將是通過將0放入放入16bit位移字段中得到的;位移字段中得到的;是通過將寄存是通過將

51、寄存器器R0作為基址寄存器得到的。作為基址寄存器得到的。MIPS指令格式本章內容MIPS指令集 所有的指令都是32bit,其中6bit為操作碼(包含尋址模式),具體格式見右圖。MIPS操作本章內容MIPS指令集 ALU操作 分支與跳轉 load/store操作 浮點數(shù)操作ALU操作舉例操作舉例表示對字段進行復制。表示對字段進行復制。連接兩個字段。連接兩個字段。邏輯左移邏輯左移分支與跳轉舉例分支與跳轉舉例標識字段中特定的位。標識字段中特定的位。load/store操作舉例操作舉例浮點數(shù)操作本章內容MIPS指令集MIPS操作 浮點操作包括加、減、乘、除,后綴S表示單精度浮點數(shù),后綴D表示雙精度浮點數(shù),例如:等。作 業(yè)本章內容

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!