計算機組成與體系第四章課件_第1頁
計算機組成與體系第四章課件_第2頁
計算機組成與體系第四章課件_第3頁
計算機組成與體系第四章課件_第4頁
計算機組成與體系第四章課件_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機組成體系任課教師:趙孟德上海電機學院第一章第一章 計算機系統(tǒng)概論計算機系統(tǒng)概論第二章第二章 運算方法和運算器運算方法和運算器第三章第三章 存儲系統(tǒng)存儲系統(tǒng)第四章第四章 指令系統(tǒng)指令系統(tǒng) 第五章第五章 中央處理器中央處理器 第六章第六章 總線系統(tǒng)總線系統(tǒng) 第七章第七章 外圍設(shè)備外圍設(shè)備 第八章第八章 輸入輸出系統(tǒng)輸入輸出系統(tǒng)第九章第九章 并行組織并行組織目錄n教材n白中英,計算機組成原理白中英,計算機組成原理網(wǎng)絡(luò)版,科學出版網(wǎng)絡(luò)版,科學出版社,社,20022002n參考書n石磊,計算機組成原理石磊,計算機組成原理第第2 2版版, , 清華大學出版清華大學出版社,社,20062006n錢曉捷

2、,微型計算機原理及應用錢曉捷,微型計算機原理及應用, , 清華大學出清華大學出版社,版社,20062006n王愛英王愛英, ,計算機組成與結(jié)構(gòu)計算機組成與結(jié)構(gòu)第第3 3版版, , 清華大學清華大學出版社,出版社,20012001n白中英白中英 鄺堅,計算機組織與結(jié)構(gòu)鄺堅,計算機組織與結(jié)構(gòu)網(wǎng)絡(luò)版,科網(wǎng)絡(luò)版,科學出版社,學出版社,20032003&4.1 4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求&4.2 4.2 指令格式指令格式&4.3 4.3 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式&4.4 4.4 堆棧尋址方式堆棧尋址方式&4.5 4.5

3、 典型指令典型指令第4章 指令系統(tǒng)計算機組成原理計算機組成原理54 4.1.1指令系統(tǒng)的發(fā)展與性能指令系統(tǒng)的發(fā)展與性能要求要求l計算機的程序是由一系列的指令組成計算機的程序是由一系列的指令組成l指令指令是要計算機執(zhí)行某種操作的命令是要計算機執(zhí)行某種操作的命令l指令系統(tǒng)指令系統(tǒng)是一臺計算機中所有指令的集合是一臺計算機中所有指令的集合決定計算機的基本功能,軟件與硬件的界面決定計算機的基本功能,軟件與硬件的界面是計算機系統(tǒng)設(shè)計的一個核心問題是計算機系統(tǒng)設(shè)計的一個核心問題 微指令:微程序級命令,屬于硬件。微指令:微程序級命令,屬于硬件。 指令指令 機器指令:介于微指令與宏指令之間。機器指令:介于微指令

