版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、指令系統(tǒng)指令系統(tǒng)的分類數(shù)據(jù)表示尋址技術(shù)指令格式的優(yōu)化設(shè)計(jì)指令系統(tǒng)的功能設(shè)計(jì)綜合實(shí)例:MIPS指令集指令系統(tǒng)的分類本章內(nèi)容 分類標(biāo)準(zhǔn)根據(jù)CPU中操作數(shù)的存儲(chǔ)方法分類(主要分類準(zhǔn)則)根據(jù)指令中顯式操作數(shù)個(gè)數(shù)分類根據(jù)操作數(shù)能否放在存儲(chǔ)器中分類 分類堆棧型指令系統(tǒng)累加器型指令系統(tǒng)寄存器型指令系統(tǒng)6 之 1以C=A+B為例說(shuō)明不同指令系統(tǒng)的特點(diǎn)6 之 2灰色塊: 操作數(shù)黑色塊: 結(jié)果TOS: 棧頂三種指令系統(tǒng)的特點(diǎn) 堆棧型指令系統(tǒng)優(yōu)點(diǎn):指令長(zhǎng)度短,代碼密度高,占用存儲(chǔ)空間小。缺點(diǎn):代碼效率低,執(zhí)行效率不高。 累加器型指令系統(tǒng)優(yōu)點(diǎn):指令長(zhǎng)度短,代碼密度高,代碼效率高。缺點(diǎn):執(zhí)行效率不高。 寄存器型指令系統(tǒng)
2、優(yōu)點(diǎn):指令簡(jiǎn)單,執(zhí)行效率高,對(duì)編譯程序支持好。缺點(diǎn):指令長(zhǎng)度長(zhǎng)。本章內(nèi)容現(xiàn)在通用寄存器型已成為主流結(jié)構(gòu)6 之 3通用寄存器型指令系統(tǒng)的分類本章內(nèi)容 根據(jù)分類標(biāo)準(zhǔn)2、3可以分為:6 之 4不同通用寄存器型指令系統(tǒng)的特點(diǎn)本章內(nèi)容6 之 5指令系統(tǒng)的選擇本章內(nèi)容針對(duì)應(yīng)用需求,對(duì)指令中各屬性分布進(jìn)行分析,根據(jù)指令執(zhí)行效率確定指令集風(fēng)格根據(jù)各種指令的各屬性分布確定寄存器數(shù)及操作數(shù)個(gè)數(shù)必須考慮對(duì)OS和編譯程序的支持6 之 6數(shù)據(jù)表示 本章內(nèi)容基本概念基本數(shù)據(jù)表示高級(jí)數(shù)據(jù)表示數(shù)據(jù)表示設(shè)計(jì)基本概念本章內(nèi)容數(shù)據(jù)表示 數(shù)據(jù)類型 計(jì)算機(jī)系統(tǒng)中可以使用和處理的各種數(shù)據(jù)的類型,主要有:整數(shù)、布爾數(shù)、字符、文件、圖、表、
3、樹、陣列、隊(duì)列、鏈表、棧、向量、串等。 數(shù)據(jù)表示 能由硬件直接識(shí)別和引用(即有相應(yīng)運(yùn)算指令和有硬件支持)的數(shù)據(jù)類型,例如:定點(diǎn)數(shù)據(jù)表示、邏輯數(shù)據(jù)表示、浮點(diǎn)數(shù)據(jù)表示等。 數(shù)據(jù)結(jié)構(gòu) 帶有結(jié)構(gòu)的數(shù)據(jù)元素的集合,例如:串、隊(duì)列、棧、向量、陣列、鏈表、樹、圖等。3 之 1三者之間的關(guān)系本章內(nèi)容數(shù)據(jù)表示 3 之 2數(shù)據(jù)表示和數(shù)據(jù)結(jié)構(gòu)都是數(shù)據(jù)類型的子集;數(shù)據(jù)表示是數(shù)據(jù)類型中最常用、也是相對(duì)較簡(jiǎn)單,用硬件實(shí)現(xiàn)相對(duì)比較容易的;數(shù)據(jù)結(jié)構(gòu)由軟件進(jìn)行實(shí)現(xiàn),轉(zhuǎn)換成數(shù)據(jù)表示。 確定哪些數(shù)據(jù)類型用數(shù)據(jù)表示實(shí)現(xiàn),是軟件與硬件的取舍問(wèn)題。結(jié) 論本章內(nèi)容數(shù)據(jù)表示 3 之 3 數(shù)據(jù)類型是指令系統(tǒng)的核心內(nèi)容,系統(tǒng)結(jié)構(gòu)設(shè)計(jì)者在設(shè)計(jì)時(shí)應(yīng)
4、首先確定: 哪些數(shù)據(jù)類型全部用硬件實(shí)現(xiàn),即數(shù)據(jù)表示;哪些數(shù)據(jù)類型用軟件實(shí)現(xiàn),即數(shù)據(jù)結(jié)構(gòu);哪些數(shù)據(jù)類型可由硬件給予適應(yīng)的支持,即由軟件和硬件共同來(lái)實(shí)現(xiàn),并確定軟件和硬件的適當(dāng)比例關(guān)系。基本數(shù)據(jù)表示本章內(nèi)容數(shù)據(jù)表示 內(nèi)容 定點(diǎn)數(shù)、浮點(diǎn)數(shù)、十進(jìn)制數(shù)、邏輯數(shù)、字符等。 目的 支持?jǐn)?shù)據(jù)結(jié)構(gòu),提高系統(tǒng)效率和性能/價(jià)格。 設(shè)計(jì) 根據(jù)應(yīng)用需求,設(shè)計(jì)各種參數(shù)、指標(biāo)。 舉例 浮點(diǎn)數(shù)數(shù)據(jù)表示的設(shè)計(jì)。2 之 1浮點(diǎn)數(shù)數(shù)據(jù)表示設(shè)計(jì)浮點(diǎn)數(shù)格式浮點(diǎn)數(shù)尾數(shù)基值選擇浮點(diǎn)數(shù)尾數(shù)下溢處理浮點(diǎn)數(shù)格式設(shè)計(jì)本章內(nèi)容數(shù)據(jù)表示 2 之 2浮點(diǎn)數(shù)格式兩個(gè)符號(hào):mf :尾數(shù)符號(hào)e f :階碼符號(hào)本章內(nèi)容數(shù)據(jù)表示 浮點(diǎn)數(shù)數(shù)據(jù)表示1位1位q位p位m
5、fefem兩個(gè)數(shù)值:m :尾數(shù)的值e :階碼的值兩個(gè)基:rm :尾數(shù)的基re :階碼的基兩個(gè)字長(zhǎng):p :尾數(shù)的長(zhǎng)度q :階碼的長(zhǎng)度浮點(diǎn)數(shù)尾數(shù)基值的選擇表數(shù)范圍 隨rm加大,范圍加大。表數(shù)個(gè)數(shù) 隨rm加大,個(gè)數(shù)增多。表數(shù)精度 隨rm加大,精度變低。運(yùn)算精度損失 隨rm加大,損失變小。運(yùn)算速度 隨rm加大,速度變快。 rm的選擇應(yīng)根據(jù)應(yīng)用需要來(lái)綜合平衡: 巨/大/中型機(jī)rm宜取大 尾數(shù)字長(zhǎng)較長(zhǎng)可以彌補(bǔ)精度的損失。 小/微型機(jī)rm宜取小 提高的精度可以彌補(bǔ)尾數(shù)字長(zhǎng)較短的不足。本章內(nèi)容數(shù)據(jù)表示 浮點(diǎn)數(shù)數(shù)據(jù)表示浮點(diǎn)數(shù)尾數(shù)下溢的處理 問(wèn)題 在浮點(diǎn)數(shù)操作(相加、相乘、右移等)過(guò)程中產(chǎn)生的下溢會(huì)造成精度的損失
6、。 解決 設(shè)計(jì)下溢處理方法,有多種方法,不同的方法有不同的優(yōu)點(diǎn)和缺點(diǎn),其出發(fā)點(diǎn)和應(yīng)用場(chǎng)合也不一樣,應(yīng)根據(jù)需要進(jìn)行選擇。截?cái)喾?舍入法 恒置“1”法 查表舍入法 本章內(nèi)容數(shù)據(jù)表示 浮點(diǎn)數(shù)數(shù)據(jù)表示浮點(diǎn)數(shù)格式設(shè)計(jì)本章內(nèi)容數(shù)據(jù)表示 浮點(diǎn)數(shù)數(shù)據(jù)表示 尾數(shù) 碼制可以采用原碼或補(bǔ)碼,數(shù)制可以采用整數(shù)或小數(shù),基可以采用二進(jìn)制、四進(jìn)制、八進(jìn)制、十進(jìn)制或十六進(jìn)制。多數(shù)機(jī)器采用原碼、小數(shù)表示,尾數(shù)的基rm=2。 階碼 碼制可以采用移碼或補(bǔ)碼,數(shù)制采用整數(shù),基re=2。一般機(jī)器都采用移碼、整數(shù)表示。2 之 1浮點(diǎn)數(shù)格式設(shè)計(jì)本章內(nèi)容數(shù)據(jù)表示 浮點(diǎn)數(shù)數(shù)據(jù)表示 設(shè)計(jì)重點(diǎn) 在表數(shù)范圍和表數(shù)精度給定的情況下,如何確定最短的尾數(shù)
7、字長(zhǎng)p和階碼字長(zhǎng)q。 研究對(duì)象階碼長(zhǎng)度q 影響表數(shù)范圍。尾數(shù)長(zhǎng)度p 影響表數(shù)精度。尾數(shù)基值rm 影響表數(shù)范圍、精度及數(shù)在數(shù)軸上分布離散程度。2 之 2高級(jí)數(shù)據(jù)表示本章內(nèi)容數(shù)據(jù)表示 內(nèi)容 堆棧、向量、數(shù)組(隊(duì)列)、記錄、自定義數(shù)據(jù)表示等。 目的 支持?jǐn)?shù)據(jù)結(jié)構(gòu),提高系統(tǒng)效率和性能/價(jià)格。 舉例 自定義數(shù)據(jù)表示。2 之 1自定義數(shù)據(jù)表示本章內(nèi)容數(shù)據(jù)表示 存在問(wèn)題解決方法帶標(biāo)志符的數(shù)據(jù)表示法數(shù)據(jù)描述符表示法2 之 2存在問(wèn)題本章內(nèi)容數(shù)據(jù)表示 自定義數(shù)據(jù)表示 在高級(jí)語(yǔ)言與機(jī)器語(yǔ)言之間存在著很大的語(yǔ)義差距(例如:運(yùn)算符和數(shù)據(jù)類型之間的關(guān)系),增加了編譯程序的負(fù)擔(dān),能否在設(shè)計(jì)機(jī)器語(yǔ)言時(shí),縮短與高級(jí)語(yǔ)言之間的
8、差距?帶標(biāo)志符的數(shù)據(jù)表示法本章內(nèi)容數(shù)據(jù)表示 自定義數(shù)據(jù)表示思想 每個(gè)數(shù)據(jù)的格式為:例子在B5000大型機(jī)中,每個(gè)數(shù)據(jù)有一位標(biāo)志符在B6500/B7500大型機(jī)中,每個(gè)數(shù)據(jù)有三位標(biāo)志在R-2巨型機(jī)中采用10位標(biāo)志符10位標(biāo)志符功能數(shù)值陷井封寫類型校驗(yàn)2位2位1位4位1位標(biāo)志符數(shù)值 標(biāo)志符由編譯器或其它系統(tǒng)軟件建立,對(duì)一般高級(jí)語(yǔ)言程序員和計(jì)算機(jī)用戶透明。4 之 1帶標(biāo)志符的數(shù)據(jù)表示法 優(yōu)點(diǎn)簡(jiǎn)化指令系統(tǒng)和程序設(shè)計(jì)簡(jiǎn)化編譯程序便于硬件實(shí)現(xiàn)一致性校驗(yàn)?zāi)苡捎布詣?dòng)完成數(shù)據(jù)類型的變換為軟件調(diào)試和應(yīng)用軟件開發(fā)提供支持支持了數(shù)據(jù)庫(kù)系統(tǒng)的實(shí)現(xiàn)與數(shù)據(jù)類型無(wú)關(guān)的要求缺點(diǎn)數(shù)據(jù)和指令的長(zhǎng)度可能不一致指令執(zhí)行速度降低,程序
9、設(shè)計(jì)時(shí)間、編譯時(shí)間和調(diào)試時(shí)間縮短硬件復(fù)雜度增加。本章內(nèi)容數(shù)據(jù)表示 自定義數(shù)據(jù)表示4 之 2存儲(chǔ)空間分析 問(wèn)題 存儲(chǔ)空間將會(huì)增加。 解決 合理地設(shè)計(jì)和使用會(huì)不增反降。 原因數(shù)據(jù)字增加,指令字縮小編譯程序縮短,目的程序縮短本章內(nèi)容數(shù)據(jù)表示 自定義數(shù)據(jù)表示數(shù)據(jù)字長(zhǎng)加長(zhǎng)數(shù)據(jù)指令指令字長(zhǎng)縮短采用標(biāo)志符的指令字長(zhǎng)標(biāo)志符長(zhǎng)度不采用標(biāo)志符的指令和數(shù)據(jù)字長(zhǎng)采用標(biāo)志符的數(shù)據(jù)長(zhǎng)度4 之 3存儲(chǔ)空間分析例:假設(shè)X處理機(jī)的數(shù)據(jù)不帶標(biāo)志符,其指令字長(zhǎng)和數(shù)據(jù)字長(zhǎng)均為32位;Y處理機(jī)的數(shù)據(jù)帶標(biāo)志符,數(shù)據(jù)字長(zhǎng)增加至35位,其中3位是標(biāo)志符,其指令字長(zhǎng)由32位減少至30位。并假設(shè)一條指令平均訪問(wèn)兩個(gè)操作數(shù),每個(gè)操作數(shù)平均被訪問(wèn)R
10、次。分別計(jì)算一個(gè)有I條指令的程序在這兩種不同類型的處理機(jī)中所占用的存儲(chǔ)空間。答: 程序在X中的存儲(chǔ)空間: 程序在Y中的存儲(chǔ)空間: 二者的比值為:分析:當(dāng)R3時(shí)有 BY/BX 數(shù)據(jù)表示 自定義數(shù)據(jù)表示4 之 4數(shù)據(jù)描述符表示法本章內(nèi)容數(shù)據(jù)表示 自定義數(shù)據(jù)表示 思想 對(duì)于許多連續(xù)存放的同屬性數(shù)據(jù),例如:向量、矩陣、多維數(shù)組等,可以采用一個(gè)數(shù)據(jù)描述符作用于這樣的一組數(shù)據(jù),而沒(méi)有必要讓每個(gè)數(shù)據(jù)都帶標(biāo)志符。 例子 以Burroughs公司生產(chǎn)的B-6700機(jī)中采用的數(shù)據(jù)描述符表示方法進(jìn)行介紹。5 之 1B-6700中的格式本章內(nèi)容數(shù)據(jù)表示 自定義數(shù)據(jù)表示 數(shù)據(jù)描述符格式 數(shù)據(jù)格式101數(shù)據(jù)塊起始地址標(biāo)志
11、位數(shù)據(jù)塊長(zhǎng)度000數(shù)值5 之 2取操作數(shù)的過(guò)程本章內(nèi)容數(shù)據(jù)表示 自定義數(shù)據(jù)表示5 之 3101000000101操作碼xy指令主存儲(chǔ)器101101地址形成邏輯寄存器描述符(數(shù)據(jù))(數(shù)據(jù))描述符描述二維陣列(按行存儲(chǔ))本章內(nèi)容數(shù)據(jù)表示 自定義數(shù)據(jù)表示101標(biāo)志3101標(biāo)志4101標(biāo)志4101標(biāo)志4000a11000a12000a13000a14000a21000a22000a23000a24000a31000a32000a33000a34OPCXY5 之 4特 點(diǎn)本章內(nèi)容數(shù)據(jù)表示 自定義數(shù)據(jù)表示 優(yōu)點(diǎn)整塊數(shù)據(jù)可一次性操作簡(jiǎn)化編譯中的代碼生成 比較 標(biāo)志符是和每個(gè)數(shù)據(jù)相連,合存于一個(gè)存儲(chǔ)單元中,描
12、述單個(gè)數(shù)據(jù)的類型特征;描述符是和數(shù)據(jù)分開存放的,專門用來(lái)描述一組數(shù)據(jù)。5 之 5數(shù)據(jù)表示設(shè)計(jì)本章內(nèi)容數(shù)據(jù)表示 確定哪些數(shù)據(jù)類型用數(shù)據(jù)表示來(lái)實(shí)現(xiàn)的原則主要有:原則一原則二設(shè)計(jì)原則一本章內(nèi)容數(shù)據(jù)表示數(shù)據(jù)表示設(shè)計(jì) 是否提高系統(tǒng)的效率,即:是否減少了實(shí)現(xiàn)時(shí)間和所需的存儲(chǔ)空間。 實(shí)現(xiàn)時(shí)間的衡量主存和處理機(jī)間所需傳送的消息量有否減少高速運(yùn)算部件是否節(jié)省了時(shí)間是否節(jié)省了大量的輔助操作(由硬件完成)是否節(jié)省了編譯所需要的時(shí)間 例子 向量數(shù)據(jù)表示的引入(例如:兩個(gè)200200的定點(diǎn)數(shù)矩陣相加)。設(shè)計(jì)原則二本章內(nèi)容數(shù)據(jù)表示 數(shù)據(jù)表示設(shè)計(jì) 通用性和利用率是否高。 堆棧機(jī) 盡管堆棧操作速度很快,但矩陣運(yùn)算效率卻降低了
13、。 陣列機(jī) 還需要解決通用性問(wèn)題、如何高效地實(shí)現(xiàn)不同的數(shù)據(jù)結(jié)構(gòu)、如何確定陣列型數(shù)據(jù)表示的規(guī)模等。 樹型結(jié)構(gòu)機(jī)器 堆棧、向量、鏈表等結(jié)構(gòu)的實(shí)現(xiàn)低效。尋址技術(shù) 概念 尋址技術(shù)就是尋找操作數(shù)及其他信息的地址的技術(shù),它是軟件和硬件的一個(gè)主要分界面。 對(duì)象 寄存器、主存儲(chǔ)器、堆棧和輸入輸出設(shè)備。 內(nèi)容方法 分析各種尋址技術(shù)的優(yōu)缺點(diǎn),如何選擇和確定尋址技術(shù)。本章內(nèi)容 編址方式 尋址方式 定位方式編址方式本章內(nèi)容尋址技術(shù)編址單位零地址空間個(gè)數(shù)I/O設(shè)備的編址技術(shù)并行存儲(chǔ)器的編址技術(shù)編址單位本章內(nèi)容尋址技術(shù)編址方式字編址字節(jié)編址位編址字編址本章內(nèi)容尋址技術(shù)編址方式編址單位 方法 每個(gè)編址單位與設(shè)備的訪問(wèn)單位相
14、一致。即,每個(gè)編址單位所包含的信息量(例:二進(jìn)制位數(shù))與訪問(wèn)一次設(shè)備(指讀或?qū)懀┧@得的信息量是相同的。 優(yōu)點(diǎn) 實(shí)現(xiàn)很簡(jiǎn)單,地址信息、存儲(chǔ)器容量等沒(méi)有任何浪費(fèi)。 缺點(diǎn) 沒(méi)有對(duì)非數(shù)值計(jì)算的應(yīng)用(要求按字節(jié)編址,因?yàn)樗幕緦ぶ穯挝皇亲止?jié))提供支持。字節(jié)編址 方法 每個(gè)編址單位是字節(jié)。 優(yōu)點(diǎn) 編址單位與信息的基本單位(一個(gè)字節(jié))相一致。 缺點(diǎn) 地址空間的浪費(fèi)。 問(wèn)題 因?yàn)槊總€(gè)編址單位所包含的信息量(一個(gè)字節(jié))與訪問(wèn)一次設(shè)備所獲得的信息量(通常是一個(gè)字:字節(jié)的4倍以上)不相同,從而就產(chǎn)生了數(shù)據(jù)如何在存儲(chǔ)器里存放的問(wèn)題。 解決 有三種:(1、2、3)本章內(nèi)容尋址技術(shù)編址方式編址單位從任意位置開始存儲(chǔ)
15、優(yōu)點(diǎn) 不浪費(fèi)存儲(chǔ)器資源。本章內(nèi)容尋址技術(shù)編址方式編址單位字節(jié)編址 缺點(diǎn)增加讀取時(shí)間(可能需要兩個(gè)存儲(chǔ)周期)存儲(chǔ)器的讀寫控制比較復(fù)雜字單-字節(jié)單字字半-單字字雙-半字字節(jié)存儲(chǔ)字長(zhǎng):64位(8字節(jié))主存空間從存儲(chǔ)字起始位置開始存儲(chǔ) 缺點(diǎn) 浪費(fèi)存儲(chǔ)器資源。本章內(nèi)容尋址技術(shù)編址方式編址單位字節(jié)編址 優(yōu)點(diǎn)讀取都可以在一個(gè)存儲(chǔ)周期內(nèi)完成存儲(chǔ)器的讀寫控制比較簡(jiǎn)單存儲(chǔ)字長(zhǎng):64位(8字節(jié))主存空間字節(jié)浪費(fèi)半字浪費(fèi)單字浪費(fèi)雙字從地址整數(shù)倍位置開始存儲(chǔ)性能是前兩種方法的折中 本章內(nèi)容尋址技術(shù)編址方式編址單位字節(jié)編址存儲(chǔ)字長(zhǎng):64位(8字節(jié))主存空間字節(jié)浪費(fèi)雙字單字浪費(fèi)雙字字節(jié)浪費(fèi)單字雙字字節(jié)浪費(fèi)半字xx00 xx
16、08xx10 xx18xx20 xx28xx30地址位編址本章內(nèi)容尋址技術(shù)編址方式編址單位 方法 每個(gè)編址單位是位。 特點(diǎn) 同字節(jié)編址,只不過(guò)地址信息的浪費(fèi)更大。 早期的計(jì)算機(jī)大多采用字編址,目前使用最普遍的是字節(jié)編址,而位編址是一種很有應(yīng)用前景的編址方式。零地址空間個(gè)數(shù)本章內(nèi)容尋址技術(shù)編址方式 三個(gè)零地址空間 通用寄存器、主存儲(chǔ)器和輸入輸出設(shè)備均獨(dú)立編址。 兩個(gè)零地址空間 主存儲(chǔ)器與輸入輸出設(shè)備統(tǒng)一編址。 一個(gè)零地址空間 所有存儲(chǔ)設(shè)備統(tǒng)一編址,最低端是通用寄存器,最高端是輸入輸出設(shè)備,中間為主存儲(chǔ)器。 沒(méi)有零地址空間(隱含編址方式) 所有存儲(chǔ)設(shè)備都無(wú)需編址,例如:堆棧、Cache等。I/O設(shè)
17、備的編址技術(shù)本章內(nèi)容尋址技術(shù)編址方式 一臺(tái)設(shè)備一個(gè)地址 對(duì)I/O設(shè)備本身進(jìn)行編址,沒(méi)有對(duì)寄存器進(jìn)行編址。 一臺(tái)設(shè)備兩個(gè)地址 一個(gè)地址是數(shù)據(jù)寄存器,另一個(gè)是狀態(tài)或控制寄存器。 一臺(tái)設(shè)備多個(gè)地址 根據(jù)各種I/O設(shè)備的不同需要為它分配不同數(shù)據(jù)的地址。并行存儲(chǔ)器的編址技術(shù)本章內(nèi)容尋址技術(shù)編址方式高位交叉編址 主要目的是用來(lái)擴(kuò)大存儲(chǔ)器容量。低位交叉編址 主要目的是提高存儲(chǔ)器速度。高位交叉編址本章內(nèi)容尋址技術(shù)編址方式并行存儲(chǔ)器的編址技術(shù)MBR存儲(chǔ)體0MAR0.00.00.0F.FMBR存儲(chǔ)體1MAR0.10.00.1F.FMBR存儲(chǔ)體n-1MARF.F0.0F.FF.F譯碼器 高位 地址寄存器(低位) M
18、BR 數(shù)據(jù)寄存器 MAR 地址寄存器 低位交叉編址本章內(nèi)容尋址技術(shù)編址方式并行存儲(chǔ)器的編址技術(shù)MBR存儲(chǔ)體0MAR0.00.0F.F0.0MBR存儲(chǔ)體1MAR0.00.1F.F0.1MBR存儲(chǔ)體n-1MAR0.0F.FF.FF.F譯碼器 地址寄存器(高位) (低位) MBR 數(shù)據(jù)寄存器 MAR 地址寄存器 尋址方式本章內(nèi)容尋址技術(shù)常用尋址方式尋址方式選擇尋址方式參數(shù)大小選擇常用尋址方式的含義和使用尋址方式選擇本章內(nèi)容尋址技術(shù)尋址方式 選擇方法 使用頻度分析法根據(jù)指令系統(tǒng)風(fēng)格和各種尋址方式的使用頻率,選擇高頻率的尋址方式。 例子 在VAX指令集機(jī)器上運(yùn)行g(shù)cc、Spice和Tex基準(zhǔn)程序,各種尋
19、址方式的分布見(jiàn)圖。2 之 1結(jié)論:偏移尋址和立即數(shù)使用頻率很高,必須支持這兩種方式;對(duì)其他尋址方式,則應(yīng)根據(jù)軟、硬取舍原則進(jìn)行選擇。2 之 2尋址方式參數(shù)大小選擇本章內(nèi)容尋址技術(shù)尋址方式 選擇方法 根據(jù)頻度分析法進(jìn)行分析和選擇。 例子偏移尋址參數(shù)大小選擇立即數(shù)參數(shù)大小選擇結(jié)論: 偏移尋址方式中的地址長(zhǎng)度至少為1216bit(75%99%)。問(wèn)題: 偏移的范圍如何確定,因?yàn)槠浯笮≈苯佑绊懼噶畹拈L(zhǎng)度。 在Alpha體系結(jié)構(gòu)計(jì)算機(jī)上使用SPEC CPU2000測(cè)試所得結(jié)果結(jié)論: 立即數(shù)尋址模式中的立即數(shù)字段長(zhǎng)度至少為816bit(50%80%)。問(wèn)題: 立即數(shù)的取值范圍如何確定,因?yàn)槠浯笮≈苯佑绊懼?/p>
20、令的長(zhǎng)度。 在Alpha體系結(jié)構(gòu)計(jì)算機(jī)上使用SPEC CPU2000測(cè)試所得結(jié)果定位方式本章內(nèi)容尋址技術(shù) 直接定位方式 在程序裝入主存儲(chǔ)器之前,程序中的指令和數(shù)據(jù)的主存物理地址就已經(jīng)確定了的稱為直接定位方式。 靜態(tài)定位方式 在程序裝入主存儲(chǔ)器的過(guò)程中隨即進(jìn)行地址變換,確定指令和數(shù)據(jù)的主存物理地址的稱為靜態(tài)定位方式。 動(dòng)態(tài)定位方式 在程序執(zhí)行過(guò)程中,當(dāng)訪問(wèn)到相應(yīng)的指令或數(shù)據(jù)時(shí)才進(jìn)行地址變換,確定指令和數(shù)據(jù)的主存物理地址的稱為動(dòng)態(tài)定位方式。指令格式的優(yōu)化設(shè)計(jì)本章內(nèi)容指令的組成操作碼的優(yōu)化設(shè)計(jì)地址碼的優(yōu)化設(shè)計(jì)指令字格式的優(yōu)化設(shè)計(jì)指令的組成本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì) 指令一般由兩部分組成:操作碼和地址
21、碼。操作碼 由兩部分組成:指令的操作種類所用操作數(shù)的類型地址碼 由三部分組成:操作數(shù)地址地址的附加信息尋址方式2 之 1指令格式優(yōu)化設(shè)計(jì)的目標(biāo)本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)節(jié)省程序的存儲(chǔ)空間指令格式要盡量規(guī)整,以減少硬件譯碼的復(fù)雜度2 之 2本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)操作碼的優(yōu)化設(shè)計(jì)評(píng)價(jià)方法固定長(zhǎng)度操作碼Huffman編碼擴(kuò)展編碼法本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)操作碼的優(yōu)化設(shè)計(jì)評(píng)價(jià)方法編碼的平均碼長(zhǎng)l其中:pi: 表示第i種操作碼在程序中出現(xiàn)的概率;li : 表示第i種操作碼的編碼長(zhǎng)度;n: 操作碼的總數(shù)。編碼的信息冗余量R其中:H:為信息熵(理論上的最短平均碼長(zhǎng))。2 之 1本章內(nèi)容指令格式的優(yōu)化設(shè)
22、計(jì)操作碼的優(yōu)化設(shè)計(jì)例 子 為增加可比性,對(duì)下面介紹的編碼方法采用同一例子:假設(shè)一臺(tái)模型計(jì)算機(jī),共有7種不同的指令,已知各種指令在程序中出現(xiàn)的概率如下表。2 之 2指令I(lǐng)1概率0.45I20.30I30.15I40.05I50.03I60.01I70.01本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)操作碼的優(yōu)化設(shè)計(jì)固定長(zhǎng)度操作碼 思想 所有指令的操作碼長(zhǎng)度都是相同的。如果需要編碼的指令有n條,則固定長(zhǎng)度操作碼的位數(shù)至少需要 log2n 位。目前許多的RISC采用該思想。 例子 H=1.95;l=3;R=35% 特點(diǎn)優(yōu)點(diǎn):非常規(guī)整,硬件譯碼也很簡(jiǎn)單。缺點(diǎn):浪費(fèi)嚴(yán)重。本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)操作碼的優(yōu)化設(shè)計(jì)Huff
23、man編碼 思想 概率高的用短位數(shù)表示,概率低的用長(zhǎng)位數(shù)表示。 算法 利用Huffman樹實(shí)現(xiàn)。 特點(diǎn) 是最優(yōu)化的編碼方式(平均碼長(zhǎng)最短,信息的冗余量最?。?,但操作碼很不規(guī)整。4 之 1本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)操作碼的優(yōu)化設(shè)計(jì)Huffman編碼算法把所有指令按照使用概率自左向右排列好。選取兩個(gè)概率最小的結(jié)點(diǎn)合并成一個(gè)概率值是二者之和的新結(jié)點(diǎn),并把這個(gè)新結(jié)點(diǎn)與其它還沒(méi)有合并的結(jié)點(diǎn)一起形成新結(jié)點(diǎn)集合。在新結(jié)點(diǎn)集合中選取兩個(gè)概率最小的結(jié)點(diǎn)進(jìn)行合并,如此繼續(xù)進(jìn)行下去,直至全部結(jié)點(diǎn)合并完畢。最后得到的根結(jié)點(diǎn)的概率值為1。每個(gè)結(jié)點(diǎn)都有兩個(gè)分支,分別用 “0” 和“1”表示。從根結(jié)點(diǎn)開始,沿尖頭所指方向,
24、到達(dá)屬于該指令的概率結(jié)點(diǎn),把沿線所經(jīng)過(guò)的代碼組合起來(lái)得到這條指令的操作碼編碼。4 之 2本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)操作碼的優(yōu)化設(shè)計(jì)Huffman編碼舉例0.450.300.150.050.030.010.011.000.550.250.100.050.020101010101014 之 3本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)操作碼的優(yōu)化設(shè)計(jì)Huffman編碼舉例指令序號(hào)概率Huffman編碼法操作碼長(zhǎng)度I10.4501位I20.30102位I30.151103位I40.0511104位I50.03111105位I60.011111106位I70.011111116位H=1.95;l=1.97;R1%4
25、之 4本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)操作碼的優(yōu)化設(shè)計(jì)擴(kuò)展編碼法 思想 是固定長(zhǎng)度操作碼和Huffman編碼法相結(jié)合形成的。即:對(duì)Huffman編碼,根據(jù)使用頻率宏觀分布,將編碼長(zhǎng)度擴(kuò)展成有限幾種長(zhǎng)度的編碼。 問(wèn)題 有多種擴(kuò)展編碼,等長(zhǎng)擴(kuò)展(例如:4-8-12、3-6-9等)?不等長(zhǎng)擴(kuò)展(例如:4-6-10等)? 解決 取決于具體指令的使用頻度的分布。5 之 1本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)操作碼的優(yōu)化設(shè)計(jì)擴(kuò)展編碼法舉例序號(hào)概率1-2-3-5擴(kuò)展編碼I10.450I20.3010I30.15110I40.0511100I50.0311101I60.0111110I70.01111112-4等長(zhǎng)擴(kuò)展編碼0
26、001101100110111101111平均碼長(zhǎng)2.02.2信息冗余量2.5%11.4%5 之 2本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)操作碼的優(yōu)化設(shè)計(jì)等長(zhǎng)(4-8-12)15/15/15擴(kuò)展編碼法操作碼編碼說(shuō)明0000000111104位長(zhǎng)度的操作碼共15種1111 00001111 00011111 11108位長(zhǎng)度的操作碼共15種1111 1111 00001111 1111 00011111 1111 111012位長(zhǎng)度的操作碼共16種5 之 3本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)操作碼的優(yōu)化設(shè)計(jì)等長(zhǎng)(4-8-12)8/64/512擴(kuò)展編碼法操作碼編碼說(shuō)明0000000101114位長(zhǎng)度的操作碼共8種10
27、00 00001000 00011111 01118位長(zhǎng)度的操作碼共64種1000 1000 00001000 1000 00011111 1111 011112位長(zhǎng)度的操作碼共512種5 之 4本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)操作碼的優(yōu)化設(shè)計(jì)不等長(zhǎng)(4-6-10) 擴(kuò)展編碼法5 之 5編碼方法各種不同長(zhǎng)度操作碼的指令種類總的指令種類4位操作碼6位操作碼10位操作碼15/3/1615316348/31/1683116558/30/3283032708/16/2568162562804/32/256432256292本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)地址碼的優(yōu)化設(shè)計(jì)地址個(gè)數(shù)的選擇優(yōu)化單個(gè)地址碼本章內(nèi)容指令格式
28、的優(yōu)化設(shè)計(jì)地址碼的優(yōu)化設(shè)計(jì)地址個(gè)數(shù)的選擇地址數(shù)目指令條數(shù)程序存儲(chǔ)量程序執(zhí)行速度適用場(chǎng)合三地址少最大一般向量、矩陣運(yùn)算為主二地址一般很大很低一般不宜采用一地址較多較大較快連續(xù)運(yùn)算,硬件結(jié)構(gòu)簡(jiǎn)單零地址最多最小最低嵌套、遞歸、變量較多二地址R型一般最小最快多累加器、數(shù)據(jù)傳送較多采用各種不同地址數(shù)指令編寫的程序的特點(diǎn)和適用范圍本章內(nèi)容指令格式的優(yōu)化設(shè)計(jì)地址碼的優(yōu)化設(shè)計(jì)優(yōu)化單個(gè)地址碼 目的 要用一個(gè)較短的地址碼表示一個(gè)較大的邏輯地址空間,同時(shí)還要有較靈活有效的尋址方式。 常用方法用間址尋址方式縮短地址碼長(zhǎng)度用變址尋址方式縮短地址碼長(zhǎng)度用寄存器間接地址方式縮短地址碼長(zhǎng)度(是最有效的方法)本章內(nèi)容指令格式的
29、優(yōu)化設(shè)計(jì)指令字格式的優(yōu)化設(shè)計(jì) 問(wèn)題 操作碼和地址碼的優(yōu)化,會(huì)造成指令字的不定長(zhǎng),無(wú)法同時(shí)滿足速度快和空間省。 解決 合理結(jié)合,形成定長(zhǎng)或多種長(zhǎng)度的指令字,例如:長(zhǎng)操作碼配短地址碼等。指令系統(tǒng)的功能設(shè)計(jì)本章內(nèi)容指令系統(tǒng)性能基本指令系統(tǒng)指令系統(tǒng)優(yōu)化設(shè)計(jì)復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(RISC)指令系統(tǒng)性能本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì) 完整性 是指作為通用計(jì)算機(jī)所應(yīng)該具備的基本指令種類。 高效率 是指指令的執(zhí)行速度要快,使用頻度要高。例如:在RISC體系結(jié)構(gòu)中,大多數(shù)指令都能在一個(gè)節(jié)拍內(nèi)完成,而且只設(shè)置那些使用頻度高的指令。 兼容性 是計(jì)算機(jī)系統(tǒng)的生命力之所在。4 之 1指令系統(tǒng)性能
30、本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)4 之 2 規(guī)整性 是硬件設(shè)計(jì)(如:VLSI技術(shù))和軟件設(shè)計(jì)(如:編譯程序)的需要。 規(guī)整性主要包括:對(duì)稱性和均勻性。 對(duì)于規(guī)整性的要求必須有所選擇。 對(duì)稱性本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)規(guī)整性4 之 3 是指各種與指令系統(tǒng)有關(guān)的數(shù)據(jù)存儲(chǔ)設(shè)備的使用、操作碼的設(shè)置等都要對(duì)稱。例1:所有的通用寄存器要同等對(duì)待例2:如果設(shè)置A-B指令,則也應(yīng)該設(shè)置B-A指令均勻性本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)規(guī)整性4 之 4 是指對(duì)于各種不同的數(shù)據(jù)類型、字長(zhǎng)、操作種類和數(shù)據(jù)存儲(chǔ)設(shè)備,指令的設(shè)置要同等對(duì)待。例如:某機(jī)器有5種數(shù)據(jù)表示、4種字長(zhǎng)、8種數(shù)據(jù)存儲(chǔ)設(shè)備,則在設(shè)計(jì)加法指令時(shí),指令種類應(yīng)該是:5
31、48160種兩地址加法指令(不可能也不太現(xiàn)實(shí))?;局噶钕到y(tǒng)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì) 在設(shè)計(jì)通用計(jì)算機(jī)時(shí),指令系統(tǒng)的完整性是必須要考慮的,基本指令有: 數(shù)據(jù)傳送類指令 運(yùn)算類指令 程序控制指令 輸入輸出指令 處理機(jī)控制和調(diào)試指令復(fù)雜指令系統(tǒng)計(jì)算機(jī)(CISC)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì) 思想 增強(qiáng)原有指令的功能以及設(shè)置更為復(fù)雜的新指令取代原先由軟件子程序完成的功能,實(shí)現(xiàn)軟件功能的硬化。 途徑從面向目標(biāo)程序的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn)指令系統(tǒng)從面向高級(jí)語(yǔ)言的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn)指令系統(tǒng)從面向操作系統(tǒng)的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn)指令系統(tǒng)從面向目標(biāo)程序的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)CISC 優(yōu)化目的縮短目標(biāo)程序的長(zhǎng)度
32、,即減少程序的空間開銷縮短目標(biāo)程序的執(zhí)行時(shí)間,即減少程序的時(shí)間開銷 優(yōu)化思路 對(duì)大量已有的目標(biāo)程序及其執(zhí)行情況進(jìn)行統(tǒng)計(jì),按統(tǒng)計(jì)出的各種指令和指令串的使用頻度來(lái)分析改進(jìn)。4 之 1本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)CISC4 之 2指令的使用頻度 指令靜態(tài)使用頻度 是指對(duì)多種典型程序源代碼中所用的指令和指令串進(jìn)行統(tǒng)計(jì)所得出的百分比(著眼于減少目標(biāo)程序所占用的存儲(chǔ)空間)。 指令動(dòng)態(tài)使用頻度 是指對(duì)多種典型程序在運(yùn)行過(guò)程中所執(zhí)行的指令和指令串進(jìn)行統(tǒng)計(jì)所得出的百分比(著眼于減少目標(biāo)程序的執(zhí)行時(shí)間)。統(tǒng)計(jì)結(jié)果表明:指令動(dòng)態(tài)使用頻度指令靜態(tài)使用頻度本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)CISC對(duì)使用頻率高的指令, 增強(qiáng)其功能
33、、加快其執(zhí)行速度并縮短字長(zhǎng);對(duì)使用頻率高的指令串, 增設(shè)新指令來(lái)替代它;對(duì)使用頻率低的指令, 取消或合并,但要考慮到指令系統(tǒng)的兼容性問(wèn)題。4 之 3優(yōu)化方法本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)CISC例如:循環(huán)在程序中占有相當(dāng)大的 比例,所以在指令上提供專門的支持。循環(huán)控制部分通常用3條指令完成一條加法指令一條比較指令一條分支指令設(shè)置循環(huán)控制指令,用一條指令完成上述3條指令的功能。 4 之 4例 子從面向高級(jí)語(yǔ)言的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)CISC 優(yōu)化目的 盡可能減小高級(jí)語(yǔ)言和機(jī)器語(yǔ)言之間的語(yǔ)義差距,以利于支持高級(jí)語(yǔ)言編譯器(縮短編譯器的代碼長(zhǎng)度及編譯時(shí)間)的構(gòu)造。 優(yōu)化方法增強(qiáng)對(duì)高級(jí)語(yǔ)
34、言支持的指令的功能增強(qiáng)對(duì)編譯程序支持的指令的功能高級(jí)語(yǔ)言計(jì)算機(jī)增強(qiáng)對(duì)高級(jí)語(yǔ)言支持的指令的功能本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)CISC從面向高級(jí)語(yǔ)言的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn) 思想 對(duì)源程序中各種高級(jí)語(yǔ)言語(yǔ)句的靜態(tài)/動(dòng)態(tài)使用頻度進(jìn)行統(tǒng)計(jì)分析來(lái)改進(jìn)。 問(wèn)題 高級(jí)語(yǔ)言因用途不同,其語(yǔ)句使用頻度有較大差異,因此指令系統(tǒng)很難做到對(duì)各種語(yǔ)言都是優(yōu)化的。 解決 優(yōu)化你所用的高級(jí)語(yǔ)言。增強(qiáng)對(duì)編譯程序支持的指令的功能本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)CISC從面向高級(jí)語(yǔ)言的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn) 思想 縮短高級(jí)語(yǔ)言和機(jī)器語(yǔ)言之間的語(yǔ)義差距。 問(wèn)題 如果計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)過(guò)分優(yōu)化于一種高級(jí)語(yǔ)言的實(shí)現(xiàn),就會(huì)顯著減低與其語(yǔ)義結(jié)構(gòu)相差較大的其它高級(jí)語(yǔ)言的
35、實(shí)現(xiàn)效率。 解決同時(shí)面向各種高級(jí)語(yǔ)言的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn)動(dòng)態(tài)自適應(yīng)指令系統(tǒng)同時(shí)面向各種高級(jí)語(yǔ)言的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)CISC從面向高級(jí)語(yǔ)言的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn)增強(qiáng)支持編譯程序指令的功能 可以設(shè)法改進(jìn)指令系統(tǒng),使它與各種高級(jí)語(yǔ)言的語(yǔ)義差距都有共同的縮小。Von Neumann系統(tǒng)結(jié)構(gòu)右移COBOLPL/IAPLFORTRANBASIC動(dòng)態(tài)自適應(yīng)指令系統(tǒng)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)CISC從面向高級(jí)語(yǔ)言的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn)增強(qiáng)支持編譯程序指令的功能 讓機(jī)器具有分別面向各種高級(jí)語(yǔ)言的多種指令系統(tǒng)、多種系統(tǒng)結(jié)構(gòu),并能動(dòng)態(tài)地切換。微程序機(jī)器面向BASIC系統(tǒng)結(jié)構(gòu)面向FORTRAN系統(tǒng)結(jié)構(gòu)面向COB
36、OL系統(tǒng)結(jié)構(gòu)BASIC虛擬機(jī)FORTRAN虛擬機(jī)COBOL虛擬機(jī)高級(jí)語(yǔ)言計(jì)算機(jī)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)CISC從面向高級(jí)語(yǔ)言的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn) 思想 讓高級(jí)語(yǔ)言和機(jī)器語(yǔ)言之間無(wú)語(yǔ)義差距。 方法間接執(zhí)行高級(jí)語(yǔ)言機(jī)器 高級(jí)語(yǔ)言 = 匯編語(yǔ)言直接執(zhí)行高級(jí)語(yǔ)言機(jī)器 高級(jí)語(yǔ)言 = 機(jī)器語(yǔ)言微程序機(jī)器級(jí)高級(jí)語(yǔ)言程序傳統(tǒng)機(jī)器面 向高級(jí)語(yǔ)言機(jī) 器間接執(zhí)行高級(jí)語(yǔ)言機(jī) 器解釋匯編解釋解釋解釋編譯編譯直接執(zhí)行高級(jí)語(yǔ)言機(jī)器從面向操作系統(tǒng)的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)CISC 優(yōu)化目的減少運(yùn)行操作系統(tǒng)所需的輔助操作時(shí)間;節(jié)省操作系統(tǒng)所占用的存貯空間。 優(yōu)化方法對(duì)操作系統(tǒng)中常用的指令和指令串的使用頻率進(jìn)行統(tǒng)計(jì)
37、和分析來(lái)改造;增設(shè)專用于操作系統(tǒng)的新指令;將操作系統(tǒng)中由軟件子程序?qū)崿F(xiàn)的某些功能改用硬件或固件實(shí)現(xiàn)。2 之 1從面向操作系統(tǒng)的優(yōu)化實(shí)現(xiàn)來(lái)改進(jìn)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)CISC指令集對(duì)操作系統(tǒng)的支持主要有:處理機(jī)工作狀態(tài)和訪問(wèn)方式的切換。進(jìn)程的管理和切換。存儲(chǔ)管理和信息保護(hù)。進(jìn)程的同步與互斥,信號(hào)燈的管理等。支持操作系統(tǒng)的有些指令屬于特權(quán)指令,一般用戶程序是不能使用的。 2 之 2精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(RISC)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)CISCRISCRISC的定義RISC的思想RISC的關(guān)鍵技術(shù)RISC的特點(diǎn)CISCRISC本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)RISC RISC思想的提出主要是因?yàn)镃IS
38、C存在這樣的一些問(wèn)題:指令系統(tǒng)復(fù)雜,不利于VLSI的設(shè)計(jì),也不利于設(shè)計(jì)自動(dòng)化技術(shù)的采用;許多復(fù)雜指令的執(zhí)行速度很低;編譯程序選擇目標(biāo)指令的范圍大,很難優(yōu)化;20%和80%的規(guī)律:80%的指令只在20%的運(yùn)行時(shí)間里用到。RISC的定義本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)RISCCarnegie -Mellon大學(xué)的定義IEEE的Michael Slater的定義至今沒(méi)有一個(gè)確切的定義Carnegie -Mellon大學(xué)的定義本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)RISCRISC的定義 RISC應(yīng)有如下的特點(diǎn):大多數(shù)指令在單周期內(nèi)完成;LOAD/STORE結(jié)構(gòu);硬布線控制邏輯;減少指令和尋址方式的種類;固定的指令格式;
39、注重編譯優(yōu)化技術(shù)。IEEE的Michael Slater的定義本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)RISCRISC的定義 RISC處理器所設(shè)計(jì)的指令系統(tǒng)應(yīng)使流水線處理能高效率執(zhí)行,并使優(yōu)化編譯器能生成優(yōu)化代碼。 RISC為使流水線高效率執(zhí)行,應(yīng)具有:簡(jiǎn)單而統(tǒng)一格式的指令譯碼;大部分指令可以單周期執(zhí)行完成;僅LOAD和STORE指令可以訪問(wèn)存儲(chǔ)器;簡(jiǎn)單的尋址方式;采用延遲轉(zhuǎn)移技術(shù);采用LOAD延遲技術(shù)。 RISC為使優(yōu)化編譯器便于生成優(yōu)化代碼,應(yīng)具有:三地址指令格式、較多的寄存器、對(duì)稱的指令格式。RISC的思想本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)RISC 減少指令總數(shù)和簡(jiǎn)化指令的功能來(lái)降低硬件設(shè)計(jì)的復(fù)雜度,提高指令
40、的執(zhí)行速度。減少指令平均執(zhí)行周期數(shù)(CPI)是RISC思想的精華!RISC的關(guān)鍵技術(shù)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)RISC 硬件為主固件為輔 在CPU中設(shè)置數(shù)量較大的寄存器組 采用重疊寄存器窗口技術(shù)提高使用效率。 指令的執(zhí)行采用流水 采用延時(shí)轉(zhuǎn)移技術(shù)和指令取消技術(shù)來(lái)降低(條件)轉(zhuǎn)移指令對(duì)流水的影響。 采用認(rèn)真設(shè)計(jì)和優(yōu)化編譯系統(tǒng)設(shè)計(jì)的技術(shù) 例如:指令流調(diào)整技術(shù)。重疊寄存器窗口技術(shù)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)RISCRISC的關(guān)鍵技術(shù) 目標(biāo) 縮短CALL、RETURN操作時(shí)間。 方法 將設(shè)置的大量的寄存器,分成多個(gè)組和一個(gè)全局區(qū);每個(gè)組中分高、本、低三個(gè)區(qū);相鄰組的高、低區(qū)重疊;不同的過(guò)程使用不同的組和
41、共享全局區(qū),這樣可以加速參數(shù)與結(jié)果的傳遞。 例子 RISC II中采用的重疊寄存器窗口,見(jiàn)后圖。4 之 1RISC II中采用的重疊寄存器窗口R31CR26CR25CR16C高本R15CR10C低過(guò)程CR31AR26AR25AR16A高本R15AR10A低過(guò)程AR31BR26BR25BR16B高本R15BR10B低過(guò)程B0984899099100105106115116121122131132137R9AR0AR9BR0BR9CR0C全局出C出B/入C出A/入B入A局部A局部B局部C調(diào)用調(diào)用4 之 2寄存器窗口技術(shù)的效果RISC II溢出次數(shù)程序名稱調(diào)用次數(shù)最大調(diào)用深度RISC II訪存次數(shù)V
42、AX-11訪存次數(shù)111K43KQuick SortPuzzle1020641244K8K696K444KMC68000機(jī)器類型VAX-11PDP-11RISC II5執(zhí)行指令條數(shù)199626執(zhí)行時(shí)間 (s)2219210訪問(wèn)內(nèi)存次數(shù)15120.2過(guò)程調(diào)用所需開銷的比較 Quick sort程序的調(diào)用次數(shù)多,深度不大,而Puzzle程序正好相反。 VAX-11、 PDP-11、 MC68000為CISC計(jì)算機(jī), RISC II為RISC計(jì)算機(jī)。4 之 3重疊寄存器窗口技術(shù)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)RISCRISC的關(guān)鍵技術(shù) 設(shè)計(jì)問(wèn)題 寄存器設(shè)置多少個(gè)組?每個(gè)組多少個(gè)寄存器? 解決方法 嵌套調(diào)用
43、不超過(guò)8層,每層24個(gè)寄存器(每個(gè)區(qū)8個(gè)寄存器)可基本滿足要求,不滿足概率在1%左右(可使用主存緩沖)。4 之 4延時(shí)轉(zhuǎn)移技術(shù)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)RISCRISC的關(guān)鍵技術(shù) 問(wèn)題 (條件)轉(zhuǎn)移指令會(huì)引起流水線斷流。FEFEFEFE1:add r1, r22:jmp next23:next1:sub r3, r4n:next2:move r4, a產(chǎn)生轉(zhuǎn)移地址指令作廢重新取指令3 之 1延時(shí)轉(zhuǎn)移技術(shù)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)RISCRISC的關(guān)鍵技術(shù) 解決 延時(shí)轉(zhuǎn)移技術(shù)。FEFEFE1:jmp next22:add r1, r23:next1:sub r3, r4n:next2:move
44、r4, a產(chǎn)生轉(zhuǎn)移地址插入指令重新取指令3 之 2指令序列的調(diào)整由編譯器自動(dòng)進(jìn)行延時(shí)轉(zhuǎn)移技術(shù)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)RISCRISC的關(guān)鍵技術(shù) 分析 采用延遲轉(zhuǎn)移技術(shù)的兩個(gè)限制條件:被移動(dòng)指令在移動(dòng)過(guò)程中與所經(jīng)過(guò)的指令之間不能有數(shù)據(jù)相關(guān);被移動(dòng)指令不破壞條件碼,至少不影響后面的指令使用條件碼。 如果找不到符合條件的指令,必須在(條件)轉(zhuǎn)移指令后面插入空操作;如果指令的執(zhí)行過(guò)程分為多個(gè)流水段,則要插入多條指令。3 之 3指令取消技術(shù)本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)RISCRISC的關(guān)鍵技術(shù) 問(wèn)題 采用指令延時(shí)技術(shù),遇到條件轉(zhuǎn)移指令時(shí),調(diào)整指令序列非常困難,在許多情況下找不到可以用來(lái)調(diào)整的指令。 解決 采用指令取消技術(shù)(為了提高程序的執(zhí)行效率,應(yīng)該盡量少取消指令)。4 之 1例1:向后轉(zhuǎn)移(loop結(jié)構(gòu))本章內(nèi)容指令系統(tǒng)的功能設(shè)計(jì)RISCRISC的關(guān)鍵技術(shù) 調(diào)整前 調(diào)整后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 X XW W W分析:能夠使指令流水線在絕大多數(shù)情況下不斷流,因?yàn)榻^大多數(shù)情況下,轉(zhuǎn)移是成功的。4 之 2例2:向前轉(zhuǎn)移(if-then-
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘭溪鍋爐考試題及答案
- 人教版(2026)八年級(jí)下冊(cè)英語(yǔ)Unit 3 Section B 2a-4c寒假預(yù)習(xí)講義(含練習(xí)題及答案)
- 架線電工考試題及答案
- 科技新品發(fā)布會(huì)演示模板
- 棍術(shù)中考試題及答案
- 金屬版印刷員崗前復(fù)測(cè)考核試卷含答案
- 特種爐冶煉工安全技能測(cè)試模擬考核試卷含答案
- 機(jī)械產(chǎn)品檢驗(yàn)員崗前操作評(píng)估考核試卷含答案
- 藍(lán)色卡通生產(chǎn)安全月主題教育模板
- 涂裝預(yù)處理工10S考核試卷含答案
- 2026長(zhǎng)治日?qǐng)?bào)社工作人員招聘勞務(wù)派遣人員5人備考題庫(kù)及答案1套
- 河道清淤作業(yè)安全組織施工方案
- 2025年國(guó)家開放大學(xué)《公共經(jīng)濟(jì)學(xué)》期末考試備考試題及答案解析
- 2025年河北省職業(yè)院校技能大賽高職組(商務(wù)數(shù)據(jù)分析賽項(xiàng))參考試題庫(kù)(含答案)
- 情緒的作文400字五篇
- 【藍(lán)光】藍(lán)光電梯的調(diào)試資料
- NY/T 682-2003畜禽場(chǎng)場(chǎng)區(qū)設(shè)計(jì)技術(shù)規(guī)范
- GB/T 33725-2017表殼體及其附件耐磨損、劃傷和沖擊試驗(yàn)
- FZ/T 01057.1-2007紡織纖維鑒別試驗(yàn)方法 第1部分:通用說(shuō)明
- 實(shí)習(xí)協(xié)議模板(最新版)
- 不同GMP法規(guī)間的區(qū)別
評(píng)論
0/150
提交評(píng)論