計(jì)算機(jī)組成原理(第二版)第5章指令系統(tǒng)課件_第1頁(yè)
計(jì)算機(jī)組成原理(第二版)第5章指令系統(tǒng)課件_第2頁(yè)
計(jì)算機(jī)組成原理(第二版)第5章指令系統(tǒng)課件_第3頁(yè)
計(jì)算機(jī)組成原理(第二版)第5章指令系統(tǒng)課件_第4頁(yè)
計(jì)算機(jī)組成原理(第二版)第5章指令系統(tǒng)課件_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第5章 指令系統(tǒng)計(jì)算機(jī)組成原理(第二版) 清華大學(xué)出版社教學(xué)目標(biāo)教學(xué)重點(diǎn)教學(xué)過(guò)程7/29/20221第1頁(yè),共50頁(yè)。教學(xué)目標(biāo)了解指令系統(tǒng)的發(fā)展與性能要求掌握指令格式和尋址方式7/29/20222第2頁(yè),共50頁(yè)。教學(xué)重點(diǎn)指令格式擴(kuò)展操作碼尋址方式7/29/20223第3頁(yè),共50頁(yè)。教學(xué)過(guò)程5.1 計(jì)算機(jī)的指令系統(tǒng)的發(fā)展與性能5.2 指令的格式5.3 尋址方式5.4 指令的分類與高級(jí)語(yǔ)言5.5 典型指令系統(tǒng)5.6 例題解析7/29/20224第4頁(yè),共50頁(yè)。5.1計(jì)算機(jī)的指令系統(tǒng)的發(fā)展與性能指令系統(tǒng)決定了計(jì)算機(jī)的基本功能,指令系統(tǒng)的設(shè)計(jì)是計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的一個(gè)核心問(wèn)題。它不僅與計(jì)算機(jī)的硬件設(shè)

2、計(jì)緊密相關(guān),而且直接影響到系統(tǒng)軟件設(shè)計(jì)的難易程度。完善的計(jì)算機(jī)的指令系統(tǒng)應(yīng)具備:1、完備性:一臺(tái)計(jì)算機(jī)中最基本的、必不可少的指令構(gòu)成了指令系統(tǒng)的完備性。2、有效性:指利用該指令系統(tǒng)所提供的指令編制的程序能夠產(chǎn)生高效率。高效率主要表現(xiàn)在空間和時(shí)間方面,即占用存儲(chǔ)空間小、執(zhí)行速度快。3、規(guī)整性:指令操作的對(duì)稱性和勻齊性,指令格式與數(shù)據(jù)格式的一致性。(1)對(duì)稱性:在指令系統(tǒng)中,所有寄存器和存儲(chǔ)單元都可同等對(duì)待,這對(duì)簡(jiǎn)化程序設(shè)計(jì),提高程序的可讀性非常有用。(2)勻齊性:是指一種操作性質(zhì)的指令可以支持各種數(shù)據(jù)類型。(3)指令的格式與數(shù)據(jù)格式的一致性:指令長(zhǎng)度與數(shù)據(jù)長(zhǎng)度有一定關(guān)系,以方便存取和處理。4、兼

3、容性:兼容性一般是指計(jì)算機(jī)的體系結(jié)構(gòu)設(shè)計(jì)基本相同,機(jī)器之間具有相同的基本結(jié)構(gòu)、數(shù)據(jù)表示和共同的基本指令集合。7/29/20225第5頁(yè),共50頁(yè)。5.2指令的格式計(jì)算機(jī)的指令格式與機(jī)器的字長(zhǎng)、存儲(chǔ)器的容量及指令的功能密切相關(guān)。7/29/20226第6頁(yè),共50頁(yè)。5.2.1指令操作碼與地址碼 (1/9)兩個(gè)字段:操作碼字段+操作數(shù)地址字段:1.操作碼操作碼是指明指令操作性質(zhì)的命令碼。它提供指令的操作控制信息。(1)每條指令都要求它的操作碼必須是獨(dú)一無(wú)二的位組合。(2)指令系統(tǒng)中指令的個(gè)數(shù)N與操作碼的位數(shù)n,必須滿足關(guān)系式: N2n2.操作數(shù)地址碼(1)地址碼:用來(lái)描述該指令的操作對(duì)象。(2)指