4、與宏指令之間。 宏指令:有若干機器指令組成的軟件指宏指令:有若干機器指令組成的軟件指 令,屬于軟件。令,屬于軟件。計算機組成原理計算機組成原理64.14.1指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展l系列計算機系列計算機的基本指令系統(tǒng)相同,基本體系結(jié)的基本指令系統(tǒng)相同,基本體系結(jié)構(gòu)相同。能實現(xiàn)構(gòu)相同。能實現(xiàn)向上兼容向上兼容。l隨著隨著VLSLVLSL技術(shù)的發(fā)展,多數(shù)計算機指令系統(tǒng)多技術(shù)的發(fā)展,多數(shù)計算機指令系統(tǒng)多達幾百條,稱這些計算機為達幾百條,稱這些計算機為復雜指令系統(tǒng)計算復雜指令系統(tǒng)計算機(機(CISCCISC)。研制周期長研制周期長難保證正確性難保證正確性不易調(diào)試維護不易調(diào)試維護l后提出后提出精簡指令

5、系統(tǒng)計算機(精簡指令系統(tǒng)計算機(RISCRISC)。計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)4.1.2對指令系統(tǒng)性能的要求對指令系統(tǒng)性能的要求l指令系統(tǒng)決定了計算機的基本功能,指令系統(tǒng)的設(shè)指令系統(tǒng)決定了計算機的基本功能,指令系統(tǒng)的設(shè)計是計算機系統(tǒng)設(shè)計的一個計是計算機系統(tǒng)設(shè)計的一個核心問題核心問題。它不僅與計。它不僅與計算機的硬件設(shè)計緊密相關(guān),而且直接影響到系統(tǒng)軟算機的硬件設(shè)計緊密相關(guān),而且直接影響到系統(tǒng)軟件設(shè)計的難易程度件設(shè)計的難易程度。l完善的計算機的指令系統(tǒng)應具備:完善的計算機的指令系統(tǒng)應具備:1 1、完備性:完備性:匯編語言寫程序時,不必另用軟件實現(xiàn)。匯編語言寫程序時,

6、不必另用軟件實現(xiàn)。2 2、有效性:有效性:該指令系統(tǒng)所編程序能高效率的運行。該指令系統(tǒng)所編程序能高效率的運行。3 3、規(guī)整性:規(guī)整性:指令操作的指令操作的對稱性對稱性和和勻齊性勻齊性,指令格式與,指令格式與 數(shù)據(jù)格式的數(shù)據(jù)格式的一致性一致性。4 4、兼容性:兼容性:只能做到只能做到“向上兼容向上兼容”,即低檔機上運行,即低檔機上運行的軟件可以在高檔機上運行。的軟件可以在高檔機上運行。計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)4.1.3低級語言與硬件結(jié)構(gòu)的關(guān)系低級語言與硬件結(jié)構(gòu)的關(guān)系l高級語言用法與具體機器的指令系統(tǒng)高級語言用法與具體機器的指令系統(tǒng)無關(guān)。無關(guān)。l低級語言(機器語言

7、低級語言(機器語言&匯編語言)和具匯編語言)和具體機器的指令系統(tǒng)密切相關(guān)。體機器的指令系統(tǒng)密切相關(guān)。l匯編語言依賴于計算機的硬件結(jié)構(gòu)和匯編語言依賴于計算機的硬件結(jié)構(gòu)和指令系統(tǒng)。指令系統(tǒng)。計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)高級語言如何訪問機器硬件資源高級語言如何訪問機器硬件資源l高級語言提供了與匯編語言之間的高級語言提供了與匯編語言之間的調(diào)用接調(diào)用接口口。l用匯編語言編寫的程序作為高級語言的一用匯編語言編寫的程序作為高級語言的一個個外部過程或函數(shù)外部過程或函數(shù)。l利用堆棧來傳遞參數(shù)或參數(shù)的地址。利用堆棧來傳遞參數(shù)或參數(shù)的地址。l兩者編譯兩者編譯生成目標(生成目標(

8、OBJ)文件)文件。l利用連接程序(利用連接程序(LINKER)把它們)把它們連接成可連接成可執(zhí)行文件執(zhí)行文件便可運行。便可運行。計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)4.2指令格式指令格式l指令格式指令格式是用二進制代碼表示的指令形式是用二進制代碼表示的指令形式 由操作碼字段和地址碼字段組成由操作碼字段和地址碼字段組成 操作碼:表示指令進行什么性質(zhì)的操作操作碼:表示指令進行什么性質(zhì)的操作 地址碼:指定參與操作的操作數(shù)地址地址碼:指定參與操作的操作數(shù)地址l計算機的指令格式與機器的字長、存儲器的容量計算機的指令格式與機器的字長、存儲器的容量及指令的功能密切相關(guān)。及指令的功能密

9、切相關(guān)。計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)指令操作碼指令操作碼l兩個字段:操作碼字段兩個字段:操作碼字段+ +操作數(shù)地址字段:操作數(shù)地址字段:1.1.操作碼操作碼操作碼操作碼是指明指令操作性質(zhì)的命令碼。它提供指令的操作是指明指令操作性質(zhì)的命令碼。它提供指令的操作控制信息??刂菩畔ⅰ#? 1)每條指令都要求它的)每條指令都要求它的操作碼必須是獨一無二的位組合操作碼必須是獨一無二的位組合。(2 2)指令系統(tǒng)中指令的個數(shù))指令系統(tǒng)中指令的個數(shù)N N與操作碼的位數(shù)與操作碼的位數(shù)n n,必須滿足必須滿足關(guān)系式:關(guān)系式: N2N2n n(3 3)由)由CPUCPU中的專門電路來解釋

10、每個操作碼中的專門電路來解釋每個操作碼地址碼字段AC操作碼字段OC計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)指令地址碼指令地址碼2.2.操作數(shù)地址碼操作數(shù)地址碼(1 1)地址碼:用來描述該指令的操作對象。)地址碼:用來描述該指令的操作對象。(2 2)指令字長)指令字長= =操作碼的位數(shù)操作碼的位數(shù)+(+(操作數(shù)地址操作數(shù)地址個數(shù)個數(shù)) )* *( (操作數(shù)地址碼位數(shù)操作數(shù)地址碼位數(shù)) )(3 3)根據(jù)一條指令中有幾個操作數(shù)地址,可)根據(jù)一條指令中有幾個操作數(shù)地址,可將該指令稱為將該指令稱為幾操作數(shù)指令幾操作數(shù)指令或幾地址指令?;驇椎刂分噶?。計算機組成原理計算機組成原理13地址碼

11、操作碼操作碼A1A2A3操作碼操作碼A1A2操作碼操作碼A操作碼操作碼三地址指令三地址指令 二地址指令二地址指令 單地址指令單地址指令 零地址指令零地址指令 計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)指令操作碼與地址碼指令操作碼與地址碼一、指令格式一、指令格式1.零地址指令格式零地址指令格式這是一種沒有操作數(shù)地址部分的指令格式。這是一種沒有操作數(shù)地址部分的指令格式。這種指令有兩種可能:這種指令有兩種可能:(1)無需任何操作數(shù)。如停機指令。)無需任何操作數(shù)。如停機指令。(2)所需的操作數(shù)是默認的:堆棧。)所需的操作數(shù)是默認的:堆棧。操作碼OC計算機組成原理計算機組成原理 第四章指

