指令集結(jié)構(gòu)的功能設(shè)計_第1頁
指令集結(jié)構(gòu)的功能設(shè)計_第2頁
指令集結(jié)構(gòu)的功能設(shè)計_第3頁
指令集結(jié)構(gòu)的功能設(shè)計_第4頁
指令集結(jié)構(gòu)的功能設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、指令集結(jié)構(gòu)的功能設(shè)計操作類型實 例算 術(shù) 和 邏算 術(shù) 和 邏輯運(yùn)算輯運(yùn)算整數(shù)的算術(shù)和邏輯操作:加、減、與、或等。整數(shù)的算術(shù)和邏輯操作:加、減、與、或等。數(shù)據(jù)傳輸數(shù)據(jù)傳輸Load/Store控制控制分支、跳轉(zhuǎn)、過程調(diào)用和返回、自陷等。分支、跳轉(zhuǎn)、過程調(diào)用和返回、自陷等。系統(tǒng)系統(tǒng)操作系統(tǒng)調(diào)用、虛擬存儲器管理等。操作系統(tǒng)調(diào)用、虛擬存儲器管理等。浮點浮點浮點操作:加、乘等。浮點操作:加、乘等。十進(jìn)制十進(jìn)制十進(jìn)制加、十進(jìn)制乘、十進(jìn)制到字符的轉(zhuǎn)換。十進(jìn)制加、十進(jìn)制乘、十進(jìn)制到字符的轉(zhuǎn)換。字符串字符串字符串移動、字符串比較、字符串搜索等。字符串移動、字符串比較、字符串搜索等。圖形圖形象素操作、壓縮象素操作