4、令字長(zhǎng)=操作碼的位數(shù)+(操作數(shù)地址個(gè)數(shù))*(操作數(shù)地址碼位數(shù)) 地址碼字段AC操作碼字段OC7/29/20227第7頁(yè),共50頁(yè)。5.2.1指令操作碼與地址碼 (2/9)一、指令格式1.零地址指令格式這是一種沒(méi)有操作數(shù)地址部分的指令格式。這種指令有兩種可能:(1)無(wú)需任何操作數(shù)。如空操作指令,停機(jī)指令等。(2)所需的操作數(shù)是默認(rèn)的:堆棧。操作碼OC7/29/20228第8頁(yè),共50頁(yè)。5.2.1指令操作碼與地址碼 (3/9)A、堆棧的概念 (a)是若干個(gè)存儲(chǔ)單元(或寄存器)的有序集合,它順序地存放一組元素。 (b)數(shù)據(jù)的存取都只能在棧頂單元內(nèi)進(jìn)行,即數(shù)據(jù)的進(jìn)棧與出棧都只能經(jīng)過(guò)棧頂單元這個(gè)“出入

5、口”。 (c)堆棧中的數(shù)據(jù)采用“先進(jìn)后出”或“后進(jìn)先出”的存取工作方式。B、堆棧結(jié)構(gòu)在計(jì)算機(jī)中的作用 (a)具有堆棧結(jié)構(gòu)的機(jī)器使用零地址指令,這不僅合指令長(zhǎng)度短,指令結(jié)構(gòu)簡(jiǎn)單,機(jī)器硬件簡(jiǎn)化。 (b)實(shí)現(xiàn)程序調(diào)用,子程序嵌套調(diào)用和遞歸調(diào)用。 (c)對(duì)于“中斷”技術(shù),堆棧更是不可缺少的,保存“斷點(diǎn)”和“現(xiàn)場(chǎng)”。7/29/20229第9頁(yè),共50頁(yè)。5.2.1指令操作碼與地址碼 (4/9)C、堆棧的操作設(shè)數(shù)據(jù)進(jìn)棧方向?yàn)閺母叩刂废虻偷刂钒l(fā)展,當(dāng)向堆棧壓入數(shù)據(jù)時(shí),SP的內(nèi)容先自動(dòng)遞減而指向一個(gè)新的空棧頂單元,再把數(shù)據(jù)寫入此棧頂單元;當(dāng)數(shù)據(jù)彈出堆棧時(shí),立即讀出SP所指向的棧頂單元內(nèi)容,再把SP內(nèi)容自動(dòng)遞增

6、而指向新的棧頂位置。即 PUSH X;(SP)-1SP (X)(SP) POP X; (SP)X (SP)+1SP7/29/202210第10頁(yè),共50頁(yè)。5.2.1指令操作碼與地址碼 (5/9)2.一地址指令格式(1)指令中給出的一個(gè)地址即是操作數(shù)的地址,又是操作結(jié)果的存儲(chǔ)地址。如加1、減1、移位等單操作數(shù)指令。(2)在某些計(jì)算機(jī)中,指令中提供的一個(gè)地址提供一個(gè)操作數(shù),另一個(gè)操作數(shù)是由機(jī)內(nèi)硬件寄存器“隱含”地自動(dòng)提供的。所謂“隱含”是指此操作數(shù)在指令中不出現(xiàn),而是按照事先約定由寄存器默認(rèn)提供,運(yùn)算結(jié)果仍送到寄存器中。因?yàn)檫@個(gè)寄存器在連續(xù)運(yùn)算時(shí),保存著多條指令連續(xù)操作的累計(jì)結(jié)果,故稱為累加器(

7、AC)。AC1操作碼OC7/29/202211第11頁(yè),共50頁(yè)。5.2.1指令操作碼與地址碼 (6/9)3.二地址指令格式 (1)把保存操作前原來(lái)操作數(shù)的地址稱為源點(diǎn)地址(SS),把保存指令執(zhí)行結(jié)果的地址稱為終點(diǎn)地址或目的地址(DD)。 (2)將源點(diǎn)與終點(diǎn)操作數(shù)進(jìn)行操作碼規(guī)定的操作后,將結(jié)果存入終點(diǎn)地址。通常二地址指令又稱為雙操作數(shù)指令。例如,雙操作數(shù)加法指令:ADD R0,R1表示將R0寄存器的內(nèi)容和R1寄存器的內(nèi)容相加以后,將結(jié)果存入R1寄存器中。又如ADD (R0),R1表示將R0寄存器的內(nèi)容作為地址,到內(nèi)存中取出該地址所指向的單元內(nèi)容作為源點(diǎn)操作數(shù),和作為終點(diǎn)操作數(shù)的R1寄存器的內(nèi)容