12、令系統(tǒng)第四章指令系統(tǒng)指令操作碼與地址碼指令操作碼與地址碼A、堆棧的概念堆棧的概念 (a)是若干個存儲單元是若干個存儲單元(或寄存器或寄存器)的有序集合,它的有序集合,它順序地順序地存放一組元素存放一組元素。 (b)數(shù)據(jù)的存取都只能在棧頂單元內(nèi)進行數(shù)據(jù)的存取都只能在棧頂單元內(nèi)進行,即數(shù)據(jù)的進,即數(shù)據(jù)的進棧與出棧都只能經(jīng)過棧頂單元這個棧與出棧都只能經(jīng)過棧頂單元這個“出入口出入口”。 (c)堆棧中的數(shù)據(jù)采用堆棧中的數(shù)據(jù)采用“先進后出先進后出”或或“后進先出后進先出”的的存取工作方式。存取工作方式。B、 堆棧結(jié)構(gòu)在計算機中的作用堆棧結(jié)構(gòu)在計算機中的作用 (a)具有堆棧結(jié)構(gòu)的機器使用零地址指令,這使得具

13、有堆棧結(jié)構(gòu)的機器使用零地址指令,這使得指令指令長度短,指令結(jié)構(gòu)簡單,機器硬件簡化長度短,指令結(jié)構(gòu)簡單,機器硬件簡化。 (b)實現(xiàn)程序調(diào)用,子程序嵌套調(diào)用和遞歸調(diào)用。實現(xiàn)程序調(diào)用,子程序嵌套調(diào)用和遞歸調(diào)用。 (c)對于對于“中斷中斷”技術(shù),堆棧更是不可缺少的,保存技術(shù),堆棧更是不可缺少的,保存“斷點斷點”和和“現(xiàn)場現(xiàn)場”。計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)指令操作碼與地址碼指令操作碼與地址碼C、堆棧的操作堆棧的操作設(shè)數(shù)據(jù)進棧方向為從高地址向低地址發(fā)展,當向堆棧設(shè)數(shù)據(jù)進棧方向為從高地址向低地址發(fā)展,當向堆棧壓入數(shù)據(jù)時,壓入數(shù)據(jù)時,SP的內(nèi)容先自動遞減而指向一個新的空棧的內(nèi)容

14、先自動遞減而指向一個新的空棧頂單元,再把數(shù)據(jù)寫入此棧頂單元;當數(shù)據(jù)彈出堆棧時,頂單元,再把數(shù)據(jù)寫入此棧頂單元;當數(shù)據(jù)彈出堆棧時,立即讀出立即讀出SP所指向的棧頂單元內(nèi)容,再把所指向的棧頂單元內(nèi)容,再把SP內(nèi)容自動遞內(nèi)容自動遞增而指向新的棧頂位置。即增而指向新的棧頂位置。即 PUSH X;(SP)-1SP SP表示堆棧指示器表示堆棧指示器 (X)(SP) POP X; (SP)X (SP)+1SP計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)指令操作碼與地址碼指令操作碼與地址碼2.一地址指令格式一地址指令格式(1)指令中給出的一個地址既是操作數(shù)的地址,又是操作)指令中給出的一個地址既

15、是操作數(shù)的地址,又是操作結(jié)果的存儲地址。如加結(jié)果的存儲地址。如加1、減、減1、移位等單操作數(shù)指令。、移位等單操作數(shù)指令。(2)在某些計算機中,指令中提供的一個地址提供一個操)在某些計算機中,指令中提供的一個地址提供一個操作數(shù),另一個操作數(shù)是由機內(nèi)硬件寄存器作數(shù),另一個操作數(shù)是由機內(nèi)硬件寄存器“隱含隱含”地自動地自動提供的。所謂提供的。所謂“隱含隱含”是指此操作數(shù)在指令中不出現(xiàn),而是指此操作數(shù)在指令中不出現(xiàn),而是按照事先約定由寄存器默認提供,是按照事先約定由寄存器默認提供,運算結(jié)果仍送到寄存運算結(jié)果仍送到寄存器器中。因為這個寄存器在連續(xù)運算時,保存著多條指令連中。因為這個寄存器在連續(xù)運算時,保存

16、著多條指令連續(xù)操作的累計結(jié)果,故稱為續(xù)操作的累計結(jié)果,故稱為累加器累加器(AC)。AC1操作碼OC計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)指令操作碼與地址碼指令操作碼與地址碼3.二地址指令格式二地址指令格式 (1)把保存操作前原來操作數(shù)的地址稱為源點地)把保存操作前原來操作數(shù)的地址稱為源點地址址(SS),把保存指令執(zhí)行結(jié)果的地址稱為終點地把保存指令執(zhí)行結(jié)果的地址稱為終點地址或目的地址址或目的地址(DD)。 (2)將源點與終點操作數(shù)進行操作碼規(guī)定的操作將源點與終點操作數(shù)進行操作碼規(guī)定的操作后,將結(jié)果存入終點地址。通常二地址指令又稱后,將結(jié)果存入終點地址。通常二地址指令又稱為雙操

