版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
指令格式從二進(jìn)制位串上講,一條指令中包含兩部分:操作碼(OperationCode)和地址碼(AddressCode)。其中操作碼表明了指令的操作性質(zhì)及功能,地址碼則給出了操作數(shù)的地址(即操作數(shù)的存儲(chǔ)位置)。指令是指示計(jì)算機(jī)執(zhí)行某些操作的命令。一臺(tái)計(jì)算機(jī)的所有指令的集合構(gòu)成該機(jī)的指令系統(tǒng),也稱(chēng)指令集。指令系統(tǒng)是計(jì)算機(jī)的主要屬性,位于硬件和軟件的交界面上1指令系統(tǒng)(1)地址碼結(jié)構(gòu)計(jì)算機(jī)執(zhí)行一條指令所需要的全部信息都必須包含在指令中。對(duì)于一般的雙操作數(shù)運(yùn)算類(lèi)指令來(lái)說(shuō),除去操作碼之外,指令還應(yīng)包含以下信息:第一操作數(shù)地址,用A1表示。第二操作數(shù)地址,用A2表示。操作結(jié)果存放地址,用A3表示。下條將要執(zhí)行指令的地址,用A4表示。這樣,一條指令的格式可以細(xì)分為(OP表示具體的操作,Ai表示地址):OPA1A2A3A4指令的含義:(A1)OP(A2)→A3
下條將要執(zhí)行指令存儲(chǔ)在地址為A4開(kāi)始的存儲(chǔ)單元優(yōu)點(diǎn):四地址指令格式的具有直觀,下條指令的地址明顯缺點(diǎn):指令長(zhǎng)度較長(zhǎng),占用的存儲(chǔ)空間較大。如果將指令按順序依次存儲(chǔ)在存儲(chǔ)器中,用一個(gè)程序計(jì)數(shù)器(ProgramCounter,PC)來(lái)存放指令地址。通常每執(zhí)行一條指令,PC就自動(dòng)加1(設(shè)每條指令只占一個(gè)主存單元),直接得到將要執(zhí)行的下一條指令的地址。OPA1A2A3指令的含義:(A1)OP(A2)→A3(PC)+1→PC(隱含)執(zhí)行一條三地址的雙操作數(shù)運(yùn)算指令,至少需要訪問(wèn)4次主存。第一次取指令本身,第二次取第一操作數(shù),第三次取第二操作數(shù),第四次保存運(yùn)算結(jié)果。這種格式省去了一個(gè)地址,但指令長(zhǎng)度仍比較長(zhǎng),所以在微型計(jì)算機(jī)中很少使用。三地址指令執(zhí)行完后,主存中的兩個(gè)操作數(shù)均不會(huì)被破壞。然而,通常并不一定需要完整的保留兩個(gè)操作數(shù)。如果讓第一操作數(shù)地址同時(shí)兼作存放結(jié)果的地址(目的地址),這樣即得到了二地址指令,其格式為:OPA1A2指令的含義:(A1)OP(A2)→A1(PC)+1→PC(隱含)通常把A1稱(chēng)為目的操作數(shù)地址,A2稱(chēng)為源操作數(shù)地址。執(zhí)行一條二地址的雙操作數(shù)運(yùn)算指令,同樣至少需要訪問(wèn)4次主存。只有一個(gè)地址的指令為一地址指令。那么另一個(gè)操作數(shù)來(lái)自何方呢?指令中雖未明顯給出,但隱含著放在CPU內(nèi)部的一個(gè)特殊存儲(chǔ)器(專(zhuān)門(mén)寄存器)中的操作數(shù)。因?yàn)檫@個(gè)寄存器在連續(xù)性運(yùn)算時(shí),保存著多條指令連續(xù)操作的累計(jì)結(jié)果,故稱(chēng)為累加寄存器(Accumulator,Acc)。它的指令格式為:OPA1指令的含義:(Acc)OP(A1)→Acc(PC)+1→PC(隱含)執(zhí)行一條一地址的雙操作數(shù)運(yùn)算指令,只需要訪問(wèn)兩次主存。第一次取指令本身,第二次取第二操作數(shù)。第一操作數(shù)和運(yùn)算結(jié)果都放在累加寄存器中,所以讀取和存入都不需要訪問(wèn)存儲(chǔ)器。(2)操作碼指令系統(tǒng)中的每一條指令都有一個(gè)唯一確定的操作碼,指令不同,其操作碼的編碼也不同。通常,希望用盡可能短的操作碼字段來(lái)表達(dá)全部的指令。指令操作碼的編碼可以分為定長(zhǎng)編碼和變長(zhǎng)編碼兩類(lèi)。定長(zhǎng)編碼是一種最簡(jiǎn)單的編碼方法,操作碼字段的位數(shù)和位置是固定的。為了能表示整個(gè)指令系統(tǒng)中的全部指令,指令的操作碼字段應(yīng)當(dāng)具有足夠的位數(shù)。定長(zhǎng)編碼對(duì)于簡(jiǎn)化硬件設(shè)計(jì)、減少指令譯碼的時(shí)間是非常有利的,在字長(zhǎng)較長(zhǎng)的大、中型計(jì)算機(jī)及超級(jí)小型計(jì)算機(jī)上廣泛采用。變長(zhǎng)編碼的操作碼字段的位數(shù)不固定,且分散地放在指令字的不同位置上。這種方式能夠有效地壓縮指令中操作碼字段的平均長(zhǎng)度,在字長(zhǎng)較短的微型計(jì)算機(jī)上廣泛采用。最常用的非規(guī)整型編碼方式是擴(kuò)展操作碼法。因?yàn)槿绻噶铋L(zhǎng)度一定,則地址碼與操作碼字段的長(zhǎng)度是相互制約的。為了解決這一矛盾,讓操作數(shù)地址個(gè)數(shù)多的指令(三地址指令)的操作碼字段短些,操作數(shù)地址個(gè)數(shù)少的指令(一或零地址指令)的操作碼字段長(zhǎng)些,這樣既能充分地利用指令的各個(gè)字段,又能在不增加指令長(zhǎng)度的情況下擴(kuò)展操作碼的位數(shù),使它能表示更多的指令。例如:設(shè)某計(jì)算機(jī)的指令長(zhǎng)度為16位,操作碼字段為4位,有3個(gè)4位的地址碼字段,其格式為:如果按照定長(zhǎng)編碼的方法,4位操作碼最多只能表示16條不同的三地址指令。假設(shè)指令系統(tǒng)中不僅有三地址指令,還有二地址指令、一地址指令和零地址指令,利用擴(kuò)展操作碼法可以使在指令長(zhǎng)度不變的情況下,指令的總數(shù)遠(yuǎn)遠(yuǎn)大于16條。4位操作碼的編碼0000~1110定義了15條三地址指令,留下1111作為擴(kuò)展窗口,與下一個(gè)4位(A1)組成一個(gè)8位的操作碼字段。8位操作碼的編碼11110000~11111110定義了15條二地址指令,留下11111111作為擴(kuò)展窗口,與下一個(gè)4位(A2)組成一個(gè)12位的操作碼字段。12位操作碼的編碼111111110000~111111111110定義了15條一地址指令,擴(kuò)展窗口為111111111111,與A3組成16位的操作碼字段。最后,16條零地址指令由16位操作碼的編碼給出。指令系統(tǒng)中要求有15條三地址指令、15條二地址指令、15條一地址指令和16條零地址指令,共61條指令。顯然,只有4位操作碼是不夠的,解決的方法就是向地址碼字段擴(kuò)展操作碼的位數(shù)。擴(kuò)展的方法是:CPU指令集分類(lèi)復(fù)雜指令集,ComplexInstructionSetComputer--CISC)精簡(jiǎn)指令集(ReducedInstructionSetComputing-RISC)早期的CPU全部是CISC架構(gòu),它的設(shè)計(jì)目的是要用最少的機(jī)器語(yǔ)言指令來(lái)完成所需的計(jì)算任務(wù)。比如對(duì)于乘法運(yùn)算,在CISC架構(gòu)的CPU上,需要這樣一條指令:
MULADDRA,ADDRB
就可以將ADDRA和ADDRB中的數(shù)相乘并將結(jié)果儲(chǔ)存在ADDRA中。將ADDRA,ADDRB中的數(shù)據(jù)讀入寄存器,相乘和將結(jié)果寫(xiě)回內(nèi)存的操作全部依賴(lài)于CPU中設(shè)計(jì)的邏輯來(lái)實(shí)現(xiàn)。這種架構(gòu)會(huì)增加CPU結(jié)構(gòu)的復(fù)雜性和對(duì)CPU工藝的要求,但對(duì)于編譯器的開(kāi)發(fā)十分有利。比如上面的例子,C程序中的a*=b就可以直接編譯為一條乘法指令。在CISC微處理器中,程序的各條指令是按順序串行執(zhí)行的,每條指令中的各個(gè)操作也是按順序串行執(zhí)行的。順序執(zhí)行的優(yōu)點(diǎn)是控制簡(jiǎn)單,但計(jì)算機(jī)各部分的利用率不高,執(zhí)行速度慢。今天只有Intel及其兼容CPU還在使用CISC架構(gòu)。后續(xù)章節(jié)中所講述的8086CPU和MSC-51單片機(jī)的指令集都屬于復(fù)雜指令集。RISC架構(gòu)要求軟件來(lái)指定各個(gè)操作步驟。上面的例子如果要在RISC架構(gòu)上實(shí)現(xiàn),將ADDRA,ADDRB中的數(shù)據(jù)讀入寄存器,相乘和將結(jié)果寫(xiě)回內(nèi)存的操作都必須由軟件來(lái)實(shí)現(xiàn),程序:
MOVA,ADDRA;MOVB,ADDRB;MULA,B;STRADDRA,A。這種架構(gòu)可以降低CPU的復(fù)雜性以及允許在同樣的工藝水平下生產(chǎn)出功能更強(qiáng)大的CPU,但對(duì)于編譯器的設(shè)計(jì)有更高的要求與傳統(tǒng)的CISC相比,RISC的指令格式統(tǒng)一,種類(lèi)比較少,尋址方式也比復(fù)雜指令集少。當(dāng)然處理速度就提高很多了。目前在中高檔服務(wù)器中普遍采用這一指令系統(tǒng)的CPU,特別是高檔服務(wù)器全都采用RISC指令系統(tǒng)的CPU:PowerPC處理器、SPARC處理器、PA-RISC處理器、MIPS處理器、Alpha處理器。目前一些嵌入式的CPU也采用RISC指令集。2尋址技術(shù)所謂尋址,指的是尋找操作數(shù)的地址或下一條將要執(zhí)行的指令地址,尋址技術(shù)是計(jì)算機(jī)設(shè)計(jì)中硬件對(duì)軟件最早提供支持的技術(shù)之一。
尋址技術(shù)包括編址方式和尋址方式。編址方式編址方式是指對(duì)各種存儲(chǔ)設(shè)備進(jìn)行編碼的方式。在計(jì)算機(jī)中需要編址的設(shè)備主要有CPU中的通用寄存器、主存儲(chǔ)器和輸入輸出設(shè)備3種。如果存儲(chǔ)設(shè)備是CPU中的通用寄存器,在指令字中應(yīng)給出寄存器編號(hào);如果是主存的一個(gè)存儲(chǔ)單元,在指令字中應(yīng)給出該主存單元的地址;如果是輸入輸出設(shè)備(接口)中的一個(gè)寄存器,指令字中應(yīng)給出設(shè)備編號(hào)或設(shè)備端口地址或設(shè)備映像地址(與主存地址統(tǒng)一編址時(shí))。目前使用最普遍的編址方式是字節(jié)編址,這是為了適應(yīng)非數(shù)值應(yīng)用的需要。字節(jié)編址方式使編址單位與信息的基本單位(一個(gè)字節(jié))相一致,這是它的最大優(yōu)點(diǎn)。然而,如果主存的訪問(wèn)單位也是一個(gè)字節(jié)的話,那么主存的帶寬就太窄了,所以編址單位和主存的訪問(wèn)單位是不相同的。通常主存的訪問(wèn)單位是編址單位的若干倍。在采用字節(jié)編址的機(jī)器中,如果指令長(zhǎng)度是32位。那么每執(zhí)行完一條指令,程序計(jì)數(shù)器要加4。如果數(shù)據(jù)字長(zhǎng)是32位,當(dāng)連續(xù)訪問(wèn)存儲(chǔ)器時(shí),每讀寫(xiě)完一個(gè)數(shù)據(jù)字,地址寄存器要加4。由此可見(jiàn),字節(jié)編址方式存在著地址信息的浪費(fèi)。指令中地址碼的位數(shù)指令格式中每個(gè)地址碼的位數(shù)是與主存容量和最小尋址單位(即編址單位)有關(guān)聯(lián)的。常用的編址單位有字編址、字節(jié)編址和位編址。指令尋址和數(shù)據(jù)尋址尋址可以分為指令尋址和數(shù)據(jù)尋址。指令尋址—尋找下一條將要執(zhí)行的指令地址數(shù)據(jù)尋址—尋找操作數(shù)的地址指令尋址比較簡(jiǎn)單,它又可以細(xì)分為順序?qū)ぶ泛吞S尋址。而數(shù)據(jù)尋址方式種類(lèi)較多,其最終目的都是尋找所需要的操作數(shù)。順序?qū)ぶ房赏ㄟ^(guò)程序計(jì)數(shù)器加1,自動(dòng)形成下一條指令的地址;跳躍尋址則需要通過(guò)程序轉(zhuǎn)移類(lèi)指令實(shí)現(xiàn)。跳躍尋址的轉(zhuǎn)移地址形成方式有3種:直接(絕對(duì))、相對(duì)和間接尋址,它與下面介紹的數(shù)據(jù)尋址方式中的直接、相對(duì)和間接尋址是相同的,只不過(guò)尋找到的不是操作數(shù)的有效地址而是轉(zhuǎn)移的有效地址而已?;緮?shù)據(jù)尋址方式數(shù)據(jù)尋址方式是根據(jù)指令中給出的地址碼字段尋找真實(shí)操作數(shù)地址的方式。立即尋址指令中的地址碼不是操作數(shù)的地址,而是操作數(shù)本身寄存器尋址直接尋址指定的寄存器中存放著操作數(shù)指令中地址碼給出的地址A就是操作數(shù)的有效地址,即:EA=A間接尋址間接尋址意味著指令中給出的地址A不是操作數(shù)的地址,而是存放操作數(shù)地址的主存單元的地址,簡(jiǎn)稱(chēng)操作數(shù)地址的地址。(a)一級(jí)間接尋址(b)多級(jí)間接尋址寄存器間接尋址指令中的地址碼給出某一通用寄存器的編號(hào),在被指定的寄存器中存放操作數(shù)的有效地址,而操作數(shù)則存放在主存單元中變址尋址變址尋址就是把變址寄存器Rx的內(nèi)容與指令中給出的形式地址A相加,形成操作數(shù)有效地址,即EA=(Rx)+A。Rx的內(nèi)容稱(chēng)為變址值基址尋址基址尋址是將基址寄存器Rb的內(nèi)容與指令中給出的位移量D相加,形成操作數(shù)有效地址,即EA=(Rb)+D。基址寄存器的內(nèi)容稱(chēng)為基址值。指令的地址碼字段是一個(gè)位移量,位移量可正、可負(fù)相對(duì)尋址相對(duì)尋址是基址尋址的一種變通,由程序計(jì)數(shù)器(PC)提供基準(zhǔn)地址,指令中的地址碼字段作為位移量D,兩者相加后得到操作數(shù)的有效地址,即EA=(PC)+D3CPU結(jié)構(gòu)和功能1)指令控制程序的順序控制,稱(chēng)為指令控制。由于程序是一個(gè)指令序列,這些指令的相互順序不能任意顛倒,必須嚴(yán)格按程序規(guī)定的順序進(jìn)行,因此,保證機(jī)器按順序執(zhí)行程序是CPU的首要任務(wù)。2)操作控制一條指令的功能往往是由若干個(gè)操作信號(hào)的組合來(lái)實(shí)現(xiàn)的。因此,CPU管理并產(chǎn)生由內(nèi)存取出的每條指令的操作信號(hào)。把各種操作信號(hào)送往相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動(dòng)作。3)時(shí)間控制對(duì)各種操作實(shí)施時(shí)間上的控制,稱(chēng)為時(shí)間控制。因?yàn)樵谟?jì)算機(jī)中,各種指令的操作信號(hào)均受到時(shí)間的嚴(yán)格控制。另一方面,一條指令的整個(gè)執(zhí)行過(guò)程也受到時(shí)間的嚴(yán)格控制。只有這樣,計(jì)算機(jī)才能有條不紊地自動(dòng)工作。4)數(shù)據(jù)加工所謂數(shù)據(jù)加工,就是對(duì)數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算處理。完成數(shù)據(jù)的加工處理,這是CPU的根本任務(wù)。因?yàn)?,原始信息只有?jīng)過(guò)加工處理后才能對(duì)人們有用。數(shù)據(jù)加工過(guò)程是由復(fù)雜數(shù)字電路構(gòu)成的運(yùn)算器完成的。CPU的寄存器4參數(shù)與型號(hào)CPU的主要參數(shù)時(shí)鐘頻率/主頻地址總線寬度數(shù)據(jù)總線寬度3)數(shù)據(jù)總線寬度數(shù)據(jù)總線寬度指的是數(shù)據(jù)總線的條數(shù)。數(shù)據(jù)總
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游行業(yè)集體合同的法律框架解析
- 企業(yè)級(jí)系統(tǒng)升級(jí)及實(shí)施服務(wù)合同
- 車(chē)展訂購(gòu)車(chē)合同范文
- 農(nóng)村草原承包合同范文
- 代辦合同范文高清
- 地板磚購(gòu)銷(xiāo)合同
- 代理權(quán)益保護(hù)合同模板示例(2024年版)
- 國(guó)家開(kāi)放大學(xué)勞動(dòng)合同法形考參考答案
- 三角形合同角邊角定理
- 完全失能險(xiǎn)合同(2024年版)
- 普通胃鏡早期胃癌的診斷PPT課件
- DG∕T 154-2022 熱風(fēng)爐
- 鐵路建設(shè)項(xiàng)目施工企業(yè)信用評(píng)價(jià)辦法(鐵總建設(shè)〔2018〕124號(hào))
- 模具報(bào)價(jià)表精簡(jiǎn)模板
- 抽樣檢驗(yàn)培訓(xùn)教材(共47頁(yè)).ppt
- 時(shí)光科技主軸S系列伺服控制器說(shuō)明書(shū)
- 通用帶式輸送機(jī)TD75或DT型出廠檢驗(yàn)要求及記錄
- 高考英語(yǔ)單項(xiàng)選擇題題庫(kù)題
- lonely-planet-PDF-大全
- 成人大專(zhuān)畢業(yè)生自我鑒定
- 汽車(chē)轉(zhuǎn)向系統(tǒng)設(shè)計(jì)規(guī)范
評(píng)論
0/150
提交評(píng)論