8、相加以后,將結(jié)果存入R1寄存器中。AC1操作碼OCAC27/29/202212第12頁(yè),共50頁(yè)。5.2.1指令操作碼與地址碼 (7/9)4.三地址指令格式其操作是對(duì)AC1、AC2指出的兩個(gè)操作數(shù)進(jìn)行操作碼所規(guī)定的操作,并將結(jié)果存入AC3中。例如: ADD X Y Z 含義為 (X)+(Y)Z 即X單元內(nèi)容加上Y單元內(nèi)容,結(jié)果送Z單元中。 AC1操作碼OCAC3AC27/29/202213第13頁(yè),共50頁(yè)。5.2.1指令操作碼與地址碼 (8/9)5.多地址指令格式例如四地址指令格式。(1)含義: ADD X Y Z WA、(X)+(Y)ZB、(W)下一條指令地址(2)特點(diǎn): A、直觀明了;

9、B、程序執(zhí)行的流向明確; C、操作數(shù)和結(jié)果可以分散在內(nèi)存各處。 D、但是指令字長(zhǎng)度太長(zhǎng)。AC1操作碼OCAC4AC3AC27/29/202214第14頁(yè),共50頁(yè)。5.2.1指令操作碼與地址碼 (9/9)指令格式設(shè)計(jì)準(zhǔn)則 1、指令字長(zhǎng)要短,以得到時(shí)間和空間上的優(yōu)勢(shì)。 2、指令字長(zhǎng)必須有足夠的長(zhǎng)度。 3、指令字長(zhǎng)一般應(yīng)是機(jī)器字符長(zhǎng)度的整數(shù)倍以便存儲(chǔ)系統(tǒng)的管理。若機(jī)器中字符碼長(zhǎng)是L位,則機(jī)器字長(zhǎng)最好是L,2L,4L,8L等。 4、指令格式的設(shè)計(jì)還與如何選定指令中操作數(shù)地址的位數(shù)有關(guān)。例如,對(duì)同一容量(如64KB)的存儲(chǔ)器 (1)若取存儲(chǔ)單元為一字節(jié)長(zhǎng),則需要16位地址碼, (2)若存儲(chǔ)單元長(zhǎng)度為3

10、2位,則只需14位地址碼。方案(1)對(duì)字符操作方便,但地址碼位數(shù)多,方案(2)地址碼位數(shù)少,很有利,但字符操作困難,分辯率低。(存儲(chǔ)器分辯率:指存儲(chǔ)器能被區(qū)分、識(shí)別與操作的精細(xì)程度)7/29/202215第15頁(yè),共50頁(yè)。5.2.2指令字長(zhǎng)與擴(kuò)展方法 (1/3)一、操作碼和地址碼間的權(quán)衡(操作碼有兩種編碼格式) 1、固定格式:操作碼長(zhǎng)度固定,且集中放在指令字的一個(gè)字段中。 2、可變格式:即操作碼長(zhǎng)度可變,且分散地放在指令字的不同字段中。二、擴(kuò)展操作碼 1、要點(diǎn): (1)操作碼位數(shù)隨地址碼個(gè)數(shù)變化采取可變長(zhǎng)度的類型; (2)指令間指令碼一定不重復(fù); (3)根據(jù)需要靈活變通。7/29/20221

11、6第16頁(yè),共50頁(yè)。5.2.2指令字長(zhǎng)與擴(kuò)展方法 (2/3)2、比較假設(shè)一臺(tái)計(jì)算機(jī)指令字長(zhǎng)16位,操作碼與地址碼都為4位,如圖所示。 (1)方法一:固定格式,則最多可以設(shè)計(jì)16條三地址指令圖10-3 陣列處理機(jī)結(jié)構(gòu)AC1操作碼OCAC3AC27/29/202217第17頁(yè),共50頁(yè)。5.2.2指令字長(zhǎng)與擴(kuò)展方法 (3/3)(2)方法二:擴(kuò)展操作碼,具體方法如下: A、4位OC中用0000-1110定義15條三地址指令,留編碼1111作為擴(kuò)展標(biāo)志與下一個(gè)4位組成一個(gè)8位操作碼,引出二地址指令,則: B、(a)若將AC1全部用作2地址指令的OC,能再定義16條2地址指令; (b)8位OC中用11