17、作數(shù)指令。為雙操作數(shù)指令。AC1操作碼OCAC2計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)例如:雙操作數(shù)加法指令例如:雙操作數(shù)加法指令ADD R0,R1表示將表示將R0寄存器的內(nèi)容和寄存器的內(nèi)容和R1寄存器的內(nèi)容相加以后,將結(jié)果存入寄存器的內(nèi)容相加以后,將結(jié)果存入R1寄寄存器中。存器中。又如又如ADD (R0),R1表示將表示將R0寄存器的內(nèi)容寄存器的內(nèi)容作為地址作為地址,到內(nèi)存中取出該地址所指向的,到內(nèi)存中取出該地址所指向的單元內(nèi)容作為源點操作數(shù),和作為終點操單元內(nèi)容作為源點操作數(shù),和作為終點操作數(shù)的作數(shù)的R1寄存器的內(nèi)容相加以后,將結(jié)果寄存器的內(nèi)容相加以后,將結(jié)果存入存入R

18、1寄存器中。寄存器中。計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)二地址指令格式二地址指令格式l從操作數(shù)的物理位置來說,又可歸結(jié)為三從操作數(shù)的物理位置來說,又可歸結(jié)為三種類型。種類型。l存儲器存儲器-存儲器存儲器(SS)型指令:訪問內(nèi)存的型指令:訪問內(nèi)存的指令格式。指令格式。l寄存器寄存器-寄存器寄存器(RR)型指令:訪問寄存器型指令:訪問寄存器的指令格式。特點:的指令格式。特點:執(zhí)行速度快執(zhí)行速度快。l寄存器寄存器-存儲器存儲器(RS)型指令:既要訪問內(nèi)型指令:既要訪問內(nèi)存單元,又要訪問寄存器。存單元,又要訪問寄存器。計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)指

19、令操作碼與地址碼指令操作碼與地址碼4.三地址指令格式三地址指令格式其操作是對其操作是對AC1、AC2指出的兩個操作數(shù)進指出的兩個操作數(shù)進行操作碼所規(guī)定的操作,并將結(jié)果存入行操作碼所規(guī)定的操作,并將結(jié)果存入AC3中。中。例如:例如: ADD X Y Z 含義為含義為 (X)+(Y)Z 即即X單元內(nèi)容加上單元內(nèi)容加上Y單元內(nèi)容,單元內(nèi)容,結(jié)果送結(jié)果送Z單元中。單元中。 AC1操作碼OCAC3AC2計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)4.2.3指令字長度指令字長度l指令字長度指令字長度:一個指令中包含二進制代碼:一個指令中包含二進制代碼的位數(shù)。的位數(shù)。l機器字長機器字長:計算機

20、能直接處理的二進制數(shù):計算機能直接處理的二進制數(shù)據(jù)的位數(shù)。據(jù)的位數(shù)。l單字長指令單字長指令:指令字長度等于機器字長度。:指令字長度等于機器字長度。l半字長指令半字長指令 雙字長指令雙字長指令計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)多字長指令目的多字長指令目的l提供足夠的地址位來解決訪問內(nèi)存任何單提供足夠的地址位來解決訪問內(nèi)存任何單元的尋址問題。元的尋址問題。l缺點缺點: 必須多次訪問內(nèi)存取一整條指令必須多次訪問內(nèi)存取一整條指令 降低降低CPU的運算速度的運算速度 占用了更多的存儲空間占用了更多的存儲空間計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)4.2.4指令助

21、記符指令助記符l便于書寫和閱讀程序,用便于書寫和閱讀程序,用3-4個英文縮寫字個英文縮寫字母來表示,稱為母來表示,稱為指令助記符指令助記符。l指令助記符必須轉(zhuǎn)換成與它們相對應的二指令助記符必須轉(zhuǎn)換成與它們相對應的二進制操作碼,這種轉(zhuǎn)換進制操作碼,這種轉(zhuǎn)換借助匯編程序可以借助匯編程序可以自動完成自動完成。計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)指令操作碼與地址碼指令操作碼與地址碼l指令格式設(shè)計準則指令格式設(shè)計準則 1 1、指令字長要短,以得到時間和空間上的優(yōu)、指令字長要短,以得到時間和空間上的優(yōu)勢。勢。 2 2、指令字長必須有足夠的長度。、指令字長必須有足夠的長度。 3 3、指

