第3章指令系統(tǒng)(2015)_第1頁
第3章指令系統(tǒng)(2015)_第2頁
第3章指令系統(tǒng)(2015)_第3頁
第3章指令系統(tǒng)(2015)_第4頁
第3章指令系統(tǒng)(2015)_第5頁
已閱讀5頁,還剩122頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第3章章指令系統(tǒng)指令系統(tǒng)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第3章章了解指令的基本格式了解指令的基本格式理解不同地址碼雙操作數(shù)指令的區(qū)別理解不同地址碼雙操作數(shù)指令的區(qū)別理解規(guī)整型指令(定長(zhǎng)操作碼)的特點(diǎn)理解規(guī)整型指令(定長(zhǎng)操作碼)的特點(diǎn)理解非規(guī)整性指令(擴(kuò)展操作碼)的特點(diǎn)理解非規(guī)整性指令(擴(kuò)展操作碼)的特點(diǎn)掌握擴(kuò)展操作碼指令的格式設(shè)計(jì)掌握擴(kuò)展操作碼指令的格式設(shè)計(jì)了解編址單位的概念及常見的編址(字編址和字節(jié)編址)計(jì)算了解編址單位的概念及常見的編址(字編址和字節(jié)編址)計(jì)算機(jī)的特點(diǎn)機(jī)的特點(diǎn)理解指令中地址碼的位數(shù)與主存容量、最小尋址單位的關(guān)系理解指令中地址碼的位數(shù)與主存容量、最

2、小尋址單位的關(guān)系理解數(shù)據(jù)尋址和指令尋址的區(qū)別理解數(shù)據(jù)尋址和指令尋址的區(qū)別了解數(shù)據(jù)尋址的最終目的了解數(shù)據(jù)尋址的最終目的計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第3章章理解常見尋址方式(立即尋址、直接尋址、寄存器尋址、間接理解常見尋址方式(立即尋址、直接尋址、寄存器尋址、間接尋址、寄存器間接尋址、變址尋址、相對(duì)尋址、頁面尋址)的尋址、寄存器間接尋址、變址尋址、相對(duì)尋址、頁面尋址)的特點(diǎn)特點(diǎn)掌握直接尋址、間接尋址、編址尋址、相對(duì)尋址和頁面尋址方掌握直接尋址、間接尋址、編址尋址、相對(duì)尋址和頁面尋址方式中有效地址式中有效地址EA的計(jì)算的計(jì)算理解自底向上的存儲(chǔ)器堆棧的概念及堆棧的進(jìn)、出棧操作理解自底向上的存儲(chǔ)器堆棧

3、的概念及堆棧的進(jìn)、出棧操作掌握進(jìn)棧、出棧時(shí)棧指針的修改和數(shù)據(jù)的壓入和彈出掌握進(jìn)棧、出棧時(shí)棧指針的修改和數(shù)據(jù)的壓入和彈出理解轉(zhuǎn)移、轉(zhuǎn)子、返回指令的特點(diǎn)與區(qū)別理解轉(zhuǎn)移、轉(zhuǎn)子、返回指令的特點(diǎn)與區(qū)別理解獨(dú)立編址理解獨(dú)立編址I/O和統(tǒng)一編址和統(tǒng)一編址I/O的區(qū)別的區(qū)別計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第3章章指令指令是指示計(jì)算機(jī)執(zhí)行某些操作的命令,計(jì)算是指示計(jì)算機(jī)執(zhí)行某些操作的命令,計(jì)算機(jī)的所有指令的集合構(gòu)成該機(jī)的機(jī)的所有指令的集合構(gòu)成該機(jī)的指令系統(tǒng)指令系統(tǒng),也,也稱指令集稱指令集指令系統(tǒng)指令系統(tǒng)是計(jì)算機(jī)的主要屬性,位于硬件和軟是計(jì)算機(jī)的主要屬性,位于硬件和軟件的交界面上件的交界面上計(jì)算機(jī)組成原理計(jì)算機(jī)組成

4、原理第第3章章計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第3章章裸機(jī)裸機(jī)軟件軟件指令系統(tǒng)指令系統(tǒng)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第3章章3.1 指令格式指令格式3.2 尋址技術(shù)尋址技術(shù)3.3 堆棧堆棧與堆棧操作與堆棧操作3.4 指令類型指令類型3.5 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式3.1.1 機(jī)器指令的基本格式機(jī)器指令的基本格式一條指令就是機(jī)器語言的一個(gè)語句,是一組有一條指令就是機(jī)器語言的一個(gè)語句,是一組有意義的二進(jìn)制代碼意義的二進(jìn)制代碼 操作碼字段操作碼字段地址碼字段地址碼字段操作碼操作碼:指明操作的性質(zhì)及功能:指明操作的性質(zhì)及功能操作碼操作碼 地址碼地

5、址碼:指明操作數(shù)的地址,特殊情況:指明操作數(shù)的地址,特殊情況下也可能直接給出操作數(shù)本身下也可能直接給出操作數(shù)本身地址碼地址碼計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式指令長(zhǎng)度指令長(zhǎng)度是一條指令中所包含的二進(jìn)制代碼的是一條指令中所包含的二進(jìn)制代碼的位數(shù),取決于操作碼字段的長(zhǎng)度、操作數(shù)地址位數(shù),取決于操作碼字段的長(zhǎng)度、操作數(shù)地址的個(gè)數(shù)及長(zhǎng)度的個(gè)數(shù)及長(zhǎng)度指令長(zhǎng)度:指令長(zhǎng)度: 盡可能短盡可能短 等于字節(jié)的整數(shù)倍等于字節(jié)的整數(shù)倍計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式指令長(zhǎng)度可以等于機(jī)器字長(zhǎng),也可以大于或小指令長(zhǎng)度可以等于機(jī)器字長(zhǎng),也可以大于或小于機(jī)器字長(zhǎng)于機(jī)器字長(zhǎng)定長(zhǎng)指令字結(jié)構(gòu)定

6、長(zhǎng)指令字結(jié)構(gòu)變長(zhǎng)指令字結(jié)構(gòu)變長(zhǎng)指令字結(jié)構(gòu)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式3.1.2 地址碼結(jié)構(gòu)地址碼結(jié)構(gòu)雙操作數(shù)指令雙操作數(shù)指令除操作碼之外,包含以下信息:除操作碼之外,包含以下信息:第一操作數(shù)地址,用第一操作數(shù)地址,用A1表示表示第二操作數(shù)地址,用第二操作數(shù)地址,用A2表示表示操作結(jié)果存放地址,用操作結(jié)果存放地址,用A3表示表示下條將要執(zhí)行指令的地址,用下條將要執(zhí)行指令的地址,用A4表示表示可以在指令中明顯的給出,稱為可以在指令中明顯的給出,稱為顯地址顯地址;也可;也可依照某種事先的約定,用隱含的方式給出,稱為依照某種事先的約定,用隱含的方式給出,稱為隱地址隱地址計(jì)算機(jī)組

7、成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式1.四地址指令四地址指令OPOPA A1 1A A2 2A A3 3A A4 4(A1)OP(A2)A3A4=下條要執(zhí)行指令的下條要執(zhí)行指令的地址地址538+ +10020030040010020030050100200300400指令指令下一指令下一指令53指令指令 5 3 8下一指令下一指令400+ +執(zhí)行一條四地址指令需執(zhí)行一條四地址指令需5次訪次訪問主存問主存計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理10020030050指令指令下一指令下一指令53513.1 指令格式指令格式2.三地址指令三地址指令OPOPA A1 1A A2 2A A3 3(A1)OP