12、110000-11111110定義15條二地址指令,剩下的一個(gè)編碼11111111與下一個(gè)4位組成一個(gè)12位的操作碼,引出一地址指令; (c)選1111000011111101共14條2地址指令,留11111110,11111111為擴(kuò)展標(biāo)志,再與AC2組合,以此類推。 C、若選B(c),則可定義31條1地址指令,留一個(gè)編碼111111111111為擴(kuò)展標(biāo)志,與下一個(gè)4位組成16位操作碼,引出16條零地址指令;3、擴(kuò)展操作碼的另一個(gè)演變是用操作碼中的某一位或幾位來(lái)說(shuō)明指令的格式與長(zhǎng)度,或是說(shuō)明操作數(shù)的特征。例如:小型機(jī)PDP-11是用操作碼最左邊一位(最高位15位)來(lái)指明指令操作處理的數(shù)據(jù)字長(zhǎng)

13、度,當(dāng)?shù)?5位=0,是字指令,操作數(shù)是16位長(zhǎng)的字;當(dāng)15位=1,是字節(jié)指令,操作數(shù)是8位長(zhǎng)的字節(jié)。7/29/202218第18頁(yè),共50頁(yè)。5.3 尋址方式 (1/11)一、尋址方式的設(shè)計(jì)1、目的 (1)豐富程序設(shè)計(jì)手段,提高程序質(zhì)量; (2)減少訪問(wèn)主存的次數(shù),壓縮程序占用的存儲(chǔ)空間。保證指令的地址碼字段盡可能縮短,而訪問(wèn)的存儲(chǔ)空間盡可能地大。2、 概念(1)形式地址:指令中直接給出的地址;(2)有效地址:操作數(shù)所在的真實(shí)地址;(3)尋址方式:從形式地址生成有效地址的各種方式稱為尋址方式。7/29/202219第19頁(yè),共50頁(yè)。5.3 尋址方式 (2/11)3、尋址方式選用的依據(jù)(1)要

14、與數(shù)據(jù)的表示方式相配合,對(duì)各種結(jié)構(gòu)的數(shù)據(jù)能方便地進(jìn)行存取和處理;(2)要與指令系統(tǒng)相匹配,依據(jù)對(duì)機(jī)器性能要求的高低來(lái)考慮選擇;(3)還要考慮硬件實(shí)現(xiàn)的可能性與復(fù)雜程度,成本高低,設(shè)備與價(jià)格增加的合理性。4、區(qū)分尋址方式的方法(1) 在指令中劃出一個(gè)字段,用二進(jìn)制編碼來(lái)標(biāo)志所采用的類型,此編碼稱尋址方式碼;(2)使用隱含尋址方式,用操作碼隱含尋址方式。7/29/202220第20頁(yè),共50頁(yè)。5.3 尋址方式 (3/11)二、常用的尋址方式 1、立即尋址方式(1)含義:地址字段給出的是可以立即使用的操作數(shù)實(shí)際值,稱立即尋址方式。(2)優(yōu)缺點(diǎn): A、優(yōu)點(diǎn):提供操作數(shù)最快 B、缺點(diǎn):精度較低,可采用

15、變字長(zhǎng)格式解決。 例如:在IBM-PC指令系統(tǒng)中 MOVAX,05FFH7/29/202221第21頁(yè),共50頁(yè)。5.3 尋址方式 (4/11)2、直接尋址方式 (1)含義:地址字段直接指明操作數(shù)在存儲(chǔ)器內(nèi)的位置的尋址方法。即形式地址等于有效地址, (2)缺點(diǎn):直接尋址方式中指令字長(zhǎng)限制了一條指令所能夠訪問(wèn)的最大主存空間,可以使用可變字長(zhǎng)指令格式來(lái)解決此局限性。利用擴(kuò)大了的操作數(shù)地址碼就能全部訪問(wèn)主存儲(chǔ)器的所有的存儲(chǔ)單元。 例如:在IBM-PC指令系統(tǒng)中MOVAX,3000H7/29/202222第22頁(yè),共50頁(yè)。5.3 尋址方式 (5/11)3、間接尋址方式(1)含義:指令字中地址碼字段給

