版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第七章 指令系統(tǒng)張向東計(jì)算機(jī)科學(xué)與技術(shù)系7.1 7.1 指令概述指令概述 用計(jì)算機(jī)解題時(shí),一般都要編制程序用計(jì)算機(jī)解題時(shí),一般都要編制程序,程序既可用高級(jí)語(yǔ)言程序既可用高級(jí)語(yǔ)言編編寫,亦可用機(jī)器語(yǔ)言寫,亦可用機(jī)器語(yǔ)言編編寫寫; 但計(jì)算機(jī)但計(jì)算機(jī)只只能夠識(shí)別和執(zhí)行用能夠識(shí)別和執(zhí)行用機(jī)器語(yǔ)言機(jī)器語(yǔ)言編寫的程序;編寫的程序; 各種高級(jí)語(yǔ)言編寫的應(yīng)用程序,最終都要翻譯成機(jī)器語(yǔ)言來(lái)各種高級(jí)語(yǔ)言編寫的應(yīng)用程序,最終都要翻譯成機(jī)器語(yǔ)言來(lái)執(zhí)行執(zhí)行。 機(jī)器語(yǔ)言是由一系列的指令(語(yǔ)句)組成的機(jī)器語(yǔ)言是由一系列的指令(語(yǔ)句)組成的; 指令的格式就是機(jī)器語(yǔ)言的語(yǔ)法指令的格式就是機(jī)器語(yǔ)言的語(yǔ)法; 每條指令每條指令規(guī)定機(jī)
2、器完成一定的功能規(guī)定機(jī)器完成一定的功能。 一臺(tái)計(jì)算機(jī)的所有的一臺(tái)計(jì)算機(jī)的所有的指令集合稱為該機(jī)的指令系統(tǒng)指令集合稱為該機(jī)的指令系統(tǒng)或指令集或指令集。它是程序工作者編制程序的基本依據(jù),也是進(jìn)行計(jì)算機(jī)邏輯它是程序工作者編制程序的基本依據(jù),也是進(jìn)行計(jì)算機(jī)邏輯設(shè)計(jì)的基本依據(jù)設(shè)計(jì)的基本依據(jù) 。機(jī)器語(yǔ)言機(jī)器語(yǔ)言指令概述指令概述指令設(shè)計(jì)者:指令設(shè)計(jì)者:如何用具體的硬件電路如何用具體的硬件電路 芯片芯片 設(shè)備來(lái)實(shí)設(shè)備來(lái)實(shí) 現(xiàn)機(jī)器指令系統(tǒng)的功能。現(xiàn)機(jī)器指令系統(tǒng)的功能。指令使用者:指令使用者:使用指令來(lái)編制程序,完成預(yù)定任務(wù)。使用指令來(lái)編制程序,完成預(yù)定任務(wù)。任務(wù)任務(wù)源程序源程序編譯鏈接編譯鏈接匯編語(yǔ)言匯編語(yǔ)言
3、級(jí)別級(jí)別指令指令尋址方式尋址方式數(shù)據(jù)表示數(shù)據(jù)表示三個(gè)方面。三個(gè)方面。包括包括指令集:指令集:機(jī)器指令:機(jī)器指令:指令系統(tǒng):指令系統(tǒng):計(jì)算機(jī)能夠直接進(jìn)行某種基本操作的二進(jìn)制代碼語(yǔ)言。計(jì)算機(jī)能夠直接進(jìn)行某種基本操作的二進(jìn)制代碼語(yǔ)言。全部機(jī)器指令的集合,是表征計(jì)算機(jī)性能的重要指標(biāo)。全部機(jī)器指令的集合,是表征計(jì)算機(jī)性能的重要指標(biāo)。層次關(guān)系層次關(guān)系指令指令指令指令指令指令指令指令硬件硬件用戶用戶操作操作軟件軟件軟件軟件軟件軟件軟件軟件指令系統(tǒng)基本概念o機(jī)器指令(指令) n計(jì)算機(jī)能直接識(shí)別、執(zhí)行的某種操作命令。 o指令系統(tǒng)(指令集) n 一臺(tái)計(jì)算機(jī)中所有機(jī)器指令的集合。 n機(jī)器硬件設(shè)計(jì)的依據(jù),也是軟件設(shè)計(jì)
4、的基礎(chǔ)。 n硬件和軟件間的界面,直接影響計(jì)算機(jī)系統(tǒng)性能7.2 指令系統(tǒng)的發(fā)展與性能要求7.2.1指令系統(tǒng)的發(fā)展 計(jì)算機(jī)的程序是由一系列機(jī)器指令組成的。從計(jì)算機(jī)組成的層次結(jié)構(gòu)來(lái)說(shuō),計(jì)算機(jī)的指令有微指令、機(jī)器指令和宏指令之分: 微指令-微程序級(jí)的命令,解釋執(zhí)行機(jī)器指令。屬于硬件 宏指令-由若干條機(jī)器指令組成的軟件指令,完成某一特定功能。屬于軟件 機(jī)器指令-介于微指令與宏指令之間,通常簡(jiǎn)稱為指令,完成某一特定操作。本章所討論的指令,是機(jī)器指令。1. 1. 指令系統(tǒng)指令系統(tǒng)指令系統(tǒng)是表征一臺(tái)計(jì)算機(jī)性能的重要因素,它的格式與功能不僅直接影響到機(jī)器的硬件結(jié)構(gòu),而且也直接影響到系統(tǒng)軟件,影響到機(jī)器的適用范圍
5、。 2 2指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 (1 1)系列計(jì)算機(jī))系列計(jì)算機(jī)系列計(jì)算機(jī)是指基本指令系統(tǒng)相同、基本體系結(jié)構(gòu)相同的一個(gè)系列的各種型號(hào)的計(jì)算機(jī)。其必要條件是同一系列的各機(jī)種有共同的指令集而且新推出機(jī)種的指令系統(tǒng)一定應(yīng)包含所有舊機(jī)種的全部指令,即實(shí)現(xiàn)向上兼容。這樣,舊機(jī)種上運(yùn)行的各種軟件可以不加任何修改便可在新機(jī)種上運(yùn)行,大大減少了軟件開發(fā)費(fèi)用。系列機(jī)解決了各機(jī)種的軟件兼容問(wèn)題。 (2 2)指令系統(tǒng)結(jié)構(gòu))指令系統(tǒng)結(jié)構(gòu)從計(jì)算機(jī)指令系統(tǒng)的角度看當(dāng)前的計(jì)算機(jī)指令系統(tǒng)結(jié)構(gòu)分為兩大類: 復(fù)雜指令集計(jì)算機(jī)(CISC) 精簡(jiǎn)指令集計(jì)算機(jī)(RISC) 系列機(jī)的推出解決了各機(jī)種的軟件兼容問(wèn)題,大大減少了軟件
6、開發(fā)費(fèi)用計(jì)算機(jī)發(fā)展的兩大流派3 3指令系統(tǒng)的性能要求指令系統(tǒng)的性能要求 一個(gè)完善的指令系統(tǒng)應(yīng)滿足如下四方面的要求:一個(gè)完善的指令系統(tǒng)應(yīng)滿足如下四方面的要求: (1 1) 完備性完備性。完備性是指用匯編語(yǔ)言編寫各種程序時(shí),指令系統(tǒng)直接提。完備性是指用匯編語(yǔ)言編寫各種程序時(shí),指令系統(tǒng)直接提供的指令足夠使用,而不必用軟件來(lái)實(shí)現(xiàn)。完備性要求指令系統(tǒng)豐富、供的指令足夠使用,而不必用軟件來(lái)實(shí)現(xiàn)。完備性要求指令系統(tǒng)豐富、功能齊全、使用方便。功能齊全、使用方便。 (2 2) 有效性有效性。有效性是指利用該指令系統(tǒng)所編寫的程序能夠高效率地運(yùn)。有效性是指利用該指令系統(tǒng)所編寫的程序能夠高效率地運(yùn)行。高效率主要表現(xiàn)在
7、程序占據(jù)存儲(chǔ)空間小、執(zhí)行速度快。行。高效率主要表現(xiàn)在程序占據(jù)存儲(chǔ)空間小、執(zhí)行速度快。 (3 3) 規(guī)整性規(guī)整性。規(guī)整性包括指令系統(tǒng)的對(duì)稱性、勻齊性、指令格式和數(shù)據(jù)。規(guī)整性包括指令系統(tǒng)的對(duì)稱性、勻齊性、指令格式和數(shù)據(jù)格式的一致性。格式的一致性。 對(duì)稱性:在指令系統(tǒng)中所有的寄存器和存儲(chǔ)器單元都可同等對(duì)待,所有對(duì)稱性:在指令系統(tǒng)中所有的寄存器和存儲(chǔ)器單元都可同等對(duì)待,所有的指令都可使用各種尋址方式;的指令都可使用各種尋址方式; 勻齊性:一種操作性質(zhì)的指令可以支持各種數(shù)據(jù)類型;勻齊性:一種操作性質(zhì)的指令可以支持各種數(shù)據(jù)類型; 格式一致性:指令長(zhǎng)度和數(shù)據(jù)長(zhǎng)度有一定的關(guān)系,以方便處理和存取。格式一致性:指
8、令長(zhǎng)度和數(shù)據(jù)長(zhǎng)度有一定的關(guān)系,以方便處理和存取。 (4 4) 兼容性兼容性:至少要能做到:至少要能做到 向上兼容向上兼容 ,即低檔機(jī)上運(yùn)行的軟件可以在,即低檔機(jī)上運(yùn)行的軟件可以在高檔機(jī)上運(yùn)行。高檔機(jī)上運(yùn)行。完善的指令系統(tǒng)完備性高效性規(guī)整性兼容性4低級(jí)語(yǔ)言與硬件結(jié)構(gòu)的關(guān)系 計(jì)算機(jī)的程序是計(jì)算機(jī)能夠識(shí)別的一串指令或語(yǔ)句。編寫程序的過(guò)程,稱為程序設(shè)計(jì),而程序設(shè)計(jì)所使用的工具則是計(jì)算機(jī)語(yǔ)言 計(jì)算機(jī)語(yǔ)言有高級(jí)語(yǔ)言和低級(jí)語(yǔ)言之分。高級(jí)語(yǔ)言語(yǔ)句和用法與具體機(jī)器的指令系統(tǒng)無(wú)關(guān)。低級(jí)語(yǔ)言分機(jī)器語(yǔ)言(二進(jìn)制語(yǔ)言)和匯編語(yǔ)言(符號(hào)語(yǔ)言),這兩種語(yǔ)言都是面向機(jī)器的語(yǔ)言,它們和具體機(jī)器的指令系統(tǒng)密切相關(guān)。 傳統(tǒng)機(jī)器級(jí)計(jì)
9、算機(jī)系統(tǒng)的層次結(jié)構(gòu)5.高級(jí)語(yǔ)言級(jí)4.匯編語(yǔ)言級(jí)3.操作系統(tǒng)級(jí)2.一般機(jī)器級(jí)1.微程序設(shè)計(jì)級(jí)7.3 7.3 指令格式指令格式 指令由操作碼和地址碼兩部分組成,它的基本格式如下指令由操作碼和地址碼兩部分組成,它的基本格式如下: 操操 作作 碼碼 地地 址址 碼碼 操作碼是說(shuō)明指令操作性質(zhì)的二進(jìn)制數(shù)代碼。操作碼是說(shuō)明指令操作性質(zhì)的二進(jìn)制數(shù)代碼。 操作碼所占的二進(jìn)制位數(shù)決定了一臺(tái)計(jì)算機(jī)所能允許的指令操作碼所占的二進(jìn)制位數(shù)決定了一臺(tái)計(jì)算機(jī)所能允許的指令 條數(shù)條數(shù)。 例如,操作碼占用六位二進(jìn)制碼時(shí),這臺(tái)計(jì)算機(jī)最多允許有例如,操作碼占用六位二進(jìn)制碼時(shí),這臺(tái)計(jì)算機(jī)最多允許有: 2 26 664 64 條指令條
10、指令1 1. .操作碼操作碼 2. 2. 地址碼地址碼 根據(jù)一條指令中有幾個(gè)操作數(shù)地址,可將該指令稱為根據(jù)一條指令中有幾個(gè)操作數(shù)地址,可將該指令稱為幾操作數(shù)指令或幾地址指令。幾操作數(shù)指令或幾地址指令。一般的操作數(shù)有被操作數(shù)、操作數(shù)及操作結(jié)果這一般的操作數(shù)有被操作數(shù)、操作數(shù)及操作結(jié)果這三種數(shù),因而就形成了三地址指令格式。在此基三種數(shù),因而就形成了三地址指令格式。在此基礎(chǔ)上,后來(lái)又發(fā)展成二地址格式、一地址格式和零地礎(chǔ)上,后來(lái)又發(fā)展成二地址格式、一地址格式和零地址格式,如下圖所示:址格式,如下圖所示:操作碼操作碼A1A1A2A2A3A3操作碼操作碼A1A1A2A2操作碼操作碼A A操作碼操作碼三地址
11、指令三地址指令 二地址指令二地址指令 單地址指令單地址指令 零地址指令零地址指令 三地址指令字中有三個(gè)操作數(shù)地址。三地址指令字中有三個(gè)操作數(shù)地址。(A1)(A1)OPOP(A2)(A2) A3A3 A1A1為被操作數(shù)地址,也稱源操作數(shù)地址;為被操作數(shù)地址,也稱源操作數(shù)地址; A2A2為操作數(shù)地為操作數(shù)地址,也稱終點(diǎn)(目的)操作數(shù)地址;址,也稱終點(diǎn)(目的)操作數(shù)地址; A3A3為存放結(jié)果的地址。為存放結(jié)果的地址。同樣,同樣,A1,A2,A3A1,A2,A3既可以是內(nèi)存中的單元地址,也可以是運(yùn)算既可以是內(nèi)存中的單元地址,也可以是運(yùn)算器中通用寄存器的地址。器中通用寄存器的地址。 單地址指令又稱為單操
12、作數(shù)指令。通常這種指令通常以單地址指令又稱為單操作數(shù)指令。通常這種指令通常以運(yùn)算器中累加寄存器運(yùn)算器中累加寄存器ACAC中的數(shù)據(jù)為被操作數(shù),指令字的地中的數(shù)據(jù)為被操作數(shù),指令字的地址碼字段所指明的數(shù)為操作數(shù),操作結(jié)果又放回累加寄存器址碼字段所指明的數(shù)為操作數(shù),操作結(jié)果又放回累加寄存器ACAC中。中。 (AC)(AC)OPOP(A)(A)ACACOPOP表示操作性質(zhì);(表示操作性質(zhì);(ACAC)表示累加寄存器)表示累加寄存器ACAC中的數(shù);中的數(shù);(A A)表示內(nèi)存中地址為)表示內(nèi)存中地址為A A的存儲(chǔ)單元中的數(shù)或運(yùn)算器中地的存儲(chǔ)單元中的數(shù)或運(yùn)算器中地址為址為A A的通用寄存器中的數(shù);的通用寄存
13、器中的數(shù); 表示把操作(運(yùn)算)結(jié)果傳表示把操作(運(yùn)算)結(jié)果傳送到指定的地方。送到指定的地方。 二地址指令常稱為雙操作數(shù)指令,它的兩個(gè)地址碼二地址指令常稱為雙操作數(shù)指令,它的兩個(gè)地址碼字段分別指明參與操作的兩個(gè)數(shù)在內(nèi)存中或運(yùn)算字段分別指明參與操作的兩個(gè)數(shù)在內(nèi)存中或運(yùn)算器中通用寄存器的地址,器中通用寄存器的地址,A1A1作存放操作結(jié)果的地址。作存放操作結(jié)果的地址。(A1)(A1)OPOP(A2)(A2) A1A1 零地址指令的指令字中只有操作碼,而沒(méi)有地零地址指令的指令字中只有操作碼,而沒(méi)有地址碼。址碼。 7.3.1 操作碼(OP)與地址碼(AC)o指令系統(tǒng)中每一條指令對(duì)應(yīng)一個(gè)操作碼 o操作碼的長(zhǎng)
14、度取決于指令系統(tǒng)的規(guī)模 nLOP=log2n o定長(zhǎng)指令、變長(zhǎng)指令 o地址碼包括被操作數(shù),操作數(shù),操作結(jié)果操作碼字段地址碼字段1、指令分類方法o按計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)分類 o按操作數(shù)個(gè)數(shù)分類 o按操作數(shù)物理位置分類o微指令: n微程序級(jí)的指令,屬于硬件層面 o機(jī)器指令: n每一條機(jī)器指令可以完成一個(gè)獨(dú)立的運(yùn)算。 o宏指令: n若干機(jī)器指令組成的軟件指令,屬于軟件 OPA1A2A3 三地址指令 OPA1A2 二地址指令 OPA1 一地址指令 OP零地址指令 (A1)OP(A2) (A3) (A1)OP(A2) (A1) (AC)OP(A) AC如停機(jī),空操作,堆棧指令o 5、指令字長(zhǎng)度o指令中包
15、含二進(jìn)制代碼的位數(shù) o與機(jī)器字的長(zhǎng)度有關(guān): 單字長(zhǎng),雙字長(zhǎng),半字長(zhǎng)。 o采用多字長(zhǎng)指令的目的 n解決尋址較大存儲(chǔ)空間的問(wèn)題 n取指令要多次訪內(nèi),影響速度,占用存儲(chǔ)空間較大。 o等長(zhǎng)指令: 結(jié)構(gòu)簡(jiǎn)單,控制線路簡(jiǎn)單。 o變長(zhǎng)指令: 結(jié)構(gòu)靈活,充分利用指令長(zhǎng)度,控制復(fù)雜 指令字長(zhǎng)指令字長(zhǎng)指令字長(zhǎng)決定于指令字長(zhǎng)決定于操作碼的長(zhǎng)度操作碼的長(zhǎng)度操作數(shù)地址的長(zhǎng)度操作數(shù)地址的長(zhǎng)度操作數(shù)地址的個(gè)數(shù)操作數(shù)地址的個(gè)數(shù)使用多字長(zhǎng)指令的目的:使用多字長(zhǎng)指令的目的: 在于提供足夠的地址位數(shù)來(lái)解決訪問(wèn)內(nèi)存任何單元的問(wèn)題。在于提供足夠的地址位數(shù)來(lái)解決訪問(wèn)內(nèi)存任何單元的問(wèn)題。最大缺點(diǎn):最大缺點(diǎn): 兩次或多次訪問(wèn)內(nèi)存才可一取出一
16、條指令,降低了兩次或多次訪問(wèn)內(nèi)存才可一取出一條指令,降低了CPU 的運(yùn)算速度。指令越長(zhǎng),占用了更多的存儲(chǔ)空間。的運(yùn)算速度。指令越長(zhǎng),占用了更多的存儲(chǔ)空間。2.長(zhǎng)度限制長(zhǎng)度限制操作碼長(zhǎng)度地址碼長(zhǎng)度操作碼長(zhǎng)度地址碼長(zhǎng)度指令中包含的二進(jìn)制代碼的位數(shù)。指令中包含的二進(jìn)制代碼的位數(shù)。計(jì)算機(jī)一次能夠處理的最長(zhǎng)的二進(jìn)制位數(shù)。計(jì)算機(jī)一次能夠處理的最長(zhǎng)的二進(jìn)制位數(shù)。單字長(zhǎng)指令:?jiǎn)巫珠L(zhǎng)指令: 指令字長(zhǎng)度指令字長(zhǎng)度 機(jī)器字長(zhǎng)度機(jī)器字長(zhǎng)度半字長(zhǎng)指令:半字長(zhǎng)指令: 指令字長(zhǎng)度指令字長(zhǎng)度 半個(gè)機(jī)器字長(zhǎng)度半個(gè)機(jī)器字長(zhǎng)度雙字長(zhǎng)指令:雙字長(zhǎng)指令: 指令字長(zhǎng)度指令字長(zhǎng)度 2個(gè)機(jī)器字長(zhǎng)度個(gè)機(jī)器字長(zhǎng)度3.分類:分類:1.基本概念基本
17、概念(2) 指令字長(zhǎng)指令字長(zhǎng): (1) 機(jī)器字長(zhǎng):機(jī)器字長(zhǎng):(3) 存儲(chǔ)字長(zhǎng):存儲(chǔ)字長(zhǎng):一個(gè)存儲(chǔ)單元可存儲(chǔ)的二進(jìn)制代碼一個(gè)存儲(chǔ)單元可存儲(chǔ)的二進(jìn)制代碼 的位數(shù)。的位數(shù)。6、指令字助記符o ADD o SUB o MOV o JMP o STR o LDA7 7、指令操作碼的擴(kuò)展技術(shù)、指令操作碼的擴(kuò)展技術(shù)(1)(1)操作碼定長(zhǎng)操作碼定長(zhǎng)mm 2 2n n一般在指令字的最高位分配若干個(gè)固定位表示操作碼。一般在指令字的最高位分配若干個(gè)固定位表示操作碼。若操作碼占用若操作碼占用n n位,則可以表示多少條不同的指令?位,則可以表示多少條不同的指令?操作碼定長(zhǎng)編碼法的特點(diǎn)是什么?操作碼定長(zhǎng)編碼法的特點(diǎn)是什么
18、?(2)(2)操作碼長(zhǎng)度可變操作碼長(zhǎng)度可變這種格式對(duì)于簡(jiǎn)化硬件設(shè)計(jì),減這種格式對(duì)于簡(jiǎn)化硬件設(shè)計(jì),減少指令譯碼時(shí)間非常有利,在字少指令譯碼時(shí)間非常有利,在字長(zhǎng)較長(zhǎng)的大、中型機(jī)和超級(jí)小型長(zhǎng)較長(zhǎng)的大、中型機(jī)和超級(jí)小型機(jī)以及機(jī)以及RISCRISC上廣泛采用。上廣泛采用。各指令操作碼的位置、位數(shù)不固定,根據(jù)需要變化。各指令操作碼的位置、位數(shù)不固定,根據(jù)需要變化。這種格式能夠有效地壓縮程序中操作碼的平這種格式能夠有效地壓縮程序中操作碼的平均長(zhǎng)度,在字長(zhǎng)較短的微型機(jī)上廣泛采用。均長(zhǎng)度,在字長(zhǎng)較短的微型機(jī)上廣泛采用。 如如Z80Z80、Intel8086Intel8086PentiumPentium等。等。含
19、義?含義??jī)?yōu)點(diǎn)??jī)?yōu)點(diǎn)?缺點(diǎn)?缺點(diǎn)?增加指令譯碼和分析的難度,使控制器的設(shè)計(jì)復(fù)增加指令譯碼和分析的難度,使控制器的設(shè)計(jì)復(fù)雜化。雜化。 擴(kuò)展操作碼技術(shù)擴(kuò)展操作碼技術(shù) 舉例:舉例:采用采用“擴(kuò)展操作碼技術(shù)擴(kuò)展操作碼技術(shù)”設(shè)計(jì)設(shè)計(jì)61條指令,其中三地址指令條指令,其中三地址指令15條,條,二地址指令二地址指令15條,一地址指令條,一地址指令15條,零地址指令條,零地址指令16條。條。解:解:OP A1 A2 A3(1)OPA2A3(2)000000011110A1A1A1A2A2A2A3A3A315條三地址指令條三地址指令4 位操作碼位操作碼 A2A2A2A3A3A311111111111100000
20、001111015條二地址指令條二地址指令8 位操作碼位操作碼 擴(kuò)展操作碼技術(shù)擴(kuò)展操作碼技術(shù)OPA3(3)OP(4)111111111111111111111111A3A3A30000000111101111111111111111111111111111111111110000000111113.設(shè)計(jì)原則設(shè)計(jì)原則(1)使用頻度使用頻度較高較高的指令占用的指令占用較短較短的操作碼的操作碼(2)使用頻度使用頻度較低較低的指令占用的指令占用較長(zhǎng)較長(zhǎng)的操作碼的操作碼有利于有利于CPU縮短對(duì)指令的譯碼時(shí)間,提高指令執(zhí)行速度??s短對(duì)指令的譯碼時(shí)間,提高指令執(zhí)行速度。15條一地址指令條一地址指令12 位操
21、作碼位操作碼16條零地址指令條零地址指令16 位操作碼位操作碼 例題:假如某計(jì)算機(jī)模型:7條指令(I1I7),程序中出現(xiàn)的概率用Pi表示,則可考慮表51所示的方案,這就是擴(kuò)展操作碼,使用頻率高的指令的操作碼為2位,低的用4位。這不是壓縮到最小代碼的方案,因?yàn)樵谟?jì)算機(jī)中的操作碼還是希望有一定的規(guī)整性,否則會(huì)引起硬件實(shí)現(xiàn)的復(fù)雜化。2.2401.0101.0403.0405.0217.0228.0245.01niiiIP指令的平均長(zhǎng)度:由此可見,操作碼擴(kuò)展技術(shù)是一種重要的由此可見,操作碼擴(kuò)展技術(shù)是一種重要的指令優(yōu)化技術(shù),指令優(yōu)化技術(shù),它可以縮短指令的平均長(zhǎng)度,它可以縮短指令的平均長(zhǎng)度,減少程序的總位
22、數(shù)以及增加指令字所能表示的減少程序的總位數(shù)以及增加指令字所能表示的操作信息。操作信息。當(dāng)然,擴(kuò)展操作碼比固定操作碼譯當(dāng)然,擴(kuò)展操作碼比固定操作碼譯碼復(fù)雜,使控制器的設(shè)計(jì)難度增大,且需更多碼復(fù)雜,使控制器的設(shè)計(jì)難度增大,且需更多的硬件來(lái)支持。的硬件來(lái)支持。8 8、 指令長(zhǎng)度與字長(zhǎng)的關(guān)系指令長(zhǎng)度與字長(zhǎng)的關(guān)系 字長(zhǎng):字長(zhǎng):指計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的指計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù)位數(shù),它是計(jì)算機(jī)的一個(gè)重要技術(shù)指標(biāo)。,它是計(jì)算機(jī)的一個(gè)重要技術(shù)指標(biāo)。 作用作用: :字長(zhǎng)決定了計(jì)算機(jī)的運(yùn)算精度,字長(zhǎng)越字長(zhǎng)決定了計(jì)算機(jī)的運(yùn)算精度,字長(zhǎng)越長(zhǎng),計(jì)算機(jī)的運(yùn)算精度越高。長(zhǎng),計(jì)算機(jī)的運(yùn)算精度越高。一般機(jī)器的
23、字長(zhǎng)都是字節(jié)長(zhǎng)度一般機(jī)器的字長(zhǎng)都是字節(jié)長(zhǎng)度( (即即8 8位位) )的的l l,2 2,4 4或或8 8倍數(shù)。倍數(shù)。 指令的長(zhǎng)度:主要取決于指令的長(zhǎng)度:主要取決于操作碼的長(zhǎng)度操作碼的長(zhǎng)度、操作數(shù)地址操作數(shù)地址的長(zhǎng)度的長(zhǎng)度和和操作數(shù)地址的個(gè)數(shù)操作數(shù)地址的個(gè)數(shù)。各指令的長(zhǎng)度不是固定的,。各指令的長(zhǎng)度不是固定的,但也不是任意的。但也不是任意的。指令的長(zhǎng)度通常為字節(jié)的整數(shù)倍。指令的長(zhǎng)度通常為字節(jié)的整數(shù)倍。 指令的長(zhǎng)度與機(jī)器的字長(zhǎng)沒(méi)有固定的關(guān)系指令的長(zhǎng)度與機(jī)器的字長(zhǎng)沒(méi)有固定的關(guān)系,它既可以小于或等于機(jī)器的字長(zhǎng),也可以大于機(jī)器它既可以小于或等于機(jī)器的字長(zhǎng),也可以大于機(jī)器的字長(zhǎng)。前者稱為短格式指令,后者稱為
24、長(zhǎng)格式指的字長(zhǎng)。前者稱為短格式指令,后者稱為長(zhǎng)格式指令,一條指令存放在地址連續(xù)的存儲(chǔ)單元中。令,一條指令存放在地址連續(xù)的存儲(chǔ)單元中。 在同一臺(tái)計(jì)算機(jī)中可能既有短格式指令又有長(zhǎng)格在同一臺(tái)計(jì)算機(jī)中可能既有短格式指令又有長(zhǎng)格式指令,但通常是把最常用的指令式指令,但通常是把最常用的指令( (如算術(shù)邏輯運(yùn)算如算術(shù)邏輯運(yùn)算指令、數(shù)據(jù)傳送指令指令、數(shù)據(jù)傳送指令) )設(shè)計(jì)成短格式指令,以便節(jié)省設(shè)計(jì)成短格式指令,以便節(jié)省存儲(chǔ)空間和提高指令的執(zhí)行速度。存儲(chǔ)空間和提高指令的執(zhí)行速度。例:例:out port,ALout port,AL-長(zhǎng)格式長(zhǎng)格式 out DX,ALout DX,AL-短格式短格式7、PDP-11
25、 指令格式舉例OP(10bit)MODE(3)Rn(3)OP(10bit)MODE(3)Rn(3)MODE(3)Rn(3)源操作數(shù)被操作數(shù)尋址模式操作數(shù)地址單字長(zhǎng)指令雙字長(zhǎng)指令第一字節(jié)第一個(gè)半字第二個(gè)半字第三個(gè)半字第二字節(jié) 第三字節(jié) 第四字節(jié) 第五字節(jié) 第六字節(jié)IBM 370系列機(jī)的指令格式(1)R1OPR2RR型OPR1R2RRE型RR型指令與RRE型指令是寄存器-寄存器型指令,參加運(yùn)算的操作數(shù)都在通用寄存器中。課堂練習(xí)與思考:課堂練習(xí)與思考:1.指令格式中,地址碼字段是通過(guò) 來(lái)體現(xiàn)的,因?yàn)橥ㄟ^(guò)某種方式的變換,可以給出 地址。常用的指令格式有零地址指令、單地址指令、 三種.尋址方式 操作數(shù)有
26、效 二地址指令 2、二地址指令中,操作數(shù)的物理位置可安排在_。A、棧頂和次棧頂 B、兩個(gè)主存單元 C、一個(gè)主存單元和一個(gè)寄存器 D、兩個(gè)寄存器 C3、指令格式是指令用 表示的結(jié)構(gòu)形式,通常格式中由操作碼字段和 字段組成。二進(jìn)制代碼 地址碼 4、指令字長(zhǎng)為16位,每個(gè)地址碼為6位,采用擴(kuò)展操作碼的方式,設(shè)計(jì)14條二地址指令,100條一地址指令,100條零地址指令。 畫出擴(kuò)展圖。 計(jì)算操作碼平均長(zhǎng)度?!窘狻?操作碼的擴(kuò)展如下:0 0 0 0 14條二地址指令1 1 0 1 1 1 1 0 0 0 0 0 0 0 100條一地址指令1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0
27、1 0 0 0 0 0 0 0 0 100條零地址指令1 1 1 1 1 0 0 1 0 1 1 0 0 0 1 1 操作碼平均長(zhǎng)度 = (414+10100+16100)/21412.47.3.2 指令尋址方式o尋找指令或操作數(shù)有效地址的方式 n指令尋址 o順序?qū)ぶ?o跳躍尋址 n操作數(shù)尋址 1、順序?qū)ぶ穙程序的指令序列在主存順序存放。程序執(zhí)行時(shí)從第一條指令開始,逐條取出并逐條執(zhí)行,這種程序的順序執(zhí)行過(guò)程,稱為順序?qū)ぶ贩绞健?o為了達(dá)到順序?qū)ぶ返哪康?,CPU中必須有一個(gè)程序計(jì)數(shù)器(PC)對(duì)指令的順序號(hào)進(jìn)行計(jì)數(shù)。PC中開始時(shí)存放程序的首地址,每執(zhí)行一條指令,PC 加1,以指出下條指令的地址,直
28、到程序結(jié)束。 oPC存放下一條指令的地址 指令尋址指令尋址數(shù)據(jù)尋址數(shù)據(jù)尋址尋址方式尋址方式分類:分類:一、指令尋址一、指令尋址尋找指令尋找指令尋找數(shù)據(jù)尋找數(shù)據(jù)(1)順序?qū)ぶ罚╉樞驅(qū)ぶ? PC ) + 1賦值賦值PC(2)跳躍:)跳躍:由轉(zhuǎn)移指令指出由轉(zhuǎn)移指令指出順序?qū)ぶ讽樞驅(qū)ぶ?順序?qū)ぶ讽樞驅(qū)ぶ?順序?qū)ぶ讽樞驅(qū)ぶ?跳躍尋址跳躍尋址7順序?qū)ぶ讽樞驅(qū)ぶ?尋址方式尋址方式 確定確定 本條指令本條指令 的的 操作數(shù)地址操作數(shù)地址下一條下一條 欲執(zhí)行欲執(zhí)行 指令指令 的的 指令地址指令地址含義:含義:LDA 1000ADD 1001DEC 1200JMP 7LDA 2000SUB 2001INCSTA
29、2500LDA 1100.123456789指令地址尋址方式指令地址尋址方式指令地址指令地址指令指令0PC0+17.3.3 操作數(shù)的尋址方式o形成操作數(shù)有效地址的方法。 n單地址指令地址碼的構(gòu)成: X , I ,D n實(shí)際有效地址為E, 實(shí)際操作數(shù)S n S= (E) OPXID尋址方式分類o立即尋址 o直接尋址 o間接尋址 o寄存器尋址、o寄存器間接尋址 o相對(duì)尋址 o變址尋址 o復(fù)合尋址 數(shù)據(jù)尋址數(shù)據(jù)尋址 形式地址形式地址 A操作碼操作碼尋址特征尋址特征描述指令功能描述指令功能決定尋址方式?jīng)Q定尋址方式由由形式地址形式地址找到找到有效地址有效地址的過(guò)程。的過(guò)程。精髓:精髓:指令字中的地址指令
30、字中的地址 操作數(shù)的真實(shí)地址操作數(shù)的真實(shí)地址 1. 立即尋址立即尋址 OP # A立即尋址特征立即尋址特征立即數(shù)立即數(shù)(1)格式)格式指令執(zhí)行階段不訪存指令執(zhí)行階段不訪存A 的位數(shù)限制了立即數(shù)的范圍的位數(shù)限制了立即數(shù)的范圍(3)特點(diǎn):)特點(diǎn): 且且A可正可負(fù)可正可負(fù) 補(bǔ)碼補(bǔ)碼(2)結(jié)果:形式地址)結(jié)果:形式地址 A 就是操作數(shù)就是操作數(shù)指令字長(zhǎng)指令字長(zhǎng)存儲(chǔ)字長(zhǎng)存儲(chǔ)字長(zhǎng)機(jī)器字長(zhǎng)機(jī)器字長(zhǎng)約定約定 2. 直接尋址直接尋址EA = A 有效地址由形式地址直接給出有效地址由形式地址直接給出公式:公式:尋址特征尋址特征AACCOPA操作數(shù)操作數(shù)主存主存執(zhí)行階段訪問(wèn)一次存儲(chǔ)器執(zhí)行階段訪問(wèn)一次存儲(chǔ)器A 的位數(shù)
31、決定了該指令操作數(shù)的尋址范圍的位數(shù)決定了該指令操作數(shù)的尋址范圍操作數(shù)的地址不易修改(必須修改操作數(shù)的地址不易修改(必須修改A)特點(diǎn):特點(diǎn):變換過(guò)程:變換過(guò)程:變換過(guò)程:變換過(guò)程:3. 隱含尋址隱含尋址操作數(shù)地址隱含在操作碼中操作數(shù)地址隱含在操作碼中公式:公式:尋址特征尋址特征AACC暫存暫存ALU另一個(gè)操作數(shù)另一個(gè)操作數(shù)隱含在隱含在 ACC 中中ADDA操作數(shù)操作數(shù)主存主存舉例:舉例:如如 8086MUL 指令指令被乘數(shù)隱含在被乘數(shù)隱含在 AX(16位)或位)或 AL(8位)中位)中MOVS 指令指令 源操作數(shù)的地址隱含在源操作數(shù)的地址隱含在 SI 中中目的操作數(shù)的地址隱含在目的操作數(shù)的地址隱
32、含在 DI 中中指令字中少了一個(gè)地址字段,可縮短指令字長(zhǎng)指令字中少了一個(gè)地址字段,可縮短指令字長(zhǎng)特點(diǎn):特點(diǎn):4. 間接尋址間接尋址EA =(A)有效地址由形式地址間接提供有效地址由形式地址間接提供公式:公式:尋址特征尋址特征AEAA1EA尋址特征尋址特征A一次間址一次間址多次間址多次間址操作數(shù)操作數(shù)操作數(shù)操作數(shù)OPAEA主存主存OPA A1主存主存 EA10執(zhí)行指令階段執(zhí)行指令階段 2 次訪存次訪存/多次訪存多次訪存可擴(kuò)大尋址范圍可擴(kuò)大尋址范圍 便于編制程序便于編制程序特點(diǎn):特點(diǎn):變換過(guò)程:變換過(guò)程:5. 寄存器直接尋址寄存器直接尋址EA = Ri 有效地址即為寄存器編號(hào)有效地址即為寄存器編號(hào)
33、公式:公式:尋址特征尋址特征OPRi操作數(shù)操作數(shù)R0RiRn寄存器寄存器執(zhí)行階段不訪存,只訪問(wèn)寄存器,執(zhí)行速度快執(zhí)行階段不訪存,只訪問(wèn)寄存器,執(zhí)行速度快寄存器個(gè)數(shù)有限,可縮短指令字長(zhǎng)寄存器個(gè)數(shù)有限,可縮短指令字長(zhǎng)特點(diǎn):特點(diǎn):變換過(guò)程:變換過(guò)程:6. 寄存器間接尋址寄存器間接尋址EA = ( Ri ) 有效地址在寄存器中有效地址在寄存器中公式:公式:尋址特征尋址特征OPRi地址地址R0RiRn寄存器寄存器有效地址在寄存器中,有效地址在寄存器中, 操作數(shù)在存儲(chǔ)器中,執(zhí)行階段訪存操作數(shù)在存儲(chǔ)器中,執(zhí)行階段訪存便于編制循環(huán)程序便于編制循環(huán)程序特點(diǎn):特點(diǎn):操作數(shù)操作數(shù)主存主存操作數(shù)操作數(shù)7. 基址尋址基
34、址尋址(1) 采用專用寄存器作基址寄存器采用專用寄存器作基址寄存器EA = ( BR ) + A BR 為基址寄存器為基址寄存器公式:公式:尋址特征尋址特征ALUOPABR操作數(shù)操作數(shù)主存主存在程序的執(zhí)行過(guò)程中在程序的執(zhí)行過(guò)程中 BR 內(nèi)容不變,形式地址內(nèi)容不變,形式地址 A 可變可變可擴(kuò)大尋址范圍可擴(kuò)大尋址范圍便于程序浮動(dòng)便于程序浮動(dòng)BR 內(nèi)容由操作系統(tǒng)或管理程序確定內(nèi)容由操作系統(tǒng)或管理程序確定特點(diǎn):特點(diǎn):變換過(guò)程:變換過(guò)程:變換過(guò)程:變換過(guò)程:(2) 采用通用寄存器作基址寄存器采用通用寄存器作基址寄存器EA = ( Ri ) + A Ri 為基址寄存器為基址寄存器公式:公式:尋址特征尋址特
35、征ALUR0 作基址寄存器作基址寄存器OPR0A通用寄存器通用寄存器R0Rn-1R1操作數(shù)操作數(shù)主存主存由用戶指定哪個(gè)通用寄存器作為基址寄存器由用戶指定哪個(gè)通用寄存器作為基址寄存器基址寄存器的內(nèi)容由操作系統(tǒng)確定基址寄存器的內(nèi)容由操作系統(tǒng)確定在程序的執(zhí)行過(guò)程中在程序的執(zhí)行過(guò)程中 R0 內(nèi)容不變,形式地址內(nèi)容不變,形式地址 A 可變可變特點(diǎn):特點(diǎn):變換過(guò)程:變換過(guò)程:8. 變址尋址變址尋址EA = ( IX ) +AIX 為變址寄存器(專用)為變址寄存器(專用)通用寄存器也可以作為變址寄存器通用寄存器也可以作為變址寄存器特點(diǎn):特點(diǎn):尋址特征尋址特征ALUOPAIX操作數(shù)操作數(shù)主存主存可擴(kuò)大尋址范圍
36、可擴(kuò)大尋址范圍便于處理數(shù)組問(wèn)題便于處理數(shù)組問(wèn)題IX 的內(nèi)容由用戶給定的內(nèi)容由用戶給定 在程序的執(zhí)行過(guò)程中在程序的執(zhí)行過(guò)程中 IX 內(nèi)容可變,形式地址內(nèi)容可變,形式地址 A 不變不變特點(diǎn):特點(diǎn):變換變換過(guò)程:過(guò)程:9. 相對(duì)尋址相對(duì)尋址 EA = ( PC ) + AA 是相對(duì)于當(dāng)前指令的位移量(可正可負(fù),補(bǔ)碼)是相對(duì)于當(dāng)前指令的位移量(可正可負(fù),補(bǔ)碼)公式:公式:操作數(shù)操作數(shù)尋址特征尋址特征ALU相對(duì)距離相對(duì)距離 A1001PCOPA主存主存1000AOPA 的位數(shù)決定操作數(shù)的尋址范圍的位數(shù)決定操作數(shù)的尋址范圍程序浮動(dòng)程序浮動(dòng)廣泛用于轉(zhuǎn)移指令廣泛用于轉(zhuǎn)移指令特點(diǎn):特點(diǎn):出棧出棧 (SP)+ 1
37、 SP進(jìn)棧進(jìn)棧 (SP) 1 SP先進(jìn)后出先進(jìn)后出(一個(gè)入出口)(一個(gè)入出口)10. 堆棧尋址堆棧尋址(1) 堆棧的特點(diǎn)堆棧的特點(diǎn)堆棧堆棧硬堆棧硬堆棧軟堆棧軟堆棧多個(gè)寄存器多個(gè)寄存器指定的存儲(chǔ)空間指定的存儲(chǔ)空間 11FFFH +12000 H棧頂棧頂棧底棧底2000 HSP2000 H1FFF HSP1FFFH棧頂棧頂棧底棧底進(jìn)棧進(jìn)棧出棧出棧 1FFF H棧頂棧頂 2000 H棧頂棧頂棧頂?shù)刂窏m數(shù)刂?由由 SP 指出指出(2) 堆棧尋址舉例堆棧尋址舉例15200HACCSPX棧頂棧頂200H棧底棧底主存主存PUSH A 前前15棧頂棧頂200H棧底棧底主存主存X1FFH1FFHSP15ACC
38、PUSH A 后后X棧頂棧頂200H棧底棧底主存主存151FFHYACC1FFHSPPOP A 前前棧頂棧頂200H棧底棧底主存主存X15200HSP15ACCPOP A 后后11設(shè)計(jì)指令格式涉及的問(wèn)題設(shè)計(jì)指令格式涉及的問(wèn)題機(jī)器設(shè)計(jì)復(fù)雜機(jī)器設(shè)計(jì)復(fù)雜尋址方式復(fù)雜尋址方式復(fù)雜指令集豐富指令集豐富使用靈活,可編寫出高效的程序使用靈活,可編寫出高效的程序(1)機(jī)器設(shè)計(jì)容易機(jī)器設(shè)計(jì)容易使用上困難使用上困難尋址方式少尋址方式少(2)1. 指令系統(tǒng)的指令系統(tǒng)的 兼容性兼容性,(向上兼容)(向上兼容)2. 操作類型操作類型指令個(gè)數(shù)指令個(gè)數(shù)操作的難易程度操作的難易程度3.數(shù)據(jù)類型數(shù)據(jù)類型指令格式指令格式指令字長(zhǎng)
39、、操作碼位數(shù)指令字長(zhǎng)、操作碼位數(shù)地址碼位數(shù)、地址個(gè)數(shù)地址碼位數(shù)、地址個(gè)數(shù)尋址方式、是否采用擴(kuò)展操作碼尋址方式、是否采用擴(kuò)展操作碼4.5.尋址方式尋址方式,是否采用是否采用擴(kuò)展操作碼技術(shù)擴(kuò)展操作碼技術(shù)6.寄存器個(gè)數(shù)寄存器個(gè)數(shù) (1)直接尋址的二地址指令)直接尋址的二地址指令3條;條;(2)變址尋址的一地址指令)變址尋址的一地址指令6條;條;(3)寄存器尋址的二地址指令)寄存器尋址的二地址指令8條;條;(4)直接尋址的一地址指令)直接尋址的一地址指令12條;條;(5)零地址指令)零地址指令32條。條。例例2:某機(jī)字長(zhǎng):某機(jī)字長(zhǎng)16為,存儲(chǔ)器直接尋址空間為為,存儲(chǔ)器直接尋址空間為128字,變址時(shí)的位
40、移量為字,變址時(shí)的位移量為6463, 16個(gè)通用寄存器均可組作為變址寄存器。采用擴(kuò)展操作碼技術(shù),設(shè)計(jì)一套指令個(gè)通用寄存器均可組作為變址寄存器。采用擴(kuò)展操作碼技術(shù),設(shè)計(jì)一套指令 系統(tǒng)格式,滿足下列尋址類型的要求:系統(tǒng)格式,滿足下列尋址類型的要求:解:解:2n = 128 n = 72m = 128 m = 7由題干可知由題干可知 直接尋址空間為直接尋址空間為128個(gè)字個(gè)字變址位移量為變址位移量為128指令中的指令中的地址碼字段地址碼字段A所占的位數(shù)所占的位數(shù) = 7(1)直接尋址的二地址指令)直接尋址的二地址指令3條:條:OPA1A27位位7位位2位位0 00 11 0二地址指令二地址指令3條條
41、解:解:(2)變址尋址的一地址指令)變址尋址的一地址指令6條條變址寄存器選擇變址寄存器選擇AOP7位位4位位5位位可使用可使用11111111111111000001010011100101變址尋址的一地址指令變址尋址的一地址指令6條條解:解:R1R2OPOP(3)寄存器尋址的二地址指令)寄存器尋址的二地址指令8條條4位位4位位8位位111011111011110111101111011110111101111011110000001010011100101110111寄存器尋址的二地址指令寄存器尋址的二地址指令8條條已經(jīng)分配完畢已經(jīng)分配完畢解:解: (4)直接尋址的一地址指令)直接尋址的一地
42、址指令12條條AOP7位位9位位 直接尋址的直接尋址的一地址指令一地址指令12條條111110000111110001111110010111110011111110100111110101111110110111110111111111000111111001111111010111111011111101111已經(jīng)分配完畢已經(jīng)分配完畢解:解:(5)零地址指令)零地址指令32條條111111110很多種很多種 答:答:指令格式及尋址方式的特點(diǎn)如下: 1)單字長(zhǎng)二地址指令; 2)操作碼可指定16條指令; 3)源和目的均有8種尋址方式; 4)源地址寄存器和目的地址寄存器均有8個(gè); 5)可尋址范圍
43、為164K 例2.分析以下指令格式及尋址方式特點(diǎn)?OP尋址方式 寄存器 尋址方式 寄存器源地址目標(biāo)地址 15 12 11 9 8 6 5 3 2 020050011002001005008001002002100OPXD=100PC=1000R基基=2000 尋址方式尋址方式X操作數(shù)操作數(shù)立即立即0100直接直接1200間接間接2500相對(duì)相對(duì)3100變址變址4200變址間址變址間址5500有效地址有效地址ES=DE=D=100E=(D)=200E=PC+D=1100E=(R)+D=2100E=(R)+D)=200例3 3設(shè)某機(jī)的指令格式、有關(guān)寄存器和主存內(nèi)容如下,設(shè)某機(jī)的指令格式、有關(guān)寄存器
44、和主存內(nèi)容如下,X X為尋址方式,為尋址方式,D D為形式地址,請(qǐng)?jiān)谙卤碇刑钊胗行У刂窞樾问降刂罚?qǐng)?jiān)谙卤碇刑钊胗行У刂稥 E及操及操作數(shù)的值。?作數(shù)的值。?解答:例題例題4. 4. 某機(jī)指令格式如下某機(jī)指令格式如下: : 15 10 9 8 7 0其中X為尋址特征位,且X=00時(shí)不變址;X=01時(shí)用變址寄存器X1進(jìn)行變址;X=10時(shí)用變址寄存器X2進(jìn)行變址;X=11時(shí)相對(duì)尋址。設(shè)(PC)=1234H,(X1) =(X2)=1122H,請(qǐng)確定下列指令的有效地址(均用十六進(jìn)制表示,H表示十六進(jìn)制);(1)4420H (2)2244H (3)1322H (4)3521H (5)6723H解:(1)
45、指令4420H展開為:0100010 00 0100000BX=00不變址,有效地址=D=0020HOPXD(2)指令2244H展開為:001000 10 01000100BX=10用變址寄存器X2進(jìn)行變址,有效地址=(X2)+D=1122H+44H=1166H(3)指令1322H展開為:000100 11 00100010BX=11為相對(duì)尋址,有效地址=(PC)+D=1234H+ 22H=1256H(4)指令3521H展開為:001101 01 00100001BX=01用變址寄存器X1進(jìn)行變址,有效地址=(X1)+D=0037H+21H=0058H(5)指令6723H展開為:011001
46、11 00100011BX=11為相對(duì)尋址,有效地址=(PC)+D=1234H+23H =1257H課堂練習(xí)與思考:課堂練習(xí)與思考:1、若存儲(chǔ)器中的內(nèi)容是操作數(shù)的地址,則使用的尋址方式是 。 2、單地址指令中為了實(shí)現(xiàn)兩個(gè)數(shù)的算術(shù)運(yùn)算,除地址碼指明的一個(gè)操作數(shù)外,另一個(gè)常采用 尋址方式。 存儲(chǔ)器間接尋址 隱含 3、變址尋址方式中,操作數(shù)的有效地址等于 。A、基值寄存器內(nèi)容加上形式地址(位移量)B、堆棧指示器內(nèi)容加上形式地址(位移量)C、變址寄存器內(nèi)容加上形式地址(位移量)D、程序記數(shù)器內(nèi)容加上形式地址(位移量)C課堂練習(xí)與思考:課堂練習(xí)與思考:4、用某個(gè)寄存器中操作數(shù)的尋址方式稱為_尋址。A 直
47、接 B 間接 C 寄存器直接 D 寄存器間接 C5. 寄存器間接尋址方式中,操作數(shù)處在_。 A. 通用寄存器 B. 主存單元 C. 程序計(jì)數(shù)器 D. 堆棧B6、指令系統(tǒng)采用不同尋址方式的目的是_。A 實(shí)現(xiàn)存貯程序和程序控制;B 縮短指令長(zhǎng)度,擴(kuò)大尋址空間,提高編程靈活性;C 可直接訪問(wèn)外存;D 提供擴(kuò)展操作碼的可能并降低指令譯碼的難度;B課堂練習(xí)與思考:課堂練習(xí)與思考:7 7指令格式如下所示,OP為操作碼字段,試分析指令格式及尋址方式特點(diǎn)。15 10 9 8 7 4 3 0解:解:雙字長(zhǎng)二地址指令,用于訪問(wèn)存儲(chǔ)器,操作碼字段可指定64種操作;RS型指令,一個(gè)操作數(shù)在通用寄存器中(共16個(gè)通用寄
48、存器),另一個(gè)操作數(shù)在內(nèi)存中有效地址可通過(guò)基址尋址求得,即有效地址等于基址寄存器(共16個(gè))內(nèi)容加上位移量。 OP源寄存器基址寄存器位移量(16位)課堂練習(xí)與思考:課堂練習(xí)與思考:8. 某機(jī)主存容量為 4M 16 位,且存儲(chǔ)字長(zhǎng)等于指令字長(zhǎng),若該機(jī)的指令系統(tǒng)具備 120 種操作。操作碼位數(shù)固定,且具有直接、間接、立即、相對(duì)四種尋址方式。 (1)畫出一地址指令格式并指出各字段的作用; (2)該指令直接尋址的最大范圍; (3)一次間址的尋址范圍; (4)相對(duì)尋址的尋址范圍。 答:指令字長(zhǎng) 16 位,操作碼為 7 位,尋址特征位 2 位,地址碼 7 位; -6463 ; 15 9 8 7 6 02
49、16 ; 2 16 OP尋址特征地址碼1. 1.數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令 這類指令的功能是實(shí)現(xiàn)寄存器與寄存器,寄存器與存儲(chǔ)單這類指令的功能是實(shí)現(xiàn)寄存器與寄存器,寄存器與存儲(chǔ)單元以及存儲(chǔ)單元與存儲(chǔ)單元之間的數(shù)據(jù)傳送。元以及存儲(chǔ)單元與存儲(chǔ)單元之間的數(shù)據(jù)傳送。 數(shù)據(jù)傳送指令主要包括取數(shù)指令、存數(shù)指令、傳送指令、數(shù)據(jù)傳送指令主要包括取數(shù)指令、存數(shù)指令、傳送指令、 成組傳送指令、字節(jié)交換指令、清累加器指令、堆棧操作成組傳送指令、字節(jié)交換指令、清累加器指令、堆棧操作 指令等等。指令等等。2.2.算術(shù)運(yùn)算指令算術(shù)運(yùn)算指令 這類指令包括二進(jìn)制定點(diǎn)加、減、乘、除指令,浮點(diǎn)加、這類指令包括二進(jìn)制定點(diǎn)加、減、乘
50、、除指令,浮點(diǎn)加、減、乘、除指令,求反、求補(bǔ)指令,算術(shù)移位指令,算術(shù)比較減、乘、除指令,求反、求補(bǔ)指令,算術(shù)移位指令,算術(shù)比較指令,十進(jìn)制加、減運(yùn)算指令等。這類指令主要用于定點(diǎn)或浮指令,十進(jìn)制加、減運(yùn)算指令等。這類指令主要用于定點(diǎn)或浮點(diǎn)的算術(shù)運(yùn)算。大型機(jī)(如點(diǎn)的算術(shù)運(yùn)算。大型機(jī)(如IBM 370IBM 370機(jī)、國(guó)產(chǎn)銀河機(jī)、機(jī)、國(guó)產(chǎn)銀河機(jī)、CRAY-1CRAY-1機(jī)、機(jī)、CDCCDC的的STARSTAR100100機(jī)等)中還設(shè)置有向量運(yùn)算機(jī)等)中還設(shè)置有向量運(yùn)算 指令,可直指令,可直接對(duì)整個(gè)向量或矩陣進(jìn)行求和、求積運(yùn)算。接對(duì)整個(gè)向量或矩陣進(jìn)行求和、求積運(yùn)算。7.4.1 指令的分類mov ax,
51、bx+60hpush axadd ax,bp+di mul bx3.3.邏輯運(yùn)算指令邏輯運(yùn)算指令這類指令包括邏輯加、邏輯乘、邏輯比較、測(cè)等指令、按這類指令包括邏輯加、邏輯乘、邏輯比較、測(cè)等指令、按位加、邏輯移位等指令,主要用于無(wú)符號(hào)數(shù)的位操作、代碼的位加、邏輯移位等指令,主要用于無(wú)符號(hào)數(shù)的位操作、代碼的轉(zhuǎn)換、判斷及運(yùn)算。移位指令用來(lái)對(duì)寄存器的內(nèi)容實(shí)現(xiàn)左移、轉(zhuǎn)換、判斷及運(yùn)算。移位指令用來(lái)對(duì)寄存器的內(nèi)容實(shí)現(xiàn)左移、右移或循環(huán)移位。右移或循環(huán)移位。4.4.程序控制指令程序控制指令程序控制指令也稱轉(zhuǎn)移指令。執(zhí)行程序時(shí),有時(shí)機(jī)器執(zhí)行程序控制指令也稱轉(zhuǎn)移指令。執(zhí)行程序時(shí),有時(shí)機(jī)器執(zhí)行到某條指令時(shí),出現(xiàn)了幾種
52、不同結(jié)果,這時(shí)機(jī)器必須執(zhí)行一條到某條指令時(shí),出現(xiàn)了幾種不同結(jié)果,這時(shí)機(jī)器必須執(zhí)行一條轉(zhuǎn)移指令,根據(jù)不同結(jié)果進(jìn)行轉(zhuǎn)移,從而改變程序原來(lái)執(zhí)行的轉(zhuǎn)移指令,根據(jù)不同結(jié)果進(jìn)行轉(zhuǎn)移,從而改變程序原來(lái)執(zhí)行的順序。這種轉(zhuǎn)移指令稱為條件轉(zhuǎn)移指令。還有無(wú)條件轉(zhuǎn)移指令、順序。這種轉(zhuǎn)移指令稱為條件轉(zhuǎn)移指令。還有無(wú)條件轉(zhuǎn)移指令、轉(zhuǎn)子程序指令、返回主程序指令、中斷返回指令等。轉(zhuǎn)子程序指令、返回主程序指令、中斷返回指令等。 轉(zhuǎn)子指令是轉(zhuǎn)向本指令操作地址所指出的子程序入口,并轉(zhuǎn)子指令是轉(zhuǎn)向本指令操作地址所指出的子程序入口,并將原程序中下一條指令地址存入內(nèi)存某單元中,以便為返回主將原程序中下一條指令地址存入內(nèi)存某單元中,以便為
53、返回主程序時(shí)提供返回地址。程序時(shí)提供返回地址。and ax,1000hor ax,bxjnz 2000hjmp 1200h5.5.輸入輸出指令輸入輸出指令 輸入輸出指令主要用來(lái)啟動(dòng)外圍設(shè)備,檢查測(cè)試外圍輸入輸出指令主要用來(lái)啟動(dòng)外圍設(shè)備,檢查測(cè)試外圍設(shè)備的工作狀態(tài),并實(shí)現(xiàn)外部設(shè)備和設(shè)備的工作狀態(tài),并實(shí)現(xiàn)外部設(shè)備和CPUCPU之間,或外圍設(shè)之間,或外圍設(shè)備與外圍設(shè)備之間的信息傳送。備與外圍設(shè)備之間的信息傳送。 6.6.字符串處理指令字符串處理指令字符串處理指令是一種非數(shù)值處理指令,一般包括字字符串處理指令是一種非數(shù)值處理指令,一般包括字符串傳送、字符串轉(zhuǎn)換(把一種編碼的字符串轉(zhuǎn)換成另一符串傳送、字
54、符串轉(zhuǎn)換(把一種編碼的字符串轉(zhuǎn)換成另一種編碼的字符串)、字符串替換(把某一字符串用另一字種編碼的字符串)、字符串替換(把某一字符串用另一字符串替換)等。這類指令在文字編輯中對(duì)大量字符串進(jìn)行符串替換)等。這類指令在文字編輯中對(duì)大量字符串進(jìn)行處理。處理。in ax,dxout dx,axmovsbcmpsb7.7.特權(quán)指令特權(quán)指令特權(quán)指令是指具有特殊權(quán)限的指令。這類指令只用特權(quán)指令是指具有特殊權(quán)限的指令。這類指令只用于操作系統(tǒng)或其他系統(tǒng)軟件,一般不直接提供給用戶使于操作系統(tǒng)或其他系統(tǒng)軟件,一般不直接提供給用戶使用。用。 在多用戶、多任務(wù)的計(jì)算機(jī)系統(tǒng)中特權(quán)指令必不可在多用戶、多任務(wù)的計(jì)算機(jī)系統(tǒng)中特權(quán)
55、指令必不可少。它主要用于系統(tǒng)資源的分配和管理。少。它主要用于系統(tǒng)資源的分配和管理。8.8.其他指令其他指令 除以上各類指令外,還有狀態(tài)寄存器置位、復(fù)位指除以上各類指令外,還有狀態(tài)寄存器置位、復(fù)位指令、測(cè)試指令、暫停指令,空操作指令,以及其他一些令、測(cè)試指令、暫停指令,空操作指令,以及其他一些系統(tǒng)控制用的特殊指令。系統(tǒng)控制用的特殊指令。LGDT ;裝入全局描述表LLDT ;裝入局部描述符表hltnop7.4.2 8086/8088典型指令o數(shù)據(jù)傳送類 n取數(shù) MOV AX,TEMP n存數(shù) MOV TEMP,AX n傳送 MOV AX,CX o算術(shù)運(yùn)算類 n定點(diǎn), nADD,ADC,INC,SU
56、B,DEC MUL,DIV等 n浮點(diǎn), ,求反,求補(bǔ) NEG,比較 o邏輯運(yùn)算類 nNOT,AND,OR,XOR,TEST 8086/8088典型指令o程序控制類 n無(wú)條件轉(zhuǎn)移 JMP 條件轉(zhuǎn)移 C,Z,N,P,V n轉(zhuǎn)子程序 JSR 子程序返回 RET 中斷返回 IRET o輸入/輸出類 nIN AX,n OUT n, AX o字符串處理 字符串傳送、轉(zhuǎn)換、比較、查找 o特權(quán)指令: 系統(tǒng)資源的分配和管理 o其他類 n標(biāo)志操作:CLC(clear carry flag) nCLI (clear interrupt elable flag) nHLT,WAIT,ESC,LOCK 7.5.3 指令
57、系統(tǒng)發(fā)展方向oCISC-復(fù)雜指令系統(tǒng)計(jì)算機(jī) nComplex Instruction System Computer n指令數(shù)量多,指令功能,復(fù)雜的計(jì)算機(jī)。 o RISC-精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī) nReduced Instruction System Computer n指令數(shù)量少,指令功能單一的計(jì)算機(jī)。 1. CISC(complex instruction set computer)復(fù)雜指令系統(tǒng)計(jì)算機(jī)復(fù)雜指令系統(tǒng)計(jì)算機(jī)(1)()(VLSI的發(fā)展使硬件結(jié)構(gòu)趨于復(fù)雜,功能強(qiáng)大)保持與舊機(jī)型的兼容,的發(fā)展使硬件結(jié)構(gòu)趨于復(fù)雜,功能強(qiáng)大)保持與舊機(jī)型的兼容, 為此需要不斷的新增指令為此需要不斷的新增指令
58、.(2)縮小指令與高級(jí)語(yǔ)言的差異,便于編譯器設(shè)計(jì))縮小指令與高級(jí)語(yǔ)言的差異,便于編譯器設(shè)計(jì).精髓:精髓:CISC的思想是使硬件資源主要用于提高指令系統(tǒng)的功能和規(guī)模上。的思想是使硬件資源主要用于提高指令系統(tǒng)的功能和規(guī)模上。2CISC的缺點(diǎn):的缺點(diǎn):(1)復(fù)雜指令利用率不高。)復(fù)雜指令利用率不高?!?020規(guī)律規(guī)律”(2)降低整個(gè)機(jī)器的執(zhí)行速度)降低整個(gè)機(jī)器的執(zhí)行速度(3)使計(jì)算機(jī)組成復(fù)雜)使計(jì)算機(jī)組成復(fù)雜(4)設(shè)計(jì)周期長(zhǎng),易出現(xiàn)設(shè)計(jì)錯(cuò)誤)設(shè)計(jì)周期長(zhǎng),易出現(xiàn)設(shè)計(jì)錯(cuò)誤1. CISC的設(shè)計(jì)思想的設(shè)計(jì)思想3、 RISC(Reduced Instruction Set Computer)精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)
59、精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī) 以提高計(jì)算機(jī)的處理速度為依據(jù)來(lái)確定指令系統(tǒng)以提高計(jì)算機(jī)的處理速度為依據(jù)來(lái)確定指令系統(tǒng),便于流水處理。,便于流水處理。硬件實(shí)現(xiàn)容易,支持優(yōu)化編譯。硬件實(shí)現(xiàn)容易,支持優(yōu)化編譯。 (2) RISC 的主要特征的主要特征 (1) RISC的設(shè)計(jì)思想的設(shè)計(jì)思想 選用使用頻率較高的一些選用使用頻率較高的一些 簡(jiǎn)單指令簡(jiǎn)單指令 復(fù)雜指令的功能由簡(jiǎn)單指令來(lái)組合復(fù)雜指令的功能由簡(jiǎn)單指令來(lái)組合 指令指令 長(zhǎng)度固定長(zhǎng)度固定 只有只有 LOAD / STORE 指令訪存指令訪存 流水技術(shù)流水技術(shù) 一個(gè)時(shí)鐘周期一個(gè)時(shí)鐘周期 內(nèi)完內(nèi)完 成一條指令成一條指令 組合邏輯組合邏輯 實(shí)現(xiàn)控制器實(shí)現(xiàn)控制器 多個(gè)
60、多個(gè) 通用通用 寄存器寄存器 采用采用 優(yōu)化優(yōu)化 的的 編譯編譯 程序程序 典型程序中典型程序中 80% 的語(yǔ)句僅僅的語(yǔ)句僅僅使用處理機(jī)中使用處理機(jī)中 20% 的指令。的指令。現(xiàn)象:現(xiàn)象:(常用的指令,僅占指令總數(shù)的(常用的指令,僅占指令總數(shù)的20,但在程序中出現(xiàn)的頻度卻占,但在程序中出現(xiàn)的頻度卻占80) 8020 規(guī)律規(guī)律20世紀(jì)世紀(jì)80年代年代RISC型型CPU誕生誕生 對(duì)CISC指令系統(tǒng)所作的運(yùn)行統(tǒng)計(jì)分析表明,各種指令使用頻率相差懸殊,常用的較為簡(jiǎn)單的指令,僅占指令總數(shù)的20%,但在程序中使用的頻率卻占80。下表是公司研究了IBM 370計(jì)算機(jī)的高級(jí)語(yǔ)言運(yùn)行情況后所得到的統(tǒng)計(jì)數(shù)據(jù)。指令類
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度汽車租賃與廣告投放結(jié)合合同3篇
- 提前終止2025年度銷售代理合同2篇
- 2025年臨時(shí)保安服務(wù)與網(wǎng)絡(luò)安全監(jiān)測(cè)綜合合同4篇
- 二零二五版制片人電影項(xiàng)目制片與投資合同6篇
- 2025年收養(yǎng)協(xié)議書模板:特別關(guān)照孤殘兒童的定制合同3篇
- 二零二五年度集裝箱運(yùn)輸與環(huán)保治理技術(shù)合同范本3篇
- 2025年水渠環(huán)境監(jiān)測(cè)與治理服務(wù)合同3篇
- 二零二五版古籍藏書室購(gòu)置合同書3篇
- 二零二五年度車輛租賃合同交通安全責(zé)任補(bǔ)充協(xié)議3篇
- 二零二五年度淋浴房銷售與售后服務(wù)體系合同4篇
- 下肢皮牽引護(hù)理PPT課件(19頁(yè)P(yáng)PT)
- 臺(tái)資企業(yè)A股上市相關(guān)資料
- 電 梯 工 程 預(yù) 算 書
- 參會(huì)嘉賓簽到表
- 機(jī)械車間員工績(jī)效考核表
- 形式發(fā)票格式2 INVOICE
- 2.48低危胸痛患者后繼治療評(píng)估流程圖
- 人力資源管理之績(jī)效考核 一、什么是績(jī)效 所謂績(jī)效簡(jiǎn)單的講就是對(duì)
- 山東省醫(yī)院目錄
- 云南地方本科高校部分基礎(chǔ)研究
- 廢品管理流程圖
評(píng)論
0/150
提交評(píng)論