8、(A2)A3(PC)+1=下條將要執(zhí)下條將要執(zhí)行指令的地址行指令的地址程序計(jì)數(shù)器:程序計(jì)數(shù)器:存放當(dāng)前指令地址存放當(dāng)前指令地址指令指令 5 3 8下一指令下一指令+ +100200300538+執(zhí)行一條三地址指令執(zhí)行一條三地址指令需需4次訪問主存次訪問主存100200300 + +計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理(A1)OP(A2)A13.1 指令格式指令格式3. .二地址指令二地址指令OPOPA A1 1A A2 2(PC)+1=下條將要執(zhí)行下條將要執(zhí)行指令的地址指令的地址A1中原存內(nèi)容在指令執(zhí)中原存內(nèi)容在指令執(zhí)行后被破壞行后被破壞目的操作數(shù)地址目的操作數(shù)地址源操作數(shù)地址源操作數(shù)地址執(zhí)行一條二地

9、址指令需執(zhí)行一條二地址指令需4次訪問主存次訪問主存10020030050指令指令下一指令下一指令5351指令指令 5 3 8下一指令下一指令+ +100200538+100200 + +計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理(Acc)OP(A1)Acc3 3.1 指令格式指令格式4.一地址指令一地址指令OPOPA A1 1(PC)+1=下條將要下條將要執(zhí)行指令的地址執(zhí)行指令的地址累加寄存器累加寄存器執(zhí)行一條一地址執(zhí)行一條一地址指令需指令需2次訪問主存次訪問主存10020030050指令指令下一指令下一指令351指令指令 3下一指令下一指令+ +100538+100 + +計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.

10、1 指令格式指令格式5.零地址指令零地址指令OP操作數(shù)地址是隱含的操作數(shù)地址是隱含的參加運(yùn)算的操作數(shù)放在堆棧中,運(yùn)算結(jié)果也參加運(yùn)算的操作數(shù)放在堆棧中,運(yùn)算結(jié)果也放在堆棧中放在堆棧中計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式從縮短從縮短程序程序長(zhǎng)度,用戶使用方便,增加操作并行度方長(zhǎng)度,用戶使用方便,增加操作并行度方面,選用三地址指令格式較好面,選用三地址指令格式較好從縮短從縮短指令指令長(zhǎng)度,減少訪存次數(shù),簡(jiǎn)化硬件設(shè)計(jì)方面,長(zhǎng)度,減少訪存次數(shù),簡(jiǎn)化硬件設(shè)計(jì)方面,一地址指令格式較好一地址指令格式較好同一個(gè)問題,三地址指令編寫的程序最短,指令長(zhǎng)度同一個(gè)問題,三地址指令編寫的程序最短,指令長(zhǎng)度

11、最長(zhǎng),用二、一、零地址指令來編寫程序,程序的長(zhǎng)最長(zhǎng),用二、一、零地址指令來編寫程序,程序的長(zhǎng)度一個(gè)比一個(gè)長(zhǎng),指令的長(zhǎng)度一個(gè)比一個(gè)短度一個(gè)比一個(gè)長(zhǎng),指令的長(zhǎng)度一個(gè)比一個(gè)短計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式計(jì)算機(jī)程序設(shè)計(jì)語言:機(jī)器語言,匯編語言,高級(jí)計(jì)算機(jī)程序設(shè)計(jì)語言:機(jī)器語言,匯編語言,高級(jí)語言語言匯編語言和機(jī)器語言是面向機(jī)器的程序設(shè)計(jì)語言匯編語言和機(jī)器語言是面向機(jī)器的程序設(shè)計(jì)語言匯編語言的產(chǎn)生:減輕編寫程序過程中的勞動(dòng),用匯編語言的產(chǎn)生:減輕編寫程序過程中的勞動(dòng),用“助記符號(hào)助記符號(hào)”來代替來代替0、1進(jìn)行編程進(jìn)行編程計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式例:分

12、別利用三地址、二地址、一地址和零地例:分別利用三地址、二地址、一地址和零地址指令編制計(jì)算算術(shù)表達(dá)式址指令編制計(jì)算算術(shù)表達(dá)式的程序的程序 x=(ab+c-d) (e+f)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式三地址指令程序三地址指令程序(abc為操作數(shù),為操作數(shù),ABC為操作數(shù)地址為操作數(shù)地址)x=(ab+c-d) (e+f) MUL A,B,X ADD X,C,X SUB X,D,X ADD E,F,Y DIV X,Y,X需需5條指令,每條指令條指令,每條指令4次次訪存,共訪存訪存,共訪存20次次無符號(hào)數(shù)乘法無符號(hào)數(shù)乘法 兩數(shù)相加兩數(shù)相加(不帶符號(hào)不帶符號(hào))兩數(shù)相減兩數(shù)相減無符號(hào)

13、數(shù)除法無符號(hào)數(shù)除法 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式二地址二地址指令程序指令程序(abc為操作數(shù),為操作數(shù),ABC為操作數(shù)地址為操作數(shù)地址)x=(ab+c-d) (e+f) MOV X,A MUL X,B ADD X,C SUB X,D MOV Y,E ADD Y,F DIV X,Y需需7條指令,條指令,MOV指令指令3次訪存,次訪存,其它其它4次訪存,訪存共次訪存,訪存共26次次數(shù)據(jù)轉(zhuǎn)移指令數(shù)據(jù)轉(zhuǎn)移指令計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式一地址指令程序一地址指令程序(abc為操作數(shù),為操作數(shù),ABC為操作數(shù)地址為操作數(shù)地址)x=(ab+c-d) (e+f)

14、 LOAD E ADD F STORE X LOAD A MUL B ADD C SUB D DIV X STORE X需需9條指令,每條指令條指令,每條指令2次次訪存,訪存共訪存,訪存共18次次加載數(shù)據(jù)到寄存器加載數(shù)據(jù)到寄存器存儲(chǔ)數(shù)據(jù)到寄存器存儲(chǔ)數(shù)據(jù)到寄存器計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式零地址指令程序零地址指令程序(abc為操作數(shù),為操作數(shù),ABC為操作數(shù)地址為操作數(shù)地址)x=(ab+c-d) (e+f) PUSH A PUSH B MUL PUSH C ADD PUSH D SUB PUSH E PUSH F ADD DIV POP X需需12條指令,其中條指令,其中

15、7條一地址的條一地址的進(jìn)、出棧指令,進(jìn)、出棧指令,5條零地址的算條零地址的算術(shù)運(yùn)算指令;進(jìn)、出棧指令術(shù)運(yùn)算指令;進(jìn)、出棧指令3次次訪存,算邏指令訪存,算邏指令4次訪存,執(zhí)行次訪存,執(zhí)行此程序共訪存此程序共訪存7*3+5*4=41次次將數(shù)據(jù)壓入棧將數(shù)據(jù)壓入棧計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式同一類指令在不同計(jì)算機(jī)中實(shí)現(xiàn)同一類指令在不同計(jì)算機(jī)中實(shí)現(xiàn)u雙操作數(shù)運(yùn)算類指令需要雙操作數(shù)運(yùn)算類指令需要3個(gè)地址,有的機(jī)器個(gè)地址,有的機(jī)器3個(gè)顯地址,個(gè)顯地址,有的機(jī)器有的機(jī)器2個(gè)顯地址,有的機(jī)器個(gè)顯地址,有的機(jī)器1個(gè)顯地址個(gè)顯地址同一計(jì)算機(jī)中不同類型指令的實(shí)現(xiàn)同一計(jì)算機(jī)中不同類型指令的實(shí)現(xiàn)u