16、出的不是操作數(shù)地址,而是操作數(shù)地址的地址。(2)優(yōu)缺點(diǎn): A、優(yōu)點(diǎn):實(shí)現(xiàn)簡(jiǎn)便,對(duì)編程帶來(lái)較大的靈活性,靈活性表現(xiàn)在:間接尋址方式的指令可以訪問(wèn)大的存儲(chǔ)空間,擴(kuò)大了指令的尋址能力。當(dāng)操作數(shù)地址改變時(shí),只需修改間接地址指示器的單元內(nèi)容,而不必修改指令,原指令的功能照樣實(shí)現(xiàn)。這給程序編制帶來(lái)很大方便。 B、缺點(diǎn):多次訪問(wèn)內(nèi)存,增加了指令的執(zhí)行時(shí)間;占用主存儲(chǔ)器單元多。(3)間接尋址可分為一級(jí)間接尋址和多級(jí)間接尋址。 例如:在IBM-PC指令系統(tǒng)中 MOV AX,BX7/29/202223第23頁(yè),共50頁(yè)。5.3 尋址方式 (6/11)4、變址尋址方式 (1)含義:把指令字中的形式地址A與地址修改量

17、X自動(dòng)相加,X可正可負(fù),形成操作數(shù)的有效地址EA。即:EA=A+X。其中,與形式地址相加的數(shù)X是一個(gè)地址修改量,稱為“變址值”,保存變址值的設(shè)備稱為變址器。 (2)硬件開(kāi)銷: A、變址器 B、有效地址形成邏輯例如:在IBM-PC指令系統(tǒng)中MOVAX,COUNTSI7/29/202224第24頁(yè),共50頁(yè)。5.3 尋址方式 (7/11)5、基址尋址方式(1)含義:EA=A+X。其中,X是基址R,A是偏移量。(2)與變址尋址的區(qū)別: 基址R,用戶程序無(wú)權(quán)操作和修改,由系統(tǒng)軟件管理控制程序使用特權(quán)指令來(lái)管理的。(3)基址尋址方式主要用以解決程序在存儲(chǔ)器中的定位和擴(kuò)大尋址空間等問(wèn)題。7/29/2022

18、25第25頁(yè),共50頁(yè)。5.3 尋址方式 (8/11)6、相對(duì)尋址方式 (1)含義:把程序計(jì)數(shù)器PC作為基本地址寄存器,指令字中的形式地址碼作為位移量,則有效地址EA=(PC)+A。相對(duì)尋址主要用于轉(zhuǎn)移指令。 (2)特點(diǎn):(A)位移量可正、可負(fù),通常用補(bǔ)碼表示。若位移量為n位,正向有2n-1-1個(gè)位置,負(fù)向有2n-1個(gè)位置,程序可以直接訪問(wèn)的實(shí)際存儲(chǔ)空間是2n個(gè)位置的小塊,或稱為一頁(yè)。(B)位移量是操作數(shù)位置與本指令之間的相對(duì)距離。7/29/202226第26頁(yè),共50頁(yè)。5.3 尋址方式 (9/11)7、寄存器尋址方式 (1)含義:把指令字中的地址碼用寄存器編號(hào)來(lái)代替,寄存器的作用由尋址方式

19、碼來(lái)指定。 (2)優(yōu)點(diǎn): A、有效壓縮指令字長(zhǎng) B、加快存取速度 C、編程靈活(3)寄存器尋址方式的變化: A、寄存器直接尋址方式 例如在PDP-11機(jī)中:ADD R0,R1 B、寄存器間接尋址方式 例如在PDP-11機(jī)中:ADD R0,R1 又如在PDP-11機(jī)中:ADD R0,R17/29/202227第27頁(yè),共50頁(yè)。5.3 尋址方式 (10/11)8、復(fù)合尋址方式: (A)變址間址尋址方式其含義是先將變址寄存器的內(nèi)容X和形式地址A相加得到A+X,然后再作間接尋址,得到操作數(shù)的有效地址。故操作數(shù)的有效地址為:EA=(A+X) (B)間址變址尋址方式含義是先將形式地址取間接變換(A)=N

