




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第四章第四章 指令系統(tǒng)指令系統(tǒng)【相關(guān)說明:本課件以白中英老師教材及課件為藍(lán)相關(guān)說明:本課件以白中英老師教材及課件為藍(lán)本制作而成,特表感謝;網(wǎng)上文檔會(huì)伴隨教研過程本制作而成,特表感謝;網(wǎng)上文檔會(huì)伴隨教研過程不定期更新版本;最后,懇請(qǐng)文檔使用者批評(píng)、指不定期更新版本;最后,懇請(qǐng)文檔使用者批評(píng)、指正文中出現(xiàn)的錯(cuò)誤、疏漏正文中出現(xiàn)的錯(cuò)誤、疏漏;版本時(shí)間:;版本時(shí)間:2014.6】計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理(第五版)白中英、戴志濤主編(第五版)白中英、戴志濤主編 課件課件PPT 陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院2 2/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院第四章第四章 指令系統(tǒng)指
2、令系統(tǒng)本章主要內(nèi)容:本章主要內(nèi)容: 4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求 4.2 指令格式指令格式 4.3 操作數(shù)類型操作數(shù)類型 4.4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式 4.5 典型指令典型指令3 3/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院回顧馮諾依曼體系回顧馮諾依曼體系 該該“指令指令”指的是指的是“機(jī)器指令機(jī)器指令”。 為什么要有指令系統(tǒng)?為什么要有指令系統(tǒng)? 程序存儲(chǔ)思想程序存儲(chǔ)思想 計(jì)算機(jī)的工作過程是各功能部件按照計(jì)算機(jī)的工作過程是各功能部件按照預(yù)先設(shè)計(jì)的操作步驟執(zhí)行數(shù)據(jù)流動(dòng)、預(yù)先設(shè)計(jì)的操作步驟執(zhí)行數(shù)據(jù)流動(dòng)、完成數(shù)據(jù)加工的過程完成
3、數(shù)據(jù)加工的過程 讓計(jì)算機(jī)執(zhí)行某種操作需要指令讓計(jì)算機(jī)執(zhí)行某種操作需要指令 計(jì)算機(jī)程序是由一系列的機(jī)器指令組成計(jì)算機(jī)程序是由一系列的機(jī)器指令組成的。的。4 4/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院回顧馮諾依曼體系回顧馮諾依曼體系 舉例:舉例: C語言是高級(jí)語言,寫出來的一行一行語言是高級(jí)語言,寫出來的一行一行程序稱為代碼程序稱為代碼 計(jì)算機(jī)執(zhí)行的時(shí)候需要將高級(jí)語言代碼計(jì)算機(jī)執(zhí)行的時(shí)候需要將高級(jí)語言代碼編譯成機(jī)器語言編譯成機(jī)器語言 這樣可能將一行代碼轉(zhuǎn)換為一行或者多這樣可能將一行代碼轉(zhuǎn)換為一行或者多行的更基本的操作過程(行的更基本的操作過程(01序列)序列) 這些最基本
4、的操作過程即機(jī)器指令,所這些最基本的操作過程即機(jī)器指令,所有類型機(jī)器指令的集合就是指令系統(tǒng)有類型機(jī)器指令的集合就是指令系統(tǒng) 每個(gè)指令的執(zhí)行過程依靠硬件實(shí)現(xiàn)每個(gè)指令的執(zhí)行過程依靠硬件實(shí)現(xiàn)5 5/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求1、指令在計(jì)算機(jī)系統(tǒng)中的地位、指令在計(jì)算機(jī)系統(tǒng)中的地位(1)是軟件和硬件分界面的一個(gè)主要標(biāo)志)是軟件和硬件分界面的一個(gè)主要標(biāo)志 硬件設(shè)計(jì)人員采用各種手段實(shí)現(xiàn)它;硬件設(shè)計(jì)人員采用各種手段實(shí)現(xiàn)它; 軟件設(shè)計(jì)人員則利用它編制各種各樣軟件設(shè)計(jì)人員則利用它編制各種各樣的系統(tǒng)軟件和應(yīng)用軟件的系統(tǒng)軟件
5、和應(yīng)用軟件(2)是硬件設(shè)計(jì)人員和軟件設(shè)計(jì)人員之間)是硬件設(shè)計(jì)人員和軟件設(shè)計(jì)人員之間的分界面,也是他們之間溝通的橋梁。的分界面,也是他們之間溝通的橋梁。6 6/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求2、指令系統(tǒng)基本概念、指令系統(tǒng)基本概念 指令:就是要計(jì)算機(jī)執(zhí)行某種操作的命令。從指令:就是要計(jì)算機(jī)執(zhí)行某種操作的命令。從計(jì)算機(jī)組成的層次結(jié)構(gòu)來說,計(jì)算機(jī)的指令有計(jì)算機(jī)組成的層次結(jié)構(gòu)來說,計(jì)算機(jī)的指令有微指令、機(jī)器指令和宏指令之分。微指令、機(jī)器指令和宏指令之分。 微指令:是微程序級(jí)的命令,它屬于硬件;微指令:是微程序級(jí)的命
6、令,它屬于硬件; 宏指令:由若干條機(jī)器指令組成的軟件指令,宏指令:由若干條機(jī)器指令組成的軟件指令,它屬于軟件(可理解為高級(jí)語言代碼);它屬于軟件(可理解為高級(jí)語言代碼); 機(jī)器指令:介于微指令與宏指令之間,通常簡機(jī)器指令:介于微指令與宏指令之間,通常簡稱為指令,每一條指令可完成一個(gè)獨(dú)立的算術(shù)稱為指令,每一條指令可完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算操作。運(yùn)算或邏輯運(yùn)算操作。 本章本章所討論的指令,特指所討論的指令,特指機(jī)器指令機(jī)器指令。7 7/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求 一臺(tái)計(jì)算機(jī)中所有機(jī)器指令的集合,稱
7、為一臺(tái)計(jì)算機(jī)中所有機(jī)器指令的集合,稱為這臺(tái)計(jì)算機(jī)的這臺(tái)計(jì)算機(jī)的指令系統(tǒng)指令系統(tǒng)。 指令系統(tǒng)是表征一臺(tái)計(jì)算機(jī)性能的重指令系統(tǒng)是表征一臺(tái)計(jì)算機(jī)性能的重要因素,它的格式與功能不僅直接影要因素,它的格式與功能不僅直接影響到機(jī)器的硬件結(jié)構(gòu),而且也直接影響到機(jī)器的硬件結(jié)構(gòu),而且也直接影響到系統(tǒng)軟件,影響到機(jī)器的適用范響到系統(tǒng)軟件,影響到機(jī)器的適用范圍。圍。8 8/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求 系列計(jì)算機(jī)系列計(jì)算機(jī) 基本指令系統(tǒng)相同、基本體系結(jié)構(gòu)相基本指令系統(tǒng)相同、基本體系結(jié)構(gòu)相同的一系列計(jì)算機(jī)。同的一系列計(jì)算機(jī)。
8、解決了各機(jī)種的軟件兼容問題解決了各機(jī)種的軟件兼容問題9 9/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求3、發(fā)展情況、發(fā)展情況 復(fù)雜指令系統(tǒng)計(jì)算機(jī),簡稱復(fù)雜指令系統(tǒng)計(jì)算機(jī),簡稱CISC。VLSI技術(shù)的發(fā)展使得硬件及指令變得技術(shù)的發(fā)展使得硬件及指令變得復(fù)雜,內(nèi)容豐富。但是如此龐大的指復(fù)雜,內(nèi)容豐富。但是如此龐大的指令系統(tǒng)不但使計(jì)算機(jī)的研制周期變長,令系統(tǒng)不但使計(jì)算機(jī)的研制周期變長,難以保證正確性,不易調(diào)試維護(hù),而難以保證正確性,不易調(diào)試維護(hù),而且由于采用了大量使用頻率很低的復(fù)且由于采用了大量使用頻率很低的復(fù)雜指令而造成硬
9、件資源浪費(fèi)。雜指令而造成硬件資源浪費(fèi)。VLSI:Very Large Scale Integration Complex Instruction Set Computer 1010/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院reduced instruction set computer 4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求 精簡指令系統(tǒng)計(jì)算機(jī):簡稱精簡指令系統(tǒng)計(jì)算機(jī):簡稱RISC,對(duì),對(duì)復(fù)雜指令系統(tǒng)的精簡,便于復(fù)雜指令系統(tǒng)的精簡,便于VLSI技術(shù)技術(shù)實(shí)現(xiàn)。實(shí)現(xiàn)。1111/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.1 指令系統(tǒng)
10、的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求4、為什么會(huì)出現(xiàn)、為什么會(huì)出現(xiàn)CISC到到RISC的轉(zhuǎn)變?的轉(zhuǎn)變? 2/8規(guī)則:規(guī)則: 20%的指令是常用指令,但在程序的指令是常用指令,但在程序中出現(xiàn)的頻率卻占到中出現(xiàn)的頻率卻占到80% 為了降低控制器設(shè)計(jì)難度為了降低控制器設(shè)計(jì)難度1212/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求5、對(duì)指令系統(tǒng)的要求、對(duì)指令系統(tǒng)的要求 完備性完備性: 指令的功能完備,最基本、最常用功能所指令的功能完備,最基本、最常用功能所對(duì)應(yīng)的的指令已定義好,并有了其硬件實(shí)對(duì)應(yīng)的的指令已定義好,并有了其硬
11、件實(shí)現(xiàn)電路。現(xiàn)電路。 例如,乘除運(yùn)算指令、浮點(diǎn)運(yùn)算指令可直例如,乘除運(yùn)算指令、浮點(diǎn)運(yùn)算指令可直接用硬件來實(shí)現(xiàn),也可用基本指令編寫的接用硬件來實(shí)現(xiàn),也可用基本指令編寫的程序來實(shí)現(xiàn)。采用硬件指令的目的是提高程序來實(shí)現(xiàn)。采用硬件指令的目的是提高程序執(zhí)行速度,便于用戶編寫程序。程序執(zhí)行速度,便于用戶編寫程序。1313/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求 有效性有效性: 有效性是指利用該指令系統(tǒng)所編寫的有效性是指利用該指令系統(tǒng)所編寫的程序能夠高效率地運(yùn)行。程序能夠高效率地運(yùn)行。 高效率主要表現(xiàn)在程序占據(jù)存儲(chǔ)空間高效率主
12、要表現(xiàn)在程序占據(jù)存儲(chǔ)空間小、執(zhí)行速度快。一般來說,一個(gè)功小、執(zhí)行速度快。一般來說,一個(gè)功能更強(qiáng)、更完善的指令系統(tǒng),必定有能更強(qiáng)、更完善的指令系統(tǒng),必定有更好的有效性。更好的有效性。1414/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求 規(guī)整性規(guī)整性:包含三方面。:包含三方面。 對(duì)稱性對(duì)稱性是指:在指令系統(tǒng)中是指:在指令系統(tǒng)中所有的寄存器和所有的寄存器和存儲(chǔ)器單元都可同等對(duì)待存儲(chǔ)器單元都可同等對(duì)待,所有的指令都可,所有的指令都可使用各種尋址方式;使用各種尋址方式; 勻齊性勻齊性是指:一種操作性質(zhì)的指令可以支持是指:一種操
13、作性質(zhì)的指令可以支持各種數(shù)據(jù)類型,如算術(shù)運(yùn)算指令可支持字節(jié)、各種數(shù)據(jù)類型,如算術(shù)運(yùn)算指令可支持字節(jié)、字、雙字整數(shù)的運(yùn)算,十進(jìn)制數(shù)運(yùn)算和單、字、雙字整數(shù)的運(yùn)算,十進(jìn)制數(shù)運(yùn)算和單、雙精度浮點(diǎn)數(shù)運(yùn)算等;雙精度浮點(diǎn)數(shù)運(yùn)算等; 指令格式和數(shù)據(jù)格式的指令格式和數(shù)據(jù)格式的一致性一致性是指:指令長是指:指令長度和數(shù)據(jù)長度有一定的關(guān)系,以方便處理和度和數(shù)據(jù)長度有一定的關(guān)系,以方便處理和存取。例如指令長度和數(shù)據(jù)長度通常是字節(jié)存取。例如指令長度和數(shù)據(jù)長度通常是字節(jié)長度的整數(shù)倍。長度的整數(shù)倍。1515/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能
14、要求 兼容性兼容性: 為系列機(jī)提供支持:系列機(jī)各機(jī)種之為系列機(jī)提供支持:系列機(jī)各機(jī)種之間具有相同的基本結(jié)構(gòu)和共同的基本間具有相同的基本結(jié)構(gòu)和共同的基本指令集,因而指令系統(tǒng)是兼容的,即指令集,因而指令系統(tǒng)是兼容的,即各機(jī)種上基本軟件可以通用。各機(jī)種上基本軟件可以通用。 但由于不同機(jī)種推出的時(shí)間不同,在但由于不同機(jī)種推出的時(shí)間不同,在結(jié)構(gòu)和性能上有差異,做到所有軟件結(jié)構(gòu)和性能上有差異,做到所有軟件都完全兼容是不可能的,只能做到都完全兼容是不可能的,只能做到“向上兼容向上兼容”,即低檔機(jī)上運(yùn)行的軟,即低檔機(jī)上運(yùn)行的軟件可以在高檔機(jī)上運(yùn)行。件可以在高檔機(jī)上運(yùn)行。1616/94/94陜西師范大學(xué)陜西師范
15、大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求 6、計(jì)算機(jī)語言與硬件結(jié)構(gòu)的關(guān)系、計(jì)算機(jī)語言與硬件結(jié)構(gòu)的關(guān)系 什么是程序設(shè)計(jì)?什么是程序設(shè)計(jì)? 程序設(shè)計(jì)所使用的工具程序設(shè)計(jì)所使用的工具-計(jì)算機(jī)語言計(jì)算機(jī)語言 計(jì)算機(jī)高級(jí)語言產(chǎn)生的基礎(chǔ)計(jì)算機(jī)高級(jí)語言產(chǎn)生的基礎(chǔ) 機(jī)器語言與指令系統(tǒng)密切相關(guān)機(jī)器語言與指令系統(tǒng)密切相關(guān) 在指令系統(tǒng)基礎(chǔ)上產(chǎn)生機(jī)器語言在指令系統(tǒng)基礎(chǔ)上產(chǎn)生機(jī)器語言 機(jī)器語言的助記符形式即匯編語言機(jī)器語言的助記符形式即匯編語言 指令系統(tǒng)直接操作硬件指令系統(tǒng)直接操作硬件 高級(jí)語言的硬件無關(guān)性高級(jí)語言的硬件無關(guān)性1717/94/94陜西師范大學(xué)陜西師范大學(xué)
16、 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求低級(jí)語言與高級(jí)語言關(guān)系低級(jí)語言與高級(jí)語言關(guān)系比較內(nèi)容比較內(nèi)容高級(jí)語言高級(jí)語言低級(jí)語言低級(jí)語言1對(duì)程序員的訓(xùn)練要求對(duì)程序員的訓(xùn)練要求(1)通用算法通用算法(2)語言規(guī)則語言規(guī)則(3)硬件知識(shí)硬件知識(shí)有有較少較少不要不要有有較多較多要要2對(duì)機(jī)器獨(dú)立的程度對(duì)機(jī)器獨(dú)立的程度獨(dú)立獨(dú)立不獨(dú)立不獨(dú)立3編制程序的難易程度編制程序的難易程度易易難難4編制程序所需時(shí)間編制程序所需時(shí)間短短較長較長5程序執(zhí)行時(shí)間程序執(zhí)行時(shí)間較長較長短短6編譯過程中對(duì)計(jì)算機(jī)資編譯過程中對(duì)計(jì)算機(jī)資源的要求源的要求多多少少1818/94/94陜西師范大學(xué)
17、陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.2 指令格式指令格式 指令中包含以下信息指令中包含以下信息 做什么操作做什么操作 如果需要操作數(shù),從哪里取如果需要操作數(shù),從哪里取 結(jié)果送哪里結(jié)果送哪里 下一條指令從哪里取下一條指令從哪里取 所以指令格式包括兩個(gè)基本內(nèi)容:所以指令格式包括兩個(gè)基本內(nèi)容:操作碼字段操作碼字段地址碼字段地址碼字段指令的操作特性與功能指令的操作特性與功能 操作數(shù)地址操作數(shù)地址1919/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院指令字長決定于指令字長決定于操作碼的長度操作碼的長度操作數(shù)地址的長度操作數(shù)地址的長度操作數(shù)地址的個(gè)數(shù)操作數(shù)地址的個(gè)數(shù)4.2 指
18、令格式指令格式指令字:就是指令,表示一條指令的機(jī)器字。指令字:就是指令,表示一條指令的機(jī)器字。指令格式中指令長度的定義:指令格式中指令長度的定義:2020/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.2 指令格式指令格式 影響計(jì)算機(jī)指令格式的因素影響計(jì)算機(jī)指令格式的因素 機(jī)器的字長機(jī)器的字長 存儲(chǔ)器的容量存儲(chǔ)器的容量 指令的功能指令的功能 假如一共有假如一共有100個(gè)基本操作需要定義,則個(gè)基本操作需要定義,則需要定義操作碼至少為多少位?需要定義操作碼至少為多少位?2121/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院教材勘誤:教材勘誤:P116最后一
19、段最后一段第一行:第一行:“對(duì)于一個(gè)機(jī)器的指令系統(tǒng),對(duì)于一個(gè)機(jī)器的指令系統(tǒng),在指令字中,操作碼字段和在指令字中,操作碼字段和地址地址碼字碼字段長度通常是固定段長度通常是固定的。的。2222/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.2 指令格式指令格式一一、操作碼、操作碼 設(shè)計(jì)計(jì)算機(jī)時(shí),對(duì)指令系統(tǒng)的每一條指令都要規(guī)設(shè)計(jì)計(jì)算機(jī)時(shí),對(duì)指令系統(tǒng)的每一條指令都要規(guī)定一個(gè)操作碼。定一個(gè)操作碼。 指令的操作碼指令的操作碼OP表示該指令應(yīng)進(jìn)行什么性質(zhì)的表示該指令應(yīng)進(jìn)行什么性質(zhì)的操作,如進(jìn)行加法、減法、乘法、除法、取數(shù)、操作,如進(jìn)行加法、減法、乘法、除法、取數(shù)、存數(shù)等等。不同的指令用
20、操作碼字段的不同編碼存數(shù)等等。不同的指令用操作碼字段的不同編碼來表示,每一種編碼代表一種指令。來表示,每一種編碼代表一種指令。2323/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.2 指令格式指令格式 操作碼字段長度受指令系統(tǒng)規(guī)模影響操作碼字段長度受指令系統(tǒng)規(guī)模影響 等長操作碼等長操作碼(指令規(guī)整,譯碼簡單)(指令規(guī)整,譯碼簡單) 例如例如IBM 370機(jī),該機(jī)字長機(jī),該機(jī)字長32位,位,16個(gè)通用寄存器個(gè)通用寄存器R0R15,共有,共有183條指令條指令;指令的長度可以分為;指令的長度可以分為16位、位、32位和位和48位等幾種,所有指令位等幾種,所有指令的的操作碼都
21、是操作碼都是8位位固定長度。固定長度。 固定長度編碼的主要缺點(diǎn)是:信息固定長度編碼的主要缺點(diǎn)是:信息的冗余極大,使程序的總長度增加。的冗余極大,使程序的總長度增加。2424/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.2 指令格式指令格式 變長操作碼變長操作碼 單片機(jī)比較常見單片機(jī)比較常見 是針對(duì)指令字長做擴(kuò)展是針對(duì)指令字長做擴(kuò)展 能夠表示更多的操作種類和更大的尋址、存能夠表示更多的操作種類和更大的尋址、存儲(chǔ)空間儲(chǔ)空間 因?yàn)榱艚o地址碼的空間增大了因?yàn)榱艚o地址碼的空間增大了eg. 00 01 100 101 110 11102525/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)
22、算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院二、地址碼二、地址碼 按指令中的地址碼個(gè)數(shù)分為:按指令中的地址碼個(gè)數(shù)分為:三地址指令三地址指令二地址指令二地址指令單地址指令單地址指令零地址指令零地址指令2626/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院二、地址碼二、地址碼 三地址指令三地址指令 指令格式如下:指令格式如下: 操作碼操作碼 第一操作數(shù)第一操作數(shù)A1 第二操作數(shù)第二操作數(shù)A2 結(jié)果結(jié)果A3 功能描述:功能描述: (A1)(A2)A3 操作數(shù)可以是存儲(chǔ)器地址或者寄存器操作數(shù)可以是存儲(chǔ)器地址或者寄存器地址地址2727/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院二
23、、地址碼二、地址碼 二地址指令二地址指令 其格式如下:其格式如下: 操作碼操作碼 第一地址碼第一地址碼A1 第二地址碼第二地址碼A2 功能描述:功能描述: (A1)(A2)A1 二地址指令在計(jì)算機(jī)中得到了廣泛的二地址指令在計(jì)算機(jī)中得到了廣泛的應(yīng)用應(yīng)用2828/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院二、地址碼二、地址碼二地址指令根據(jù)操作數(shù)的物理位置可以二地址指令根據(jù)操作數(shù)的物理位置可以分為:分為: SS 存儲(chǔ)器存儲(chǔ)器-存儲(chǔ)器類型存儲(chǔ)器類型 RS 寄存器寄存器-存儲(chǔ)器類型存儲(chǔ)器類型 RR 寄存器寄存器-寄存器類型寄存器類型 地址碼多類型混用能極大提高程序地址碼多類型混用能
24、極大提高程序靈活性,增強(qiáng)指令功能。靈活性,增強(qiáng)指令功能。慢慢快快2929/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院二、地址碼二、地址碼 一地址指令一地址指令 指令格式為:指令格式為: 操作碼操作碼 地址碼地址碼A1 功能描述:功能描述: (AC)(A1) AC,AC值更新值更新 AC是是隱含的地址碼隱含的地址碼-累加寄存器累加寄存器 單操作數(shù)運(yùn)算指令,如單操作數(shù)運(yùn)算指令,如“+1”、“-1”、“求求反反” 指令中只給出一個(gè)源操作數(shù)的地址指令中只給出一個(gè)源操作數(shù)的地址3030/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院二、地址碼二、地址碼 零地址指令
25、零地址指令 其格式為:其格式為: 操作碼操作碼 “停機(jī)停機(jī)”、“空操作空操作”、“清除清除”等控等控制類指令。制類指令。3131/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院三、指令字長度三、指令字長度 先弄清先弄清2個(gè)概念:個(gè)概念: 指令字長度:指令包含的位數(shù)指令字長度:指令包含的位數(shù) 機(jī)器字長:計(jì)算機(jī)能直接處理的二進(jìn)制機(jī)器字長:計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù)。數(shù)據(jù)的位數(shù)。 單字長指令:指令字長單字長指令:指令字長=機(jī)器字長機(jī)器字長 半字長指令:指令字長半字長指令:指令字長=半個(gè)機(jī)器字長半個(gè)機(jī)器字長 雙字長指令:指令字長雙字長指令:指令字長=2機(jī)器字長機(jī)器字長3232
26、/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院 單字長、半字長指令單字長、半字長指令: 長度有限,功能簡單,能力有限長度有限,功能簡單,能力有限 多字長指令多字長指令的優(yōu)缺點(diǎn)的優(yōu)缺點(diǎn) 優(yōu)點(diǎn)提供足夠的地址位來解決訪問內(nèi)優(yōu)點(diǎn)提供足夠的地址位來解決訪問內(nèi)存任何單元的尋址問題存任何單元的尋址問題 ; 缺點(diǎn)必須兩次或多次訪問內(nèi)存以取出缺點(diǎn)必須兩次或多次訪問內(nèi)存以取出一整條指令,降低了一整條指令,降低了CPU的運(yùn)算速度,的運(yùn)算速度,又占用了更多的存儲(chǔ)空間。又占用了更多的存儲(chǔ)空間。3333/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院四、指令字等長四、指令字等長 在一
27、個(gè)指令系統(tǒng)中能否出現(xiàn)長度不等的在一個(gè)指令系統(tǒng)中能否出現(xiàn)長度不等的指令?指令? 答:可以等長,也可變長答:可以等長,也可變長 指令系統(tǒng)中指令采用指令系統(tǒng)中指令采用等長指令等長指令的特點(diǎn):的特點(diǎn):指令字結(jié)構(gòu)簡單、處理方便指令字結(jié)構(gòu)簡單、處理方便 采用采用非等長指令非等長指令的的特點(diǎn):的的特點(diǎn): 結(jié)構(gòu)靈活,但控制較復(fù)雜結(jié)構(gòu)靈活,但控制較復(fù)雜 3434/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院五、指令助記符五、指令助記符 機(jī)器語言建立在指令系統(tǒng)基礎(chǔ)之上機(jī)器語言建立在指令系統(tǒng)基礎(chǔ)之上 用機(jī)器語言編寫程序太繁瑣用機(jī)器語言編寫程序太繁瑣 解決方法:用解決方法:用3、4個(gè)英文字母個(gè)英文
28、字母助記助記符來表示指令操作碼或者寄存器、存儲(chǔ)符來表示指令操作碼或者寄存器、存儲(chǔ)器地址器地址用用34個(gè)英文字母來表示操作碼,一般為英個(gè)英文字母來表示操作碼,一般為英文縮寫(文縮寫(P118)不同的計(jì)算機(jī)系統(tǒng),規(guī)定不一樣不同的計(jì)算機(jī)系統(tǒng),規(guī)定不一樣匯編代碼執(zhí)行時(shí)必須用匯編程序翻譯成機(jī)器匯編代碼執(zhí)行時(shí)必須用匯編程序翻譯成機(jī)器語言代碼,即一條條具體的指令語言代碼,即一條條具體的指令3535/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院 助記符舉例助記符舉例3636/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院 舉例:舉例: “將寄存器將寄存器BX的內(nèi)容送到的內(nèi)
29、容送到AX中中” 機(jī)器碼是:機(jī)器碼是:000011 01110 11000 操作碼操作碼 2個(gè)寄存器地址個(gè)寄存器地址 MOV AX,BX3737/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院六、指令格式舉例六、指令格式舉例 8位微型計(jì)算機(jī)的指令格式位微型計(jì)算機(jī)的指令格式 如如8088,字長,字長8位,指令結(jié)構(gòu)可變位,指令結(jié)構(gòu)可變 包括單字長指令、雙字長指令和三字長指令包括單字長指令、雙字長指令和三字長指令 操作碼長度固定操作碼長度固定 PDP/11系列機(jī)的指令格式系列機(jī)的指令格式 字長字長16位位 單字長指令單字長指令 操作碼字段不固定操作碼字段不固定3838/94/94陜
30、西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院七、七、 Pentium指令格式指令格式 指令長度可變,最短指令長度可變,最短1個(gè)字節(jié),最長個(gè)字節(jié),最長12個(gè)字節(jié),典型的個(gè)字節(jié),典型的CISC指令系統(tǒng)指令系統(tǒng) 由可選前綴(由可選前綴(04)、操作碼()、操作碼(12)、)、一個(gè)由一個(gè)由mod-R/M字節(jié)和一個(gè)字節(jié)和一個(gè)SIB(Scale Index Base)比例變址字)比例變址字節(jié)組成的地址指定器節(jié)組成的地址指定器、一個(gè)可選的位移量(、一個(gè)可選的位移量(04)和一)和一個(gè)可選的立即數(shù)字段(個(gè)可選的立即數(shù)字段(04)構(gòu)成。)構(gòu)成。指令前綴指令前綴段取代段取代操作數(shù)長度取代操作數(shù)長度取代地址
31、長度取代地址長度取代操作碼操作碼ModReg或操作碼或操作碼R/MSIB位移量位移量立即數(shù)立即數(shù)3939/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院七、七、 Pentium指令格式指令格式 指令前綴中的重復(fù)前綴指定串的重復(fù)操作,這指令前綴中的重復(fù)前綴指定串的重復(fù)操作,這樣使樣使Pentium處理串比軟循環(huán)快得多。處理串比軟循環(huán)快得多。 LOCK前綴用于多前綴用于多CPU環(huán)境中對(duì)共享存儲(chǔ)器的環(huán)境中對(duì)共享存儲(chǔ)器的排他性訪問排他性訪問 段取代用于改變默認(rèn)段寄存器的情況段取代用于改變默認(rèn)段寄存器的情況 操作數(shù)長度取代和地址長度取代用于在保護(hù)模操作數(shù)長度取代和地址長度取代用于在保護(hù)
32、模式下決定操作數(shù)和指令的長度式下決定操作數(shù)和指令的長度 以下以下4個(gè)指令前綴都是可選的,分別為個(gè)指令前綴都是可選的,分別為0或或1個(gè)個(gè)字節(jié)字節(jié)指令前綴指令前綴段取代段取代操作數(shù)長度取代操作數(shù)長度取代地址長度取代地址長度取代4040/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院七、七、 Pentium指令格式指令格式 操作碼是必須的,操作碼是必須的,12個(gè)字節(jié)個(gè)字節(jié) Mod、Reg、R/M為共為共1個(gè)字節(jié),是可選的。個(gè)字節(jié),是可選的。 mod-R/M指定的操作數(shù)是在指定的操作數(shù)是在R中還是在中還是在M中。中。 mod(2位)位)R/M(3位)的位)的32種值構(gòu)成了種值構(gòu)成了8
33、種寄存器方式和種寄存器方式和24種變址方式(參考匯編語種變址方式(參考匯編語言教材);言教材); Reg或或OP(3位)指定另一個(gè)操作數(shù)(寄存位)指定另一個(gè)操作數(shù)(寄存器)或用作器)或用作OP的補(bǔ)充。的補(bǔ)充。操作碼操作碼ModReg或操作碼或操作碼R/MSIB位移量位移量立即數(shù)立即數(shù)1個(gè)字節(jié)個(gè)字節(jié)1個(gè)字節(jié)個(gè)字節(jié)4141/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院七、七、 Pentium指令格式指令格式 S、I、B共共1個(gè)字節(jié),分別是比例系數(shù)、變址寄個(gè)字節(jié),分別是比例系數(shù)、變址寄存器號(hào)、基址寄存器號(hào),可選。存器號(hào)、基址寄存器號(hào),可選。mod-R/M中的中的某些編碼要求某些編
34、碼要求SIB字節(jié)來完成尋址方式的指定;字節(jié)來完成尋址方式的指定; SS(2)指定比例變換的因子,)指定比例變換的因子, Index(2)指定變址寄存器,)指定變址寄存器, Base(3)指定基址寄存器)指定基址寄存器 位移量:可以是位移量:可以是0,1,2,4個(gè)字節(jié)個(gè)字節(jié) 立即數(shù):可以是立即數(shù):可以是0,1,2,4個(gè)字節(jié)個(gè)字節(jié)操作碼操作碼ModReg或操作碼或操作碼R/MSIB位移量位移量立即數(shù)立即數(shù)4242/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院例例1 某機(jī)器(可以是某機(jī)器(可以是8086,8088)是)是16位機(jī),位機(jī),指令格式如下所示,指令格式如下所示,OP為操
35、作碼,分析為操作碼,分析指令格式特點(diǎn)。指令格式特點(diǎn)。源寄存器源寄存器目標(biāo)寄存器目標(biāo)寄存器OP15974301) 單字長,二地址單字長,二地址2) OP可以指定?個(gè)指令可以指定?個(gè)指令3) 寄存器數(shù)目?寄存器數(shù)目?4) 指令類型?指令類型?RR5) 常用于算術(shù)邏輯運(yùn)算常用于算術(shù)邏輯運(yùn)算4343/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院例例2 某機(jī)器(可以是某機(jī)器(可以是8086,8088)是)是16位機(jī),位機(jī),指令格式如下所示,指令格式如下所示,OP為操作碼,分析為操作碼,分析指令格式特點(diǎn)。指令格式特點(diǎn)。源寄存器源寄存器變址寄存器變址寄存器OP15107430位移量位移量
36、1)雙字長,二地址:寄存器和存儲(chǔ)器雙字長,二地址:寄存器和存儲(chǔ)器2)OP可以指定?個(gè)指令可以指定?個(gè)指令3)寄存器數(shù)目?寄存器數(shù)目?4)存儲(chǔ)器大???存儲(chǔ)器大???5)指令類型?指令類型?RS4444/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院第四章第四章 指令系統(tǒng)指令系統(tǒng)本章主要內(nèi)容:本章主要內(nèi)容: 4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求 4.2 指令格式指令格式 4.3 操作數(shù)類型操作數(shù)類型 4.4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式 4.5 典型指令典型指令4545/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.3 操作數(shù)類
37、型操作數(shù)類型 剛才主要介紹操作碼剛才主要介紹操作碼 地址碼給出了指令的操作對(duì)象地址碼給出了指令的操作對(duì)象 操作對(duì)象有多種數(shù)據(jù)類型操作對(duì)象有多種數(shù)據(jù)類型4646/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院一般操作數(shù)類型一般操作數(shù)類型 地址數(shù)據(jù)地址數(shù)據(jù):地址實(shí)際上也是一種形式的數(shù)地址實(shí)際上也是一種形式的數(shù)據(jù)。據(jù)。 數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù):計(jì)算機(jī)中普遍使用的三種類型計(jì)算機(jī)中普遍使用的三種類型的數(shù)值數(shù)據(jù)是:定點(diǎn)、浮點(diǎn)、的數(shù)值數(shù)據(jù)是:定點(diǎn)、浮點(diǎn)、BCD碼。碼。 字符數(shù)據(jù)字符數(shù)據(jù):文本數(shù)據(jù)或字符串,目前廣泛文本數(shù)據(jù)或字符串,目前廣泛使用使用ASCII碼,還有漢字編碼系統(tǒng)等。碼,還有漢字編碼
38、系統(tǒng)等。 邏輯數(shù)據(jù)邏輯數(shù)據(jù):一個(gè)字由若干位二進(jìn)制一個(gè)字由若干位二進(jìn)制bit項(xiàng)組項(xiàng)組成,每個(gè)成,每個(gè)bit的值可以是的值可以是1或或0。當(dāng)數(shù)據(jù)以。當(dāng)數(shù)據(jù)以這種方式看待時(shí),稱為邏輯性數(shù)據(jù)。這種方式看待時(shí),稱為邏輯性數(shù)據(jù)。4747/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.3 操作數(shù)類型操作數(shù)類型 Pentium數(shù)據(jù)類型數(shù)據(jù)類型(見見P122表表4.6) 常規(guī)數(shù)據(jù)類型常規(guī)數(shù)據(jù)類型 整數(shù)數(shù)據(jù)類型整數(shù)數(shù)據(jù)類型 .4848/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.3 操作數(shù)類型操作數(shù)類型 Power PC數(shù)據(jù)類型數(shù)據(jù)類型 無符號(hào)字節(jié)無符號(hào)字節(jié) 無符號(hào)半
39、字無符號(hào)半字 有符號(hào)半字有符號(hào)半字 P1234949/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.3 操作數(shù)類型操作數(shù)類型 回顧高級(jí)程序設(shè)計(jì)語言回顧高級(jí)程序設(shè)計(jì)語言C所包含的多種數(shù)所包含的多種數(shù)據(jù)類型:據(jù)類型: Int double Long Short Char String 與剛提到的指令操作數(shù)類型有什么關(guān)系?與剛提到的指令操作數(shù)類型有什么關(guān)系?5050/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式 思考問題:思考問題: 如何獲取本指令中指定的操作數(shù)?如何獲取本指令中指定的操作數(shù)? 如何獲得下一條指
40、令的地址?如何獲得下一條指令的地址? 尋址尋址 尋址尋址方式是指方式是指CPU根據(jù)指令中給出的地根據(jù)指令中給出的地址碼字段尋找相應(yīng)的操作對(duì)象的方式。址碼字段尋找相應(yīng)的操作對(duì)象的方式。 尋址包括兩類:指令尋址與操作數(shù)尋址尋址包括兩類:指令尋址與操作數(shù)尋址5151/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式 指令指令的尋址方式的尋址方式 順序方式順序方式 PC 跳躍方式跳躍方式標(biāo)記黃色五星表示標(biāo)記黃色五星表示此處內(nèi)容可觀看教此處內(nèi)容可觀看教材配套的材配套的CAI動(dòng)畫動(dòng)畫5252/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院
41、計(jì)算機(jī)科學(xué)學(xué)院4.4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式 操作數(shù)操作數(shù)的尋址方式的尋址方式 操作數(shù)通常放在哪兒呢?操作數(shù)通常放在哪兒呢? 操作數(shù)的可能位置:操作數(shù)的可能位置: 指令中;指令中; 寄存器;寄存器; 主存儲(chǔ)器中;主存儲(chǔ)器中; I/O設(shè)備的端口中設(shè)備的端口中5353/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式 根據(jù)操作數(shù)放在不同的地方,從而派生根據(jù)操作數(shù)放在不同的地方,從而派生各種不同的尋址方式,往往不同的計(jì)算各種不同的尋址方式,往往不同的計(jì)算機(jī)具有不同的尋址方式。機(jī)具有不同的尋址方式。 形成操作數(shù)有效地址的
42、方法形成操作數(shù)有效地址的方法 eg: 如無變址、間址,形式地址(也叫如無變址、間址,形式地址(也叫偏移量)就是有效地址偏移量)就是有效地址操作碼操作碼OP變址變址X間址間址I形式地址形式地址A5454/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院主要有:主要有:相對(duì)尋址相對(duì)尋址基址尋址基址尋址變址尋址變址尋址相對(duì)尋址相對(duì)尋址基址尋址基址尋址變址尋址變址尋址段尋址段尋址相對(duì)尋址相對(duì)尋址基址尋址基址尋址變址尋址變址尋址段尋址段尋址5555/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院1、隱含尋址、隱含尋址 指令中隱含著操作數(shù)的地址指令中隱含著操作數(shù)的地址 E
43、g.如某些運(yùn)算(單地址碼的指令),隱含了如某些運(yùn)算(單地址碼的指令),隱含了累加器累加器AC作為源和目的寄存器作為源和目的寄存器 Eg.如如8086匯編中的匯編中的STC指令,設(shè)置標(biāo)志寄存指令,設(shè)置標(biāo)志寄存器的器的C為為1 5656/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院2、立即尋址、立即尋址 立即尋址立即尋址 立即數(shù)包含在指令中。立即數(shù)包含在指令中。指令格式:指令格式:5757/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院2、立即尋址、立即尋址 特點(diǎn):特點(diǎn): 高速高速 操作數(shù)不能更改操作數(shù)不能更改,缺靈活性缺靈活性 eg.程序中對(duì)學(xué)生分成程序中對(duì)
44、學(xué)生分成5組,不能修改組,不能修改 操作數(shù)大小受限(為什么?)操作數(shù)大小受限(為什么?) 常用于:常用于: 賦初值賦初值 定義常量定義常量5858/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院3、直接尋址直接尋址 指令中地址碼字段給出的地址指令中地址碼字段給出的地址A就是操就是操作數(shù)的作數(shù)的有效地址有效地址EA(Effective Address),即即EAA,D=(A)5959/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院3、直接尋址直接尋址 特點(diǎn):特點(diǎn): 簡單快速,便于硬件實(shí)現(xiàn)簡單快速,便于硬件實(shí)現(xiàn) 主存容量的增長引發(fā)問題:主存容量的增長引發(fā)問題:
45、指令長度不夠用指令長度不夠用6060/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4、間接尋址間接尋址 尋址過程:如圖尋址過程:如圖 操作數(shù)的有效地址的計(jì)算公式為:操作數(shù)的有效地址的計(jì)算公式為:EA(A)D=(A)6161/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4、間接尋址、間接尋址 特點(diǎn):特點(diǎn): 地址在主存儲(chǔ)器中,可以被靈活的修地址在主存儲(chǔ)器中,可以被靈活的修改改 形參實(shí)參,傳值、傳地址形參實(shí)參,傳值、傳地址 操作靈活操作靈活 兩次訪存增加時(shí)間耗費(fèi)兩次訪存增加時(shí)間耗費(fèi)6262/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院5、寄
46、存器尋址、寄存器尋址 操作數(shù)保存在寄存器中,即操作數(shù)保存在寄存器中,即 EA=Ri D=(Ri) 6363/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院5、寄存器尋址、寄存器尋址特點(diǎn):特點(diǎn):(1) 快。比內(nèi)存訪問快快。比內(nèi)存訪問快(2)寄存器數(shù)量少:寄存器數(shù)量少:地址碼短地址碼短 可用空間少可用空間少6464/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院6、寄存器間接尋址、寄存器間接尋址 操作數(shù)放在主存儲(chǔ)器中,操作數(shù)放在主存儲(chǔ)器中, 而操作數(shù)的地址放在某一通用寄存器中而操作數(shù)的地址放在某一通用寄存器中 EA=(Ri) D=(Ri)6565/94/94陜西
47、師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院6、寄存器間接尋址、寄存器間接尋址 這樣尋址有何優(yōu)勢:這樣尋址有何優(yōu)勢: 間接尋址多次訪存,寄存器間接尋址間接尋址多次訪存,寄存器間接尋址減少訪存次數(shù)減少訪存次數(shù) 指令中的地址短指令中的地址短 使用較為廣泛使用較為廣泛6666/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院7、偏移尋址、偏移尋址 直接尋址直接尋址+寄存器間接尋址寄存器間接尋址=偏移尋址偏移尋址 EA= (Ri) + A Ri可能是某個(gè)隱含寄存器可能是某個(gè)隱含寄存器6767/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院7、偏移尋址、偏移尋址-
48、相對(duì)尋址相對(duì)尋址 由程序計(jì)數(shù)器由程序計(jì)數(shù)器PC提供基準(zhǔn)地址提供基準(zhǔn)地址 指令地址碼指令地址碼=偏移量偏移量D EA(PC)D。6868/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院7、偏移尋址、偏移尋址-相對(duì)尋址相對(duì)尋址 特點(diǎn):特點(diǎn): 程序模塊內(nèi)可使用相對(duì)地址程序模塊內(nèi)可使用相對(duì)地址 無需表明真實(shí)的內(nèi)存地址無需表明真實(shí)的內(nèi)存地址 增加靈活性增加靈活性6969/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院8、偏移尋址、偏移尋址-基址基址尋址尋址 約定約定基址寄存器基址寄存器Rb 指令地址碼給出偏移量指令地址碼給出偏移量D EA(Rb)D7070/94/94
49、陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院8、偏移尋址、偏移尋址-基址尋址基址尋址 特征:特征: 基準(zhǔn)地址出現(xiàn)在基址寄存器中基準(zhǔn)地址出現(xiàn)在基址寄存器中 偏移量出現(xiàn)在指令中偏移量出現(xiàn)在指令中7171/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院9、偏移尋址、偏移尋址-變址變址尋址尋址 基準(zhǔn)地址出現(xiàn)在指令中基準(zhǔn)地址出現(xiàn)在指令中 偏移量出現(xiàn)在寄存器偏移量出現(xiàn)在寄存器Rx中中 EAA(Rx)7272/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院9、偏移尋址、偏移尋址-變址尋址變址尋址 應(yīng)用:應(yīng)用: 被廣泛采用被廣泛采用 遇到需要頻繁修改操作數(shù)地址時(shí),
50、無遇到需要頻繁修改操作數(shù)地址時(shí),無須修改指令,只要修改須修改指令,只要修改Rx中的變址值中的變址值就可以就可以 數(shù)組、字符串的成批數(shù)據(jù)處理數(shù)組、字符串的成批數(shù)據(jù)處理7373/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院10、段尋址方式、段尋址方式 分段:分段:1M主存主存 = 64K * 16= 216 * 24 段寄存器段寄存器16位左移四位位左移四位偏移量偏移量16位位偏移量突破了偏移量突破了段內(nèi)限制,自段內(nèi)限制,自由度更高由度更高7474/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院11 堆棧尋址堆棧尋址 隱含的堆棧指示器(可以是寄存器或者隱含的堆
51、棧指示器(可以是寄存器或者內(nèi)存空間)內(nèi)存空間) 進(jìn)棧加進(jìn)棧加1,退棧減,退棧減17575/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院尋址方式舉例:尋址方式舉例: Pentium7676/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院Pentium尋址方式尋址方式方式方式算法算法立即立即作數(shù)作數(shù)=A寄存器寄存器LA=R偏移量偏移量LA=(SR)+A基址基址LA=(SR)+(B)基址帶偏移量基址帶偏移量LA=(SR)+(B)+A比例變址帶偏移量比例變址帶偏移量LA=(SR)+(I)S+A基址帶變址和偏移量基址帶變址和偏移量LA=(SR)+(B)+(I)+A基
52、址帶比例變址和偏移量基址帶比例變址和偏移量LA=(SR)+(B)+(I)S+A相對(duì)相對(duì)LA=(PC)+A7777/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院Power PC尋址方式尋址方式 P129表表4.9所示所示7878/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院例題:例題:p129 例例4 一種二地址一種二地址RS型指令的結(jié)構(gòu)如下圖所示:型指令的結(jié)構(gòu)如下圖所示: 其中,其中,I為間接尋址標(biāo)志位,為間接尋址標(biāo)志位,X為尋址模為尋址模式字段,式字段,D為偏移量字段。通過為偏移量字段。通過I,X,D的組合可構(gòu)成多種尋址方式。的組合可構(gòu)成多種尋址方式。
53、 看教材看教材P129表表4.10所示的尋址方式。所示的尋址方式。OP-通用寄存器通用寄存器IX偏移量偏移量D6位位4位位1位位2位位16位位7979/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院 I表示是否間接尋址表示是否間接尋址 I=1表示間接尋址表示間接尋址 I=0表示非間接尋址表示非間接尋址 X尋址模式:尋址模式: 00直接尋址直接尋址 01相對(duì)尋址相對(duì)尋址 10變址尋址變址尋址 11基址尋址基址尋址8080/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院例題:例題: 某某16位機(jī)器所使用的指令格式和尋址方式如圖位機(jī)器所使用的指令格式和尋址方式如圖
54、所示,該機(jī)有兩個(gè)所示,該機(jī)有兩個(gè)20位基址寄存器,四個(gè)位基址寄存器,四個(gè)16位位變址寄存器,十六個(gè)變址寄存器,十六個(gè)16位通用寄存器。指令匯位通用寄存器。指令匯編格式中的編格式中的S(源),(源),D(目標(biāo))都是通用寄(目標(biāo))都是通用寄存器,存器,M是主存中的一個(gè)單元。三種指令的操是主存中的一個(gè)單元。三種指令的操作碼分別是作碼分別是 MOV(OP)=(A)H, MOV是傳送指令,是傳送指令, STO(OP)=(1B)H, STO為存數(shù)指令,為存數(shù)指令, LAD(OP)=(3C)H。 LAD為取數(shù)指令。為取數(shù)指令。8181/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院 要求:
55、要求:(1)分析三種指令格式與尋址方式特點(diǎn)。)分析三種指令格式與尋址方式特點(diǎn)。8282/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院(2)CPU完成哪一種操作所花時(shí)間最短完成哪一種操作所花時(shí)間最短?哪一種操作所花時(shí)間最長哪一種操作所花時(shí)間最長?第二種指令的第二種指令的執(zhí)行時(shí)間有時(shí)會(huì)等于第三種指令的執(zhí)行執(zhí)行時(shí)間有時(shí)會(huì)等于第三種指令的執(zhí)行時(shí)間嗎時(shí)間嗎?(3)下列情況下每個(gè)十六進(jìn)制指令字分別)下列情況下每個(gè)十六進(jìn)制指令字分別代表什么操作代表什么操作?其中如果有編碼不正確,其中如果有編碼不正確,如何改正才能成為合法指令如何改正才能成為合法指令? (F0F1)H (3CD2)H (2
56、856)H (6FD6)H (1C2)H8383/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院 解答:解答:(1)第一種指令是單字長二地址指令,)第一種指令是單字長二地址指令,RR型;第二種指令是雙字長二地址指令,型;第二種指令是雙字長二地址指令,RS型,其中型,其中S采用基址尋址或變址尋址,采用基址尋址或變址尋址,R由源寄存器決定;第三種也是雙字長二由源寄存器決定;第三種也是雙字長二地址指令,地址指令,RS型,型,R由目標(biāo)寄存器決定,由目標(biāo)寄存器決定,S由由20位地址(直接尋址)決定。位地址(直接尋址)決定。8484/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算
57、機(jī)科學(xué)學(xué)院 (2)處理機(jī)完成第一種指令所花的時(shí)間)處理機(jī)完成第一種指令所花的時(shí)間最短,因?yàn)樽疃蹋驗(yàn)镽R型指令,不需要訪問存儲(chǔ)型指令,不需要訪問存儲(chǔ)器。第二種指令所花的時(shí)間最長,因?yàn)槠?。第二種指令所花的時(shí)間最長,因?yàn)镽S型指令,需要訪問存儲(chǔ)器。同時(shí)要進(jìn)型指令,需要訪問存儲(chǔ)器。同時(shí)要進(jìn)行尋址方式的變換運(yùn)算(基址或變址),行尋址方式的變換運(yùn)算(基址或變址),這也需要時(shí)間。第二指令的執(zhí)行時(shí)間不這也需要時(shí)間。第二指令的執(zhí)行時(shí)間不會(huì)等于第三種指令,因?yàn)榈谌N指令雖會(huì)等于第三種指令,因?yàn)榈谌N指令雖然也訪問存儲(chǔ)器,但節(jié)省了求有效地址然也訪問存儲(chǔ)器,但節(jié)省了求有效地址運(yùn)算的時(shí)間開銷。運(yùn)算的時(shí)間開銷。8585
58、/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院 (3)根據(jù)以知條件:)根據(jù)以知條件: MOV(OP)=00 1010, STA(OP) =01 1011, LDA(OP) =11 1100, 將指令轉(zhuǎn)為二進(jìn)制序列比較:將指令轉(zhuǎn)為二進(jìn)制序列比較:(F0F1)H (3CD2)H1111 0000 1111 0001 0011 1100 1101 0010LAD15號(hào)寄存器號(hào)寄存器13CD2把主存把主存13CD2的內(nèi)存裝載到的內(nèi)存裝載到15號(hào)寄存器號(hào)寄存器8686/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院 (2856)H 0010 1000 0101 01
59、10代表代表MOV指令,編碼正確,含義是把指令,編碼正確,含義是把5號(hào)號(hào)源寄存器的內(nèi)容傳送至源寄存器的內(nèi)容傳送至6目標(biāo)寄存器。目標(biāo)寄存器。 (6FD6)H是單字長指令,一定是是單字長指令,一定是MOV指令,但編碼錯(cuò)誤,指令,但編碼錯(cuò)誤, 0110 1111 1101 0110可改正為可改正為0010 1011 1101 0110(2BD6)H。8787/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院 (1C2)H是單字長指令,代表是單字長指令,代表MOV指令,但編碼錯(cuò)誤,指令,但編碼錯(cuò)誤, 0000 0001 1100 0010可改正為可改正為 0010 1001 1100
60、0010 (29C2)H。8888/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.5 典型指令典型指令 指令分類與基本指令類型指令分類與基本指令類型 數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 一般傳送指令:一般傳送指令: MOV AX,BX 數(shù)據(jù)交換指令:數(shù)據(jù)交換指令: XCHG 堆棧操作指令:堆棧操作指令: PUSH,POP 運(yùn)算類指令運(yùn)算類指令 算術(shù)運(yùn)算指令:算術(shù)運(yùn)算指令: 加、減、乘、除以加、減、乘、除以及加及加1、減、減1、比較、比較 邏輯運(yùn)算指令:邏輯運(yùn)算指令: 移位指令移位指令 8989/94/94陜西師范大學(xué)陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院計(jì)算機(jī)科學(xué)學(xué)院4.5 典型指令典型
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T/ZHCA 013-2021潔面類化妝品眼刺激性試驗(yàn)體外測試方法重建人角膜上皮模型體外刺激試驗(yàn)
- 2025煙臺(tái)工程職業(yè)技術(shù)學(xué)院輔導(dǎo)員考試試題及答案
- 2025福建工程學(xué)院輔導(dǎo)員考試試題及答案
- 陜能(慶陽)能源開發(fā)有限公司招聘筆試題庫2025
- 貴州織金翔盛工業(yè)發(fā)展有限公司招聘筆試題庫2025
- 湖北宜昌高新招商投資有限公司招聘筆試題庫2025
- VI基本要素系統(tǒng)設(shè)計(jì)項(xiàng)目
- 投融資分析師職業(yè)資格考試試卷及答案2025年
- 2025年網(wǎng)絡(luò)技術(shù)與應(yīng)用能力測試試題及答案
- 2025年數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)考核試題及答案
- 鋼箱梁吊裝施工專項(xiàng)方案
- 上腔靜脈綜合征護(hù)理課件
- IT行業(yè)專業(yè)試題集范本1
- 預(yù)防性駕駛與防御性駕駛
- 砌體結(jié)構(gòu)檢測試題及答案
- 腦卒中患者轉(zhuǎn)院時(shí)的流程要點(diǎn)
- 2025年上半年江蘇徐州沛縣總工會(huì)招聘工會(huì)社會(huì)化工作者13人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2024北京海淀區(qū)初一(下)期末歷史試題和答案
- 化工裝置靜設(shè)備基礎(chǔ)知識(shí)
- 商品混凝土供應(yīng)合同范本
- 2021年浙江省溫州市鹿城區(qū)人教版小升初畢業(yè)考試數(shù)學(xué)試卷(原卷版+解析)
評(píng)論
0/150
提交評(píng)論