16、雙操作數(shù)運(yùn)算指令需雙操作數(shù)運(yùn)算指令需3個(gè)地址個(gè)地址u傳送指令需傳送指令需2個(gè)地址個(gè)地址u單操作數(shù)運(yùn)算指令需單操作數(shù)運(yùn)算指令需1個(gè)地址個(gè)地址(+1,-1,求反等,求反等)u零地址指令:停機(jī)、空操作、清除零地址指令:停機(jī)、空操作、清除計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式不同的指令需要的地址個(gè)數(shù)不相等不同的指令需要的地址個(gè)數(shù)不相等 ADD A,B,C MOV A,B INC A HALT計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式3.1.3 指令的操作碼指令的操作碼指令系統(tǒng)中的每一條指令都有一個(gè)唯一確定的指令系統(tǒng)中的每一條指令都有一個(gè)唯一確定的操作碼操作碼指令操作碼的編碼分為

17、指令操作碼的編碼分為規(guī)整型規(guī)整型和和非規(guī)整型非規(guī)整型 規(guī)整型(定長(zhǎng)編碼)規(guī)整型(定長(zhǎng)編碼) 非規(guī)整型(變長(zhǎng)編碼)非規(guī)整型(變長(zhǎng)編碼) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式 1.規(guī)整型規(guī)整型操作碼字段的位數(shù)和位置是固定的操作碼字段的位數(shù)和位置是固定的假定:指令系統(tǒng)共有假定:指令系統(tǒng)共有m條指令,指令中操作碼條指令,指令中操作碼字段的位數(shù)為字段的位數(shù)為N位,則有如下關(guān)系式:位,則有如下關(guān)系式: Nlog2 m計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式 1.規(guī)整型規(guī)整型IBM 370機(jī)(字長(zhǎng)機(jī)(字長(zhǎng)32位)的指令分為三種不同位)的指令分為三種不同的長(zhǎng)度形式:的長(zhǎng)度形式:半字

18、長(zhǎng)指令、單字長(zhǎng)指令、一個(gè)半字長(zhǎng)指令半字長(zhǎng)指令、單字長(zhǎng)指令、一個(gè)半字長(zhǎng)指令操作碼字段操作碼字段一律都是一律都是8位位,8位操作碼字段允許位操作碼字段允許容納容納256條指令,實(shí)際上在條指令,實(shí)際上在IBM 370機(jī)中僅有機(jī)中僅有183條指令條指令計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式OPOPOPOPOPD2D1D1D2D2R1R1R1R2R2L1B1B2B2B2X2B1I28888844444444444881212121212RR型RX型RS型SI型SS型計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式定長(zhǎng)編碼對(duì)于簡(jiǎn)化硬件設(shè)計(jì),減少指令譯碼定長(zhǎng)編碼對(duì)于簡(jiǎn)化硬件設(shè)計(jì),減少指令譯

19、碼的時(shí)間是非常有利的,存在著信息冗余的時(shí)間是非常有利的,存在著信息冗余 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式2.非規(guī)整型非規(guī)整型操作碼字段位數(shù)不固定,分散放在指令字的不操作碼字段位數(shù)不固定,分散放在指令字的不同位置同位置PDP-11機(jī)(字長(zhǎng)機(jī)(字長(zhǎng)16位)的指令分為單字長(zhǎng)、兩位)的指令分為單字長(zhǎng)、兩字長(zhǎng)、三字長(zhǎng),操作碼字段占字長(zhǎng)、三字長(zhǎng),操作碼字段占416位不等位不等操作碼字段的位數(shù)和位置不固定將增加指令譯操作碼字段的位數(shù)和位置不固定將增加指令譯碼和分析的難度,使控制器的設(shè)計(jì)復(fù)雜化碼和分析的難度,使控制器的設(shè)計(jì)復(fù)雜化 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式OPRR

20、846261316OPS844OPOPOPOPOPOP1616SDD1683DDXSS66666610單字長(zhǎng)(16位)二字長(zhǎng)(32位)三字長(zhǎng)(48位)地址地址1地址2計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式最常用的非規(guī)整型編碼方式是最常用的非規(guī)整型編碼方式是擴(kuò)展操作碼法擴(kuò)展操作碼法: 讓操作數(shù)地址個(gè)數(shù)多的指令(如三地址指令)讓操作數(shù)地址個(gè)數(shù)多的指令(如三地址指令)的操作碼字段短些,操作數(shù)地址個(gè)數(shù)少的指令的操作碼字段短些,操作數(shù)地址個(gè)數(shù)少的指令(如一或零地址指令)的操作碼字段長(zhǎng)些(如一或零地址指令)的操作碼字段長(zhǎng)些計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式例:指令長(zhǎng)度為例:

21、指令長(zhǎng)度為16位,操作碼字段為位,操作碼字段為4位,有位,有三個(gè)三個(gè)4位的地址碼字段,其格式為:位的地址碼字段,其格式為:按定長(zhǎng)編碼的方法,按定長(zhǎng)編碼的方法,4位操作碼字段最多只能位操作碼字段最多只能表示表示16條不同的三地址指令條不同的三地址指令OPA1A2A34位位4位位4位位4位位計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式OPOPA A1 1A A2 2A A3 34 4位位4 4位位4 4位位4 4位位OPOP1515條三地址指令條三地址指令0000 XXXX YYYY ZZZZ0000 XXXX YYYY ZZZZ1110 XXXX YYYY ZZZZ1110 XXXX Y

22、YYY ZZZZ111111111515條二地址指令條二地址指令11111111 0000 XXXX YYYY 0000 XXXX YYYY1111 1110 XXXX YYYY1111 1110 XXXX YYYY1111 11111111 11111515條一地址指令條一地址指令1111 11111111 1111 0000 XXXX 0000 XXXX1111 1111 1110 XXXX1111 1111 1110 XXXX1111 1111 11111111 1111 11111616條零地址指令條零地址指令1111 1111 11111111 1111 1111 0000 0000

23、1111 1111 1111 11111111 1111 1111 1111擴(kuò)展窗口擴(kuò)展窗口擴(kuò)展窗口擴(kuò)展窗口擴(kuò)展窗口擴(kuò)展窗口OPOPA1A1A2A2OPOPA1A1OPOP計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式不同的指令需要的地址個(gè)數(shù)不相等不同的指令需要的地址個(gè)數(shù)不相等 ADD A,B,C MOV A,B INC A HALT計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式注意:注意: 不允許短碼是長(zhǎng)碼的前綴不允許短碼是長(zhǎng)碼的前綴,即短碼不能與長(zhǎng)碼,即短碼不能與長(zhǎng)碼的開始部分的代碼相同,否則將無法保證解碼的開始部分的代碼相同,否則將無法保證解碼的唯一性和實(shí)時(shí)性的唯一性和實(shí)時(shí)性