20、,然后把N和變址寄存器的內(nèi)容X相加,得到操作數(shù)的有效地址。故操作數(shù)的有效地址為:EA=N+X=(A)+X (C)Intel 8086/8088中基址變址尋址方式基址寄存器可以采用BX或BP,變址寄存器可以用SI或DI,有效地址是通過(guò)將基址寄存器中的值、變址寄存器中的值和位移量三這相加而求得的。7/29/202228第28頁(yè),共50頁(yè)。5.3 尋址方式 (11/11)8、復(fù)合尋址方式:(D)分頁(yè)尋址方式若計(jì)算機(jī)中欲采用直接尋址方式,但由于其訪問(wèn)的內(nèi)存地址空間受指令中地址碼字段長(zhǎng)度的制約,若內(nèi)存空間較大,則可采用分頁(yè)尋址方式來(lái)解決。將指令中操作數(shù)地址碼可以訪問(wèn)到的內(nèi)存地址空間稱為一頁(yè),則整個(gè)內(nèi)存空

21、間可以按頁(yè)的大小分為多個(gè)頁(yè)面。例如設(shè)內(nèi)存儲(chǔ)器容量為64K個(gè)單元,而指令中地址碼長(zhǎng)度為9位,則每一頁(yè)有512個(gè)單元,可將內(nèi)存空間劃分為64K/512=128頁(yè)。為訪問(wèn)128頁(yè),需要7位代碼來(lái)表示頁(yè)號(hào)。若預(yù)先將頁(yè)號(hào)送入頁(yè)號(hào)寄存器,把頁(yè)號(hào)寄存器的內(nèi)容與指令寄存器中形式地址兩者拼接起來(lái),就能獲得一個(gè)可以訪問(wèn)整個(gè)內(nèi)存空間的有效地址。7/29/202229第29頁(yè),共50頁(yè)。5.4 指令的分類與高級(jí)語(yǔ)言5.4.1 指令系統(tǒng)的分類5.4.2 指令系統(tǒng)與高級(jí)語(yǔ)言7/29/202230第30頁(yè),共50頁(yè)。5.4.1 指令系統(tǒng)的分類 (1/9)1. 數(shù)據(jù)傳送類指令寄存器至寄存器(R-R:Register-Regi

22、ster)存儲(chǔ)器至寄存器(S-R:Storage-Register)寄存器至存儲(chǔ)器(R-S::Register-Storage)存儲(chǔ)器至存儲(chǔ)器(S-S:Storage-Storage)7/29/202231第31頁(yè),共50頁(yè)。5.4.1 指令系統(tǒng)的分類 (2/9)2. 運(yùn)算類指令 加法,減法,乘法和除法等指令。7/29/202232第32頁(yè),共50頁(yè)。5.4.1 指令系統(tǒng)的分類 (3/9)3. 邏輯運(yùn)算指令 邏輯運(yùn)算主要是對(duì)布爾變量的運(yùn)算。 基本操作:包括邏輯與,邏輯或與邏輯非3種基本操作; 組合邏輯操作:例如:異或。(1)邏輯與指令:(2)邏輯或指令:(3)邏輯非指令:(4)邏輯異或指令:

23、算術(shù)邏輯運(yùn)算指令除了給出運(yùn)算結(jié)果外,往往還要給出某些狀態(tài)信息。如運(yùn)算結(jié)果的正、負(fù);運(yùn)算結(jié)果是否為零;是否有溢出;是否有低位向高位的進(jìn)位等,供其它指令或程序分析時(shí)使用。7/29/202233第33頁(yè),共50頁(yè)。5.4.1 指令系統(tǒng)的分類 (4/9)4. 移位指令算術(shù)移位:左移或右移(右移時(shí)符號(hào)位不變)邏輯移位:左移或右移(右移時(shí)符號(hào)位補(bǔ)0)循環(huán)移位:左移或右移。7/29/202234第34頁(yè),共50頁(yè)。5.4.1 指令系統(tǒng)的分類 (5/9)5. 程序控制類指令 (1)轉(zhuǎn)移指令:包括無(wú)條件轉(zhuǎn)移指令和條件轉(zhuǎn)移指令。(2)轉(zhuǎn)子與返回指令:子程序是一組可以共享的指令序列,可被主程序調(diào)用執(zhí)行。轉(zhuǎn)子指令與轉(zhuǎn)

