版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1,第5章 指令系統(tǒng),南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),2,第5章 指令系統(tǒng),機(jī)器指令特征 操作數(shù)類型和存儲(chǔ)方式 操作類型 匯編語言 地址碼編碼(尋址方式) 操作碼編碼 指令集的設(shè)計(jì) 指令格式舉例,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),3,指令系統(tǒng)的位置,指令系統(tǒng)處在軟件和硬件交界面上,能同時(shí)被硬件設(shè)計(jì)者和系統(tǒng)程序員看到。從設(shè)計(jì)者角度看,指令系統(tǒng)為CPU提供了功能需求;從系統(tǒng)程序員角度來看,指令系統(tǒng)提供的功能就是他所能使用的全部功能。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),4,5.1 機(jī)器指令特征,1. 一條指令須包含的信息 一
2、條指令必須明顯或隱含地包含以下信息: 操作碼:指定操作類型 (操作碼長(zhǎng)度:固定可變) 源操作數(shù)參照:一個(gè)或多個(gè)源操作數(shù)所在的地址 (操作數(shù)來源:主(虛)存/寄存器/I/O端口/指令本身) 結(jié)果值參照:產(chǎn)生的結(jié)果存放何處 (結(jié)果地址:主(虛)存/寄存器/I/O端口) 下一條指令地址:下條指令存放何處 (下條指令地址 :主(虛)存) (正常情況隱含在PC中,改變順序時(shí)由指令給出),南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),5,5.1 機(jī)器指令特征,2. 地址碼字段的個(gè)數(shù) 據(jù)上述分析知,一條指令包含個(gè)操作碼和多個(gè)地址碼 零地址指令 (1) 無需操作數(shù)如:空操作停機(jī)等 (2) 所需操作數(shù)為默認(rèn)的如:
3、堆棧累加器等 形式: 一地址指令 其地址既是操作數(shù)的地址,也是結(jié)果的地址 (1) 單目運(yùn)算如:取反取負(fù)等 (2) 另一操作數(shù)為默認(rèn)的如:累加器等 形式:,OP,OP,A1,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),6,2. 地址碼字段的個(gè)數(shù)(續(xù)) 據(jù)上述分析知,一條指令包含個(gè)操作碼和多個(gè)地址碼 二地址指令(最常用) 分別存放雙目運(yùn)算中兩個(gè)操作數(shù),并將其中一個(gè)地址作為結(jié)果的地址。 形式: 三地址指令 分別作為雙目運(yùn)算中兩個(gè)源操作數(shù)的地址和一個(gè)結(jié)果的地址。 形式: 多地址指令 大中型機(jī)中用于成批數(shù)據(jù)處理的指令,如:向量/矩陣等,A1,OP,A2,5.1 機(jī)器指令特征,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)
4、研究所 袁春風(fēng),7,5.1 機(jī)器指令特征,3 指令格式 指令格式的選擇應(yīng)遵循的幾條基本原則: 應(yīng)盡量短 要有足夠的操作碼位數(shù) 指令字長(zhǎng)應(yīng)是字節(jié)的整數(shù)倍 合理地選擇地址字段的個(gè)數(shù) 與指令集設(shè)計(jì)相關(guān)的重要方面 操作碼的全部組成:操作碼個(gè)數(shù)/種類/復(fù)雜度 數(shù)據(jù)類型:對(duì)哪幾種數(shù)據(jù)類型完成操作 指令格式:指令長(zhǎng)度/地址碼個(gè)數(shù)/各字段長(zhǎng)度 寄存器:寄存器的個(gè)數(shù)/功能/長(zhǎng)度 尋址方式:操作數(shù)地址的指定方式,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),8,5.2 操作數(shù)類型和存儲(chǔ)方式,操作數(shù)是指令處理的對(duì)象,其基本類型有: 地址 被看成無符號(hào)整數(shù),用來參加運(yùn)算以確定主(虛)存地址 數(shù)值數(shù)據(jù) 定點(diǎn)數(shù)(整數(shù)):一
5、般用二進(jìn)制補(bǔ)碼表示 浮點(diǎn)數(shù)(實(shí)數(shù)):大多數(shù)機(jī)器采用IEEE754標(biāo)準(zhǔn) 十進(jìn)制數(shù):一般用NBCD碼表示,壓縮/非壓縮 字符串 用來表示文本、聲音和圖象等 邏輯(布爾)數(shù)據(jù) 按位操作(0-假1-真) Pentium的數(shù)據(jù)類型,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),9,5.3 操作類型,按操作功能分為以下幾種: 數(shù)據(jù)傳送 算術(shù)運(yùn)算 邏輯運(yùn)算 字符串處理 輸入/輸出操作 程序流控制 系統(tǒng)控制,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),10,5.3 操作類型,數(shù)據(jù)傳送(MOV,STOR/LOAD,PUSH/POP,SET/CLR等) 指令中需給出的信息: 傳送源:內(nèi)(虛)存/寄存器/棧頂 傳送目
6、的地:內(nèi)(虛)存/寄存器/棧頂 傳送數(shù)據(jù)的個(gè)數(shù): 每個(gè)操作數(shù)的尋址方式 CPU必須完成的動(dòng)作: 在寄存器之間傳送,則僅CPU內(nèi)部操作 在寄存器和主(虛)存或主(虛)存之間傳送,則: (1) 由尋址方式計(jì)算存儲(chǔ)器地址 (2) 若地址為虛址,則要轉(zhuǎn)換成內(nèi)存物理地址 (3) 在cache中查找,若無,則再在主存中查找,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),11,5.3 操作類型,算術(shù)運(yùn)算(ADD/SUB/MUL/DIV/INC/DEC等) 指令加工的數(shù)據(jù): 帶符號(hào)的定點(diǎn)數(shù) 浮點(diǎn)數(shù) 壓縮十進(jìn)制數(shù) 操作數(shù)個(gè)數(shù)和來源: 單/雙源操作數(shù):內(nèi)(虛)存/寄存器/棧頂 CPU必須完成的動(dòng)作: 在寄存器和AL
7、U之間傳送 在ALU中進(jìn)行相應(yīng)的運(yùn)算(加/減/乘/除/取負(fù)/增1/減1等) 從主(虛)存取數(shù)或?qū)⒔Y(jié)果送主(虛)存保存 改變機(jī)器狀態(tài)并產(chǎn)生條件碼(零/負(fù)/溢出/進(jìn)位等),南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),12,5.3 操作類型,邏輯運(yùn)算(AND/OR/XOR/SHL/SHR等) 指令加工的數(shù)據(jù): 邏輯數(shù)據(jù) 操作數(shù)個(gè)數(shù)和來源: 單/雙源操作數(shù):內(nèi)(虛)存/寄存器/棧頂 CPU必須完成的動(dòng)作: 在寄存器和ALU之間傳送 在ALU中進(jìn)行相應(yīng)的運(yùn)算 如:與/或/非/異或/邏輯移位/循環(huán)移位等 從主(虛)存取數(shù)或?qū)⒔Y(jié)果送主(虛)存保存,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),13,5.3 操
8、作類型,字符串處理 指令加工的數(shù)據(jù): 字符串(一個(gè)連續(xù)字節(jié)序列)-內(nèi)(虛)存/寄存器/棧頂 首地址+字節(jié)個(gè)數(shù) 操作類型: 傳送/傳送轉(zhuǎn)換/比較/掃描/跨越/定位/匹配子串等 CPU必須完成的動(dòng)作: 在寄存器和ALU之間傳送 在ALU中進(jìn)行相應(yīng)的運(yùn)算(比較) 從主(虛)存取數(shù)或?qū)⒔Y(jié)果送主(虛)存保存 根據(jù)比較結(jié)果產(chǎn)生條件碼,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),14,5.3 操作類型,輸入輸出操作 若計(jì)算機(jī)的輸入輸出空間和主存統(tǒng)一編址(存儲(chǔ)映射編址)的話,就不需要專門的輸入輸出指令。 指令功能: 用于啟動(dòng)外設(shè)、測(cè)試外設(shè)的狀態(tài)、讀寫外設(shè)的數(shù)據(jù) 操作數(shù)個(gè)數(shù)和來源: 內(nèi)(虛)存/寄存器 (首地址
9、+字節(jié)個(gè)數(shù)) CPU必須完成的動(dòng)作: 從外設(shè)端口取數(shù)或?qū)⒔Y(jié)果送外設(shè)端口保存,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),15,5.3 操作類型,系統(tǒng)控制 系統(tǒng)控制指令用于改變計(jì)算機(jī)的工作狀態(tài),如,改變執(zhí)行的特權(quán)、進(jìn)入特殊的處理程序等。它常用于在操作系統(tǒng)中對(duì)系統(tǒng)資源的訪問進(jìn)行控制,這些資源對(duì)應(yīng)用程序員是透明的。這種指令只有在系統(tǒng)管理狀態(tài)下才能執(zhí)行。有時(shí)稱為管態(tài)(訪管、特權(quán))指令。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),16,5.3 操作類型,程序流控制 前面所述的指令都不明顯地給出下一條指令的地址。而總是約定隨后的指令為下一條。 程序流控制指令通過在指令中明顯給出下條指令的地址或約定跳過下
10、條指令來改變指令執(zhí)行順序。 三類控制指令: 轉(zhuǎn)移(分支)跳步子程序調(diào)用 CPU必須完成的動(dòng)作: 對(duì)某些標(biāo)志(條件碼)進(jìn)行判斷,根據(jù)條件轉(zhuǎn)移 根據(jù)尋址方式計(jì)算下條指令地址并送PC 對(duì)于子程序調(diào)用指令,還要保存返回地址到棧頂,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),17,5.4 匯編語言,指令的表示 內(nèi)部表示 在機(jī)器內(nèi)部,指令用一個(gè)位串表示,由多個(gè)字段構(gòu)成。 這種直接的二進(jìn)制位串表示規(guī)則,稱為機(jī)器語言。通過把它讀到指令寄存器IR中譯碼解釋,能被機(jī)器直接理解 并執(zhí)行。 符號(hào)表示 機(jī)器語言表示的指令可讀性差,編程人員一般將指令的操作碼和地址碼用助記符來表示。所有助記符的集合及使用規(guī)則構(gòu)成的一個(gè)程序
11、設(shè)計(jì)語言,稱為匯編語言,是一種機(jī)器指令符號(hào)表示法。它不能被機(jī)器直接理解,需用專門的程序完成它到機(jī)器語言的轉(zhuǎn)換。這個(gè)轉(zhuǎn)換程序稱為匯編程序。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),18,計(jì)算機(jī)語言的級(jí)別,MOV AX , BX MOV CX , BX+1 MOV BX , CX MOV BX+1 , AX,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),19,5.5 尋址方式,什么是“尋址方式”? 指操作數(shù)的參照方式。即:用來指定操作數(shù)所在位置的方法。 地址碼編碼由操作數(shù)的尋址方式?jīng)Q定。 地址碼編碼原則: 指令地址字段的長(zhǎng)度直接影響指令的長(zhǎng)度。因此指令地址碼要盡量短,但操作數(shù)的存放位置又必須靈活
12、,空間也應(yīng)盡量大。所以,機(jī)器應(yīng)能提供靈活的尋址方式,并使用盡量短的地址碼訪問盡可能大的尋址空間。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),20,5.5 尋址方式,指令的尋址-簡(jiǎn)單 正常:PC增值 跳轉(zhuǎn):操作數(shù)尋址 操作數(shù)的尋址-復(fù)雜 操作數(shù)來源:寄存器/主(虛)存/外設(shè)端口/棧頂 操作數(shù)結(jié)構(gòu):位/字節(jié)/半字/字/雙字/一維表/二維表/ 通常尋址方式特指“操作數(shù)的尋址”,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),21,尋址方式的確定 (1)在操作碼中給定尋址方式 (2)專門的尋址方式位 有效地址的含義 用于存放操作數(shù)的寄存器的編號(hào)或主存地址(無虛擬存儲(chǔ)器的系統(tǒng))或虛存地址(有虛擬存儲(chǔ)器的系
13、統(tǒng)) 基本尋址方式 立即/直接/間接/寄存器/寄存器間接/偏移/堆棧 基本尋址方式的算法及優(yōu)缺點(diǎn) 假設(shè):A=地址字段值,EA=有效地址 (X)=地址X中的內(nèi)容,5.5 尋址方式,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),22,基本尋址方式的算法和優(yōu)缺點(diǎn),方式 算法 主要優(yōu)點(diǎn) 主要缺點(diǎn) 立即 操作數(shù)=A 無存儲(chǔ)器訪問 操作數(shù)幅值有限 直接 EA=A 簡(jiǎn)單 地址范圍有限 間接 EA=(A) 地址范圍大 多次存儲(chǔ)器訪問 寄存器 EA=R 無存儲(chǔ)器訪問 地址范圍有限 寄間接 EA=(R) 地址范圍大 額外存儲(chǔ)器訪問 偏移 EA=A+(R) 靈活 復(fù)雜 堆棧 EA=棧頂 無存儲(chǔ)器參照 應(yīng)用有限 偏移方
14、式:將直接方式和寄存器間接方式結(jié)合起來。 有:相對(duì)/基址/變址三種,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),23,尋址方式示例,(d)堆棧,操作數(shù),棧頂,隱含,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),24,尋址方式示例,R,(f)寄存器間接,存儲(chǔ)器,操作數(shù),寄存器組,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),25,尋址方式示例,R,(g)偏移,存儲(chǔ)器,操作數(shù),寄存器組,A,+,A,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),26,偏移尋址方式,相對(duì)尋址 指令地址碼給出一個(gè)偏移量(帶符號(hào)數(shù)),基準(zhǔn)地址隱含由PC給出。 即:EA=(PC)+A 作用:實(shí)現(xiàn)程序(公共子程序)的浮動(dòng)。 基址尋
15、址 指令地址碼給出一個(gè)偏移量(無符號(hào)數(shù)),基準(zhǔn)地址明顯或隱含由基址寄存器B給出。即:EA=(B)+A 作用:實(shí)現(xiàn)多道程序重定位。 變址尋址 指令地址碼給出一個(gè)基準(zhǔn)地址,而偏移量(無符號(hào)數(shù))明顯或隱含由變址寄存器I給出。即:EA=(I)+A 作用:為重復(fù)操作的完成提供一種高效的機(jī)制。例如可實(shí)現(xiàn)對(duì)線形表的方便操作。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),27,相對(duì)尋址的作用-公共子程序的浮動(dòng),南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),28,基址尋址的作用-程序重定位,每個(gè)用戶程序裝入系統(tǒng)后都有一個(gè)基址,基址尋址的操作數(shù)在相對(duì)于基址的偏移單元中,所以雖偏移都是51,但操作數(shù)不同。,ADD A
16、X, #51,150,50,51,120,ADD AX, #51,120,151,SUB AX, #51,40,51,130,SUB AX, #51,240,251,130,用戶程序1,用戶程序2,100,200,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),29,變址尋址的作用,自動(dòng)變址 EA=(I)+A I=(I) 1 在沒有硬堆棧的情況下, 用它來建立軟堆棧。也能 提供對(duì)線性表的方便訪問。 變址與間址結(jié)合 前置變址(先變址后間址) EA=(I)+A) 后置變址(先間址后變址) EA=(I)+(A),A=100,0,變址器I,A0,A1,A3,A4,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng)
17、,30,5.5 尋址方式,位、字節(jié)和塊的尋址 位尋址 當(dāng)需要對(duì)寄存器或內(nèi)(虛)存中單獨(dú)一位進(jìn)行操作(如:置位/復(fù)位/測(cè)試等)時(shí),需要進(jìn)行位尋址。 指令中必須隱含或明顯地給出位指針。 字節(jié)尋址 當(dāng)操作數(shù)為一個(gè)字節(jié)時(shí),指令必須對(duì)字節(jié)進(jìn)行定位。 字節(jié)編址時(shí),指令須給出訪問的是字節(jié)/半字/字/雙字 字編址時(shí),指令須給出是否為字節(jié)訪問,并指出是哪個(gè)字節(jié)。 塊尋址 當(dāng)需對(duì)一個(gè)信息塊進(jìn)行操作時(shí),指令必須對(duì)塊定位。 指令須給出:首址+長(zhǎng)度 / 首址+末址 / 首址+末端標(biāo)志,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),31,奔騰機(jī)的尋址方式,操作數(shù)的來源:尋址方式 立即數(shù)(立即尋址):直接來自指令 寄存器(寄
18、存器尋址):來自32位/16位/8位通用寄存器 存儲(chǔ)單元(其他尋址):需進(jìn)行地址轉(zhuǎn)換 虛擬地址 = 線性地址LA ( = 內(nèi)存地址) 分段 分頁 (1) 段寄存器SR隱含或顯式給出 (2) 8/16/32位偏移量A顯式給出 (2) 基址寄存器B明顯給出,任意通用寄存器皆可 (3) 變址寄存器I明顯給出,除ESP外的任意通用寄存器皆可。有比例變址和非比例變址。比例變址時(shí)要乘以比例因子S(1:8位 / 2:16位 / 4:32位 / 8:64位 ) 地址轉(zhuǎn)換機(jī)制 虛擬地址=線性地址LA(分段),南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),32,Pentium處理器尋址方式,方式,算法,立即(地址碼
19、本身為操作數(shù)) 寄存器(通用寄存器的內(nèi)容為操作數(shù)) 偏移量(地址碼給出8/16/32位偏移量) 基址(地址碼給出基址器編號(hào)) 基址帶偏移量(一維表訪問) 比例變址帶偏移量(一維表訪問) 基址帶變址和偏移量(二維表訪問) 基址帶比例變址和偏移量(二維表訪問) 相對(duì)(給出下一指令的地址,轉(zhuǎn)移控制),操作數(shù)=A 操作數(shù)= (R) LA=(SR)+A LA=(SR)+(B) LA=(SR)+(B)+A LA=(SR)+ (I)xS+A LA=(SR)+(B)+(I) +A LA=(SR)+(B)+(I)xS+A 轉(zhuǎn)移地址=(PC)+A,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),33,Pentium的
20、存儲(chǔ)器尋址,段寄存器,SS,CS,段選擇符,段表項(xiàng)(段描述符 ),存取權(quán),段限,基地址,基址寄存器,變址寄存器,比例因子1/2/4/8,偏移量8/16/32位,x,+,+,線性地址,有效地址,段限,基址,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),34,5.6 操作碼編碼,操作碼的編碼方式有: 定長(zhǎng)編碼法 優(yōu)化編碼法(huffman編碼法) 擴(kuò)展編碼法,操作碼,地址碼部分(字段數(shù)可變),取決于尋址方式、邏輯地址格式、寄存器個(gè)數(shù)、立即數(shù)位數(shù)等,?,指令,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),35,定長(zhǎng)編碼法,基本思想 指令的操作碼部分采用固定長(zhǎng)度的編碼。如:假設(shè)操作碼固定為7位,則系統(tǒng)最多
21、可表示128種指令。 特點(diǎn) 譯碼方便,但有信息冗余 舉例 IBM360/370采用位定長(zhǎng)操作碼,最多可有256條指令,但只提供了183條指令。有73種編碼為冗余信息。機(jī)器字長(zhǎng)32位,按字節(jié)尋址,有16個(gè)32位通用寄存器,基址器B和變址器X可用其中任意一個(gè)。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),36,IBM360/370指令格式,8,8,4,12,4,12,第1個(gè)半字,第2個(gè)半字,第3個(gè)半字,Ri:寄存器 X:變址器 Bi:基址器 Di:位移量 I:立即數(shù) L:數(shù)的長(zhǎng)度,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),37,優(yōu)化編碼法(Huffman編碼),基本思想 對(duì)出現(xiàn)頻度較高的信息單元
22、用較短的編碼表示,而對(duì)頻率較低的信息單元用較長(zhǎng)的編碼表示。 特點(diǎn) 能達(dá)到最短的編碼長(zhǎng)度,但編碼不規(guī)則,譯碼困難。 舉例 指令 頻度 編碼 I1 0.30 10 I2 0.22 00 I3 0.18 01 I4 0.16 110 I5 0.08 1110 I6 0.06 1111,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),38,擴(kuò)展編碼法,基本思想 結(jié)合定長(zhǎng)編碼法和Huffman編碼法的思想,將操作碼的編碼長(zhǎng)度分成幾種固定長(zhǎng)的格式。被大多數(shù)指令集采用。PDP-11是典型的變長(zhǎng)操作碼機(jī)器。 種類 等長(zhǎng)擴(kuò)展法:4-8-12;3-6-9;. /不等長(zhǎng)擴(kuò)展法 舉例 設(shè)某指令系統(tǒng)指令字是16位,每個(gè)地址
23、碼為6位。若二地址指令15條,一地址指令34條,則剩下零地址指令最多有多少條? 解:操作碼按短到長(zhǎng)進(jìn)行擴(kuò)展編碼 二地址指令:0000-1110 一地址指令:11110 00000-11111; 11111 00000-00001 零地址指令:11111 00010-11111 000000-11111 故零地址指令最多有30*26=15*27 種,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),39,PDP-11中的典型指令格式,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),40,5.7 指令集的設(shè)計(jì),指令集設(shè)計(jì)原則 完備性:指令集應(yīng)能覆蓋計(jì)算機(jī)的各種功能。即任何功能都能用指令集中的指令編寫的程序完
24、成。 正交性:指令中各個(gè)不同字段在編碼時(shí)應(yīng)互相獨(dú)立、互不相關(guān),從而使指令的使用規(guī)則簡(jiǎn)單。 規(guī)整性:指令系統(tǒng)中,對(duì)所有操作和寄存器作同等規(guī)定。即在某種操作中各寄存器是等價(jià)的,且每一種數(shù)據(jù)處理指令能對(duì)各種數(shù)據(jù)類型進(jìn)行同樣的操作。 可擴(kuò)充性:保留一定余量的操作碼空間為后繼產(chǎn)品提供擴(kuò)充余地。 有效性:高效運(yùn)行。即程序代碼占空間小,執(zhí)行速度快。 兼容性:系列機(jī)中前任產(chǎn)品的指令集要保留,使已有軟件能在新產(chǎn)品上運(yùn)行。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),41,5.7 指令集的設(shè)計(jì),指令系統(tǒng)分類 按指令操作數(shù)指定方式 (1) 堆棧型指令集(很少用) 源操作數(shù)來自棧頂,結(jié)果也存于棧頂。 (2) 累加器型
25、指令集 操作數(shù)之一總放在累加器中,結(jié)果也存在累加器中。 (3) 通用寄存器型指令集 所有操作數(shù)須顯式說明在哪個(gè)寄存器或存儲(chǔ)單元中。 通用寄存器型指令集成為主流方式,按ALU兩個(gè)操作數(shù)來源的不同,指令可分為: RR型/ RS型/ SS型。 (4) 裝入/存儲(chǔ)指令集 運(yùn)算指令不能訪問存儲(chǔ)器。只能通過裝入/存儲(chǔ)指令訪問。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),42,四種指令系統(tǒng)比較,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),43,比較結(jié)果-通用寄存器結(jié)構(gòu)占優(yōu)勢(shì),南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),44,寄存器使用例,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),45,Evolution
26、 of Processor Design,Single Accumulator (EDSAC 1950),Accumulator + Index Registers,(Manchester Mark I, IBM 700 series 1953),Separation of Programming Model from Implementation,High-level Language Based,Concept of a Family,(B5000 1963),(IBM 360 1964),General Purpose Register Machines,Complex Instruct
27、ion Sets,Load/Store Architecture,RISC,(Vax, Intel 432 1977-80),(CDC 6600, Cray 1 1963-76),(Mips,Sparc,HP-PA,IBM RS6000, . . .1987),南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),46,指令系統(tǒng)分類 按指令的設(shè)計(jì)/實(shí)現(xiàn)風(fēng)格分 (1) CISC(Complex Instruction Set Computer) 復(fù)雜指令集計(jì)算機(jī) (2) RISC(Reduce Instruction Set Computer) 精簡(jiǎn)指令集計(jì)算機(jī),5.7 指令集的設(shè)計(jì),南京大學(xué)計(jì)算機(jī)系 多
28、媒體技術(shù)研究所 袁春風(fēng),47,按指令的設(shè)計(jì)/實(shí)現(xiàn)風(fēng)格分 (1) CISC(Complex Instruction Set Computer) 復(fù)雜指令集計(jì)算機(jī) (2) RISC(Reduce Instruction Set Computer) 精簡(jiǎn)指令集計(jì)算機(jī),指令系統(tǒng)分類,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),48,復(fù)雜指令集計(jì)算機(jī)CISC,產(chǎn)生和發(fā)展的主要原因 (1) 為了保持兼容 后繼產(chǎn)品保留原指令集,因而越來越復(fù)雜。 (2) 提供更強(qiáng)的功能 復(fù)雜指令能很好地支持高級(jí)語言,縮小機(jī)器語 言與高級(jí)語言之間的語義差距,從而使編譯程序 的設(shè)計(jì)變得簡(jiǎn)單。 (3) 微程序的發(fā)展 微程序的發(fā)展也
29、使系統(tǒng)能夠?qū)崿F(xiàn)越來越復(fù)雜的 指令操作。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),49,復(fù)雜指令集計(jì)算機(jī)CISC,例如,VAX-11/780小型機(jī) 16種尋址方式; 9種數(shù)據(jù)格式; 303條指令; 一條指令包括12個(gè)字節(jié)的操作碼和下續(xù)N個(gè)操作數(shù)說明符。一個(gè)說明符的長(zhǎng)度達(dá)1 10個(gè)字節(jié)。 例如,32位68020微機(jī)(與6800微機(jī)相比) 指令種數(shù)多兩倍; 尋址方式多11種,達(dá)18種; 指令長(zhǎng)度從一個(gè)字(16位)發(fā)展到16個(gè)字。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),50,復(fù)雜指令集計(jì)算機(jī)CISC,早期CISC設(shè)計(jì)風(fēng)格的主要特點(diǎn) (1) 指令系統(tǒng)復(fù)雜 指令多/尋址方式多/指令格式多 (2)
30、 指令周期長(zhǎng) 絕大多數(shù)指令需要多個(gè)時(shí)鐘周期才能完成 (3) 各種指令都能訪問存儲(chǔ)器 除了專門的存儲(chǔ)器讀寫指令外,運(yùn)算指令也能 訪問存儲(chǔ)器。 (4) 采用微程序控制 (5) 有專用寄存器 (6) 難以進(jìn)行編譯優(yōu)化生成高效目標(biāo)代碼,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),51,復(fù)雜指令集計(jì)算機(jī)CISC,CISC的缺陷 日趨龐大的指令系統(tǒng)不但使計(jì)算機(jī)的研制周期變長(zhǎng),而且難以保證設(shè)計(jì)的正確性,難以調(diào)試和維護(hù),并且因指令操作復(fù)雜而增加機(jī)器周期,從而降低了系統(tǒng)性能。 1975年IBM公司開始研究指令系統(tǒng)的合理性問題,John Cocks提出精簡(jiǎn)指令系統(tǒng)思想。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng)
31、,52,復(fù)雜指令集計(jì)算機(jī)CISC,對(duì)CISC進(jìn)行測(cè)試,發(fā)現(xiàn)一個(gè)事實(shí): 在程序中各種指令出現(xiàn)的頻率懸殊很大,最常使用的是一些簡(jiǎn)單指令,這些指令占程序的80%,但只占指令系統(tǒng)的20%。而且在微程序控制的計(jì)算機(jī)中,占指令總數(shù)20%的最復(fù)雜的指令占用了控存容量的80%。 1982年美國(guó)加州伯克利大學(xué)的RISC,斯坦福大學(xué)的MIPS,IBM公司的IBM801相繼宣告完成,這些機(jī)器被稱為第一代RISC機(jī)。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),53,RISC產(chǎn)生的原因,(1) 10-20%與80-90%問題 指令集中10-20%為常用指令,占程序80-90%,大多數(shù)指令在程序中很少用。 (2) VL
32、SI技術(shù)發(fā)展引起的問題 VLSI要求規(guī)整性,但復(fù)雜指令集控制邏輯極不規(guī)整,占硅片面積大;而微程序?qū)崿F(xiàn)復(fù)雜功能所化時(shí)間與用簡(jiǎn)單指令組成的子程序?qū)崿F(xiàn)無多大差別。慢! (3) 編譯程序的重負(fù)問題 復(fù)雜指令雖然縮小了與高級(jí)語言間語義上的差異,簡(jiǎn)化了目標(biāo) 。但編譯程序在對(duì)各種指令序列進(jìn)行分析時(shí),因?yàn)橥瓿上嗤δ艿目赡艿慕M合多,而使得分析更困難,編譯時(shí)間更長(zhǎng)。此外也不利于流水線性能的提高。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),54,RISC設(shè)計(jì)風(fēng)格的主要特點(diǎn),(1) 簡(jiǎn)化的指令系統(tǒng) 指令少/尋址方式少/指令格式少/指令長(zhǎng)度一致 (2) 以RR方式工作 指令系統(tǒng)中除Load/Store指令可訪問存儲(chǔ)
33、器外,其余指令都只訪問寄存器。 (3) 指令周期短 以流水線方式工作, 因而除Load/Store指令外,其他指令都只需一個(gè)或一個(gè)不到的時(shí)鐘周期就可完成。 (4) 采用大量通用寄存器,以減少訪存次數(shù) (5) 采用組合邏輯電路控制,不用或少用微程序控制 (6) 采用優(yōu)化的編譯系統(tǒng),力求有效地支持高級(jí)語言程序,RISC處理器結(jié)構(gòu)概述,RISC處理器結(jié)構(gòu)的特點(diǎn): 寄存器數(shù)量多 采用流水線組織 控制器的實(shí)現(xiàn)采用硬布線控制邏輯電路,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),56,Summary,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),57,同CISC比較,RISC的優(yōu)點(diǎn):,(1) 可以充分利用VL
34、SI芯片面積 微程序控制的CISC機(jī),其微碼電路在芯片上所占面積要占整個(gè)芯片的50%以上,而RISC機(jī)硬布線邏輯所占面積可下降到10%左右或更少。 (2) 可以提高計(jì)算機(jī)運(yùn)算速度 指令數(shù)、尋址方式和指令格式的種類都較少,且指令編碼有規(guī)律,使指令譯碼加快。 硬布線控制比微程序控制延遲小,可縮短CPU周期。 CPU的通用寄存器多,減少了訪存次數(shù),速度變快。 大部分指令能在一個(gè)周期內(nèi)完成,因而特別適合于流水線工作。 有的RISC機(jī)采用寄存器窗口重疊技術(shù),程序嵌套時(shí)不必將寄存器內(nèi)容保存到存儲(chǔ)器中,加快了速度。,南京大學(xué)計(jì)算機(jī)系 多媒體技術(shù)研究所 袁春風(fēng),58,同CISC比較,RISC的優(yōu)點(diǎn) (續(xù)) :,(3) 設(shè)計(jì)容易,因而成本低、可靠性高、研制周期短 RISC機(jī)指令系
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 妊娠合并心臟病產(chǎn)后抗凝的出血預(yù)防策略
- 叉車安全駕駛試題及答案
- 妊娠合并vEDS的血管超聲動(dòng)態(tài)監(jiān)測(cè)策略
- 2026年配電工考試題庫及答案
- 婦幼保健多部門協(xié)作質(zhì)控體系
- 頭頸腫瘤MDT的吞咽功能康復(fù)策略
- 大數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)醫(yī)療健康管理新模式
- 木門考試試卷及答案
- 學(xué)習(xí)考試試題及答案
- 2025年高職(鐵道交通運(yùn)營(yíng)管理)運(yùn)營(yíng)操作試題及答案
- 2026南水北調(diào)東線山東干線有限責(zé)任公司人才招聘8人筆試模擬試題及答案解析
- 動(dòng)量守恒定律(教學(xué)設(shè)計(jì))-2025-2026學(xué)年高二物理上冊(cè)人教版選擇性必修第一冊(cè)
- 2025年全國(guó)注冊(cè)監(jiān)理工程師繼續(xù)教育題庫附答案
- 網(wǎng)絡(luò)素養(yǎng)與自律主題班會(huì)
- 波形護(hù)欄工程施工組織設(shè)計(jì)方案
- 非靜脈曲張性上消化道出血管理指南解讀課件
- 自建房消防安全及案例培訓(xùn)課件
- 2025年廣東省第一次普通高中學(xué)業(yè)水平合格性考試(春季高考)思想政治試題(含答案詳解)
- 2025云南楚雄州永仁縣人民法院招聘聘用制司法輔警1人參考筆試試題及答案解析
- 2024年和田地區(qū)遴選公務(wù)員筆試真題匯編附答案解析
- 講奉獻(xiàn)、有作為課件
評(píng)論
0/150
提交評(píng)論