24、各條指令的操作碼一定不能重復(fù)雷同,而且各各條指令的操作碼一定不能重復(fù)雷同,而且各類指令的格式安排應(yīng)統(tǒng)一規(guī)整類指令的格式安排應(yīng)統(tǒng)一規(guī)整計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.1 指令格式指令格式例:例:某機(jī)字長(zhǎng)某機(jī)字長(zhǎng)32位,指令單字長(zhǎng),指令系統(tǒng)中位,指令單字長(zhǎng),指令系統(tǒng)中具有二地址指令、一地址指令和零地址指令各具有二地址指令、一地址指令和零地址指令各若干條,已知每個(gè)地址長(zhǎng)若干條,已知每個(gè)地址長(zhǎng)12位,采用位,采用擴(kuò)展操作擴(kuò)展操作碼碼方式,問該指令系統(tǒng)中的二地址指令、一地方式,問該指令系統(tǒng)中的二地址指令、一地址指令、零地址指令各址指令、零地址指令各最多最多能有多少條?能有多少條?計(jì)算機(jī)組成原理計(jì)算機(jī)組成

25、原理3.1 指令格式指令格式例:例:指令字長(zhǎng)為指令字長(zhǎng)為12位,每個(gè)地址碼為位,每個(gè)地址碼為3位,采用擴(kuò)展操作位,采用擴(kuò)展操作碼的方式,設(shè)計(jì)碼的方式,設(shè)計(jì)4條三地址指令、條三地址指令、16條二地址指令、條二地址指令、64條一地址指令和條一地址指令和16條零地址指令。條零地址指令。給出一種操作碼的擴(kuò)展方案給出一種操作碼的擴(kuò)展方案計(jì)算操作碼的平均長(zhǎng)度計(jì)算操作碼的平均長(zhǎng)度1. (操作碼的平均長(zhǎng)度操作碼的平均長(zhǎng)度=全部指令的操作碼長(zhǎng)度全部指令的操作碼長(zhǎng)度/指令指令總數(shù)總數(shù))計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第3章章3.1 指令格式指令格式3.2 尋址技術(shù)尋址技術(shù)3.3 堆棧堆棧與堆棧操作與堆棧操作3.4

26、指令類型指令類型3.5 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)尋找操作數(shù)的地址尋找操作數(shù)的地址或下一條要執(zhí)行的指令地址或下一條要執(zhí)行的指令地址包括包括編址方式編址方式和和尋址方式尋址方式計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)3.2.1 編址方式編址方式1. 編址編址指令中的地址碼字段指出操作數(shù)的來源和去向,指令中的地址碼字段指出操作數(shù)的來源和去向,操作數(shù)存放在相應(yīng)的存儲(chǔ)設(shè)備中操作數(shù)存放在相應(yīng)的存儲(chǔ)設(shè)備中計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)3.2.1 編址方式編址方式1. 編址編址需要編址的設(shè)備需要編址的設(shè)備uCPU中的通

27、用寄存器中的通用寄存器u主存儲(chǔ)器主存儲(chǔ)器u輸入輸出設(shè)備輸入輸出設(shè)備計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)2. 編址單位編址單位(1)字編址字編址 編址單位編址單位=訪問單位訪問單位每個(gè)編址單位所包含的信息量(二進(jìn)制位數(shù))每個(gè)編址單位所包含的信息量(二進(jìn)制位數(shù))與讀或?qū)懸淮渭拇嫫?、主存所獲得的信息量是與讀或?qū)懸淮渭拇嫫鳌⒅鞔嫠@得的信息量是相同的。早期的機(jī)器采用這種編址方式相同的。早期的機(jī)器采用這種編址方式計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)(2)字節(jié)編址字節(jié)編址字節(jié)編址支持非數(shù)值計(jì)算字節(jié)編址支持非數(shù)值計(jì)算編址單位與信息的基本單位(一個(gè)字節(jié))相同編址單位與信息的基本

28、單位(一個(gè)字節(jié))相同編址單位訪問單位編址單位訪問單位 主存的訪問單位是編址單位的若干倍主存的訪問單位是編址單位的若干倍計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)(3)位編址位編址 部分計(jì)算機(jī)系統(tǒng)采用位編址方式部分計(jì)算機(jī)系統(tǒng)采用位編址方式計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)3. 指令中地址碼的位數(shù)指令中地址碼的位數(shù)地址碼的位數(shù)與地址碼的位數(shù)與主存容量主存容量和和最小尋址單位最小尋址單位(即(即編址單位)有關(guān)聯(lián)的編址單位)有關(guān)聯(lián)的主存容量越大,所需地址碼位數(shù)越長(zhǎng)主存容量越大,所需地址碼位數(shù)越長(zhǎng)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)3. 指令中地址碼的位數(shù)指令

29、中地址碼的位數(shù)相同容量相同容量u以字節(jié)為最小尋址單位,地址碼的位數(shù)長(zhǎng)些以字節(jié)為最小尋址單位,地址碼的位數(shù)長(zhǎng)些u以字為最小尋址單位(假定字長(zhǎng)為以字為最小尋址單位(假定字長(zhǎng)為16位或更長(zhǎng)),位或更長(zhǎng)),地址碼的位數(shù)可以減少地址碼的位數(shù)可以減少計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)3. 指令中地址碼的位數(shù)指令中地址碼的位數(shù)設(shè)某機(jī)主存容量為設(shè)某機(jī)主存容量為220 個(gè)字節(jié),機(jī)器字長(zhǎng)個(gè)字節(jié),機(jī)器字長(zhǎng)32位位最小尋址單位為字節(jié)(按字節(jié)編址):地址碼最小尋址單位為字節(jié)(按字節(jié)編址):地址碼應(yīng)為應(yīng)為20位位最小尋址單位為字(按字編址):其地址碼只最小尋址單位為字(按字編址):其地址碼只需需18位位

30、計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)例:設(shè)某機(jī)主存容量為例:設(shè)某機(jī)主存容量為16MB,機(jī)器字長(zhǎng),機(jī)器字長(zhǎng)16位,若最小位,若最小尋址單位為字節(jié)尋址單位為字節(jié)(按字節(jié)編址按字節(jié)編址),其它地址碼為多少位?,其它地址碼為多少位?若最小尋址單位為字若最小尋址單位為字(按字編址按字編址),其地址碼為多少位?,其地址碼為多少位? 24位位 23位位計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)3.2.2 數(shù)據(jù)尋址和指令尋址數(shù)據(jù)尋址和指令尋址尋找操作數(shù)的地址為數(shù)據(jù)尋址,尋找操作數(shù)的地址為數(shù)據(jù)尋址,數(shù)據(jù)尋址方式數(shù)據(jù)尋址方式較多,其最終目的都是尋找所需要的操作數(shù)較多,其最終目的都是尋找所

31、需要的操作數(shù)尋找下一條將要執(zhí)行的指令地址稱為指令尋址,尋找下一條將要執(zhí)行的指令地址稱為指令尋址,指令尋址比較簡(jiǎn)單,它又可以細(xì)分為順序?qū)ぶ分噶顚ぶ繁容^簡(jiǎn)單,它又可以細(xì)分為順序?qū)ぶ泛吞S尋址和跳躍尋址計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)順序?qū)ぶ吠ㄟ^程序計(jì)數(shù)器順序?qū)ぶ吠ㄟ^程序計(jì)數(shù)器PC加加1,自動(dòng)形成下,自動(dòng)形成下一條指令的地址;一條指令的地址;跳躍尋址通過程序轉(zhuǎn)移類指令實(shí)現(xiàn)跳躍尋址通過程序轉(zhuǎn)移類指令實(shí)現(xiàn)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù) 3.2.3 基本的數(shù)據(jù)尋址方式基本的數(shù)據(jù)尋址方式根據(jù)指令中給出的地址碼字段尋找真實(shí)操作數(shù)根據(jù)指令中給出的地址碼字段尋找真實(shí)操作數(shù)

