版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
指令格式從二進(jìn)制位串上講,一條指令中包含兩部分:操作碼(OperationCode)和地址碼(AddressCode)。其中操作碼表明了指令的操作性質(zhì)及功能,地址碼則給出了操作數(shù)的地址(即操作數(shù)的存儲(chǔ)位置)。指令是指示計(jì)算機(jī)執(zhí)行某些操作的命令。一臺計(jì)算機(jī)的所有指令的集合構(gòu)成該機(jī)的指令系統(tǒng),也稱指令集。指令系統(tǒng)是計(jì)算機(jī)的主要屬性,位于硬件和軟件的交界面上1指令系統(tǒng)(1)地址碼結(jié)構(gòu)計(jì)算機(jī)執(zhí)行一條指令所需要的全部信息都必須包含在指令中。對于一般的雙操作數(shù)運(yùn)算類指令來說,除去操作碼之外,指令還應(yīng)包含以下信息:第一操作數(shù)地址,用A1表示。第二操作數(shù)地址,用A2表示。操作結(jié)果存放地址,用A3表示。下條將要執(zhí)行指令的地址,用A4表示。這樣,一條指令的格式可以細(xì)分為(OP表示具體的操作,Ai表示地址):OPA1A2A3A4指令的含義:(A1)OP(A2)→A3
下條將要執(zhí)行指令存儲(chǔ)在地址為A4開始的存儲(chǔ)單元優(yōu)點(diǎn):四地址指令格式的具有直觀,下條指令的地址明顯缺點(diǎn):指令長度較長,占用的存儲(chǔ)空間較大。如果將指令按順序依次存儲(chǔ)在存儲(chǔ)器中,用一個(gè)程序計(jì)數(shù)器(ProgramCounter,PC)來存放指令地址。通常每執(zhí)行一條指令,PC就自動(dòng)加1(設(shè)每條指令只占一個(gè)主存單元),直接得到將要執(zhí)行的下一條指令的地址。OPA1A2A3指令的含義:(A1)OP(A2)→A3(PC)+1→PC(隱含)執(zhí)行一條三地址的雙操作數(shù)運(yùn)算指令,至少需要訪問4次主存。第一次取指令本身,第二次取第一操作數(shù),第三次取第二操作數(shù),第四次保存運(yùn)算結(jié)果。這種格式省去了一個(gè)地址,但指令長度仍比較長,所以在微型計(jì)算機(jī)中很少使用。三地址指令執(zhí)行完后,主存中的兩個(gè)操作數(shù)均不會(huì)被破壞。然而,通常并不一定需要完整的保留兩個(gè)操作數(shù)。如果讓第一操作數(shù)地址同時(shí)兼作存放結(jié)果的地址(目的地址),這樣即得到了二地址指令,其格式為:OPA1A2指令的含義:(A1)OP(A2)→A1(PC)+1→PC(隱含)通常把A1稱為目的操作數(shù)地址,A2稱為源操作數(shù)地址。執(zhí)行一條二地址的雙操作數(shù)運(yùn)算指令,同樣至少需要訪問4次主存。只有一個(gè)地址的指令為一地址指令。那么另一個(gè)操作數(shù)來自何方呢?指令中雖未明顯給出,但隱含著放在CPU內(nèi)部的一個(gè)特殊存儲(chǔ)器(專門寄存器)中的操作數(shù)。因?yàn)檫@個(gè)寄存器在連續(xù)性運(yùn)算時(shí),保存著多條指令連續(xù)操作的累計(jì)結(jié)果,故稱為累加寄存器(Accumulator,Acc)。它的指令格式為:OPA1指令的含義:(Acc)OP(A1)→Acc(PC)+1→PC(隱含)執(zhí)行一條一地址的雙操作數(shù)運(yùn)算指令,只需要訪問兩次主存。第一次取指令本身,第二次取第二操作數(shù)。第一操作數(shù)和運(yùn)算結(jié)果都放在累加寄存器中,所以讀取和存入都不需要訪問存儲(chǔ)器。(2)操作碼指令系統(tǒng)中的每一條指令都有一個(gè)唯一確定的操作碼,指令不同,其操作碼的編碼也不同。通常,希望用盡可能短的操作碼字段來表達(dá)全部的指令。指令操作碼的編碼可以分為定長編碼和變長編碼兩類。定長編碼是一種最簡單的編碼方法,操作碼字段的位數(shù)和位置是固定的。為了能表示整個(gè)指令系統(tǒng)中的全部指令,指令的操作碼字段應(yīng)當(dāng)具有足夠的位數(shù)。定長編碼對于簡化硬件設(shè)計(jì)、減少指令譯碼的時(shí)間是非常有利的,在字長較長的大、中型計(jì)算機(jī)及超級小型計(jì)算機(jī)上廣泛采用。變長編碼的操作碼字段的位數(shù)不固定,且分散地放在指令字的不同位置上。這種方式能夠有效地壓縮指令中操作碼字段的平均長度,在字長較短的微型計(jì)算機(jī)上廣泛采用。最常用的非規(guī)整型編碼方式是擴(kuò)展操作碼法。因?yàn)槿绻噶铋L度一定,則地址碼與操作碼字段的長度是相互制約的。為了解決這一矛盾,讓操作數(shù)地址個(gè)數(shù)多的指令(三地址指令)的操作碼字段短些,操作數(shù)地址個(gè)數(shù)少的指令(一或零地址指令)的操作碼字段長些,這樣既能充分地利用指令的各個(gè)字段,又能在不增加指令長度的情況下擴(kuò)展操作碼的位數(shù),使它能表示更多的指令。例如:設(shè)某計(jì)算機(jī)的指令長度為16位,操作碼字段為4位,有3個(gè)4位的地址碼字段,其格式為:如果按照定長編碼的方法,4位操作碼最多只能表示16條不同的三地址指令。假設(shè)指令系統(tǒng)中不僅有三地址指令,還有二地址指令、一地址指令和零地址指令,利用擴(kuò)展操作碼法可以使在指令長度不變的情況下,指令的總數(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指令集分類復(fù)雜指令集,ComplexInstructionSetComputer--CISC)精簡指令集(ReducedInstructionSetComputing-RISC)早期的CPU全部是CISC架構(gòu),它的設(shè)計(jì)目的是要用最少的機(jī)器語言指令來完成所需的計(jì)算任務(wù)。比如對于乘法運(yùn)算,在CISC架構(gòu)的CPU上,需要這樣一條指令:
MULADDRA,ADDRB
就可以將ADDRA和ADDRB中的數(shù)相乘并將結(jié)果儲(chǔ)存在ADDRA中。將ADDRA,ADDRB中的數(shù)據(jù)讀入寄存器,相乘和將結(jié)果寫回內(nèi)存的操作全部依賴于CPU中設(shè)計(jì)的邏輯來實(shí)現(xiàn)。這種架構(gòu)會(huì)增加CPU結(jié)構(gòu)的復(fù)雜性和對CPU工藝的要求,但對于編譯器的開發(fā)十分有利。比如上面的例子,C程序中的a*=b就可以直接編譯為一條乘法指令。在CISC微處理器中,程序的各條指令是按順序串行執(zhí)行的,每條指令中的各個(gè)操作也是按順序串行執(zhí)行的。順序執(zhí)行的優(yōu)點(diǎn)是控制簡單,但計(jì)算機(jī)各部分的利用率不高,執(zhí)行速度慢。今天只有Intel及其兼容CPU還在使用CISC架構(gòu)。后續(xù)章節(jié)中所講述的8086CPU和MSC-51單片機(jī)的指令集都屬于復(fù)雜指令集。RISC架構(gòu)要求軟件來指定各個(gè)操作步驟。上面的例子如果要在RISC架構(gòu)上實(shí)現(xiàn),將ADDRA,ADDRB中的數(shù)據(jù)讀入寄存器,相乘和將結(jié)果寫回內(nèi)存的操作都必須由軟件來實(shí)現(xiàn),程序:
MOVA,ADDRA;MOVB,ADDRB;MULA,B;STRADDRA,A。這種架構(gòu)可以降低CPU的復(fù)雜性以及允許在同樣的工藝水平下生產(chǎn)出功能更強(qiáng)大的CPU,但對于編譯器的設(shè)計(jì)有更高的要求與傳統(tǒng)的CISC相比,RISC的指令格式統(tǒng)一,種類比較少,尋址方式也比復(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ì)中硬件對軟件最早提供支持的技術(shù)之一。
尋址技術(shù)包括編址方式和尋址方式。編址方式編址方式是指對各種存儲(chǔ)設(shè)備進(jìn)行編碼的方式。在計(jì)算機(jī)中需要編址的設(shè)備主要有CPU中的通用寄存器、主存儲(chǔ)器和輸入輸出設(shè)備3種。如果存儲(chǔ)設(shè)備是CPU中的通用寄存器,在指令字中應(yīng)給出寄存器編號;如果是主存的一個(gè)存儲(chǔ)單元,在指令字中應(yīng)給出該主存單元的地址;如果是輸入輸出設(shè)備(接口)中的一個(gè)寄存器,指令字中應(yīng)給出設(shè)備編號或設(shè)備端口地址或設(shè)備映像地址(與主存地址統(tǒng)一編址時(shí))。目前使用最普遍的編址方式是字節(jié)編址,這是為了適應(yīng)非數(shù)值應(yīng)用的需要。字節(jié)編址方式使編址單位與信息的基本單位(一個(gè)字節(jié))相一致,這是它的最大優(yōu)點(diǎn)。然而,如果主存的訪問單位也是一個(gè)字節(jié)的話,那么主存的帶寬就太窄了,所以編址單位和主存的訪問單位是不相同的。通常主存的訪問單位是編址單位的若干倍。在采用字節(jié)編址的機(jī)器中,如果指令長度是32位。那么每執(zhí)行完一條指令,程序計(jì)數(shù)器要加4。如果數(shù)據(jù)字長是32位,當(dāng)連續(xù)訪問存儲(chǔ)器時(shí),每讀寫完一個(gè)數(shù)據(jù)字,地址寄存器要加4。由此可見,字節(jié)編址方式存在著地址信息的浪費(fèi)。指令中地址碼的位數(shù)指令格式中每個(gè)地址碼的位數(shù)是與主存容量和最小尋址單位(即編址單位)有關(guān)聯(lián)的。常用的編址單位有字編址、字節(jié)編址和位編址。指令尋址和數(shù)據(jù)尋址尋址可以分為指令尋址和數(shù)據(jù)尋址。指令尋址—尋找下一條將要執(zhí)行的指令地址數(shù)據(jù)尋址—尋找操作數(shù)的地址指令尋址比較簡單,它又可以細(xì)分為順序?qū)ぶ泛吞S尋址。而數(shù)據(jù)尋址方式種類較多,其最終目的都是尋找所需要的操作數(shù)。順序?qū)ぶ房赏ㄟ^程序計(jì)數(shù)器加1,自動(dòng)形成下一條指令的地址;跳躍尋址則需要通過程序轉(zhuǎn)移類指令實(shí)現(xiàn)。跳躍尋址的轉(zhuǎn)移地址形成方式有3種:直接(絕對)、相對和間接尋址,它與下面介紹的數(shù)據(jù)尋址方式中的直接、相對和間接尋址是相同的,只不過尋找到的不是操作數(shù)的有效地址而是轉(zhuǎn)移的有效地址而已?;緮?shù)據(jù)尋址方式數(shù)據(jù)尋址方式是根據(jù)指令中給出的地址碼字段尋找真實(shí)操作數(shù)地址的方式。立即尋址指令中的地址碼不是操作數(shù)的地址,而是操作數(shù)本身寄存器尋址直接尋址指定的寄存器中存放著操作數(shù)指令中地址碼給出的地址A就是操作數(shù)的有效地址,即:EA=A間接尋址間接尋址意味著指令中給出的地址A不是操作數(shù)的地址,而是存放操作數(shù)地址的主存單元的地址,簡稱操作數(shù)地址的地址。(a)一級間接尋址(b)多級間接尋址寄存器間接尋址指令中的地址碼給出某一通用寄存器的編號,在被指定的寄存器中存放操作數(shù)的有效地址,而操作數(shù)則存放在主存單元中變址尋址變址尋址就是把變址寄存器Rx的內(nèi)容與指令中給出的形式地址A相加,形成操作數(shù)有效地址,即EA=(Rx)+A。Rx的內(nèi)容稱為變址值基址尋址基址尋址是將基址寄存器Rb的內(nèi)容與指令中給出的位移量D相加,形成操作數(shù)有效地址,即EA=(Rb)+D。基址寄存器的內(nèi)容稱為基址值。指令的地址碼字段是一個(gè)位移量,位移量可正、可負(fù)相對尋址相對尋址是基址尋址的一種變通,由程序計(jì)數(shù)器(PC)提供基準(zhǔn)地址,指令中的地址碼字段作為位移量D,兩者相加后得到操作數(shù)的有效地址,即EA=(PC)+D3CPU結(jié)構(gòu)和功能1)指令控制程序的順序控制,稱為指令控制。由于程序是一個(gè)指令序列,這些指令的相互順序不能任意顛倒,必須嚴(yán)格按程序規(guī)定的順序進(jìn)行,因此,保證機(jī)器按順序執(zhí)行程序是CPU的首要任務(wù)。2)操作控制一條指令的功能往往是由若干個(gè)操作信號的組合來實(shí)現(xiàn)的。因此,CPU管理并產(chǎn)生由內(nèi)存取出的每條指令的操作信號。把各種操作信號送往相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行動(dòng)作。3)時(shí)間控制對各種操作實(shí)施時(shí)間上的控制,稱為時(shí)間控制。因?yàn)樵谟?jì)算機(jī)中,各種指令的操作信號均受到時(shí)間的嚴(yán)格控制。另一方面,一條指令的整個(gè)執(zhí)行過程也受到時(shí)間的嚴(yán)格控制。只有這樣,計(jì)算機(jī)才能有條不紊地自動(dòng)工作。4)數(shù)據(jù)加工所謂數(shù)據(jù)加工,就是對數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算處理。完成數(shù)據(jù)的加工處理,這是CPU的根本任務(wù)。因?yàn)?,原始信息只有?jīng)過加工處理后才能對人們有用。數(shù)據(jù)加工過程是由復(fù)雜數(shù)字電路構(gòu)成的運(yùn)算器完成的。CPU的寄存器4參數(shù)與型號CPU的主要參數(shù)時(shí)鐘頻率/主頻地址總線寬度數(shù)據(jù)總線寬度3)數(shù)據(jù)總線寬度數(shù)據(jù)總線寬度指的是數(shù)據(jù)總線的條數(shù)。數(shù)據(jù)總
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣西崇左憑祥市紅十字會(huì)城鎮(zhèn)公益性崗位工作人員招聘1人考試重點(diǎn)題庫及答案解析
- 2025廣西來賓市武宣縣婦幼保健院招聘編外聘用人員3人 (第十一期)考試重點(diǎn)試題及答案解析
- 2025云南玉溪數(shù)字資產(chǎn)管理有限公司市場化選聘中層管理人員招聘3人筆試重點(diǎn)題庫及答案解析
- 2025海南省海賓酒店管理集團(tuán)有限公司招聘2人考試重點(diǎn)題庫及答案解析
- 2025長江產(chǎn)業(yè)集團(tuán)創(chuàng)新投資事業(yè)部一線基金管理團(tuán)隊(duì)社會(huì)招聘7人備考核心題庫及答案解析
- 2025重慶水利電力職業(yè)技術(shù)學(xué)院公開招聘合同工考試核心試題及答案解析
- 2025年下半年九江市第五人民醫(yī)院自主招聘衛(wèi)生專業(yè)技術(shù)人員7人筆試重點(diǎn)題庫及答案解析
- 急性酒精中毒科學(xué)講座
- 2025鄂爾多斯達(dá)拉特旗第二批事業(yè)單位引進(jìn)28名高層次、急需緊缺人才考試重點(diǎn)試題及答案解析
- 2025四川廣安顧縣鎮(zhèn)招聘城鎮(zhèn)公益性崗位參考筆試題庫附答案解析
- 2025年四級營養(yǎng)師考試題庫(含答案)
- 2025團(tuán)員教育評議大會(huì)
- 服裝店入股協(xié)議合同
- (正式版)JBT 9229-2024 剪叉式升降工作平臺
- 工程測量水準(zhǔn)儀課件
- 公司委托法人收款到個(gè)人賬戶范本
- 《楓丹白露宮苑景觀分析》課件
- 中國石油大學(xué)(華東)自動(dòng)控制課程設(shè)計(jì) 雙容水箱系統(tǒng)的建模、仿真于控制-2
- 潘謝礦區(qū)西淝河、泥河、濟(jì)河、港河水體下安全開采可行性論證報(bào)告
- 創(chuàng)業(yè)人生(上海大學(xué))【超星爾雅學(xué)習(xí)通】章節(jié)答案
- GB/T 4957-2003非磁性基體金屬上非導(dǎo)電覆蓋層覆蓋層厚度測量渦流法
評論
0/150
提交評論