2、、壓縮/解壓操作等。解壓操作等。1. 指令集中操作的分類 2. 一種指令集結(jié)構(gòu)中的指令到底要支持哪些類型的 操作? ( (指令集結(jié)構(gòu)功能設(shè)計問題指令集結(jié)構(gòu)功能設(shè)計問題) ) 兩種截然不同的方向:兩種截然不同的方向: 復(fù)雜指令集計算機(jī)(復(fù)雜指令集計算機(jī)(CISCCISC) 強(qiáng)化指令功能,實現(xiàn)軟件功能向硬件功能轉(zhuǎn)移。強(qiáng)化指令功能,實現(xiàn)軟件功能向硬件功能轉(zhuǎn)移。 精簡指令集計算機(jī)(精簡指令集計算機(jī)(RISCRISC) 盡可能地降低指令集結(jié)構(gòu)的復(fù)雜性,以達(dá)到盡可能地降低指令集結(jié)構(gòu)的復(fù)雜性,以達(dá)到 簡化實現(xiàn),提高性能的目的。簡化實現(xiàn),提高性能的目的。 當(dāng)今指令集結(jié)構(gòu)功能設(shè)計的一個主要趨勢。當(dāng)今指令集結(jié)構(gòu)功

3、能設(shè)計的一個主要趨勢。2.3 指令集結(jié)構(gòu)的功能設(shè)計2.3.1 CISC指令集結(jié)構(gòu)的功能設(shè)計CISCCISC結(jié)構(gòu)追求的目標(biāo):結(jié)構(gòu)追求的目標(biāo): 強(qiáng)化指令功能,減少程序的指令條數(shù),以達(dá)到強(qiáng)化指令功能,減少程序的指令條數(shù),以達(dá)到提高性能的目的。提高性能的目的。增強(qiáng)指令功能主要是從如下幾個方面著手:增強(qiáng)指令功能主要是從如下幾個方面著手:1. 面向目標(biāo)程序增強(qiáng)指令功能l 提高運(yùn)算型指令功能提高運(yùn)算型指令功能l 提高傳送指令功能提高傳送指令功能l 增加程序控制指令功能增加程序控制指令功能2.3 指令集結(jié)構(gòu)的功能設(shè)計2.2.面向高級語言和編譯程序改進(jìn)指令系統(tǒng)面向高級語言和編譯程序改進(jìn)指令系統(tǒng) ( (1) 1)

4、 增加對高級語言和編譯系統(tǒng)支持的指令功能增加對高級語言和編譯系統(tǒng)支持的指令功能 對源程序中各種高級語言語句進(jìn)行使用頻對源程序中各種高級語言語句進(jìn)行使用頻 度的統(tǒng)計與分析,對于使用頻度高的語句,度的統(tǒng)計與分析,對于使用頻度高的語句, 可以設(shè)置專門的指令或采取措施增加相應(yīng)可以設(shè)置專門的指令或采取措施增加相應(yīng) 令的功能,以提高其編譯速度和執(zhí)行速度。令的功能,以提高其編譯速度和執(zhí)行速度。 從面向編譯程序,尤其是從優(yōu)化代碼生成從面向編譯程序,尤其是從優(yōu)化代碼生成 的角度進(jìn)行考慮,增加指令集結(jié)構(gòu)的規(guī)整的角度進(jìn)行考慮,增加指令集結(jié)構(gòu)的規(guī)整 性來改進(jìn)指令系統(tǒng)。性來改進(jìn)指令系統(tǒng)。2.3 指令集結(jié)構(gòu)的功能設(shè)計規(guī)整

5、性:沒有或盡可能減少例外的情況和特殊的規(guī)整性:沒有或盡可能減少例外的情況和特殊的 應(yīng)用,以及所有運(yùn)算都能對稱、均勻地應(yīng)用,以及所有運(yùn)算都能對稱、均勻地 在存儲器單元或寄存器單元之間進(jìn)行。在存儲器單元或寄存器單元之間進(jìn)行。(2) (2) 高級語言計算機(jī)指令系統(tǒng)高級語言計算機(jī)指令系統(tǒng) 面向高級語言面向高級語言(HL)(HL)的機(jī)器的機(jī)器 縮小機(jī)器語言和高級語言的語義差距??s小機(jī)器語言和高級語言的語義差距。 間接執(zhí)行型高級語言機(jī)器間接執(zhí)行型高級語言機(jī)器 高級語言和機(jī)器語言是一一對應(yīng)的,用匯高級語言和機(jī)器語言是一一對應(yīng)的,用匯 編的方法編的方法( (可以用軟件實現(xiàn),也可以用硬件實可以用軟件實現(xiàn),也可以

6、用硬件實 現(xiàn)現(xiàn)) )把高級語言源程序翻譯成機(jī)器語言程序。把高級語言源程序翻譯成機(jī)器語言程序。2.3 指令集結(jié)構(gòu)的功能設(shè)計 直接執(zhí)行型高級語言機(jī)器直接執(zhí)行型高級語言機(jī)器 高級語言就作為機(jī)器語言,直接由硬件或高級語言就作為機(jī)器語言,直接由硬件或 固件對高級語言源程序的語句逐條進(jìn)行解釋以固件對高級語言源程序的語句逐條進(jìn)行解釋以 執(zhí)行它。執(zhí)行它。3. 面向操作系統(tǒng)的優(yōu)化實現(xiàn)改進(jìn)指令系統(tǒng) 操作系統(tǒng)的實現(xiàn)在很大程度上取決于體系結(jié)操作系統(tǒng)的實現(xiàn)在很大程度上取決于體系結(jié) 構(gòu)的支持。構(gòu)的支持。 (1) (1) 主要表現(xiàn)在對以下方面的支持主要表現(xiàn)在對以下方面的支持2.3 指令集結(jié)構(gòu)的功能設(shè)計l 中斷處理中斷處理l

7、 進(jìn)程管理進(jìn)程管理l 存儲管理和保護(hù)存儲管理和保護(hù)l 系統(tǒng)工作狀態(tài)的建立與切換系統(tǒng)工作狀態(tài)的建立與切換 (2) (2) 設(shè)置指令設(shè)置指令l 支持系統(tǒng)工作狀態(tài)和訪問方式轉(zhuǎn)移的指令支持系統(tǒng)工作狀態(tài)和訪問方式轉(zhuǎn)移的指令l 支持進(jìn)程轉(zhuǎn)移的指令支持進(jìn)程轉(zhuǎn)移的指令l 支持進(jìn)程同步和互斥的指令支持進(jìn)程同步和互斥的指令2.3 指令集結(jié)構(gòu)的功能設(shè)計2.3.2 RISC指令集功能的設(shè)計1. CISC結(jié)構(gòu)存在的缺點(1) (1) 在在CISCCISC結(jié)構(gòu)的指令系統(tǒng)中,各種指令的使用頻結(jié)構(gòu)的指令系統(tǒng)中,各種指令的使用頻 率相差懸殊。率相差懸殊。(2) CISC(2) CISC結(jié)構(gòu)指令系統(tǒng)的復(fù)雜性帶來了計算機(jī)體系結(jié)構(gòu)指

8、令系統(tǒng)的復(fù)雜性帶來了計算機(jī)體系 結(jié)構(gòu)的復(fù)雜性,這不僅增加了研制時間和成結(jié)構(gòu)的復(fù)雜性,這不僅增加了研制時間和成 本,而且還容易造成設(shè)計錯誤。本,而且還容易造成設(shè)計錯誤。(3) CISC(3) CISC結(jié)構(gòu)指令系統(tǒng)的復(fù)雜性給結(jié)構(gòu)指令系統(tǒng)的復(fù)雜性給VLSIVLSI設(shè)計增加了設(shè)計增加了 很大負(fù)擔(dān),不利于單片集成。很大負(fù)擔(dān),不利于單片集成。2.3 指令集結(jié)構(gòu)的功能設(shè)計(4) CISC(4) CISC結(jié)構(gòu)的指令系統(tǒng)中,許多復(fù)雜指令需要很結(jié)構(gòu)的指令系統(tǒng)中,許多復(fù)雜指令需要很 復(fù)雜的操作,因而運(yùn)行速度慢。復(fù)雜的操作,因而運(yùn)行速度慢。(5) (5) 在在CISCCISC結(jié)構(gòu)的指令系統(tǒng)中,由于各條指令的功結(jié)構(gòu)的指

9、令系統(tǒng)中,由于各條指令的功 能不均衡性,不利于采用先進(jìn)的計算機(jī)體系結(jié)能不均衡性,不利于采用先進(jìn)的計算機(jī)體系結(jié) 構(gòu)技術(shù)(如流水技術(shù))來提高系統(tǒng)的性能。構(gòu)技術(shù)(如流水技術(shù))來提高系統(tǒng)的性能。 2. RISC計算機(jī) (1) (1) 指令系統(tǒng)只包含那些使用頻率很高的指令指令系統(tǒng)只包含那些使用頻率很高的指令 和一些必要指令。和一些必要指令。 Intel 80X86Intel 80X86最常用的十條指令最常用的十條指令2.3 指令集結(jié)構(gòu)的功能設(shè)計執(zhí)行頻率排序80X86指令指令執(zhí)行頻率(執(zhí)行指令總數(shù))1Load222條件分支條件分支203比較比較164Store125加加86與與67減減58寄存器寄存器間寄

10、存器寄存器間數(shù)據(jù)移動數(shù)據(jù)移動49調(diào)用調(diào)用110返回返回1合合 計計96Intel 80X86最常用的十條指令 (2) (2) 目的目的 使得計算機(jī)體系結(jié)構(gòu)更加簡單、更加合理和使得計算機(jī)體系結(jié)構(gòu)更加簡單、更加合理和 更加有效,克服更加有效,克服CISCCISC結(jié)構(gòu)的缺點,使機(jī)器速度更結(jié)構(gòu)的缺點,使機(jī)器速度更 快,程序運(yùn)行時間縮短,從而提高計算機(jī)系統(tǒng)的快,程序運(yùn)行時間縮短,從而提高計算機(jī)系統(tǒng)的 性能。性能。(3) (3) 設(shè)計原則設(shè)計原則l 選取使用頻率最高的指令,并補(bǔ)充一些最有選取使用頻率最高的指令,并補(bǔ)充一些最有 用的指令;用的指令;l 每條指令的功能應(yīng)盡可能簡單,并在一個機(jī)每條指令的功能應(yīng)盡

11、可能簡單,并在一個機(jī) 器周期內(nèi)完成;器周期內(nèi)完成;l 所有指令長度均相同;所有指令長度均相同;2.3 指令集結(jié)構(gòu)的功能設(shè)計l 只有只有LoadLoad和和StoreStore操作指令才訪問存儲器操作指令才訪問存儲器; ;l 其它指令操作均在寄存器之間進(jìn)行;其它指令操作均在寄存器之間進(jìn)行;l 以簡單有效的方式支持高級語言。以簡單有效的方式支持高級語言。2.3.3 控制指令 (1) (1) 跳轉(zhuǎn)跳轉(zhuǎn): : 當(dāng)控制指令為無條件改變控制流時,當(dāng)控制指令為無條件改變控制流時, 稱之為稱之為“跳轉(zhuǎn)跳轉(zhuǎn)”。 (2) (2) 分支:當(dāng)控制指令是有條件改變控制流時,分支:當(dāng)控制指令是有條件改變控制流時, 稱之為

12、稱之為“分支分支”。2.3 指令集結(jié)構(gòu)的功能設(shè)計l 條件分支條件分支l 跳轉(zhuǎn)跳轉(zhuǎn)l 過程調(diào)用過程調(diào)用l 過程返回過程返回 (3) (3) 控制流程的各種改變情況控制流程的各種改變情況2.3 指令集結(jié)構(gòu)的功能設(shè)計1. 控制指令的使用頻率 (一臺(一臺Load/StoreLoad/Store型指令集結(jié)構(gòu)的機(jī)器:型指令集結(jié)構(gòu)的機(jī)器: SPECint92SPECint92、Specfp92Specfp92基準(zhǔn)程序)基準(zhǔn)程序)13%6%81%11%4%87%0%20%40%60%80%100%調(diào)用/ 返回跳轉(zhuǎn)條件分支整型平均浮點平均改變控制流的大部分指令是條件分支指令。改變控制流的大部分指令是條件分支指

13、令。表示分支條件的技術(shù)測試分支條件的方法優(yōu) 點缺 點條件碼條件碼(CC) 在程序的控制下,由在程序的控制下,由ALU操操作設(shè)置特殊的位。作設(shè)置特殊的位。 可以自由設(shè)置可以自由設(shè)置分支條件。分支條件。CC是額外狀態(tài),條件碼限是額外狀態(tài),條件碼限制了指令順序,因為必須從制了指令順序,因為必須從一條指令將分支條件信息傳一條指令將分支條件信息傳送到分支指令。送到分支指令。條件寄條件寄存器存器 根據(jù)比較結(jié)果測試條件寄存根據(jù)比較結(jié)果測試條件寄存器。器。 簡單簡單 占用了一個寄存器。占用了一個寄存器。 比較且比較且分支分支比較操作是分支指令的一部比較操作是分支指令的一部分,通常這種比較是受一定分,通常這種比

14、較是受一定限制的。限制的。一條指令完成一條指令完成了兩條指令的了兩條指令的功能。功能。 分支指令的操作增多。分支指令的操作增多。2. 常用的三種表示分支條件的技術(shù)及其優(yōu)缺點 3. 分支目標(biāo)地址的表示 PC PC相對尋址:在指令中提供一個和程序計數(shù)相對尋址:在指令中提供一個和程序計數(shù) 器(器(PCPC)的值相加的偏移量。)的值相加的偏移量。 (1) (1) 有效地縮短指令中表示目標(biāo)地址的字段的有效地縮短指令中表示目標(biāo)地址的字段的 長度;長度; (2) (2) 使得代碼在執(zhí)行時與它被載入的位置無關(guān)。使得代碼在執(zhí)行時與它被載入的位置無關(guān)。 關(guān)鍵問題是:關(guān)鍵問題是: 轉(zhuǎn)移目標(biāo)離當(dāng)前控制指令的偏移量有多大?轉(zhuǎn)移目標(biāo)離當(dāng)前控制指令的偏移量有多大? 2.3 指令集結(jié)構(gòu)的功能設(shè)計4. 過程調(diào)用和返回的狀態(tài)保存 兩種方法來保存寄存器的內(nèi)容:兩種方法來保存寄存器的內(nèi)容: (1) “(1) “調(diào)用者保存調(diào)用者保存”方法方法 在一個調(diào)用者調(diào)用別的過程時,必須保存調(diào)用在一個調(diào)用者調(diào)用別的過程時,必須保存調(diào)用 者所要保存的寄存器,以備調(diào)用結(jié)束返回后,能夠者所要保存的寄存器,以備調(diào)用結(jié)束返回后,能夠 再次訪問調(diào)用者。再次訪問調(diào)用者。 (2) “被調(diào)用者保存被調(diào)用者保存”方法方法 被調(diào)用的過程必須保存它要用的寄存器,保證被調(diào)用的過程必須保存它要用的寄存器,保證 不會破壞過程調(diào)用者的程序執(zhí)行環(huán)境

溫馨提示

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

評論

0/150

提交評論