32、地址的方式地址的方式 指令中的形式地址指令中的形式地址A有效地址有效地址EA尋址方式尋址方式計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù) 3.2.3 基本的數(shù)據(jù)尋址方式基本的數(shù)據(jù)尋址方式OP立即數(shù)立即數(shù)取指令時(shí),操作碼和操作數(shù)被同時(shí)取出,不取指令時(shí),操作碼和操作數(shù)被同時(shí)取出,不必再次訪問存儲(chǔ)器,提高了指令的執(zhí)行速度必再次訪問存儲(chǔ)器,提高了指令的執(zhí)行速度操作數(shù)是指令的一部分,不能被修改,且立操作數(shù)是指令的一部分,不能被修改,且立即數(shù)的大小將受到指令長(zhǎng)度的限制即數(shù)的大小將受到指令長(zhǎng)度的限制1.立即尋址立即尋址計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)2.寄存器尋址寄存器尋址 寄存

33、器存取數(shù)據(jù)比主存快得寄存器存取數(shù)據(jù)比主存快得多;多; 寄存器的數(shù)量較少,其地址寄存器的數(shù)量較少,其地址碼字段比主存單元地址字段短碼字段比主存單元地址字段短得多得多操作數(shù)操作數(shù)OP指令寄存器指令寄存器 通用寄存器通用寄存器RiR5操作數(shù)操作數(shù)S=(Ri)操作數(shù)操作數(shù)EA= RiR5計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理操作數(shù)操作數(shù)OP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器A3.2 尋址技術(shù)尋址技術(shù)3.直接尋址直接尋址地址碼字段地址地址碼字段地址A是是操作數(shù)的有效地址:操作數(shù)的有效地址: EA=A操作數(shù)操作數(shù)100操作數(shù)操作數(shù)S=(A)100計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)4.間接尋址間接

34、尋址地址地址A是操作數(shù)的地是操作數(shù)的地址的地址址的地址 EA=(A)在指令格式中劃出一在指令格式中劃出一位作為標(biāo)志位位作為標(biāo)志位 =0 直接尋址直接尋址 =1 間接尋址間接尋址操作數(shù)操作數(shù)EAOP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器A操作數(shù)操作數(shù) 100操作數(shù)操作數(shù)S=(A)100200200計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)間接尋址的優(yōu)點(diǎn):間接尋址的優(yōu)點(diǎn): 擴(kuò)大了尋址范圍,可用指令的短地址訪問大擴(kuò)大了尋址范圍,可用指令的短地址訪問大的主存空間的主存空間 將主存單元作為程序的地址指針,指示操作將主存單元作為程序的地址指針,指示操作數(shù)在主存中的位置數(shù)在主存中的位置 當(dāng)操作數(shù)的地

35、址需要改變時(shí),不必修改指令,當(dāng)操作數(shù)的地址需要改變時(shí),不必修改指令,修改存放有效地址的那個(gè)主存單元(間接地址修改存放有效地址的那個(gè)主存單元(間接地址單元)的內(nèi)容單元)的內(nèi)容計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)多級(jí)間接尋址多級(jí)間接尋址多級(jí)間接標(biāo)志:多級(jí)間接標(biāo)志: 0:找到有效地址:找到有效地址 1:繼續(xù)間接尋址:繼續(xù)間接尋址EAOP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器A110二級(jí)間址二級(jí)間址三級(jí)間址三級(jí)間址操作數(shù)操作數(shù)100操作數(shù)操作數(shù)1 2001 3000 5010020030050計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理EAOP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器Ri操作數(shù)操作數(shù) 通用寄

36、存器通用寄存器3.2 尋址技術(shù)尋址技術(shù) 5.寄存器間接尋址寄存器間接尋址地址碼給出某一通用寄地址碼給出某一通用寄存器的編號(hào),被指定的存器的編號(hào),被指定的寄存器中存放操作數(shù)的寄存器中存放操作數(shù)的有效地址,而操作數(shù)則有效地址,而操作數(shù)則存放在主存單元中存放在主存單元中指令較短,并且在取指指令較短,并且在取指后只需一次訪存便可得后只需一次訪存便可得到操作數(shù)到操作數(shù)操作數(shù)操作數(shù)操作數(shù)操作數(shù)S=(Ri)100R5EA=(Ri)R5100計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)6.變址尋址變址尋址 指令給出的形式地指令給出的形式地址址A與變址寄存器與變址寄存器RX的內(nèi)容相加,形的內(nèi)容相加,形成

37、操作數(shù)有效地址:成操作數(shù)有效地址: EA=A+(RX) RX 的內(nèi)容為變址值的內(nèi)容為變址值120OP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器A操作數(shù)操作數(shù)R RX X變址值變址值XALU變址寄存器變址寄存器R RX X操作數(shù)操作數(shù)10020操作數(shù)操作數(shù)S=(A+(RX) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)變址尋址通常用指令中的形式地址作為變址尋址通常用指令中的形式地址作為基準(zhǔn)地基準(zhǔn)地址址,RX的內(nèi)容作為的內(nèi)容作為修改量修改量在遇到需要頻繁修改地址時(shí),無須修改指令,在遇到需要頻繁修改地址時(shí),無須修改指令,只修改變址值只修改變址值計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)例

38、:把一組連續(xù)存放在主存單元中的數(shù)據(jù)(首例:把一組連續(xù)存放在主存單元中的數(shù)據(jù)(首地址是地址是A)依次傳送到另一存儲(chǔ)區(qū)(首地址為)依次傳送到另一存儲(chǔ)區(qū)(首地址為B)中去,在指令中指明兩個(gè)存儲(chǔ)區(qū)的首地址中去,在指令中指明兩個(gè)存儲(chǔ)區(qū)的首地址A和和B(形式地址),用變址寄存器提供修改量(形式地址),用變址寄存器提供修改量K,可實(shí)現(xiàn)可實(shí)現(xiàn)(A+K)B+K變址寄存器的內(nèi)容在每次傳送之后自動(dòng)地修改變址寄存器的內(nèi)容在每次傳送之后自動(dòng)地修改 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)7.基址尋址基址尋址將基址寄存器將基址寄存器Rb的內(nèi)的內(nèi)容與位移量容與位移量D相加,相加,形成操作數(shù)有效地址:形成操作數(shù)有

39、效地址: EA=(Rb)+D基址寄存器的內(nèi)容稱基址寄存器的內(nèi)容稱為基址值,指令的地為基址值,指令的地址碼字段是一個(gè)位移址碼字段是一個(gè)位移量,量,位移量可正可負(fù)位移量可正可負(fù)OP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器D操作數(shù)操作數(shù)R Rb b基址值基址值A(chǔ)LU基址寄存器基址寄存器Rb120操作數(shù)操作數(shù)20100操作數(shù)操作數(shù)S=(Rb)+D)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)基址尋址、變址尋址在形成有效地址時(shí)的算基址尋址、變址尋址在形成有效地址時(shí)的算法相同,在一些計(jì)算機(jī)中,這兩種尋址方式法相同,在一些計(jì)算機(jī)中,這兩種尋址方式都是由同樣的硬件來實(shí)現(xiàn)的都是由同樣的硬件來實(shí)現(xiàn)的計(jì)算機(jī)組成