22、令字長一般應是機器字符長度的整數(shù)倍指令字長一般應是機器字符長度的整數(shù)倍以便存儲系統(tǒng)的管理。若機器中字符碼長是以便存儲系統(tǒng)的管理。若機器中字符碼長是L L位,位,則機器字長最好是則機器字長最好是L L,2L2L,4L4L,8L8L等。等。 4 4、指令格式的設(shè)計還與如何選定指令中操作、指令格式的設(shè)計還與如何選定指令中操作數(shù)地址的位數(shù)有關(guān)。數(shù)地址的位數(shù)有關(guān)。計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)例:對同一容量例:對同一容量( (如如64KB)64KB)的存儲器的存儲器(1 1)若取存儲單元為一字節(jié)長,則需要)若取存儲單元為一字節(jié)長,則需要1616位地址碼。位地址碼。(2 2)若

23、存儲單元長度為)若存儲單元長度為3232位,則只需位,則只需1414位地址碼。位地址碼。方案(方案(1 1)對字符操作方便,但地址碼位數(shù)多,對字符操作方便,但地址碼位數(shù)多,方案(方案(2 2)地址碼位數(shù)少,很有利,但字符操作困地址碼位數(shù)少,很有利,但字符操作困難,分辯率低。難,分辯率低。(存儲器分辯率:指存儲器能被區(qū)分、識別與操(存儲器分辯率:指存儲器能被區(qū)分、識別與操作的精細程度)作的精細程度)計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)指令字長與擴展方法指令字長與擴展方法一、操作碼和地址碼間的權(quán)衡(操作碼有兩種編碼格式)一、操作碼和地址碼間的權(quán)衡(操作碼有兩種編碼格式) 1、

24、固定格式:操作碼長度固定,且集中放在指令字的一、固定格式:操作碼長度固定,且集中放在指令字的一個字段中。個字段中。 2、可變格式:即操作碼長度可變,且分散地放在指令字、可變格式:即操作碼長度可變,且分散地放在指令字的不同字段中。的不同字段中。二、擴展操作碼二、擴展操作碼 1、要點:、要點: (1)操作碼位數(shù)隨地址碼個數(shù)變化采取可變長度的)操作碼位數(shù)隨地址碼個數(shù)變化采取可變長度的類型;類型; (2)指令間指令碼一定不重復;)指令間指令碼一定不重復; (3)根據(jù)需要靈活變通。)根據(jù)需要靈活變通。計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)指令字長與擴展方法指令字長與擴展方法2、比較、

25、比較假設(shè)一臺計算機指令字長假設(shè)一臺計算機指令字長16位,操作碼位,操作碼與地址碼都為與地址碼都為4位,如圖所示。位,如圖所示。 (1)方法一:固定格式,則最多可以設(shè)計)方法一:固定格式,則最多可以設(shè)計16條三地址指令條三地址指令AC1操作碼OCAC3AC2計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)指令字長與擴展方法指令字長與擴展方法(2)方法二:擴展操作碼,具體方法如下:)方法二:擴展操作碼,具體方法如下: A、4位位OC中用中用0000-1110定義定義15條三地址指令,留編碼條三地址指令,留編碼1111作為擴展標作為擴展標志與下一個志與下一個4位組成一個位組成一個8位操作碼

26、,引出二地址指令,則:位操作碼,引出二地址指令,則: B、(、(a)若將若將AC1全部用作全部用作2地址指令的地址指令的OC,能再定義能再定義16條條2地址指令;地址指令; (b)8位位OC中用中用11110000-11111110定義定義15條二地址指令,剩下的條二地址指令,剩下的一個編碼一個編碼11111111與下一個與下一個4位組成一個位組成一個12位的操作碼,引出一地址指令;位的操作碼,引出一地址指令; (c)選)選1111000011111101共共14條條2地址指令,留地址指令,留11111110,11111111為擴展標志,再與為擴展標志,再與AC2組合,以此類推。組合,以此類推

27、。 C、若選若選B(c),),則可定義則可定義31條條1地址指令,留一個編碼地址指令,留一個編碼111111111111為為擴展標志,與下一個擴展標志,與下一個4位組成位組成16位操作碼,引出位操作碼,引出16條零地址指令;條零地址指令;計算機組成原理計算機組成原理 第四章指令系統(tǒng)第四章指令系統(tǒng)指令字長與擴展方法指令字長與擴展方法3、擴展操作碼的另一個演變是用操作碼中的、擴展操作碼的另一個演變是用操作碼中的某一位或幾位來說明指令的格式與長度某一位或幾位來說明指令的格式與長度,或是說明操作數(shù)的特征?;蚴钦f明操作數(shù)的特征。例如:小型機例如:小型機PDP-11是用操作碼最左邊一是用操作碼最左邊一位位

