歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > PPT文檔下載  

計算機系統結構第2章

  • 資源ID:20602416       資源大?。?span id="nj77bvp" class="font-tahoma">425.10KB        全文頁數:146頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

計算機系統結構第2章

2.1 數據表示 2.2 尋址技術 2.3 指令格式的優(yōu)化設計 2.4 指令系統的功能設計 2.5 RISC指令系統 2.6 VLIW指令系統 第 2章 指 令 系 統 在機器上直接運行的 程序是由指令組成的 。 指令系統是軟件與硬件之間的一個主要分界 面 , 也是他們之間 互相溝通的一座橋梁 。 硬件設計人員采用各種手段實現指令系統 , 而軟件設計人員則使用這些指令系統編制系 統軟件和應用軟件 , 用這些軟件來填補指令 系統與人們習慣的使用方式之間的語義差距 。 指令系統設計 必須由軟件設計人員和硬件設 計人員共同來完成 。 指令系統發(fā)展相當緩慢 , 需要用軟件來填補 的東西也就越來越多 。 本章主要內容有三大方面: 數據表示 尋址技術 指令系統設計 有三種類型的指令系統: CISC:復雜指令系統 RISC:精簡指令系統 VLIW:超長指令字 指令系統設計: 指令的格式設計 指令系統的功能設計 指令系統的性能評價 2.1 數據表示 2.1.1 數據表示與數據類型 2.1.2 浮點數的表示方法 2.1.3 浮點數格式設計 2.1.4 浮點數的舍入處理 2.1.5 警戒位的設置方法 2.1.6 自定義數據表示 2.1.1 數據表示與數據類型 數據表示的定義: 數據表示是指計算機硬件能夠直接識別,可 以被指令系統直接調用的那些數據類型。 例如:定點、邏輯、浮點、十進制、字符、 字符串、堆棧和向量等 數據類型: 文件、圖、表、樹、陣列、隊列、 鏈表、棧、向量、串、實數、整數、布爾數、 字符等 確定哪些數據類型用數據表示實現,是軟件與 硬件的取舍問題 確定數據表示的原則 一是縮短程序的運行時間 二是減少 CPU與主存儲器之間的通信量 三是這種數據表示的通用性和利用率 數據表示在不斷發(fā)展 例如:矩陣、樹、圖、表及自定義數據表示 等已經開始用于數據表示中 例: 計算 C A B,其中, A、 B、 C均為 200 200的矩陣。分析采用向量數據表示 的作用。 解: 如果在沒有向量數據表示的計算機上實現, 一般需要 6條指令,其中有 4條指令要循環(huán) 4萬 次。因此, CPU與主存儲器之間的通信量: 取指令: 2 4 40,000條, 讀或寫數據: 3 40,000個, 共要訪問主存儲器: 7 40,000次以上 如果有向量數據表示,只需要一條指令。 減少訪問主存(取指令)次數 4 40,000次 用軟件和硬件結合的方法實現新的數據表示 用字節(jié)編址支持字符串數據表示 用變址尋址方式來支持向量數據表示 1. 浮點數的表示方式 兩個數值: 尾數 m:數制 (小數或整數 )和碼制 (原碼或補碼 ) 階碼 e:整數 , 移碼 (偏碼、增碼、余碼 )或補碼 兩個基值: 尾數基值 rm: 2、 4、 8、 16和 10進制等 階碼基值 re: 通常為 2進制 2.1.2 浮點數的表示方法 r emmN 1 位 1 位 7 位 23 位 m f e f e m 注: m f 為尾數的符號位, e f 為階碼的符號位, e 為階碼的值, m 為尾數的值。 兩個字長:長度和物理位置 ,均不包括符 號位 尾數長度 p:尾數部分按基值計算的長度 階碼長度 q:階碼部分的二進制位數 2. 浮點數的表數范圍 尾數為原碼、小數,階碼用移碼、整數時, 規(guī)格化浮點數 N的表數范圍: 尾數為補碼 ,負數區(qū)間的表數范圍為: 浮點數在數軸上的分布情況 1 11r r r r m m p m m q e q er rN ( ) q e q er rr r r rm m pm mN 1 1( ) 上溢 下溢 ( 浮點零 ) 上溢 - N m i n 負數區(qū) - N m a x 0 N m i n 正數區(qū) N m a x 3. IEEE754浮點數國際標準 32位單精度浮點數格式如下: 階碼用移 -127碼表示,即階碼的 0 255分別 表示階碼的真值為 -127 128。 尾數用原碼、小數, 1位符號位、 23位小數和 1位隱藏的整數共 25位表示。 尾數和階碼的基值都是 2。 64位雙精度浮點數,階碼用 11位移碼表示 符號 S,1 位 階碼 e , 8 位 尾數數值 m , 23 位 4. 浮點數的表數精度(誤差) 產生誤差的根本原因是浮點數的不連續(xù)性 誤差產生的直接原因有兩個: (1) 兩個浮點數都在浮點集內,而運算結果卻 可能不在這個浮點集內 (2) 數據從十進制轉化為 2、 4、 8、 16進制, 產生誤差。 規(guī)格化浮點數的精度為: 最后 1個有效位的可信度為一半 當 rm 2時,有: m ppr rm )1(21),( 22212 )1(),( ppp 5. 浮點數的表數效率 浮點數是一種冗余數制 (Redundat Number System) 浮點數的表數效率定義為: 簡化表示: 當尾數基值為 2時,浮點數的表數效率為: e q m p e q m p rr rrr m 22 12)1(2 1 全部浮點數個數 個數可表示的規(guī)格化浮點數 m mm r rr 1)( ( )2 2 12 50% ( )16 16 116 94% T ( ) ( ) .16 2 1 875 倍 浮點數的表數效率隨 rm增大 當尾數基值 rm 16時,浮點數的表數效率為: 尾數基值 rm 16與 rm 2相比,浮點數的表數效 率提高了: 2.1.3 浮點數格式設計 1. 浮點數格式設計的主要問題 在表示浮點數的 6個參數中,只有 尾數基值 rm、尾數長 度 p和階碼長度 q與表數范圍、表數精度和表數效率 有關 在字長確定的情況下,如何選擇尾數基值 rm, 使表數范圍最大、表數精度和表數效率最高 m mm r rr 1)( m ppr rm )1(21),( mr e qrN 1 2. 浮點數格式設計原則 定義浮點數格式的 6個參數,確定原則如下: 尾數: 多數機器用原碼、小數表示 采用原碼表示:加減法比補碼表示復雜,乘 除法比補碼簡單,而且非常直觀。 采用小數表示能簡化運算,特別是乘法和除 法運算 。 階碼: 一般機器用整數、移碼表示 采用移碼表示的主要原因是:浮點 0與機器 0 一致。階碼進行加減運算時,移碼的加減法 運算要比補碼復雜 基值: 尾數的基值 rm 2, 階碼的基值 re 2, 采用 隱藏位 表示方式能夠使規(guī)格化浮點數的 表數效率達到 100(當 rm 2時) 浮點數格式設計的關鍵問題是: 在表數范圍和表數精度給定的情況下,如何 確定最短的尾數字長 p和階碼字長 q,并根據 總字長的要求,恰當分配 p與 q 2.1.4 浮點數的舍入處理 浮點數要進行舍入處理的原因是: (1)十進制數轉化為浮點數時,有效位長度超過 給定的尾數字長。 (2)兩個浮點數的加減乘除結果,尾數長度超過 給定的尾數字長。 舍入處理要解決的問題是: 把規(guī)格化尾數的 p g位處理成只有 p位。 其中: p是浮點數表示方式給定的尾數字長, g是超過給定尾數字長的部分。 舍入方法的主要性能標準是: 絕對誤差小, 積累誤差小, 容易實現。 進行舍入處理時要注意的問題是: 必須先規(guī)格化,然后再舍入 ,否則舍入是沒 有意義的。 在計算積累誤差時,要同時考慮到正數區(qū)和 負數區(qū)的情況。 尾數有效字長 p 位 有效字長之外 g 位 誤差情況 正 數 區(qū) 舍入前 0.xxx.xx 0.xxx.xx 0.xxx.xx . 0.xxx.xx 00.000 00.001 00.010 . 11.111 0 2 - p - g 2 - p - g+1 . . . . . . 2 - p (1 2 - g ) 舍入后 0.xxx.xx 2 - p - 1 ( 2 g - 1) 負 數 區(qū) 舍入前 0.x xx.xx 0.xxx.xx 0.xxx.xx . 0.xxx.xx 00.000 00.001 00.010 . 11.111 0 2 - p - g 2 - p - g+1 . . . . . . 2 - p (1 2 - g ) 舍入后 0.xxx.xx 2 - p - 1 ( 2 g - 1) 方法 1:恒舍法 又稱截斷法、必舍法等 優(yōu)缺點: 實現非常容易。 誤差大,正負區(qū)誤 差相反,但同一區(qū)誤差積累。 正數區(qū) 尾數有效字長 p 位 有效字長外 g 位 誤差情況 舍入前 0.xxx.xx0 0.xxx.xx0 0.xxx.xx0 . 0.xxx.xx0 0.xxx.xx1 0.xxx.xx1 0.xxx.xx1 0.xxx.xx1 00.000 00.001 00.010 . 11.111 00.000 00.001 11 .110 11.111 2 - p 誤差積累 2 - p (1 2 - g ) 2 - p (1 2 - g+1 ) . 2 - p - g 0 2 - p - g . 2 - p (1 2 - g+1 ) 2 - p (1 2 - g ) 舍入后 0.xxx.xx1 積累誤差 2 - p 方法 2:恒置法 恒置 r/2法 、馮諾依曼法 規(guī)則: 把有效字長的最低一位置成 r/2。 優(yōu)缺點: 實現比較容易,積累誤差較小,正 負區(qū)誤差平衡。 精度比較低。 正數區(qū) 尾數有效字長 p 位 有效字長之外 g 位 誤差 舍入前 0.xxx.xx 0.xxx.xx 0.xxx.xx . 0.xxx.xx 0.xxx.xx 0.xxx.xx . 0.xxx.xx 0.xxx.xx 00.000 00.001 00.010 . 01.111 10.000 10.001 11. .110 11.111 0 2 - p - g 2 - p - g + 1 . 2 - p - 1 (1 2 - g ) 2 - p - 1 積累誤差 2 - p - 1 (1 2 - g ) . 2 - p - g + 1 2 - p - g 舍入后 0.x x x . . . x x 0.x x x . . . x x 2 - p 最高位為 0 最高位為 1 積累誤差 2 - p - 1 方法 3:下舍上入法 4舍 5入法、 0舍 1入法等 優(yōu)缺點: 精度高,積累誤差小,正負區(qū)誤差完 全平衡。 實現起來比較困難。 關于舍入方法的主要結論: 恒置法 雖有少量的積累誤差,且損失一位精度, 但由于實現很容易, 普遍在小型微型機中使用 。 下舍上入法 只有少量積累誤差,且精度比較高, 但實現很復雜, 用于軟件實現的算法中 。 2.1.5 警戒位的設置方法 在規(guī)定的尾數字長之外,運算器中的累加器 需要另外增加的長度稱為警戒位( Guard Bit) i) 不設置警戒位,可能出現很大的誤差 ii) 警戒位的用處只有兩個: (1) 用于左規(guī)格化時移入尾數有效字長內。 (2) 用于舍入。 警戒位的來源有以下幾個方面: (1) 做加、減法時,因對階從有效字長內移出 去的部分。 (2) 做乘法時,雙倍字長乘積的低字長部分。 (3) 做除法時,因沒有除盡而多上商的幾位。 (4) 右規(guī)格化時移出有效字長的那部分 。 (5) 從十進制轉換成二進制時 ,尾數超出有效 字長的部分。 2.1.6 自定義數據表示 一般處理機中的數據表示方法 數據存儲單元 (寄存器、主存儲器、外存儲器 等 )只存放純數據,數據的屬性通過指令中的 操作碼來解釋: 數據的類型,如定點、浮點、字符、字符串、 邏輯數、向量等; 進位制,如 2進制、 10進制、 16進制等; 數據字長,如字、半字、雙字、字節(jié)等; 尋址方式,如直接尋址、間接尋址、相對尋 址、寄存器尋址等; 數據的功能,如地址、地址偏移量、數值、 控制字、標志等; 同一種操作 (如加法 )通常有很多條指令。 在高級語言和應用軟件中 數據的屬性由數據自己定義; 在高級語言與機器語言之間的語義差距,要 靠編譯器等填補。 Burroughs公司在大型機中引入 自定義數據表 示方式和帶標志符的數據表示方式 標志符 數 值 帶有標志符的數據表示方式 2 位 2 位 1 位 4 位 1 位 功能 陷井 封寫 類型 校驗 數 值 1 0 位標志符 在 R-2 巨型機中帶標志符的數據表示方式 1. 帶標志符的數據表示法 在 B5000大型機中,每個數據有一位標志符 在 B6500和 B7500大型機中,每個數據有三位 標志符 在 R-2巨型機中采用 10位標志符 R-2巨型機中的標志符 功能位:操作數、指令、地址、控制字 陷井位:由軟件定義四種捕捉方式 封寫位:指定數據是只讀的還是可讀可寫 類型位:二進制 ,十進制 ,定點數 ,浮點數 ,復數 , 字符串 ,單精度 ,雙精度;絕對地址、相對地址、 變址地址、未連接地址等。 標志符由編譯器或其它系統軟件建立,對程 序員透明 程序(包括指令和數據)的存儲量分析 數據存儲量增加,指令存儲量減少。 采用標志符的數據長度 標志符 長度 不采用標志符的 指令和數據字長 指令 數據字長 加長 指 令 字 長 縮 短 數據 采用標志符 的指令字長 常規(guī) 數據 表示 方法 與 帶標 志符 數據 表示 方法 的 比較 采用標志符數據表示方法的主要優(yōu)點: (1)簡化了指令系統。 (2)由硬件實現一致性檢查和數據類型轉換。 (3)簡化程序設計,縮小了人與計算機之間的語 義差距。 (4)簡化編譯器,使高級語言與機器語言之間的 語義差距大大縮短。 (5)支持數據庫系統,一個軟件不加修改就可適 用于多種數據類型。 (6)方便軟件調試,在每個數據中都有陷井位 。 采用標志符數據表示方法的主要缺點: (1)數據和指令的長度可能不一致 可以通過精心設計指令系統來解決。 (2)指令的執(zhí)行速度降低 但是,程序的運行時間是由設計時間、編譯 時間和調試時間共同組成的。 采用標志符數據表示方法,程序的設計時間、 編譯時間和調試時間可以縮短。 (3)硬件復雜度增加 由硬件實現一致性檢查和數據類型的轉換。 101 標志位 長 度 地 址 數據描述符 000 數 值 數據 2. 數據描述符表示法 數據描述符與標志符的區(qū)別: 標志符只作用于一 個數據,而數據描述符要作用于一組數據。 Burroughs公司生產的 B-6700機中采用的數據描 述符表示方法。 最高三位為 101時表示數據描述符, 最高三位為 000時表示數據。 例: 用數據描述符 表示方法 表示一個 3 4 的矩陣: A a a a a a a a a a a a a 11 12 13 14 21 22 23 24 31 32 33 34 OP C X Y 101 標志 位 3 101 標志 位 4 101 標志 位 4 101 標志 位 4 000 a11 000 a12 000 a13 000 a14 000 a21 000 a22 000 a23 000 a24 000 a31 000 a32 000 a33 000 a34 2.2 尋址技術 尋找操作數及其地址的技術稱為尋址技術 2.2.1 編址方式 2.2.2 尋址方式 2.2.3 定位方式 重點:尋址方式的選擇 2.2.1 編址方式 對各種存儲設備進行編碼的方法。 主要內容: 編址單位、零地址空間個數、并 行存儲器的編址、輸入輸出設備的編址 1. 編址單位 常用的編址單位 :字編址、字節(jié)編址、位編 址、塊編址等 編址單位與訪問字長 一般: 字節(jié)編址,字訪問 部分機器:位編址,字訪問 輔助存儲器:塊編址,位訪問 字節(jié)編址字訪問的優(yōu)點: 有利于符號處理 字節(jié)編址字訪問的問題: (1) 地址信息浪費 對于 32位機器,浪費 2位地址 (最低 2位地址 ) 對于 64位機器,浪費 3位地址 (2) 存儲器空間浪費 (3) 讀寫邏輯復雜 (4) 大端 (Big Endin)與小端 (Little Endian)問題 xx00 字節(jié) 半 字 雙 - xx08 - 字 單 字 半 - xx10 - 字 單 字 字節(jié) 單 - xx18 - 字 字長: 64 位, 8 個字節(jié) (a) 可從任意位置開始訪問 x x 00 字節(jié) 浪 費 x x 08 半 字 浪 費 x x 10 單 字 浪 費 x x 18 雙 字 字長: 64 位, 8 個字節(jié) ( b ) 從一個存儲字的起始位置開始訪問 xx00 字節(jié) 浪 費 xx08 雙 字 xx10 半 字 浪 費 xx18 雙 字 xx20 單 字 浪 費 xx28 雙 字 xx30 字節(jié) 浪 費 單 字 xx38 半 字 浪 費 單 字 xx40 字節(jié) 浪費 半 字 字長: 64 位, 8 個字節(jié) (c) 從地址的整倍數位置開始訪問 (2)存儲器空間浪費 讀出的數據 字節(jié) 字節(jié) 0 字節(jié) 1 字節(jié) 2 字節(jié) 3 字節(jié) 4 字節(jié) 5 字節(jié) 6 字節(jié) 7 (a) 從存儲器里讀一個字節(jié) 寫入的數據 字節(jié) 字節(jié) 0 字節(jié) 1 字節(jié) 2 字節(jié) 3 字節(jié) 4 字節(jié) 5 字節(jié) 6 字節(jié) 7 ( b ) 寫一個字節(jié)到存儲器 讀一個字節(jié) 用多路選擇器 寫一個字節(jié) 先讀后寫 (3)讀寫邏輯復雜 增加 1個 align操作 0 7 8 1 5 1 6 2 3 2 4 3 1 3 2 3 9 4 0 4 7 4 8 5 5 5 6 6 3 字節(jié) 000 001 010 011 100 101 110 111 (a) 從左邊開始編址 6 3 5 6 5 5 4 8 4 7 4 0 3 9 3 2 3 1 2 4 2 3 1 6 1 5 8 7 0 字節(jié) 111 110 101 100 011 010 001 000 (b) 從右邊開始編址 一個存儲字的兩種編址方式 (4)大端 (Big Endin)與小端 (Little Endian)問題 1234 5678 comp uter 31 0 3 1 0 3 1 0 78 56 34 12 p m o c r e t u (a) (b) 一種數據存儲方式 2. 零地址空間個數 三個零地址空間 : 通用寄存器、主存儲器、 輸入輸出設備獨立編址 兩個零地址空間 : 主存儲器與輸入輸出設備 統一編址 一個零地址空間 : 最低端是通用寄存器,最 高端是輸入輸出設備,中間為主存儲器 隱含編址方式: 堆棧、 Cache等 3. 并行存儲器的編址技術 高位交叉編址 : 主要用來擴大存儲器容量。 低位交叉編址 : 主要是提高存儲器速度。 4. 輸入輸出設備的編址 一臺設備一個地址 : 通過指令來區(qū)分地址, 地址內部區(qū)分地址。 一臺設備兩個地址 : 數據寄存器、狀態(tài)或控 制寄存器。 多個編址寄存器共用同一個地址的方法: 依靠地址內部來區(qū)分,適用于被編址的寄存 器的長度比較短 “下跟法”隱含編址方式,必須按順序讀寫 寄存器。 一臺設備多個地址 : 增加編程的困難 2.2.2 尋址方式 尋找操作數及數據存放地址的方法 1. 尋址方式的設計思想 立即數尋址方式 用于數據比較短,且為源操作數的場合 面向寄存器的尋址方式 OPC R OPC R, R OPC R, R, R OPC R, M 面向主存儲器的尋址方式 : 直接尋址、 間接 尋址 、變址 尋址 、 相對尋址 基址尋址、自動變址、 OPC M OPC M, M OPC M, M, M 面向堆棧的尋址方式 : OPC ;運算型指令 OPC M ;數據傳送型指令 2. 寄存器尋址 主要優(yōu)點: 指令字長短,指令執(zhí)行速度快, 支持向量和矩陣等運算 主要缺點: 不利于優(yōu)化編譯,現場切換困難 , 硬件復雜 3. 堆站尋址方式 主要優(yōu)點:支持高級語言,有利與編譯程序, 節(jié)省存儲空間,支持程序的嵌套和遞歸調用, 支持中斷處理 主要缺點:運算速度比較低,棧頂部分設計 成一個高速的寄存器堆 4. 間接尋址方式與變址尋址方式的比較 目的相同: 都是為了解決操作數地址的修改 原則上,一種處理機中只需設置間址尋址方 式與變址尋址方式中的任何一種即可,有些 處理機兩種尋址方式都設置 如何選取 間址尋址方式與變址尋址方式? 例 2.15: 一個由 N個 元素組成的數組,已經存放 在起始地址為 AS的主存連續(xù)單元中,現要把 它搬到起始地址為 AD的主存連續(xù)單元中。不 必考慮可能出現的存儲單元重疊問題。為了 編程簡單,采用一般的兩地址指令編寫程序。 用間接尋址方式編寫程序如下: START: MOVE ASR, ASI ;保存源起始地址 MOVE ADR, ADI ;保存目標起始地址 MOVE NUM, CNT ;保存數據的個數 LOOP: MOVE ASI,ADI ;傳送一個數據 INC ASI ;源數組的地址增量 INC ADI ;目標數組地址增量 DEC CNT ;個數減 1 BGT LOOP ;測試數據傳送完 ? HALT ;停機 ASR: AS ;源數組的起始地址 ADR: AD ;目標數組的起始地址 NUM: N ;需要傳送的數據個數 ASI: 0 ;當前正在傳送的源 ;數組地址 ADI: 0 ;當前正在傳送的目標 ;數組地址 CNT: 0 ;剩余數據的個數 用變址尋址方式編寫程序如下: START: MOVE AS, X ;取源數組起始地址 MOVE NUM, CNT ;保存數據個數 LOOP: MOVE (X),AD-AS(X);傳送一個數據 INC X ;增量變址寄存器 DEC CNT ;個數減 1 BGT LOOP ;測試數據傳送完成 HALT ;停機 NUM: N ;傳送的數據個數 CNT: 0 ;剩余數據的個數 主要優(yōu)缺點比較 : (1)采用變址尋址方式編寫的程序簡單、易讀。 (2)對于程序員,兩種尋址方式的主要差別是: 間址尋址: 間接地址在主存中,沒有偏移量 變址尋址: 基地址在變址寄存器中 , 有偏移量 (3)實現的難易程度:間址尋址方式容易實現 (4)指令的執(zhí)行速度:間址尋址方式慢 (5)對數組運算的支持:變址尋址方式比較好 自動變址: 在訪問間接地址時,地址自動增減 前變址與后變址: 變址與間址混合時 前變址尋址方式: EA (X) A) 后變址尋址方式: EA (X) (A) 2.2.3 定位方式 程序的主存物理地址在什么時間確定?采用什 么方式來實現? 程序需要定位的主要原因: 程序的獨立性 程序的模塊化設計 數據結構在程序運行過程中,其大小往往是變 化的 有些程序本身很大,大于分配給它的主存物理 空間 主要的定位方式 直接定位方式: 在程序裝入主存儲器之前,程 序中的指令和數據的主存物理就已經確定了的 稱為直接定位方式。 靜態(tài)定位: 在程序裝入主存儲器的過程中隨即 進行地址變換,確定指令和數據的主存物理地 址的稱為靜態(tài)定位方式。 動態(tài)定位: 在程序執(zhí)行過程中,當訪問到相應 的指令或數據時才進行地址變換,確定指令和 數據的主存物理地址的稱為動態(tài)定位方式。 2.3 指令格式的優(yōu)化設計 主要目標:節(jié)省程序的存儲空間 指令格式盡量規(guī)整,便于譯碼 2.3.1 指令的組成 2.3.2 操作碼的優(yōu)化設計 2.3.3 地址碼的優(yōu)化設計 2.3.4 指令格式設計舉例 2.3.1 指令的組成 一般的指令主要由兩部分組成: 操作碼和地址碼 地址碼通常包括三部分內容: 地址: 地址碼、立即數、寄存器、變址寄存器 地址的附加信息: 偏移量、塊長度、跳距 尋址方式: 直接尋址、間接尋址、立即數尋址、 變址尋址、相對尋址、寄存器尋址 操作碼 ( OPC ) 地址碼 ( A ) 操作碼主要包括兩部分內容: 操作種類: 加、減、乘、除、數據傳送、移 位、轉移、輸入輸出、程序控制、處理機控 制等 操作數描述: 數據的類型: 定點數、浮點數、復數、字符、 字符串、邏輯數、向量 進位制: 2進制、 10進制、 16進制 數據字長: 字、半字、雙字、字節(jié) 2.3.2 操作碼的優(yōu)化表示 操作碼的三種編碼方法: 固定長度、 Huffman編碼、擴展編碼 優(yōu)化操作碼編碼的目的: 節(jié)省程序存儲空間 例如: Burroughs公司的 B-1700機 操作碼編碼方式 整個操作系統所用 指令的操作碼總位數 改進的百分比 8 位 固 定長編碼 301,248 0 4 - 6 - 10 擴展編碼 184,966 39 Huffman 編碼 172,346 43 1. 固定長操作碼 定長定域 : IBM公司的大中型機:最左邊 8位為操作碼 Intel公司的 Intanium處理機: 14位定長操作碼 許多 RISC處理機采用定長操作碼 主要優(yōu)點 : 規(guī)整 譯碼簡單 主要缺點 : 浪費信息量 (操作碼的總長位數增加) H p pi i n i 2 1 lo g R p p n i i i n 1 2 1 2 lo g lo g 2. Huffman編碼法 1952年由 Huffman首先提出 操作碼的 最短平均長度 可通過如下公式計算: pi表示第 i種操作碼在程序中出現的概率 固定長編碼相對于 Huffman編碼的 信息冗余量 : 必須知道每種操作碼在程序中出現的概率 指令序號 I 1 I 2 I 3 I 4 I 5 I 6 I 7 出現的概率 0.45 0.30 0.15 0.05 0.03 0.01 0.01 例: 假設一臺模型計算機共有 7種不同的操作碼, 如果采用固定長操作碼需要 3位。已知各種操 作碼在程序中出現的概率如下表,計算采用 Huffman編碼法的操作碼平均長度,并計算固 定長操作碼和 Huffman操作碼的信息冗余量。 解答: 利用 Huffman樹進行操作碼編碼 (又稱最小概率合并法) 把所有指令按照操作碼在程序中出現的概率 大小,自左向右順序排列。 選取兩個概率最小的結點合并成一個概率值 是二者之和的新結點,并把這個新結點與其 它還沒有合并的結點一起形成一個新的結點 集合。 在新結點集合中選取兩個概率最小的結點進 行合并,如此繼續(xù)進行下去,直至全部結點 合并完畢。 最后得到的根結點的概率值為 1。 每個 新 結點都有兩個分支,分別用帶有箭頭 的線表示,并分別用一位代碼 “ 0”和 “ 1”標 注。 從根結點開始,沿尖頭所指方向尋找到達屬 于該指令概率結點的最短路徑,把沿線所經 過的代碼排列起來就得到了這條指令的操作 碼編碼。 0 .4 5 0 .3 0 0 .1 5 0 .0 5 0 .0 3 0 .0 1 0 .0 1 利用 Huffman樹進行操作碼編碼 0 .4 5 0 .3 0 0 .1 5 0 .0 5 0 .0 3 0 .0 1 0 .0 1 0 .0 2 利用 Huffman樹進行操作碼編碼 0 .4 5 0 .3 0 0 .1 5 0 .0 5 0 .0 3 0 .0 1 0 .0 1 0 .0 2 0 .0 5 利用 Huffman樹進行操作碼編碼 0 .4 5 0 .3 0 0 .1 5 0 .0 5 0 .0 3 0 .0 1 0 .0 1 0 .0 2 0 .0 5 0 .1 0 利用 Huffman樹進行操作碼編碼 0 .4 5 0 .3 0 0 .1 5 0 .0 5 0 .0 3 0 .0 1 0 .0 1 0 .0 2 0 .0 5 0 .1 0 0 .2 5 利用 Huffman樹進行操作碼編碼 0 .4 5 0 .3 0 0 .1 5 0 .0 5 0 .0 3 0 .0 1 0 .0 1 0 .0 2 0 .0 5 0 .1 0 0 .2 5 0 .5 5 利用 Huffman樹進行操作碼編碼 0 .4 5 0 .3 0 0 .1 5 0 .0 5 0 .0 3 0 .0 1 0 .0 1 0 .0 2 0 .0 5 0 .1 0 0 .2 5 0 .5 5 1 .0 0 利用 Huffman樹進行操作碼編碼 0 1 0 1 0 1 0 1 0 1 0 1 0 .4 5 0 .3 0 0 .1 5 0. 05 0 .0 3 0 .0 1 0 .0 1 0 .0 2 0 .0 5 0 .1 0 0 .2 5 0 .5 5 1 .0 0 利用 Huffman樹進行操作碼編碼 指令序號 出現的概率 Huffman 編碼法 操作碼長度 I 1 0.45 0 1 位 I 2 0.30 1 0 2 位 I 3 0.15 1 1 0 3 位 I 4 0.05 1 1 1 0 4 位 I 5 0.03 1 1 1 1 0 5 位 I 6 0.01 1 1 1 1 1 0 6 位 I 7 0.01 1 1 1 1 1 1 6 位 Huffman操作碼編碼 H p li i i 1 7 7 1 2 log i ii ppH 解:采用 Huffman編碼法的操作碼平均長度為: 0.45 1 0.30 2 0.15 3 0.05 4 0.03 5 0.01 6 0.01 6 1.97(位) 操作碼的最短平均長度為: 0.45 1.152 0.30 1.737 0.15 2.737 0.05 4.322 0.03 5.059 0.01 6.644 0.01 6.644 1.95(位) %353 97.11 7l og1 2 HR R 1 1 951 97 1 0%. . 采用 3位固定長操作碼的信息冗余量為: Huffman編碼法的信息冗余量僅為: 與 3位固定長操作碼的信息冗余量 35相比要 小得多 R 1 1 952 00 2 5%. . 3. 擴展編碼法 Huffman操作碼的主要缺點: 操作碼長度很不規(guī)整,硬件譯碼困難 與地址碼共同組成固定長的指令比較困難 擴展編碼法 : 由固定長操作碼與 Huffman編碼 法相結合形成 例 2.18: 將例 2.17改為 1-2-3-5擴展編碼法,操作 碼最短平均長度為: H 0.45 1 0.30 2 0.15 3 (0.05 0.03 0.01 0.01) 5 2.00 信息冗余量為: R 1 1 952 20 11 4%. . 例: 將例 2.17改為 2-4等長擴展編碼法,操作碼 最短平均長度為: H (0.45 0.30 0.15) 2 (0.05 0.03 0.01 0.01) 4 2.20 2-4等長擴展編碼法信息冗余量為: 7 條指令的操作碼擴展編碼法 指令序號 出現的概率 1-2-3-5 擴展編碼 2-4 等長擴展編碼 I 1 0.45 0 0 0 I 2 0.30 1 0 0 1 I 3 0.15 1 1 0 1 0 I 4 0.05 1 1 1 0 0 1 1 0 0 I 5 0.03 1 1 1 0 1 1 1 0 1 I 6 0.01 1 1 1 1 0 1 1 1 0 I 7 0.01 1 1 1 1 1 1 1 1 1 平均長度 2.0 2.2 信息冗余量 2.5 11.4 操作碼 等長擴展編碼法 操作碼編碼 說 明 操作碼編碼 說 明 0000 0001 1110 4 位長度的 操作碼共 15 種 0000 0001 0111 4 位長度的 操作碼共 8 種 1111 0000 1111 0001 1111 1110 8 位長度的 操作碼共 15 種 1000 0000 1000 0001 1111 0111 8 位長度的 操作碼共 64 種 1111 1111 0000 1111 1111 0001 1111 1111 1110 12 位長度的 操作碼共 16 種 1000 1000 0000 1000 1000 0001 1111 1111 0111 12 位長度的操 作碼共 512 種 等長 15/15/15 擴展法 等長 8/64/512 擴展法 不等長操作碼擴展編碼法 ( 4 - 6 - 10 擴展編碼 ) 各種不同長度操作碼的指令 編碼方法 4 位操作碼 6 位操作碼 10 位操作碼 指令種類 15/3/16 15 3 16 34 8/31/16 8 31 16 55 8/30/32 8 30 32 70 8/16/256 8 16 256 280 4/32/256 4 32 256 292 2.3.3 地址碼的優(yōu)化表示 1. 地址碼個數的選擇 地址碼個數通常有 3個、 2個、 1個及個 等 4種情況 評價指令中地址碼個數應該取多少的標準主要有兩個: 程序存儲容量 ,包括操作碼和地址碼 程序執(zhí)行速度 ,以程序執(zhí)行過程中訪問主存的信息量 代表 通過一個典型例子來分析: fe dcba x 例如:計算一個典型的算術表達式 : 用三地址指令編寫的程序如下: MUL X, A, B ;X(A) (B) ADD X, X, C ;X(X) (C) SUB X, X, D ;分子的計算結果在中 ADD Y, E, F ;計算分母 ,存入 Y DIV X, X, Y ;最后結果在 X單元中 用普通二地址指令編寫的程序: MOVE X, A ;復制臨時變量到 X中 MUL X, B ADD X, C SUB X, D ;X中存放分子運算結果 MOVE Y, E ;復制臨時變量到 Y中 ADD Y, F ;Y中存放分母運算結果 DIV X, Y ;最后結果在 X單元中 用多寄存器結構的二地址指令編寫程序: MOVE R1, A ;操作數 a取到寄存器 R1中 MUL R1, B ADD R1, C SUB R1, D ;R1中存放分子運算結果 MOVE R2, E ADD R2, F ;R2中存放分母運算結果 DIV R1, R2 ;最后結果在 R1中 MOVE X, R1 ;最后結果存入 X中 用一地址指令編寫的程序: LOAD E ;先計算分母, ;取一個操作數到累加器中 ADD F ;分母運算結果在累加器中 STORE X ;保存分母運算結果到 X中 LOAD A ;開始計算分子 MUL B ADD C SUB D ;累加器中是分子運算結果 DIV X ;最后運算結果在累加器中 STORE X ;保存最后運算結果到 X中 用 0地址指令編寫程序: ab*c+d-ef+/ PUSH A ;操作數 a壓入堆棧 PUSH B ;操作數 b壓入堆棧 MUL ;棧頂兩數相乘 ,結果壓回堆頂 PUSH C ADD PUSH D SUB ;棧頂是分子運算的結果 PUSH E PUSH F ADD DIV ;棧頂是最后運算的結果 POP X ;保存最后運算結果 用不同地址個數指令編寫的程序 的存儲容量和執(zhí)行速度 地址數目 指令條數 訪存次數 程序存儲量 執(zhí)行速度 ( 訪存信息量 ) 三地址 5 20 5P 15A 65B 5P 15A 15D 185B 二地址 7 26 7P 14A 63B 7P 14A 19D 215B 一地址 9 18 9P 9 A 45B 9P 9 A 9 D 117B 零地址 12 41 12P 7A 40B 12P 7A 29D 272B 二地址 寄存器型 8 15 8P+7A+9R 40B 8P+7A+9R+7D 96B P 表 示操作碼長度, A 表示地址碼長度, D 表示數據長度, R 表示通用 寄存器的地址碼長度, B 表示字節(jié)數。并?。?D 2A 8P 16R 8B 不同地址個數指令 的特點及適用場合 地址數目 程序 的長度 程序 存儲量 程序 執(zhí) 行速度 適用場合 三地址 最短 最大 一般 向量,矩陣運算為主 二地址 較短 很大 很低 一般不宜采用 一地址 較長 較大 較快 連續(xù)運算 , 硬件結構簡單 零地址 最長 最小 最低 嵌套,遞歸,變量較多 二地址 寄存器型 一般 最小 最快 多累加器,數據傳送較多 關于地址碼個數結論: 對于一般商用處理機,采用多寄存器結構的 二地址指令是最理想的。 如果強調硬件結構簡單,并且以連續(xù)運算 (如求累加和等)為主,宜采用一地址結構。 對于以向量、矩陣運算為主的處理機,最好 采用三地址結構。 部分 RISC處理機也采用三地址指令。 對于解決遞歸問題為主的處理機,宜采用零 地址結構。 編程容易、節(jié)省程序存儲量。 2. 縮短地址碼長度的方法 用一個短地址碼表示一個大地址空間 用間址尋址方式縮短地址碼長度 方法:在主存儲器的低端開辟一個專門存放 間接地址的區(qū)域 用變址尋址方式縮短地址碼長度 變址尋址方式中的地址偏移量比較短, 用寄存器間接尋址方式縮短地址碼長度 例如: 16個間址寄存器,用 4位地址碼就能表 示很長的邏輯地址空間。 2.4 指令系統的功能設計 2.4.1 基本指令系統 通用計算機必須有 5類基本指令 2.4.2 指令系統的性能 完整性、規(guī)整性、高效率和兼容性 2.4.3 指令系統的優(yōu)化設計 CISC、 RISC和 VLIW 2.4.1 基本指令系統 通用計算機必須有類基本指令 數據傳送類指令 運算類指令 程序控制指令 輸入輸出指令 處理機控制和調試指令 1. 數據傳送類指令 由如下三個主要因素決定: (1)數據存儲設備 的種類 (2)數據單位 :字、字節(jié)、位、數據塊等 (3)采用的尋址方式 例如,考慮數據存儲設備的種類: 寄存器 寄存器 寄存器 主存儲器 寄存器 堆棧 主存儲器 寄存器 主存儲器 主存儲器 主存儲器 堆棧 堆棧 寄存器 堆棧 主存儲器 2. 運算類指令 : 考慮四個因數的組合: 操作種類 : 加、減、乘、除、與、或、非、異 或、比較、移位、檢索、轉換、匹配、清除、 置位等 數據表示 : 定點、浮點、邏輯、十進制、字符 串、向量等 數據長度 : 字、雙字、半字、字節(jié)、位、數據 塊等 數據存儲設備 : 寄存器、主存儲器、堆棧等 以寄存器加法指令為例,一般設置如下幾種: 寄存器 -寄存器型的 定點單字長加法指令 寄存器 -寄存器型的 定點雙字長加法指令 寄存器 -寄存器型的 定點半字加法指令 寄存器 -寄存器型的 字節(jié)加法指令 寄存器 -寄存器型的 浮點單字長加法指令 寄存器 -寄存器型的 浮點雙字長加法指令 寄存器 -寄存器型的 單字長邏輯加法指令 寄存器 -寄存器型的 定點向量加法指令 寄存器 -寄存器型的 浮點向量加法指令 以移位指令為例: 需要組合以下三個因素: (1)移位方向: 左移 (L)、右移 (R) (2)移位種類: 算術移位 (A)、邏輯移位 (L)、 循環(huán)移位 (R) (3)移位長度: 單字長 (S)、雙字長 (D) 組合起來共有: 3 2 2 12種, 其中,邏輯左移與算術左移相同 一般機器中要設置 10條移位指令 一般機器中要設置 10條移位指令 SLAS 單字長算術左移 SRAS 單字長算術右移 SLLS(SRLS)單字長邏輯左移 ,單字長算術左移 SLRS 單字長循環(huán)左移 SRRS 單字長循環(huán)右移 SLAD 雙字長算術左移 SRAD 雙字長算術右移 SLLD(SRLD)雙字長邏輯左移 ,雙字長算術左移 SLRD 雙字長循環(huán)左移 SRRD 雙字長循環(huán)右移 3. 程序控制指令 有多種轉移指令 : 無條件轉移,條件轉移指令 調用與返回指令 循環(huán)控制指令 轉移條件: 零 (Z)、正負 (N)、進位 (C)、溢出 (V)及其組合 由條件轉移指令之前的指令產生條件碼 由條件轉移指令本身產生轉移條件 多組條件碼 條件轉移指令舉例 一般條件轉移指令 條件碼由轉移指令之前的指令產生, 對指令流水線的影響小。 例如 : BEQ ADR ;等于零轉移 BLS ADR ;小于轉移 BLEQ ADR ;小于等于轉移 BLSU ADR ;不帶符號小于轉移 BLEQU ADR ;不帶符號小于等于轉移 BCC ADR ;沒有進位轉移 BVC ADR ;沒有溢出轉移 復合條件轉移指令 代替 2條指令,首先進行運算,并根據運算的結 果決定是否轉移 不需要條件碼,與高級語言一致。 例如: DNB R ADR ;R(R) -1,如果 R0 轉移 INB R ADR ;R(R)+1, 如果 R0 轉移 JEQ R1, R2, ADR ;如果 (R1)=(R2)轉移 JAD EQ, Rd, Rs, ADR ;Rd(Rd)+(Rs), ;如果 (Rd)=0轉移 循環(huán)控制指令 用 1條指令完成循環(huán)的控制 代替 3條指令的功能:運算、比較和轉移。 例如: JL Rs, Rz, Ri, ADR Rs中存放循環(huán)變量, Rz中存放循環(huán)終值, Ri中 存放循環(huán)的步長。 地址個數太多時,可以把其中的 1個或幾個地址 隱含起來。例如,在 IBM370下列機中, Ri 隱含,循環(huán)步長放在與 Rz緊相鄰的下一寄存 器中。 隱含轉移指令 應用場合: 用于特殊的 IF.THEN.結構中, THEN部分只有一條指令 實現方法: 把 IF條件取反 ,如果取反后的條件成 立則取消下條指令,否則執(zhí)行下條指令。 例子: IF (a b)THEN b b 1 COMP =,Ra,Rb ;若 (Ra)=(Rb)則取消 INC Rb 達到的效果: 不需要專門的轉移指令, 程序執(zhí)行效率高。 程序調用和返回指令 本身可以不帶條件,也可以帶有條件 CALL 轉入子程序 RETURN 從子程序返回 CALL CC 當條件 CC滿足時轉入子程序 RETURN CC 當條件 CC滿足時從子程序返回 中斷控制指令: 開中斷、關中斷 改變屏蔽 中斷返回 自陷等 4. 輸入輸出指令 啟動、停止、測試設備,數據輸入、輸出等 采用單一的直接尋址方式, 在多用戶或多任務環(huán)境下,輸入輸出指令屬于 特權指令 5. 處理機控制和調試指令 處理機狀態(tài)切換指令, 處理機有多個狀態(tài) 硬件和軟件的調試指令 硬件調試指令:開關狀態(tài)讀取等 軟件調試指令:斷點設置、跟蹤,自陷指令等 2.4.2 指令系統的性能 完整性、規(guī)整性、高效率和兼容性 1. 完整性是指應該具備的基本指令種類 如: 通用計算機必須有類基本指令 2. 規(guī)整性包括對稱性和均勻性 對稱性: 所有的寄存器同等對待 操作碼的設置等都要對稱,如 A-B與 B-A 均勻性: 不同的數據類型、字長、存儲設備、 操作種類要設置相同的指令 3. 高效率: 指令的執(zhí)行速度要快 指令的使用頻度要高 各類指令要有一定的比例 如:運算類指令占 40%以上, 數據傳送類指令占 30%等。 4. 兼容性: 在同一系列機內,指令系統,包括尋址方式和 數據表示等保持基本不變; 可以適當增加指令、增加尋址方式,增加數據 表示等;但不能減少任何已有的 。 2.4.3 指令系統的優(yōu)化設計 優(yōu)化指令系統設計的 3個階段: CISC:復雜指令系統 60年代至 70年代中期 RISC:精簡指令系統 70年代后期至現在 VLIW: 80年代初期至現在 關鍵在軟硬件的功能分配,系統的綜合性能 時間與空間;執(zhí)行、編譯、編寫時間。 1. 復雜指令系統計算機 CISC(Complex Instruction Set Computer) 方法: 用一條指令代替一串指令 增加新的指令 增強指令功能,設置功能復雜的指令 增加尋址方式 增加數據表示方式 優(yōu)化的途徑: 面向目標代碼 面向高級語言 面向操作系統 2. 精簡指令系統計算機 RISC(Reduced Instruction Set Computer) 只保留功能簡單的指令 , 功能較復雜的指令用軟件實現, 提高流水線效率 3. 超長指令字 VLIW (Very Long Instruction Word) 一種顯式指令級并行指令系統 二維程序結構 指令級并行度高 2.5 RISC指令系統 三類指令系統: CISC、 RISC、 VLIW 2.5.1 從 CISC到 RISC 2.5.2 RISC的定義與特點 2.5.3 RISC思想的精華 2.5.4 RISC的關鍵技術 2.5.1 從 CISC到 RISC 70年代,指令系統已經非常復雜 機 型 (生產年代) IBM370/168 ( 1973 ) VAX-11 ( 1978 ) iAPX 432 ( 1982 ) Dorado ( 1978 ) 指令種類 208 303 222 270 微程序容量 420K 480K 64K 136K 指令長度 16-48 16-456 6-321 8-24 采用的工藝 ECL MSI TTL MSI NMOS VLSI ECL MSI 指令操作類型 存儲器 - 存儲器 存儲器 - 寄存器 寄存器 - 寄存器 存儲器 - 存儲器 存儲器 - 寄存器 寄存器 - 寄存器 面向堆棧 存儲器 - 存儲器 面向堆棧 Cache 容量 64KB 64KB 0 64KB 1975年, IBM公司率先組織力量開始研究指令系 統的合理性問題 1979年研制出世界上第一臺采用 RISC思想的計 算機 IBM 801 1986年, IBM正式推出采用 RISC體系結構的工作 站 IBM RT PC CISC指令系統存在的問題: 1979年, 美國加洲伯克利分校 David Patterson 提出: 1. 20與 80規(guī)律 在 CISC中,大約 20的指令占據了 80的處理 機執(zhí)行時間。 例如: 8088處理機的指令種類大約 100種 前 11種 (11 )指令的使用頻度已經超過 80 前 8種 (8 )指令的運行時間已經超過 80 前 20種 (20 )指令:使用頻度達到 91.1 運行時間達到 97.72 其余 80的指令:使用頻度只有 8.9 2.28的處理機運行時間 Intel 8088 處理機指令系統使用頻度和執(zhí)行時間統計 ( C 語言編譯程序和 PROLOG 解釋程序) 使用頻度 執(zhí)行時間 序號 指令 累計 序號 指令 累 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 MOV PUSH CMP JMPcc ADD POP RET CALL JUMP SUB INC LES REPN IMUL DEC XOR REPNZ CLD LOOPcc TEST 24.85 10.36 10.28 9.03 6.80 4.14 3.92 3.89 2.70 2.43 2.37 1.98 1.92 1.69 1.37 1.13 0.78 0.54 0.52 0.40 24.85 35.21 45.49 54.52 61.32 65.46 69.38 73.27 75.97 78.40 80.77 82.75 84.67 86.36 87.73 88.86 89.64 90.18 90.70 91.10 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 IMUL MOV PUSH JMPcc CMP CALL RET ADD JMP LES POP DEC SUB XOR INC LOOPcc LDS CMPS MOVS JCXZ 19.55 17.44 11.11 10.55 7.80 7.27 4.85 3.27 3.26 2.83 2.61 1.49 1.18 1.04 0.99 0.64 0.64 0.44 0.39 0.37 19.55 36.99 48.10 58.65 66.45 73.72 78.57 81.84 85.10 87.93 90.54 92.0 3 93.21 94.25 95.24 95.88 96.52 96.96 97.35 97.72 2. VLSI技術的發(fā)展引起的問題 VLSI工藝要求規(guī)整性, RISC正好適應了 VLSI 工藝的要求 主存與控存的速度相當 簡單指令沒有必要用微程序實現,復雜指令 用微程序實現與用簡單指令組成的子程序實 現沒有多大區(qū)別 由于 VLSI的集成度迅速提高,使得生產單芯片 處理機成為可能。 3. 軟硬件的功能分配問題 復雜的指令使指令的執(zhí)行周期大大加長 CISC處理機的指令平均執(zhí)行周期都在 4以上 在 CISC中,增強指令系統功能,簡化了軟件, 硬件復雜了 1981年, Patterson等人研制了 32位的 RISC I微處 理器,總共 31種指令, 3種數據類型,兩種尋 址方式,研制周期 10個月,比當時最先進的 MC68000和 Z8002快 3至 4倍 1983年,又研制了 RISC II,指令種類擴充到 39 種,單一變址尋址方式,通用寄存器 138個 2.5.2 RISC的定義與特點 卡內基梅隆 (Carnegie Mellon)大學論述 RISC的 特點如下: (1)大多數指令在單周期內完成 (2)LOAD/STORE結構 (3)硬布線控制邏輯 (4)減少指令和尋址方式的種類 (5)固定的指令格式 (6)注重編譯的優(yōu)化 90年代初 , IEEE的 Michael Slater對 RISC描述: (1)RIS

注意事項

本文(計算機系統結構第2章)為本站會員(san****019)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


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