第5章处理器指令集.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 5 章 處理器指令集 到底處理器應該提供哪些指令? 理論上,處理器只要具備某些基本的運算功能(指令),就有足夠的能力去計算任何一個函數。 指令太多帶來的是便利性,而非功能性。 指令太多可能衍生效率問題。 電腦結構師必須考慮: 晶片大小 消耗功率 散熱問題 指令集重點 建置處理器的運算集合是一種妥協,一種介於硬體成本、程式便利、和工程層面(比如:功率消耗)之間的妥協。 表示法 所有的硬體運算 就是所有指令的集合,稱為指令集。 指令集定義所有指令的字義和運作規格。 硬體運算表示法 意指所使用的指令語法,稱為指令格式。 先把程式轉換成可執行的指令格式,然後再交給處理器。 指令的組成部分 執行運算的操作碼 擷取數值的運算元 置放結果的位置 典型指令格式 由一序列的二進制位元所組成 通常 指令開頭是操作碼欄位 接著跟隨著運算元欄位 典型指令格式圖 指令長度 固定長度指令 所有的指令長度都相同 硬體比較簡單 硬體比較快速 可變長度指令 具有各種不同長度的指令 比較吸引程式設計師 記憶體使用較有效率 固定長度指令的重點 對程式設計師而言,使用固定長度指令的理由似乎不夠充分,然而,固定長度指令集確實讓處理器硬體比較精簡,也比較快! 通用暫存器 高速設備 處理器的一部份 暫時的儲存裝置 數量不大(100)編號由0到N-1 長度剛好可以容納整數 浮點暫存器 容納浮點數 通用暫存器和浮點暫存器的編號都是從0開始,當指令發出暫存器編號時,很容易搞混淆。 比如:指定暫存器3和6作整數運算,處理器會擷取通用暫存器;然而,如果指定暫存器3和6是作浮點運算,則必須擷取浮點暫存器。 暫存器規劃 Z = X + Y 動作: 把X載入暫存器3 把Y載入暫存器6 把暫存器3和6的數值相加 把結果放到暫存器7 把暫存器7內容儲存到Z 專業術語 暫存器配置 把數值放在暫存器,改善執行效能。 選擇暫存器置放數值的程序,稱為暫存器配置。 暫存器溢出 暫存器數量不夠時,會發生暫存器溢出。 為了讓新數值使用暫存器,只好把原暫存器內的舊數值,先移到記憶體。 雙精準度 兩倍原運算元的位元數 通常把暫存器視為連續的硬體 比如:使用連續的暫存器儲存雙精準度整數 一半的整數放在暫存器4 一半的整數放在暫存器5 暫存器庫 系統可以有多個暫存器庫 暫存器庫就是暫存器的集合 把某些運算元放在某個暫存器庫,利於平行處理。 硬體細節可能會影響到暫存器配置 最佳化執行效能 典型的暫存器庫策略 將暫存器分割成兩個暫存器庫 ALU可以從這兩個不同的暫存器庫,同時取出加法所需要的兩個運算元。 暫存器庫圖 程式設計師受到的影響 運算元必須放在暫存器庫 無法保證每一個指令的運算元,都來自於不同的暫存器庫。 R ← X + Y S ← Z – X T ← Y + Z 暫存器衝突 暫存器衝突:無法把運算元配置到不同的暫存器庫。 通常由編譯器或組譯器通知。 程式設計師最好重新指定暫存器、或插入指令複製數值,才能有效地控制衝突的發生。 典型指令集 CISC(複雜指令集,Complex Instruction Set Compute ) RISC(精簡指令集,Reduced Instruction Set Computer ) CISC指令集 指令較多,往往有數百個指令。 某些複雜的計算指令可能需要一段時間執行,比如: 圖形指令在記憶體的運算動作 sine、cosine、…等計算函數 著名的英特爾Pentium,就是CISC處理器的代表。 RISC指令集 指令較少,剛好滿足數學函數計算的最低要求(比如:32個指令)。 通常一個時脈週期執行一個指令。 比如:MIPS指令集。 指令集結論 如果處理器的指令集有眾多(比如:數百個指令)且複雜(通常執行也相當耗時)的指令,則分類為CISC處理器;反之,如果指令集只有少數的指令,而且每個指令都只需要1個時脈週期的執行時間,則分類為RISC處理器。 管線執行 一種硬體最佳化技術 可以讓處理器更快速地完成一個指令 典型常見於RISC處理器 典型的指令週期 擷取下一個指令 檢視操作碼:決定需要幾個運算元 擷取每一個運算元 執行操作碼指定的運算 儲存結果到指定的位置 最佳化指令週期 RISC處理器被設計成平行的硬體單元,每個硬體單元執行一個階段,多個階段的硬體單元排列成多階管線。 管線會把結果,從目前的硬體單元 傳送到 下一個硬體單元。 五階管線執行圖 管線速度 所有階段的硬體都可以平行且獨立地運作 所有階段的硬體同時往右傳送指令 效果:N階管線可以同時執行N個指令 管線工作圖 RISC處理器和管線 雖然RISC處理器不能在單一時脈週期下,就執行完擷取?執行週期的所有階段,但是藉由平行硬體的指令管線提供幾乎相等的效能表現,一旦管線滿載

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档