28、(最高位最高位15位位)來指明指令操作處理的數(shù)據(jù)來指明指令操作處理的數(shù)據(jù)字長度,當字長度,當?shù)诘?5位位=0,是字指令,是字指令,操作數(shù),操作數(shù)是是16位長的字;當位長的字;當15位位=1,是字節(jié)指令,是字節(jié)指令,操作數(shù)是操作數(shù)是8位長的字節(jié)。位長的字節(jié)。計算機組成原理計算機組成原理31Pentium指令格式lPentiumPentium機的指令字長度可變:從字節(jié)到機的指令字長度可變:從字節(jié)到1212字節(jié),還可以帶前綴字節(jié),還可以帶前綴l非固定長度的指令格式是典型的非固定長度的指令格式是典型的CISCCISC結(jié)構(gòu)特征結(jié)構(gòu)特征為了與它的前身為了與它的前身8048680486保持兼容保持兼容希望能

29、給編譯程序的編制以更多靈活的編程支持希望能給編譯程序的編制以更多靈活的編程支持前綴前綴操作碼操作碼Mod-R/MMod-R/MSIBSIB位移量位移量立即數(shù)立即數(shù)04B 12B 01B 01B 04B 04B計算機組成原理計算機組成原理32例1 分析指令格式的特點 1.1.單字長二地址指令單字長二地址指令2.2.操作碼字段操作碼字段OPOP長度為長度為7 7位,可指定位,可指定128128條指令條指令3.3.源寄存器和目標寄存器都是通用寄存器(可源寄存器和目標寄存器都是通用寄存器(可分別指定分別指定1616個)。兩個操作數(shù)均在寄存器中,個)。兩個操作數(shù)均在寄存器中,所以是寄存器寄存器型指令所以

30、是寄存器寄存器型指令4.4.這種指令結(jié)構(gòu)常用于算術(shù)邏輯運算類指令這種指令結(jié)構(gòu)常用于算術(shù)邏輯運算類指令15 915 97 47 43 03 0OP OP -源寄存器源寄存器 目標寄存器目標寄存器計算機組成原理計算機組成原理33例2 分析指令格式的特點 1.1.雙字長二地址指令,用于訪問存儲器雙字長二地址指令,用于訪問存儲器2.2.操作碼字段操作碼字段OPOP為為6 6位,可以指定位,可以指定6464種操作種操作3.3.一個操作數(shù)在源寄存器(共一個操作數(shù)在源寄存器(共1616個),另一個個),另一個操作數(shù)在存儲器中(由變址寄存器和位移量操作數(shù)在存儲器中(由變址寄存器和位移量決定)決定), ,所以是

31、寄存器存儲器型指令所以是寄存器存儲器型指令15 915 97 47 43 03 0OP OP -源寄存器源寄存器 變址寄存器變址寄存器位移量位移量(16(16位位) ) 計算機組成原理計算機組成原理344.3 4.3 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式l某個操作數(shù)或某條指令存放在某個存儲單元時,某個操作數(shù)或某條指令存放在某個存儲單元時,其其存儲單元的編號存儲單元的編號,就是該操作數(shù)或指令在存,就是該操作數(shù)或指令在存儲器中的儲器中的地址地址l 地址指定方式地址指定方式 l存儲器存儲器 相連存儲方式相連存儲方式 l 堆棧存取方式堆棧存取方式l內(nèi)存中都采用地址指定方式內(nèi)存中都采用地址指定方式計

32、算機組成原理計算機組成原理354.3 指令和數(shù)據(jù)的尋址方式 尋址方式尋址方式:采用:采用地址指定地址指定方式時,方式時,形成形成指令或操指令或操作數(shù)的作數(shù)的內(nèi)存地址的方式內(nèi)存地址的方式,稱為尋址方式。,稱為尋址方式。 尋址方式的類別尋址方式的類別 l指令尋址方式指令尋址方式:用于形成指令在內(nèi)存中的地址,:用于形成指令在內(nèi)存中的地址,比較簡單。比較簡單。l數(shù)據(jù)數(shù)據(jù)( (操作數(shù)操作數(shù)) )尋址方式尋址方式:用于形成操作數(shù)在內(nèi):用于形成操作數(shù)在內(nèi)存中的地址,一般也包括數(shù)據(jù)在寄存器的情況,存中的地址,一般也包括數(shù)據(jù)在寄存器的情況,較前者復雜。較前者復雜。計算機組成原理計算機組成原理36指令的順序?qū)ぶ贩?/p>

33、式 計算機組成原理計算機組成原理37指令的順序?qū)ぶ穕取指取指 執(zhí)行執(zhí)行 取指取指 l程序順序執(zhí)行的過程,我們稱為指令的順序?qū)こ绦蝽樞驁?zhí)行的過程,我們稱為指令的順序?qū)ぶ贩绞?。址方式。l使用使用PCPC(程序計數(shù)器)來計數(shù)指令的順序號。(程序計數(shù)器)來計數(shù)指令的順序號。l該順序號就是指令在內(nèi)存中的地址。該順序號就是指令在內(nèi)存中的地址。計算機組成原理計算機組成原理38指令的跳躍尋址方式(程序的控制轉(zhuǎn)移)計算機組成原理計算機組成原理39指令跳躍尋址方式l所謂跳躍,是指下條指令的所謂跳躍,是指下條指令的地址碼不是地址碼不是由程序計數(shù)器給出由程序計數(shù)器給出,而是由,而是由本條指令給本條指令給出出。l程序跳