40、原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)兩種尋址方式應(yīng)用場(chǎng)合不同兩種尋址方式應(yīng)用場(chǎng)合不同變址尋址變址尋址面向用戶,用于訪問字符串、向量和數(shù)組等面向用戶,用于訪問字符串、向量和數(shù)組等成批數(shù)據(jù)成批數(shù)據(jù)基址尋址基址尋址面向系統(tǒng),用于邏輯地址和物理地址的變換,面向系統(tǒng),用于邏輯地址和物理地址的變換,解決程序在主存中再定位和擴(kuò)大尋址空間解決程序在主存中再定位和擴(kuò)大尋址空間某些大型機(jī)中,基址寄存器只能由特權(quán)指令來管理,某些大型機(jī)中,基址寄存器只能由特權(quán)指令來管理,用戶指令無權(quán)操作和修改用戶指令無權(quán)操作和修改計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理操作數(shù)操作數(shù)操作數(shù)操作數(shù)OP指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器D指令

41、指令指令地址指令地址ALU程序計(jì)數(shù)器程序計(jì)數(shù)器PC-D+D3.2 尋址技術(shù)尋址技術(shù)8.相對(duì)尋址相對(duì)尋址 由程序計(jì)數(shù)器由程序計(jì)數(shù)器PC提提供基準(zhǔn)地址,即:供基準(zhǔn)地址,即: EA=(PC)+D位移量指出的是操作數(shù)位移量指出的是操作數(shù)和現(xiàn)行指令之間的相對(duì)和現(xiàn)行指令之間的相對(duì)位置位置120操作數(shù)操作數(shù)20100操作數(shù)操作數(shù)S=(PC)+D)100-20 E0操作數(shù)操作數(shù)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù) 相對(duì)尋址的特點(diǎn):相對(duì)尋址的特點(diǎn): 操作數(shù)的地址不是固定的,隨操作數(shù)的地址不是固定的,隨PC值的變化而變化值的變化而變化,與指令地址之間相差固定值與指令地址之間相差固定值 D 指令地址

42、改變時(shí),由于其位移量不變,使得操作數(shù)指令地址改變時(shí),由于其位移量不變,使得操作數(shù)與指令在可用的存儲(chǔ)區(qū)內(nèi)一起移動(dòng),所以仍能保證與指令在可用的存儲(chǔ)區(qū)內(nèi)一起移動(dòng),所以仍能保證程序的正確執(zhí)行程序的正確執(zhí)行計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)9.頁面尋址頁面尋址主存空間分成若干個(gè)大小相同的區(qū),每個(gè)區(qū)稱主存空間分成若干個(gè)大小相同的區(qū),每個(gè)區(qū)稱為一頁,每頁有若干個(gè)主存單元為一頁,每頁有若干個(gè)主存單元每頁有編號(hào),稱為每頁有編號(hào),稱為頁面地址頁面地址;頁面內(nèi)的每個(gè)主;頁面內(nèi)的每個(gè)主存單元有的編號(hào),稱為存單元有的編號(hào),稱為頁內(nèi)地址頁內(nèi)地址操作數(shù)的有效地址分為兩部分:前部為頁面地操作數(shù)的有效地址分為

43、兩部分:前部為頁面地址,后部為頁內(nèi)地址址,后部為頁內(nèi)地址頁內(nèi)地址頁內(nèi)地址頁面地址頁面地址計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)頁內(nèi)地址由指令的地址碼頁內(nèi)地址由指令的地址碼A自動(dòng)直接提供,與頁面地自動(dòng)直接提供,與頁面地址通過簡(jiǎn)單的址通過簡(jiǎn)單的拼裝連接拼裝連接就就可得到有效地址可得到有效地址根據(jù)頁面地址的來源不同根據(jù)頁面地址的來源不同,有三種不同的頁面尋址,有三種不同的頁面尋址64KB0頁頁1頁頁2頁頁255頁頁0000255255255255頁內(nèi)地址頁內(nèi)地址(8位位)頁面地址頁面地址(8位位)64KB0頁頁1頁頁2頁頁511頁頁0000127127127127頁內(nèi)地址頁內(nèi)地址(7位

44、位)頁面地址頁面地址(9位位)頁內(nèi)地址頁內(nèi)地址(9位位)頁面地址頁面地址(7位位)64KB0頁頁1頁頁2頁頁127頁頁0000511511511511計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器OPA0頁頁1頁頁N-1頁頁指令指令所在頁所在頁0頁頁操作數(shù)操作數(shù)0頁頁3.2 尋址技術(shù)尋址技術(shù) (1)基頁尋址(零頁尋址)。由于頁面地址等基頁尋址(零頁尋址)。由于頁面地址等于全于全0,所以有效地址,所以有效地址EA=0A,操作數(shù),操作數(shù)S在在零頁面中零頁面中A頁內(nèi)地址頁內(nèi)地址頁面地址頁面地址EA操作數(shù)操作數(shù)3800000000000000000000380038255頁頁64K計(jì)

45、算機(jī)組成原理計(jì)算機(jī)組成原理指令寄存器指令寄存器主存儲(chǔ)器主存儲(chǔ)器OPA0頁頁1頁頁N-1頁頁指令指令所在頁所在頁指令指令所在頁所在頁操作數(shù)操作數(shù)PCHPCLPCH程序計(jì)數(shù)器程序計(jì)數(shù)器3.2 尋址技術(shù)尋址技術(shù) (2)當(dāng)前頁尋址。頁面地址等于程序計(jì)數(shù)器當(dāng)前頁尋址。頁面地址等于程序計(jì)數(shù)器PC的高位部分,有效地址的高位部分,有效地址EA=(PC)H A,操作,操作數(shù)數(shù)S與指令本身處于同一頁面中與指令本身處于同一頁面中頁內(nèi)地址頁內(nèi)地址頁面地址頁面地址EA操作數(shù)操作數(shù)APCH操作數(shù)操作數(shù)38382F852F2F38255頁頁64K511頁頁2FB8計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù) (3)

46、頁寄存器尋址。頁面地址取自頁寄存器,與頁寄存器尋址。頁面地址取自頁寄存器,與形式地址相拼接形成操作數(shù)有效地址:形式地址相拼接形成操作數(shù)有效地址: EA=(頁寄存器頁寄存器)A指令格式中設(shè)置頁面標(biāo)志位(指令格式中設(shè)置頁面標(biāo)志位(Z/C)。當(dāng))。當(dāng)Z/C=0,表示零頁尋址,當(dāng)表示零頁尋址,當(dāng)Z/C=1,表示當(dāng)前頁尋址,表示當(dāng)前頁尋址計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)尋址方式尋址方式規(guī)則規(guī)則主要優(yōu)點(diǎn)主要優(yōu)點(diǎn)主要缺點(diǎn)主要缺點(diǎn)立即尋址立即尋址操作數(shù)操作數(shù)=A無須訪問存儲(chǔ)器無須訪問存儲(chǔ)器操作數(shù)范圍受限操作數(shù)范圍受限寄存器尋址寄存器尋址EA=R無須訪問存儲(chǔ)器無須訪問存儲(chǔ)器尋址空間受限尋址空