24、移指令之間最大的差別在于:轉(zhuǎn)移指令無(wú)需返回,而轉(zhuǎn)子指令則需要。子程序調(diào)用指令就是用來(lái)調(diào)用子程序的。為了能夠從子程序中正確返回到斷點(diǎn)繼續(xù)執(zhí)行,并能支持多重嵌套和遞歸調(diào)用,現(xiàn)代計(jì)算機(jī)通常用堆棧來(lái)保存返回地址。(3)程序中斷指令:中斷一般是計(jì)算機(jī)系統(tǒng)出現(xiàn)異常情況或特殊請(qǐng)求時(shí)隨機(jī)產(chǎn)生的。一般在計(jì)算機(jī)中,中斷指令作為隱指令不提供用戶使用。但在某些計(jì)算機(jī)中設(shè)置了可供用戶使用的中斷指令,以實(shí)現(xiàn)系統(tǒng)功能調(diào)用和程序請(qǐng)求。如IBM PC的中斷指令,PDP-11的自陷指令等。7/29/202235第35頁(yè),共50頁(yè)。5.4.1 指令系統(tǒng)的分類 (6/9)6. 輸入輸出類指令 用來(lái)處理機(jī)與外部設(shè)備之間進(jìn)行通信的一類指

25、令。以處理機(jī)為基準(zhǔn),信息由外部設(shè)備傳向處理機(jī)稱為輸入(Input),信息由處理機(jī)傳給外部設(shè)備稱為輸出(Output)。一元化總線的計(jì)算機(jī)如PDP-11,不需設(shè)置專門的I/O指令,可以用一般的數(shù)據(jù)傳送類指令實(shí)現(xiàn)輸入和輸出;對(duì)于主存和外設(shè)不采用統(tǒng)一編址技術(shù)的計(jì)算機(jī)來(lái)說(shuō),則需要有專門的I/O指令,如IBM PC就是一個(gè)典型的例子。7/29/202236第36頁(yè),共50頁(yè)。5.4.1 指令系統(tǒng)的分類 (7/9)7. 字符串處理指令 非數(shù)值處理能力;字符串處理指令一般包括字符串傳送、比較、查詢、轉(zhuǎn)換等指令。7/29/202237第37頁(yè),共50頁(yè)。5.4.1 指令系統(tǒng)的分類 (8/9)8. 處理機(jī)控制類

26、指令 包括停機(jī)指令、等待指令、空操作指令、開(kāi)中斷指令、關(guān)中斷指令、設(shè)置條件碼指令等。7/29/202238第38頁(yè),共50頁(yè)。5.4.1 指令系統(tǒng)的分類 (9/9)9. 特權(quán)指令 這類指令只能用于操作系統(tǒng)或其它系統(tǒng)軟件,而不提供給用戶使用,稱特權(quán)指令。一般來(lái)說(shuō),在單用戶、單任務(wù)的計(jì)算機(jī)中不一定需要特權(quán)指令,而在多用戶、多任務(wù)的計(jì)算機(jī)系統(tǒng)中,特權(quán)指令卻是必不可少的。它主要用于系統(tǒng)資源的分配和管理,包括改變系統(tǒng)的工作方式、檢測(cè)用戶的訪問(wèn)權(quán)限、修改虛擬存儲(chǔ)器管理的段表、頁(yè)表和完成任務(wù)的創(chuàng)建和切換等。7/29/202239第39頁(yè),共50頁(yè)。5.4.2 指令系統(tǒng)與高級(jí)語(yǔ)言 (1/2)1、傳統(tǒng)的馮諾依曼

27、計(jì)算機(jī)的機(jī)器語(yǔ)言和高級(jí)程序設(shè)計(jì)語(yǔ)言在語(yǔ)義上的差別的主要原因(1)存儲(chǔ)器組織方式不同 馮諾依曼計(jì)算機(jī)的存儲(chǔ)器是一維的線性結(jié)構(gòu),而高級(jí)程序設(shè)計(jì)語(yǔ)言表示的存儲(chǔ)器則是一組變量,訪問(wèn)時(shí)調(diào)用變量即可,不必考慮訪問(wèn)方法,而且數(shù)據(jù)結(jié)構(gòu)經(jīng)常是多維的,如數(shù)組結(jié)構(gòu)。(2)高級(jí)程序設(shè)計(jì)語(yǔ)言中,高級(jí)語(yǔ)言中的每種操作對(duì)于任何數(shù)據(jù)類型都是通用的,數(shù)據(jù)類型直接屬于數(shù)據(jù)本身,而馮諾依曼計(jì)算機(jī)的數(shù)據(jù)本身沒(méi)有屬性標(biāo)志,同一種操作要用不同的操作碼來(lái)對(duì)數(shù)據(jù)類型進(jìn)行區(qū)分。這些差別間的變換工作,主要由編譯程序來(lái)承擔(dān)。 7/29/202240第40頁(yè),共50頁(yè)。5.4.2 指令系統(tǒng)與高級(jí)語(yǔ)言 (2/2)2、計(jì)算機(jī)指令結(jié)構(gòu)分類兩大類:(1)復(fù)