34、躍后,按新的指令地址開始程序跳躍后,按新的指令地址開始順序順序執(zhí)行。執(zhí)行。l指令系統(tǒng)中的各種條件轉(zhuǎn)移或無條件轉(zhuǎn)指令系統(tǒng)中的各種條件轉(zhuǎn)移或無條件轉(zhuǎn)移指令,就是為了實現(xiàn)指令的跳躍尋址移指令,就是為了實現(xiàn)指令的跳躍尋址而設(shè)置的。而設(shè)置的。計算機組成原理計算機組成原理40指令的相對尋址方式l程序計數(shù)器程序計數(shù)器PCPC的內(nèi)容加上偏移量形成指令的目的地址的內(nèi)容加上偏移量形成指令的目的地址計算機組成原理計算機組成原理414.3.2 操作數(shù)尋址方式l指令中操作數(shù)字段的地址碼,是由形式地址指令中操作數(shù)字段的地址碼,是由形式地址( (偏移量偏移量) )和變址、間址等組合形成和變址、間址等組合形成l操作數(shù)的尋址:

35、把操作數(shù)的形式地址,根據(jù)間操作數(shù)的尋址:把操作數(shù)的形式地址,根據(jù)間址和變址等組合變換為操作數(shù)有效地址的過程址和變址等組合變換為操作數(shù)有效地址的過程形式地址形式地址D D變址變址X X間址間址I I操作碼操作碼OPOP操作碼字段操作碼字段操操 作作 數(shù)數(shù) 字字 段段計算機組成原理計算機組成原理42常用數(shù)據(jù)尋址方式l隱含尋址隱含尋址:在指令中不明顯地給出操作數(shù)的地:在指令中不明顯地給出操作數(shù)的地址。址。例如,累加寄存器例如,累加寄存器ACAC對單地址指令格式來說是隱對單地址指令格式來說是隱含地址。含地址。l立即尋址立即尋址:指令的地址字段指出的不是操作數(shù):指令的地址字段指出的不是操作數(shù)的地址,而直

36、接是操作數(shù)本身。的地址,而直接是操作數(shù)本身。特點:指令執(zhí)行時間很短,節(jié)省了訪問內(nèi)存的時特點:指令執(zhí)行時間很短,節(jié)省了訪問內(nèi)存的時間。間。l直接尋址直接尋址:在指令格式的地址字段中,直接給:在指令格式的地址字段中,直接給出操作數(shù)在出操作數(shù)在內(nèi)存內(nèi)存的地址。的地址。計算機組成原理計算機組成原理43直接尋址計算機組成原理計算機組成原理44常用數(shù)據(jù)尋址方式l間接尋址間接尋址:指令地址字段中的形式地址:指令地址字段中的形式地址D D,其,其單元的內(nèi)容單元的內(nèi)容才是操作數(shù)的有效地址。才是操作數(shù)的有效地址。兩次訪存,影響指令執(zhí)行速度。兩次訪存,影響指令執(zhí)行速度。l寄存器尋址寄存器尋址:指令中給出的操作數(shù)地址

37、不是內(nèi):指令中給出的操作數(shù)地址不是內(nèi)存的地址單元號,而是存的地址單元號,而是通用寄存器的編號通用寄存器的編號。即。即操作數(shù)不放在內(nèi)存中,而是放在通用寄存器中操作數(shù)不放在內(nèi)存中,而是放在通用寄存器中l(wèi)寄存器間接尋址寄存器間接尋址:指令中指定的寄存器中的內(nèi):指令中指定的寄存器中的內(nèi)容不是操作數(shù),而是操作數(shù)的地址,該地址指容不是操作數(shù),而是操作數(shù)的地址,該地址指明的明的操作數(shù)在內(nèi)存操作數(shù)在內(nèi)存中。中。計算機組成原理計算機組成原理45常用數(shù)據(jù)尋址方式l相對尋址方式相對尋址方式:把程序計數(shù)器把程序計數(shù)器PCPC的內(nèi)容加上的內(nèi)容加上指指令格式中的令格式中的形式地址形式地址D D而形成操作數(shù)的有效地而形成操

38、作數(shù)的有效地址。址。l基址基址( (寄存器相對寄存器相對) )尋址尋址:CPUCPU中基址寄存器的中基址寄存器的內(nèi)容加上指令中給定的形式地址內(nèi)容加上指令中給定的形式地址( (偏移量偏移量) ),形,形成操作數(shù)的有效地址。成操作數(shù)的有效地址。優(yōu)點:可以擴大尋址能力。優(yōu)點:可以擴大尋址能力。l變址尋址方式變址尋址方式:把:把CPUCPU中某個變址寄存器的內(nèi)中某個變址寄存器的內(nèi)容與偏移量容與偏移量D D相加來形成操作數(shù)有效地址。相加來形成操作數(shù)有效地址。目的:實現(xiàn)程序塊的規(guī)律變化。目的:實現(xiàn)程序塊的規(guī)律變化。計算機組成原理計算機組成原理46基址(寄存器相對)尋址計算機組成原理計算機組成原理47常用數(shù)