47、間受限直接尋址直接尋址EA=A簡(jiǎn)單簡(jiǎn)單尋址空間受限尋址空間受限間接尋址間接尋址EA=(A)尋址空間大尋址空間大多次訪問主存多次訪問主存寄存器間接尋址寄存器間接尋址EA=(R)尋址空間大尋址空間大多訪問一次主存多訪問一次主存偏移尋址偏移尋址EA=(R)+A 靈活靈活復(fù)雜復(fù)雜計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理各種數(shù)據(jù)尋址方式獲得數(shù)據(jù)的速度(由快到慢)各種數(shù)據(jù)尋址方式獲得數(shù)據(jù)的速度(由快到慢)立即尋址立即尋址寄存器尋址:寄存器尋址:EA=Ri直接尋址:直接尋址:EA=A寄存器間接尋址寄存器間接尋址: :EA=(Ri)頁面尋址頁面尋址: :EA=(PC)H/A變址尋址(基址尋址、相對(duì)尋址)變址尋址(基址尋址

48、、相對(duì)尋址): :EA=(Rx)+A一級(jí)間接尋址一級(jí)間接尋址: :EA=(A)多級(jí)間接尋址多級(jí)間接尋址 3.2 尋址技術(shù)尋址技術(shù)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理設(shè)寄存器設(shè)寄存器R中的數(shù)值位中的數(shù)值位1000H,地址為,地址為1000H的存儲(chǔ)單元中存儲(chǔ)的存儲(chǔ)單元中存儲(chǔ)的內(nèi)容為的內(nèi)容為2000H,地址為,地址為2000H的存儲(chǔ)單元中存儲(chǔ)的內(nèi)容為的存儲(chǔ)單元中存儲(chǔ)的內(nèi)容為3000H,PC的值為的值為4000H,問以下尋址方式下訪問到的操作數(shù)的,問以下尋址方式下訪問到的操作數(shù)的值是什么?值是什么?1. 寄存器尋址寄存器尋址R2. 寄存器間接尋址寄存器間接尋址(R)3. 直接尋址直接尋址1000H4. 間接尋

49、址間接尋址(1000H)5. 相對(duì)尋址相對(duì)尋址-2000H(PC)6. 立即尋址立即尋址#2000H 3.2 尋址技術(shù)尋址技術(shù)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理一條轉(zhuǎn)移指令(指令長(zhǎng)一條轉(zhuǎn)移指令(指令長(zhǎng)16位)被存放在存儲(chǔ)器的位)被存放在存儲(chǔ)器的(410)10和和(411)10字節(jié)單元中,要轉(zhuǎn)移的地址為字節(jié)單元中,要轉(zhuǎn)移的地址為(288)10,如果在指令地址字段中的,如果在指令地址字段中的位移量為位移量為X,試計(jì)算,試計(jì)算1. X的十進(jìn)制值的十進(jìn)制值2. X的二進(jìn)制值的二進(jìn)制值(使用使用8位二進(jìn)制補(bǔ)碼表示位二進(jìn)制補(bǔ)碼表示)3.2 尋址技術(shù)尋址技術(shù)計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)區(qū)分

50、出不同尋址方式,在指令中給出標(biāo)識(shí):區(qū)分出不同尋址方式,在指令中給出標(biāo)識(shí):顯顯式和隱式式和隱式顯式的方法是在指令中設(shè)置專門的尋址方式顯式的方法是在指令中設(shè)置專門的尋址方式(MOD)字段,用二進(jìn)制代碼來表明尋址方式類字段,用二進(jìn)制代碼來表明尋址方式類型型AMODOP顯式顯式計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)隱式的方式是由指令的操作碼字段說明指令隱式的方式是由指令的操作碼字段說明指令格式并隱含約定尋址方式格式并隱含約定尋址方式AOP隱式隱式計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.2 尋址技術(shù)尋址技術(shù)一條指令若有兩個(gè)或兩個(gè)以上的地址碼時(shí),一條指令若有兩個(gè)或兩個(gè)以上的地址碼時(shí),各各地址碼可采用

51、不同的尋址方式地址碼可采用不同的尋址方式MOV AX,(BX)寄存器直接尋址寄存器直接尋址寄存器間接尋址寄存器間接尋址計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第3章章某機(jī)主存容量為某機(jī)主存容量為4M*16,且存儲(chǔ)字長(zhǎng)等于指令字長(zhǎng),若該機(jī)指令,且存儲(chǔ)字長(zhǎng)等于指令字長(zhǎng),若該機(jī)指令系統(tǒng)可完成系統(tǒng)可完成108種操作,操作碼位數(shù)固定,且具有直接、間接、種操作,操作碼位數(shù)固定,且具有直接、間接、變址、基址、相對(duì)、立即變址、基址、相對(duì)、立即6種尋址方式,試回答:種尋址方式,試回答:畫出一地址指令格式,并指出各字段的作用畫出一地址指令格式,并指出各字段的作用該指令直接尋址的最大范圍該指令直接尋址的最大范圍一次間址和多次

52、間址的尋址范圍一次間址和多次間址的尋址范圍立即數(shù)的范圍(十進(jìn)制表示)立即數(shù)的范圍(十進(jìn)制表示)相對(duì)尋址的位移量(十進(jìn)制表示)相對(duì)尋址的位移量(十進(jìn)制表示)1.上述上述6中尋址方式的指令哪一種執(zhí)行時(shí)間最短?哪一種執(zhí)行中尋址方式的指令哪一種執(zhí)行時(shí)間最短?哪一種執(zhí)行時(shí)間最長(zhǎng)?為什么?哪一種便于程序浮動(dòng)?哪一種最適合處時(shí)間最長(zhǎng)?為什么?哪一種便于程序浮動(dòng)?哪一種最適合處理數(shù)組問題?理數(shù)組問題?計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第3章章某計(jì)算機(jī)的字長(zhǎng)為某計(jì)算機(jī)的字長(zhǎng)為16位,存儲(chǔ)器按字編址,訪存指令格式如圖所位,存儲(chǔ)器按字編址,訪存指令格式如圖所示,其中,示,其中,OP是操作碼,是操作碼,MOD定義尋址方式

53、,如表所示,定義尋址方式,如表所示,A為為形式地址。設(shè)形式地址。設(shè)PC和和Rx分別為程序計(jì)數(shù)器和編址寄存器,字長(zhǎng)為分別為程序計(jì)數(shù)器和編址寄存器,字長(zhǎng)為16位,問位,問該格式能定義多少種指令該格式能定義多少種指令各種尋址方式的尋址范圍為多少字各種尋址方式的尋址范圍為多少字1.寫出各種尋址方式的有效地址寫出各種尋址方式的有效地址EA的計(jì)算式的計(jì)算式計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第3章章某機(jī)字長(zhǎng)為某機(jī)字長(zhǎng)為16位,采用一地址格式的指令系統(tǒng),允許直接、間接、位,采用一地址格式的指令系統(tǒng),允許直接、間接、變址、基址尋址,變址寄存器和基址寄存器均為變址、基址尋址,變址寄存器和基址寄存器均為16位,問位,問

