版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章
處理器指令集1到底處理器應該提供哪些指令?
理論上,處理器只要具備某些基本的運算功能(指令),就有足夠的能力去計算任何一個函數。指令太多帶來的是便利性,而非功能性。指令太多可能衍生效率問題。電腦結構師必須考慮:晶片大小消耗功率散熱問題2到底處理器應該提供哪些指令?呼叫程式可以看見的重疊暫存器,副程式也可以看見。呼叫程式可以看見的重疊暫存器,副程式也可以看見。通常把暫存器視為連續的硬體雖然在任何時間上,管線硬體會自動地幫助程式盡可能高速執行,然而程式設計師最好能在撰寫程式時,就開始注意並且謹慎地運用管線技術,否則指令管線硬體可能無法全速執行。效果:N階管線可以同時執行N個指令MIPS處理器廣泛地應用在嵌入式系統重疊暫存器正是呼叫程式置放引數的地方數量不大(<100)編號由0到N-1尾隨的運算元就是位址,會載入到內部位址暫存器A。no-op指令通常什麼都不做,只是浪費時間而已。效果:N階管線可以同時執行N個指令運算元和結果置放於暫存器A、B、C和D指令集重點建置處理器的運算集合是一種妥協,一種介於硬體成本、程式便利、和工程層面(比如:功率消耗)之間的妥協。3表示法
所有的硬體運算就是所有指令的集合,稱為指令集。指令集定義所有指令的字義和運作規格。硬體運算表示法意指所使用的指令語法,稱為指令格式。先把程式轉換成可執行的指令格式,然後再交給處理器。4指令的組成部分執行運算的操作碼擷取數值的運算元置放結果的位置5典型指令格式
由一序列的二進制位元所組成通常指令開頭是操作碼欄位接著跟隨著運算元欄位6典型指令格式圖7指令長度固定長度指令所有的指令長度都相同硬體比較簡單硬體比較快速可變長度指令具有各種不同長度的指令比較吸引程式設計師記憶體使用較有效率8固定長度指令的重點對程式設計師而言,使用固定長度指令的理由似乎不夠充分,然而,固定長度指令集確實讓處理器硬體比較精簡,也比較快!9通用暫存器
高速設備處理器的一部份暫時的儲存裝置數量不大(<100)編號由0到N-1長度剛好可以容納整數10浮點暫存器
容納浮點數通用暫存器和浮點暫存器的編號都是從0開始,當指令發出暫存器編號時,很容易搞混淆。比如:指定暫存器3和6作整數運算,處理器會擷取通用暫存器;然而,如果指定暫存器3和6是作浮點運算,則必須擷取浮點暫存器。11暫存器規劃
Z=X+Y動作:把X載入暫存器3把Y載入暫存器6把暫存器3和6的數值相加把結果放到暫存器7把暫存器7內容儲存到Z12專業術語暫存器配置把數值放在暫存器,改善執行效能。選擇暫存器置放數值的程序,稱為暫存器配置。暫存器溢出暫存器數量不夠時,會發生暫存器溢出。為了讓新數值使用暫存器,只好把原暫存器內的舊數值,先移到記憶體。
13雙精準度兩倍原運算元的位元數通常把暫存器視為連續的硬體比如:使用連續的暫存器儲存雙精準度整數一半的整數放在暫存器4一半的整數放在暫存器514暫存器庫
系統可以有多個暫存器庫暫存器庫就是暫存器的集合把某些運算元放在某個暫存器庫,利於平行處理。硬體細節可能會影響到暫存器配置最佳化執行效能15典型的暫存器庫策略將暫存器分割成兩個暫存器庫ALU可以從這兩個不同的暫存器庫,同時取出加法所需要的兩個運算元。16暫存器庫圖17程式設計師受到的影響運算元必須放在暫存器庫無法保證每一個指令的運算元,都來自於不同的暫存器庫。R←X+YS←Z–XT←Y+Z18暫存器衝突
暫存器衝突:無法把運算元配置到不同的暫存器庫。通常由編譯器或組譯器通知。程式設計師最好重新指定暫存器、或插入指令複製數值,才能有效地控制衝突的發生。19典型指令集CISC(複雜指令集,ComplexInstructionSetCompute)RISC(精簡指令集,ReducedInstructionSetComputer)20CISC指令集指令較多,往往有數百個指令。某些複雜的計算指令可能需要一段時間執行,比如:圖形指令在記憶體的運算動作sine、cosine、…等計算函數著名的英特爾Pentium,就是CISC處理器的代表。21RISC指令集指令較少,剛好滿足數學函數計算的最低要求(比如:32個指令)。通常一個時脈週期執行一個指令。比如:MIPS指令集。22指令集結論如果處理器的指令集有眾多(比如:數百個指令)且複雜(通常執行也相當耗時)的指令,則分類為CISC處理器;反之,如果指令集只有少數的指令,而且每個指令都只需要1個時脈週期的執行時間,則分類為RISC處理器。23管線執行一種硬體最佳化技術可以讓處理器更快速地完成一個指令典型常見於RISC處理器24典型的指令週期擷取下一個指令檢視操作碼:決定需要幾個運算元擷取每一個運算元執行操作碼指定的運算儲存結果到指定的位置25最佳化指令週期RISC處理器被設計成平行的硬體單元,每個硬體單元執行一個階段,多個階段的硬體單元排列成多階管線。管線會把結果,從目前的硬體單元傳送到下一個硬體單元。26五階管線執行圖27管線速度所有階段的硬體都可以平行且獨立地運作所有階段的硬體同時往右傳送指令效果:N階管線可以同時執行N個指令28ALU會主動地設定條件碼最基本的指令集必須精簡,以保證高速運作。雖然在任何時間上,管線硬體會自動地幫助程式盡可能高速執行,然而程式設計師最好能在撰寫程式時,就開始注意並且謹慎地運用管線技術,否則指令管線硬體可能無法全速執行。第5章
處理器指令集指令K+1: D←subtractEC到底處理器應該提供哪些指令?MIPS處理器廣泛地應用在嵌入式系統通常由編譯器或組譯器通知。執行:執行指令運算動作指定程式計數器一個初始值,重複執行下列工作{大部分的處理器會提供no-op指令到底處理器應該提供哪些指令?所有階段的硬體同時往右傳送指令運算元和結果置放於暫存器A、B、C和D(forward字面意義為轉送)(forward字面意義為轉送)管線工作圖29RISC處理器和管線雖然RISC處理器不能在單一時脈週期下,就執行完擷取−執行週期的所有階段,但是藉由平行硬體的指令管線提供幾乎相等的效能表現,一旦管線滿載,每一個時脈週期剛好會有一個指令完成。30管線技術
指令管線透通於程式設計師。雖然如此,但是不瞭解管線技術很可能妨礙到程式設計的效能表現。比如:如果管線項目不合,則管線硬體可能會發生指令遲滯。31指令遲滯假設以下兩個連續指令分別執行加法和減法運算元和結果置放於暫存器A、B、C和D指令K: C←addAB指令K+1: D←subtractEC32管線遲滯現象使用泡泡代表延遲,泡泡的出現將影響管線階段的傳輸與進行。33通常一個時脈週期執行一個指令。然而,如果指定暫存器3和6是作浮點運算,則必須擷取浮點暫存器。使用通用暫存器來傳遞引數到底處理器應該提供哪些指令?到底處理器應該提供哪些指令?ALU會主動地設定條件碼複製位址暫存器A內容給程式計數器數量不大(<100)編號由0到N-1重疊暫存器正是呼叫程式置放引數的地方效果:N階管線可以同時執行N個指令複製位址暫存器A內容給程式計數器MIPS指令集是RISC處理器中最經典的範例在任何時間點,處理器只能看到一小部分的暫存器,稱為視窗。由一序列的二進制位元所組成指令太多可能衍生效率問題。指令太多帶來的是便利性,而非功能性。呼叫程式可以看見的重疊暫存器,副程式也可以看見。管線遲滯的其它原因
存取外部儲存裝置加入協同處理器分支到新位置呼叫副程式34程式高速運作少用分支指令最好也不要在鄰接的指令後面,立刻存取結果暫存器,以避開延遲。35指令重排順序36管線重點雖然在任何時間上,管線硬體會自動地幫助程式盡可能高速執行,然而程式設計師最好能在撰寫程式時,就開始注意並且謹慎地運用管線技術,否則指令管線硬體可能無法全速執行。37No-OP指令大部分的處理器會提供no-op指令no-op(不動作)指令不會影響資料數值計算結果電腦狀態no-op指令通常什麼都不做,只是浪費時間而已。程式設計師可以插入no-op指令,來標示這裡發生指令遲滯現象。38前遞轉送
英文稱為forwarding技術(forward字面意義為轉送)讓ALU預先存取上一個指令的結果,解決連續算術指令的傳輸問題。使用硬體來進行偵測,避免遲滯。範例: 指令K: C←add AB 指令K+1: D←subtractEC39運算型態
40程式計數器
就是所謂的”指令指標”專用暫存器使用擷取−執行週期自動擷取下一個指令位址41程式計數器演算法指定程式計數器一個初始值,重複執行下列工作{
擷取:從程式計數器給予的位址,抓取程式的下一個指令 由剛剛擷取的指令得知下個指令位址,並送至內部位址暫存器A
執行:執行指令運算動作 複製位址暫存器A內容給程式計數器}42分支指令和擷取執行絕對分支指令最典型的就是jump指令尾隨的運算元就是位址,會載入到內部位址暫存器A。相對分支指令最典型的就是br指令運算元是一個有號數值,會加到內部位址暫存器A。43副程式呼叫指令jsr指令類似分支指令jsr指令會先把目前的呼叫位址,完整地儲存到位址暫存器A。ret指令副程式的結束指令把位址暫存器A內容複製給程式計數器,程式才能返回原先呼叫位置。44傳遞引數有多種傳遞引數的方式比如:使用記憶體來傳遞引數使用通用暫存器來傳遞引數使用專用暫存器來傳遞引數
45暫存器視窗最佳化引數傳輸方式在任何時間點,處理器只能看到一小部分的暫存器,稱為視窗。每執行一個副程式,硬體會自動加入一個對應的視窗,等到副程式結束後,才會收回該視窗。視窗之間可以出現重疊現象重疊暫存器正是呼叫程式置放引數的地方呼叫程式可以看見的重疊暫存器,副程式也可以看見。46暫存器視窗圖47MIPS指令集範例
MIPS處理器廣泛地應用在嵌入式系統MIPS指令集是RISC處理器中最經典的範例48MIPS指令集49MIPS指令集(Cont.)50MIPS指令集(Cont.)5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店客房钥匙卡回收管理制度
- 2025福建省福州琅岐中学编外人员招聘6人备考题库及完整答案详解一套
- 2025福建福州左海置地有限公司中层干部市场化选聘1人备考题库完整答案详解
- 2025福建厦门港务船务有限公司拖轮驾驶员社会招聘3人备考题库含答案详解
- 2025年下半年浙江国际海运职业技术学院面向社会招聘高层次人才1人备考题库及1套完整答案详解
- 液碱危害预防培训
- 糖尿病皮肤病变的干细胞治疗新策略
- 糖尿病教育护士在长期管理中的作用
- 糖尿病患者饮食误区纠正的健康教育方案
- 糖尿病患者胰岛素泵教育
- 数字孪生方案
- 金融领域人工智能算法应用伦理与安全评规范
- 2026长治日报社工作人员招聘劳务派遣人员5人备考题库及答案1套
- 机动车驾校安全培训课件
- 河道清淤作业安全组织施工方案
- 2025年役前训练考试题库及答案
- 2024VADOD临床实践指南:耳鸣的管理课件
- 2026年七台河职业学院单招职业技能测试题库附答案
- 2021海湾消防 GST-LD-8318 紧急启停按钮使用说明书
- 烟花爆竹零售经营安全责任制度
- 方小丹建筑地基基础设计的若干问题课件
评论
0/150
提交评论