39、據(jù)尋址方式l塊尋址方式塊尋址方式:用在輸入輸出指令中,以實現(xiàn)外:用在輸入輸出指令中,以實現(xiàn)外存儲器或外圍設(shè)備同內(nèi)存之間的數(shù)據(jù)塊傳送。存儲器或外圍設(shè)備同內(nèi)存之間的數(shù)據(jù)塊傳送。指令中劃出字段指出長度;指令中劃出字段指出長度;指令格式中指出數(shù)據(jù)塊的首地址與末地址;指令格式中指出數(shù)據(jù)塊的首地址與末地址;由塊結(jié)束字符指出數(shù)據(jù)塊長度。由塊結(jié)束字符指出數(shù)據(jù)塊長度。l段尋址方式段尋址方式:微型機中采用了段尋址方式。:微型機中采用了段尋址方式。計算機組成原理計算機組成原理484.4 堆棧尋址方式l堆棧:一個堆棧:一個“先進后出先進后出FILO”FILO”或或“后進先出后進先出LIFO”LIFO”存取的存儲區(qū)域,

40、只有一個數(shù)據(jù)出入口,存取的存儲區(qū)域,只有一個數(shù)據(jù)出入口,即當前棧頂(不斷變化)即當前棧頂(不斷變化)l兩種基本操作兩種基本操作寫入:數(shù)據(jù)壓進堆棧寫入:數(shù)據(jù)壓進堆棧PUSHPUSH讀出:數(shù)據(jù)彈出堆棧操作讀出:數(shù)據(jù)彈出堆棧操作POPPOPl存儲器堆棧存儲器堆棧使用主存部分空間作為堆棧區(qū)域使用主存部分空間作為堆棧區(qū)域l寄存器堆棧寄存器堆棧( (串聯(lián)堆棧串聯(lián)堆棧) )CPUCPU內(nèi)部以堆棧方式存取數(shù)據(jù)的一組寄存器內(nèi)部以堆棧方式存取數(shù)據(jù)的一組寄存器Word 1Word 2Word 3Word 4Word 5StackPUSHPOP計算機組成原理計算機組成原理494.5.1 指令的分類l數(shù)據(jù)傳送指令數(shù)據(jù)傳

41、送指令實現(xiàn)主存與寄存器之間、寄存器與寄存器之間或立即數(shù)到實現(xiàn)主存與寄存器之間、寄存器與寄存器之間或立即數(shù)到寄存器和主存的數(shù)據(jù)傳送寄存器和主存的數(shù)據(jù)傳送l算術(shù)運算指令算術(shù)運算指令實現(xiàn)加、減、乘、除等運算的指令實現(xiàn)加、減、乘、除等運算的指令l邏輯運算指令邏輯運算指令實現(xiàn)邏輯與、或、非、異或,以及移位等操作的指令實現(xiàn)邏輯與、或、非、異或,以及移位等操作的指令l程序控制轉(zhuǎn)移指令程序控制轉(zhuǎn)移指令無條件轉(zhuǎn)移指令、有條件轉(zhuǎn)移指令、子程序調(diào)用和返回指無條件轉(zhuǎn)移指令、有條件轉(zhuǎn)移指令、子程序調(diào)用和返回指令等令等l輸入輸出指令輸入輸出指令CPUCPU與外設(shè)之間傳送數(shù)據(jù)的指令與外設(shè)之間傳送數(shù)據(jù)的指令計算機組成原理計算

42、機組成原理504.5.2 基本指令系統(tǒng)助記符助記符指令功能指令功能LDALDA取數(shù)取數(shù)STASTA存數(shù)存數(shù)MOVMOV傳送傳送PUSHPUSH進棧進棧POPPOP出棧出棧ADDADD加法加法SUBSUB減法減法INCINC加加1 1助記符助記符指令功能指令功能ANDAND邏輯與邏輯與OROR邏輯或邏輯或ROLROL循環(huán)左移循環(huán)左移RORROR循環(huán)右移循環(huán)右移JMPJMP跳轉(zhuǎn)跳轉(zhuǎn)JSRJSR轉(zhuǎn)子程序轉(zhuǎn)子程序CLACLA清清0 0HLTHLT暫停暫停計算機組成原理計算機組成原理514.5.3 精簡指令系統(tǒng)l為了增強處理器的功能,強化指令系統(tǒng):指令多、尋為了增強處理器的功能,強化指令系統(tǒng):指令多、尋址方式復雜、格式變化,形成復雜指令集計算機址方式復雜、格式變化,形成復雜指令集計算機CISCCISC(Complex Instruction Set ComputerComplex Instruction Set Computer)l研究標明,研究標明,CISCCISC中最常用、最簡單、最基本的指令僅中最常用、最簡單、最基本的指令僅占指令總數(shù)的占指令總數(shù)的20%20%,但

溫馨提示

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

評論

0/150

提交評論