54、1. 若采用單字指令,共能完成若采用單字指令,共能完成108種操作,畫出指令格式,并指種操作,畫出指令格式,并指出直接尋址和一次間址的尋址范圍各為多少?出直接尋址和一次間址的尋址范圍各為多少?2. 若采用雙字指令,操作碼位數(shù)和尋址方式不變,指令可直接尋若采用雙字指令,操作碼位數(shù)和尋址方式不變,指令可直接尋址的范圍又是多少?畫出指令格式址的范圍又是多少?畫出指令格式3. 字長(zhǎng)不變,可采用什么方法訪問容量為字長(zhǎng)不變,可采用什么方法訪問容量為8MB的主存任一地址單的主存任一地址單元?元?計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第3章章某機(jī)字長(zhǎng)某機(jī)字長(zhǎng)16位,直接尋址空間位,直接尋址空間128字,變址時(shí)的位移量

55、是字,變址時(shí)的位移量是-64-+63,16個(gè)通用寄存器都可以作為變址寄存器,設(shè)計(jì)一套指令系個(gè)通用寄存器都可以作為變址寄存器,設(shè)計(jì)一套指令系統(tǒng),滿足下列尋址類型的要求統(tǒng),滿足下列尋址類型的要求直接尋址的二地址指令直接尋址的二地址指令3條條變址尋址的一地址指令變址尋址的一地址指令6條條寄存器尋址的二地址指令寄存器尋址的二地址指令8條條直接尋址的一地址指令直接尋址的一地址指令12條條1.零地址指令零地址指令32條條計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第3章章3.1 指令格式指令格式3.2 尋址技術(shù)尋址技術(shù)3.3 堆棧堆棧與堆棧操作與堆棧操作3.4 指令類型指令類型3.5 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 計(jì)算

56、機(jī)組成原理計(jì)算機(jī)組成原理3.3 堆棧堆棧與堆棧操作與堆棧操作堆棧是一種按特定順序進(jìn)行存取的存儲(chǔ)區(qū),這堆棧是一種按特定順序進(jìn)行存取的存儲(chǔ)區(qū),這種特定順序可歸結(jié)為種特定順序可歸結(jié)為“后進(jìn)先出后進(jìn)先出”(LIFO)或或“先進(jìn)后出先進(jìn)后出”(FILO) 計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.3 堆棧堆棧與堆棧操作與堆棧操作3.3.1 堆棧結(jié)構(gòu)堆棧結(jié)構(gòu)1.寄存器堆棧寄存器堆棧一組專門的寄存器構(gòu)成寄存器堆棧,又稱為硬一組專門的寄存器構(gòu)成寄存器堆棧,又稱為硬堆棧堆棧棧頂是固定的,寄存器組中各寄存器是相互連棧頂是固定的,寄存器組中各寄存器是相互連接的,它們之間具有對(duì)應(yīng)位自動(dòng)推移的功能接的,它們之間具有對(duì)應(yīng)位自動(dòng)推移

57、的功能計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.3 堆棧與堆棧操作堆棧與堆棧操作寄存器0寄存器1寄存器2寄存器k-1壓入彈出棧頂b0bn-2bn-1計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.3 堆棧與堆棧操作堆棧與堆棧操作2.存儲(chǔ)器堆棧存儲(chǔ)器堆棧主存中劃出一段區(qū)域作堆棧,稱主存中劃出一段區(qū)域作堆棧,稱軟堆棧軟堆棧,大小可變,大小可變,棧底固定,棧頂浮動(dòng)棧底固定,棧頂浮動(dòng)一個(gè)專門的一個(gè)專門的硬件寄存器硬件寄存器作為堆棧棧頂指針作為堆棧棧頂指針SP,簡(jiǎn)稱,簡(jiǎn)稱棧指針。棧指針?biāo)付ǖ闹鞔鎲卧?,是堆棧的棧頂棧指針。棧指針?biāo)付ǖ闹鞔鎲卧?,是堆棧的棧?高地址高地址低地址低地址堆棧區(qū)自底向上生成自底向上生成方式的堆棧方式的

58、堆棧計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.3 堆棧與堆棧操作堆棧與堆棧操作棧底地址大于棧頂?shù)刂?,棧指針指向棧底地址大于棧頂?shù)刂?,棧指針指向棧頂?shù)臐M單棧頂?shù)臐M單元元。進(jìn)棧:。進(jìn)棧:SP自動(dòng)減自動(dòng)減1,再將數(shù)據(jù)壓入堆棧,再將數(shù)據(jù)壓入堆棧 20001FFF(SP)-1SP 修改棧指針修改棧指針(A)(SP) 將將A中的數(shù)據(jù)壓入堆棧中的數(shù)據(jù)壓入堆棧SP2000A2000原棧頂單元現(xiàn)棧頂單元1FFF1FFF注意計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.3 堆棧與堆棧操作堆棧與堆棧操作出棧時(shí),先將堆棧中的數(shù)據(jù)彈出,然后出棧時(shí),先將堆棧中的數(shù)據(jù)彈出,然后SP的內(nèi)的內(nèi)容自動(dòng)加容自動(dòng)加1。 2000(SP)A 將棧頂內(nèi)容彈出,

59、送入將棧頂內(nèi)容彈出,送入A中中(SP)+1SP 修改棧指針修改棧指針SP1FFF1FFFA1FFF原棧頂單元現(xiàn)棧頂單元1FFF1FFF2000注意計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.3 堆棧與堆棧操作堆棧與堆棧操作3.3.2 堆棧操作堆棧操作堆棧主要用來暫存中斷斷點(diǎn)、子程序調(diào)用時(shí)的堆棧主要用來暫存中斷斷點(diǎn)、子程序調(diào)用時(shí)的返回地址、狀態(tài)標(biāo)志及現(xiàn)場(chǎng)信息返回地址、狀態(tài)標(biāo)志及現(xiàn)場(chǎng)信息子程序調(diào)用時(shí)參數(shù)的傳遞子程序調(diào)用時(shí)參數(shù)的傳遞計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.3 堆棧與堆棧操作堆棧與堆棧操作3.3.2 堆棧操作堆棧操作在堆棧計(jì)算機(jī)(如在堆棧計(jì)算機(jī)(如HP-3000、B5000等)中,沒等)中,沒有一般計(jì)算機(jī)

60、中必備的通用寄存器,因此堆棧有一般計(jì)算機(jī)中必備的通用寄存器,因此堆棧就成為提供操作數(shù)和保存運(yùn)算結(jié)果的唯一場(chǎng)所就成為提供操作數(shù)和保存運(yùn)算結(jié)果的唯一場(chǎng)所計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理3.3 堆棧與堆棧操作堆棧與堆棧操作 參加運(yùn)算的兩個(gè)操作數(shù)參加運(yùn)算的兩個(gè)操作數(shù)隱含地從堆棧頂部彈出,隱含地從堆棧頂部彈出,送到運(yùn)算器中進(jìn)行運(yùn)算,送到運(yùn)算器中進(jìn)行運(yùn)算,運(yùn)算的結(jié)果再隱含地壓運(yùn)算的結(jié)果再隱含地壓入堆棧入堆棧 -零地址指令零地址指令20012000a ab bb ba a2002+a+ba+ba+ba+b計(jì)算機(jī)組成原理計(jì)算機(jī)組成原理第第3章章3.1 指令格式指令格式3.2 尋址技術(shù)尋址技術(shù)3.3 堆棧堆棧與堆棧

溫馨提示

  • 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. 人人文庫(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)論