28、雜指令集計(jì)算機(jī)( CISC: Complex Instruction Set Computer) 指令系統(tǒng)十分龐大,指令類型、尋址方式較多,機(jī)器語(yǔ)言和高級(jí)語(yǔ)言之間的語(yǔ)義差距正在縮小。(2)精簡(jiǎn)指令集計(jì)算機(jī)( RISC:Reduced Instruction Set Computer)。選用使用頻率最高的少數(shù)指令,盡量使所有的簡(jiǎn)單指令在一個(gè)機(jī)器周期內(nèi)執(zhí)行完,采用大量的寄存器、高速緩沖存儲(chǔ)器等技術(shù),通過(guò)優(yōu)化編譯程序,提高處理速度。機(jī)器語(yǔ)言和高級(jí)語(yǔ)言的差距較大,這個(gè)差距主要靠提高計(jì)算機(jī)運(yùn)行速度和配置優(yōu)化編譯程序來(lái)彌補(bǔ)。7/29/202241第41頁(yè),共50頁(yè)。5.5典型指令系統(tǒng)5.5.1 PDP-1

29、1和VAX-11指令系統(tǒng)5.5.2 TEC-2指令系統(tǒng)7/29/202242第42頁(yè),共50頁(yè)。5.5.1 PDP-11和VAX-11指令系統(tǒng)(1/6) PDP-11是16位小型機(jī),CPU中有8個(gè)通用寄存器(R0-R7),其中R6作為堆棧指示器SP使用;R7作為程序計(jì)數(shù)器PC使用;其它6個(gè)寄存器R0-R5作為通用數(shù)據(jù)寄存器。國(guó)產(chǎn)DJS-1800系列計(jì)算機(jī)的指令系統(tǒng)與PDP-11系列機(jī)是兼容的。VAX-11/780是DEC公司于是1977年推出的VAX系列機(jī)的第一個(gè)產(chǎn)品,將PDP-11結(jié)構(gòu)從16位擴(kuò)充到32位。VAX-11有16個(gè)通用寄存器,R14是SP,R15相當(dāng)于PC。7/29/202243

30、第43頁(yè),共50頁(yè)。5.5.1 PDP-11和VAX-11指令系統(tǒng)(2/6)PDP-11機(jī)指令1、單操作數(shù)指令,如清零(CLR)、加1(INC)、減1(DEC)、求補(bǔ)(NEG)、字節(jié)交換(SWAB)等指令; 2、雙操作數(shù)指令,如傳送(MOV)、比較(CMP)、加(ADD)、減(SUB)、乘(MUL)、除(DIV)、異或(XOR)等指令; 3、轉(zhuǎn)移指令,如無(wú)條件轉(zhuǎn)移(BR)、非零轉(zhuǎn)移(BEN)、零轉(zhuǎn)移(BEQ)、正轉(zhuǎn)移(BPL)、負(fù)轉(zhuǎn)移(BMI)等指令; 4、跳轉(zhuǎn)、子程序及自中斷指令,如跳轉(zhuǎn)(JMP)、轉(zhuǎn)子(JSR)、子程序返回(RTS)、自中斷(TRAP)等指令; 5、條件碼操作指令,如清進(jìn)位

31、(CLC)、置進(jìn)位(SEC)、清零位(CLZ)、置零位(SEZ)、清條件碼(CCC)、置條件碼(SCC)等指令; 6、其它指令,如停機(jī)(HALT)、等待(WAIT)、復(fù)位(RESET)、空操作(NOP)等指令。7/29/202244第44頁(yè),共50頁(yè)。5.5.1 PDP-11和VAX-11指令系統(tǒng)(3/6)PDP-11機(jī)指令現(xiàn)以典型的單操作數(shù)、雙操作數(shù)指令和轉(zhuǎn)移指令為例說(shuō)明指令格式:(1)單操作數(shù)指令指令格式:其中第6-15位表示操作碼;第0-5位組成一個(gè)6位的字段,既是源地址字段又是目的地址字段。第0-2位表示所用的寄存器號(hào),第3-5位表示尋址方式碼。方式位(5-3位)OC(15-6位)R(2-0位)7/29/202245第45頁(yè),共50頁(yè)。5.5.1 PDP-11和VAX

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論