計(jì)算機(jī)組成原理chp4_第1頁
計(jì)算機(jī)組成原理chp4_第2頁
計(jì)算機(jī)組成原理chp4_第3頁
計(jì)算機(jī)組成原理chp4_第4頁
計(jì)算機(jī)組成原理chp4_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1 第四章第四章 指令系統(tǒng)指令系統(tǒng) 4.1 指令系統(tǒng)的發(fā)展與性能要求 4.2 指令格式 4.3 操作數(shù)類型 4.4 指令和數(shù)據(jù)的尋址方式 4.5 典型指令 4.6 ARM匯編語言 返回 2 4.1 指令系統(tǒng)的發(fā)展與性能要求指令系統(tǒng)的發(fā)展與性能要求 4.1.1 指令系統(tǒng)的發(fā)展 4.1.2 對(duì)指令系統(tǒng)性能的要求 4.1.3 低級(jí)語言與硬件結(jié)構(gòu)的關(guān)系 3 4.1.1 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 指令系統(tǒng)基本概念 l指令:就是要計(jì)算機(jī)執(zhí)行某種操作的命令。從計(jì)算機(jī)組成的層 次結(jié)構(gòu)來說,計(jì)算機(jī)的指令有微指令、機(jī)器指令和宏指令之分。 微指令是微程序級(jí)的命令,它屬于硬件; l宏指令:由若干條機(jī)器指令組成的軟

2、件指令,它屬于軟件; l機(jī)器指令:介于微指令與宏指令之間,通常簡(jiǎn)稱為指令,每一 條指令可完成一個(gè)獨(dú)立的算術(shù)運(yùn)算或邏輯運(yùn)算操作。 l本章所討論的指令,是機(jī)器指令。本章所討論的指令,是機(jī)器指令。 l一臺(tái)計(jì)算機(jī)中所有機(jī)器指令的集合,稱為這臺(tái)計(jì)算機(jī)的指令系 統(tǒng)。 l指令系統(tǒng)是表征一臺(tái)計(jì)算機(jī)性能的重要因素,它的格式與功能 不僅直接影響到機(jī)器的硬件結(jié)構(gòu),而且也直接影響到系統(tǒng)軟件, 影響到機(jī)器的適用范圍 4 4.1.1 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 發(fā)展情況 l復(fù)雜指令系統(tǒng)計(jì)算機(jī),簡(jiǎn)稱CISC。但是如 此龐大的指令系統(tǒng)不但使計(jì)算機(jī)的研制周期 變長(zhǎng),難以保證正確性,不易調(diào)試維護(hù),而 且由于采用了大量使用頻率很

3、低的復(fù)雜指令 而造成硬件資源浪費(fèi)。 l精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī):簡(jiǎn)稱RISC,人們又 提出了便于VLSI技術(shù)實(shí)現(xiàn)的精簡(jiǎn)指令系統(tǒng)計(jì) 算機(jī)。 5 4.1.2 對(duì)指令系統(tǒng)性能的要求對(duì)指令系統(tǒng)性能的要求 l完備性:完備性:完備性是指用匯編語言編寫各種程序時(shí),指令系統(tǒng)直接提供的 指令足夠使用,而不必用軟件來實(shí)現(xiàn)。完備性要求指令系統(tǒng)豐富、功能 齊全、使用方便。一臺(tái)計(jì)算機(jī)中最基本、必不可少的指令是不多的。許 多指令可用最基本的指令編程來實(shí)現(xiàn)。例如,乘除運(yùn)算指令、浮點(diǎn)運(yùn)算 指令可直接用硬件來實(shí)現(xiàn),也可用基本指令編寫的程序來實(shí)現(xiàn)。采用硬 件指令的目的是提高程序執(zhí)行速度,便于用戶編寫程序。 l有效性:有效性:有效性是指

4、利用該指令系統(tǒng)所編寫的程序能夠高效率地運(yùn)行。 高效率主要表現(xiàn)在程序占據(jù)存儲(chǔ)空間小、執(zhí)行速度快。一般來說,一個(gè) 功能更強(qiáng)、更完善的指令系統(tǒng),必定有更好的有效性。 l規(guī)整性:規(guī)整性:規(guī)整性包括指令系統(tǒng)的對(duì)稱性、勻齊性、指令格式和數(shù)據(jù)格式 的一致性。對(duì)稱性是指:在指令系統(tǒng)中所有的寄存器和存儲(chǔ)器單元都可 同等對(duì)待,所有的指令都可使用各種尋址方式;勻齊性是指:一種操作 性質(zhì)的指令可以支持各種數(shù)據(jù)類型,如算術(shù)運(yùn)算指令可支持字節(jié)、字、 雙字整數(shù)的運(yùn)算,十進(jìn)制數(shù)運(yùn)算和單、雙精度浮點(diǎn)數(shù)運(yùn)算等;指令格式 和數(shù)據(jù)格式的一致性是指:指令長(zhǎng)度和數(shù)據(jù)長(zhǎng)度有一定的關(guān)系,以方便 處理和存取。例如指令長(zhǎng)度和數(shù)據(jù)長(zhǎng)度通常是字節(jié)長(zhǎng)

5、度的整數(shù)倍。 l兼容性:兼容性:系列機(jī)各機(jī)種之間具有相同的基本結(jié)構(gòu)和共同的基本指令集, 因而指令系統(tǒng)是兼容的,即各機(jī)種上基本軟件可以通用。但由于不同機(jī) 種推出的時(shí)間不同,在結(jié)構(gòu)和性能上有差異,做到所有軟件都完全兼容 是不可能的,只能做到“向上兼容”,即低檔機(jī)上運(yùn)行的軟件可以在高 檔機(jī)上運(yùn)行。 6 4.1.3 低級(jí)語言與硬件結(jié)構(gòu)的關(guān)系低級(jí)語言與硬件結(jié)構(gòu)的關(guān)系 低級(jí)語言與高級(jí)語言關(guān)系 比較內(nèi)容高級(jí)語言低級(jí)語言 1 對(duì)程序員的訓(xùn)練要求 (1)通用算法 (2)語言規(guī)則 (3)硬件知識(shí) 有 較少 不要 有 較多 要 2 對(duì)機(jī)器獨(dú)立的程度獨(dú)立不獨(dú)立 3 編制程序的難易程度 易難 4 編制程序所需時(shí)間短較長(zhǎng)

6、 5 程序執(zhí)行時(shí)間較長(zhǎng)短 6 編譯過程中對(duì)計(jì)算機(jī)資 源的要求 多 少 7 4.2 指令格式指令格式 4.2.1 操作碼 4.2.2 地址碼 4.2.3 指令字長(zhǎng)度 4.2.4 指令助記符 4.2.5 指令格式舉例 l指令格式包括兩個(gè)方面: 操作碼字段操作碼字段地址碼字段地址碼字段 8 4.2.1 操作碼操作碼 l設(shè)計(jì)計(jì)算機(jī)時(shí),對(duì)指令系統(tǒng)的每一條指令都要規(guī)定一個(gè)操作碼。 指令的操作碼OP表示該指令應(yīng)進(jìn)行什么性質(zhì)的操作,如進(jìn)行加 法、減法、乘法、除法、取數(shù)、存數(shù)等等。不同的指令用操作 碼字段的不同編碼來表示,每一種編碼代表一種指令。 l組成操作碼字段的位數(shù)一般取決于計(jì)算機(jī)指令系統(tǒng)的規(guī)模。較 大的指

7、令系統(tǒng)就需要更多的位數(shù)來表示每條特定的指令。 l等長(zhǎng)(指令規(guī)整,譯碼簡(jiǎn)單) l例如IBM 370機(jī),該機(jī)字長(zhǎng)32位,16個(gè)通用寄存器R0 R15,共有183條指令;指令的長(zhǎng)度可以分為16位、32位 和48位等幾種,所有指令的操作碼都是8位固定長(zhǎng)度。 l固定長(zhǎng)度編碼的主要缺點(diǎn)是:信息的冗余極大,使程序的 總長(zhǎng)度增加。 9 4.2.2 地址碼地址碼 l根據(jù)一條指令中有幾個(gè)操作數(shù)地址,可將該指 令稱為幾操作數(shù)指令或幾地址指令。 三地址指令 二地址指令 單地址指令 零地址指令 10 4.2.2 地址碼地址碼 l三地址指令 l指令格式如下: l操作碼op 第一操作數(shù)A1 第二操作數(shù)A2 結(jié)果 A3 l功

8、能描述: l(A1) op(A2)A3 l(PC) +1PC l這種格式雖然省去了一個(gè)地址,但指令長(zhǎng)度仍比較 長(zhǎng),所以只在字長(zhǎng)較長(zhǎng)的大、中型機(jī)中使用,而小 型、微型機(jī)中很少使用。 11 4.2.2 地址碼地址碼 l二地址指令 l其格式如下: l操作碼op第一操作數(shù)A1第二操作數(shù)A2 l 功能描述: l(A1) op(A2)A1 l(PC)+1PC l二地址指令在計(jì)算機(jī)中得到了廣泛的應(yīng)用,但是在 使用時(shí)有一點(diǎn)必須注意:指令執(zhí)行之后,A1中原存 的內(nèi)容已經(jīng)被新的運(yùn)算結(jié)果替換了。 12 4.2.2 地址碼地址碼 l二地址地址根據(jù)操作數(shù)的物理位置分為: lSS 存儲(chǔ)器-存儲(chǔ)器類型 lRS 寄存器-存儲(chǔ)

9、器類型 lRR 寄存器-寄存器類型 慢 13 4.2.2 地址碼地址碼 l一地址指令 l指令格式為: l 操作碼op 第一操作數(shù)A1 l功能描述: l(AC) op(A1) A1 l(PC)+1PC l單操作數(shù)運(yùn)算指令,如“+1”、“-1”、“求反” l指令中給出一個(gè)源操作數(shù)的地址 14 4.2.2 地址碼地址碼 l零地址指令 l其格式為: l 操作碼op l“停機(jī)”、“空操作”、“清除”等控制類 指令。 op 15 4.2.3 指令字長(zhǎng)度指令字長(zhǎng)度 l概念 l指令字長(zhǎng)度(一個(gè)指令字包含二進(jìn)制代碼的位數(shù)) l機(jī)器字長(zhǎng):計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù)。 l單字長(zhǎng)指令 l半字長(zhǎng)指令 l雙字長(zhǎng)指

10、令 l多字長(zhǎng)指令多字長(zhǎng)指令的優(yōu)缺點(diǎn) l優(yōu)點(diǎn)提供足夠的地址位來解決訪問內(nèi)存任何單元的尋址問題 ; l缺點(diǎn)必須兩次或多次訪問內(nèi)存以取出一整條指令,降低了CPU的 運(yùn)算速度,又占用了更多的存儲(chǔ)空間。 l指令系統(tǒng)中指令采用等長(zhǎng)指令等長(zhǎng)指令的優(yōu)點(diǎn):各種指令字長(zhǎng)度是相等的, 指令字結(jié)構(gòu)簡(jiǎn)單,且指令字長(zhǎng)度是不變的 ; l采用非等長(zhǎng)指令非等長(zhǎng)指令的的優(yōu)點(diǎn):各種指令字長(zhǎng)度隨指令功能而異,結(jié) 構(gòu)靈活,能充分利用指令長(zhǎng)度,但指令的控制較復(fù)雜 。 16 4.2.4 指令助記符指令助記符 l由于硬件只能識(shí)別1和0,所以采用二進(jìn)制操作 碼是必要的,但是我們用二進(jìn)制來書寫程序卻 非常麻煩。 l為了便于書寫和閱讀程序,每條指

11、令通常用3 個(gè)或4個(gè)英文縮寫字母來表示。這種縮寫碼叫 做指令助記符 用34個(gè)英文字母來表示操作碼,一般為英文縮寫 不同的計(jì)算機(jī)系統(tǒng),規(guī)定不一樣 必須用匯編語言翻譯成二進(jìn)制代碼 17 4.2.5 指令格式舉例指令格式舉例 l8位微型計(jì)算機(jī)的指令格式 l如8088,字長(zhǎng)8位,指令結(jié)構(gòu)可變 l包括單字長(zhǎng)指令、雙字長(zhǎng)指令和三字長(zhǎng)指令 l操作碼長(zhǎng)度固定 18 4.2.5 指令格式舉例指令格式舉例 lMIPS R4000指令格式 lRISC計(jì)算機(jī)系統(tǒng),32位字長(zhǎng),32個(gè)通用寄存 器。 R型(寄存器)指令: 6位 5位 5位 5位 5位 6位 op rs rt rd shamt funct I型(立即數(shù))指

12、令: 6位 5位 5位 16位 op rs rt 常數(shù)或地址 19 4.2.5 指令格式舉例:指令格式舉例:ARM指令格式指令格式 20 4.2.5 指令格式舉例指令格式舉例 Pentium指令格式 l指令長(zhǎng)度可變,最短1個(gè)字節(jié),最長(zhǎng)12個(gè)字節(jié),典型的CISC指 令系統(tǒng) 指令前綴段取代操作數(shù)長(zhǎng)度取代地址長(zhǎng)度取代 操作碼ModReg或操作碼R/MSIB位移量立即數(shù) 21 4.2.5 指令格式舉例指令格式舉例 例3 MIPS R4000匯編語言中,寄存器$s0$s7對(duì)應(yīng)寄存器號(hào)為 十進(jìn)制1623,寄存器$t0$t7對(duì)應(yīng)的寄存器號(hào)為815。請(qǐng)將下 表4條匯編語言翻譯成對(duì)應(yīng)的機(jī)器語言十進(jìn)制數(shù)表示。 2

13、2 4.3 操作數(shù)類型操作數(shù)類型 4.3.1 一般的數(shù)據(jù)類型 4.3.2 Pentium數(shù)據(jù)類型 4.3.3 Power PC數(shù)據(jù)類型 23 4.3.1 一般的數(shù)據(jù)類型一般的數(shù)據(jù)類型 l地址數(shù)據(jù)地址數(shù)據(jù):地址實(shí)際上也是一種形式的數(shù)據(jù)。 l數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù):計(jì)算機(jī)中普遍使用的三種類型的數(shù)值數(shù)據(jù)。 l字符數(shù)據(jù)字符數(shù)據(jù):文本數(shù)據(jù)或字符串,目前廣泛使用ASCII碼。 l邏輯數(shù)據(jù)邏輯數(shù)據(jù):一個(gè)單元中有幾位二進(jìn)制bit項(xiàng)組成,每個(gè)bit的值 可以是1或0。當(dāng)數(shù)據(jù)以這種方式看待時(shí),稱為邏輯性數(shù)據(jù)。 24 4.3.2 Pentium數(shù)據(jù)類型數(shù)據(jù)類型 常規(guī) 整數(shù) 序數(shù) 未壓縮的BCD 壓縮的BCD 近指針 位串

14、 字符串 浮點(diǎn)數(shù) 25 4.3.3 Power PC數(shù)據(jù)類型數(shù)據(jù)類型 無符號(hào)字節(jié) 無符號(hào)半字 有符號(hào)半字 無符號(hào)字 有符號(hào)字 無符號(hào)雙字 字節(jié)串 浮點(diǎn)數(shù) 26 4.4 指令和數(shù)據(jù)的尋址方式指令和數(shù)據(jù)的尋址方式 4.4.1 指令的尋址方式 4.4.2 操作數(shù)基本尋址方式 4.4.3 尋址方式舉例 27 4.4.1 指令的尋址方式指令的尋址方式 l順序方式 lPC l跳躍方式 CAI 28 4.4.2 操作數(shù)基本尋址方式操作數(shù)基本尋址方式 l形成操作數(shù)有效地址的方法,稱為尋址方 式。 l例如,一種單地址指令的結(jié)構(gòu)如下: 操作碼OP、變址X、間址I、形式地址A 29 4.4.2 操作數(shù)基本尋址方式操

15、作數(shù)基本尋址方式 CAI 30 4.4.2 操作數(shù)基本尋址方式操作數(shù)基本尋址方式 1、隱含尋址 l指令中隱含著操作數(shù)的地址 l如某些運(yùn)算,隱含了累加器AC作為源和目的寄存器 l如8086匯編中的STC指令,設(shè)置標(biāo)志寄存器的C為1 31 4.4.2 操作數(shù)基本尋址方式操作數(shù)基本尋址方式 2、立即尋址 l立即尋址是一種特殊的尋址方式,指令中在操作碼字 段后面的部分不是通常意義上的操作數(shù)地址,而是操 作數(shù)本身,也就是說數(shù)據(jù)就包含在指令中,只要取出 指令,就取出了可以立即使用的操作數(shù),因此,這樣 的操作數(shù)被稱為立即數(shù)。 l指令格式:操作碼OP 操作數(shù)A 32 4.4.2 操作數(shù)基本尋址方式操作數(shù)基本尋

16、址方式 3、直接尋址 l 指令中地址碼字段給出的地址A就是操作數(shù)的 有效地址EA(Effective Address),即EAA。 33 4.4.2 操作數(shù)基本尋址方式操作數(shù)基本尋址方式 4、間接尋址 l 間接尋址意味著指令的地址碼部分給出的 地址A不是操作數(shù)的地址,而是存放操作數(shù) 地址的主存單元的地址,簡(jiǎn)稱操作數(shù)地址的 地址。操作數(shù)的有效地址的計(jì)算公式為: EA(A) 34 4.4.2 操作數(shù)基本尋址方式操作數(shù)基本尋址方式 5、寄存器尋址 l在指令的地址碼部分給出CPU內(nèi)某一通用寄存器的 編號(hào),指令的操作數(shù)存放在相應(yīng)的寄存器中,即 EA=Ri 優(yōu)點(diǎn): (1)由于寄存器在CPU的內(nèi)部,指令在執(zhí)

17、行時(shí)從寄存 器中取操作數(shù)比訪問主存要快得多; (2)由于寄存器的數(shù)量較少,因此寄存器編號(hào)所占位數(shù) 也較少,從而可以有效減少指令的地址碼字段的長(zhǎng) 度。 35 4.4.2 操作數(shù)基本尋址方式操作數(shù)基本尋址方式 6、寄存器間接尋址 l為了克服間接尋址中多次訪存的缺點(diǎn),可采用寄存器間接尋址, 即將操作數(shù)放在主存儲(chǔ)器中,而操作數(shù)的地址放在某一通用寄 存器中,然后在指令的地址碼部分給出該通用寄存器的編號(hào), 這時(shí)有EA=(Ri) l這種尋址方式的指令較短,并且在取指后只需一次訪存便可得到操作 數(shù),因此指令執(zhí)行速度較前述的間接尋址方式要快,也是目前在計(jì)算 機(jī)中使用較為廣泛的一種尋址方式。 36 4.4.2 操

18、作數(shù)基本尋址方式操作數(shù)基本尋址方式 7、偏移尋址、偏移尋址 l相對(duì)尋址:由程序計(jì)數(shù)器相對(duì)尋址:由程序計(jì)數(shù)器PC提供基準(zhǔn)地址,而指提供基準(zhǔn)地址,而指 令的地址碼部分給出相對(duì)的位移量令的地址碼部分給出相對(duì)的位移量D,兩者相加后,兩者相加后 作為操作數(shù)的有效地址,即:作為操作數(shù)的有效地址,即:EA(PC)D。 37 4.4.2 操作數(shù)基本尋址方式操作數(shù)基本尋址方式 l7、偏移尋址:基址尋址、偏移尋址:基址尋址 l基址寄存器的位數(shù)可以設(shè)置得很長(zhǎng),從而可以在較 大的存儲(chǔ)空間中尋址。 38 4.4.2 操作數(shù)基本尋址方式操作數(shù)基本尋址方式 l7、偏移尋址:變址尋址、偏移尋址:變址尋址 l變址尋址就是將指令

19、的地址碼部分給出的基準(zhǔn)地 址A與CPU內(nèi)某特定的變址寄存器Rx中的內(nèi)容相 加,以形成操作數(shù)的有效地址。 39 4.4.2 操作數(shù)基本尋址方式操作數(shù)基本尋址方式 8、段尋址方式、段尋址方式 存儲(chǔ)空間劃分為多段存儲(chǔ)空間劃分為多段 40 4.4.2 操作數(shù)基本尋址方式操作數(shù)基本尋址方式 l分寄存器堆棧、存儲(chǔ)器堆棧 以先進(jìn)后出原理存儲(chǔ)數(shù)據(jù) 41 4.4.2 操作數(shù)基本尋址方式操作數(shù)基本尋址方式 例例4.4:將:將ARM匯編語言翻譯成機(jī)器語言。已知匯編語言翻譯成機(jī)器語言。已知5條條ARM指令格指令格 式譯碼如下表所示:式譯碼如下表所示: 設(shè)設(shè)r3寄存器中保存數(shù)組寄存器中保存數(shù)組A的基值,的基值,h放在寄

20、存器放在寄存器r2中。中。C語言程序語言程序 語句語句 A30=h+A30 可編譯成如下可編譯成如下3條匯編語句指令:條匯編語句指令: LDR r5 , r3, #120;寄存器寄存器r5中獲得中獲得A30 ADD r5 , r2 , r5 ,;寄存器寄存器r5中獲得中獲得h+A30 STR r5 , r3, #120;將將h+A30存入到存入到A30 請(qǐng)問這請(qǐng)問這3條匯編語言指令的機(jī)器語言是什么?條匯編語言指令的機(jī)器語言是什么? 42 4.4.2 操作數(shù)基本尋址方式操作數(shù)基本尋址方式 解:首先利用十進(jìn)制數(shù)來表示機(jī)器語言指令,然后轉(zhuǎn)換成二進(jìn)制機(jī)器指令。解:首先利用十進(jìn)制數(shù)來表示機(jī)器語言指令,然

21、后轉(zhuǎn)換成二進(jìn)制機(jī)器指令。 從表從表4.3中我們可以確定中我們可以確定3條機(jī)器語言指令:條機(jī)器語言指令: LDR指令在第指令在第3字段(字段(opcond)用操作碼)用操作碼24確定?;导拇嫫鞔_定?;导拇嫫?指定在指定在 第第4字段(字段(Rn),目的寄存器),目的寄存器5指定在第指定在第6字段(字段(Rd),選擇),選擇A30(120 304)的)的offset字段放在最后一個(gè)字段(字段放在最后一個(gè)字段(offset12)。)。 ADD指令在第指令在第4字段(字段(opcode)用操作碼)用操作碼4確定。確定。3個(gè)寄存器操作(個(gè)寄存器操作(2、 5和和5)分別被指定在第)分別被指定在第6、

22、7、8字段。字段。 STR指令在第指令在第3字段用操作碼字段用操作碼25確定,其余部分與確定,其余部分與LDR指令相同。指令相同。 43 4.4.3 尋址方式舉例尋址方式舉例 Pentium的尋址方式的尋址方式 CAI 44 4.4.3 尋址方式舉例尋址方式舉例 方式算法 立即作數(shù)=A 寄存器LA=R 偏移量LA=(SR)+A 基址LA=(SR)+(B) 基址帶偏移量LA=(SR)+(B)+A 比例變址帶偏移量LA=(SR)+(I)S+A 基址帶變址和偏移量LA=(SR)+(B)+(I)+A 基址帶比例變址和偏移量 LA=(SR)+(B)+(I)S+A 相對(duì)LA=(PC)+A Pentium的

23、尋址方式的尋址方式 45 4.4.3 尋址方式舉例尋址方式舉例 例4 一種二地址RS型指令的結(jié)構(gòu)如下: 6位 4位 1位 2位 16位 OP 通用寄存器 I X 偏移量D 其中I為間接尋址標(biāo)志位,X為尋址模式字段,D為偏移 量字段。通過I,X,D的組合,可構(gòu)成如下尋址方式: 請(qǐng)寫出6種尋址方式的名稱。 46 4.4.3 尋址方式舉例尋址方式舉例 例5 將ARM匯編語言翻譯成機(jī)器語言。已知5條ARM指令格式譯碼如下 表所示: 設(shè)r3寄存器中保存數(shù)組A的基址,h放在寄存器r2中。C語言程序語句 A30=h+A30 可編譯成如下3條匯編語言指令: LDR r5,r3,#120;寄存器r5中獲得A30

24、 ADD r5,r2,r5;寄存器r5中獲得h+A30 STR r5,r3,#120;將h+A30存入到A30 請(qǐng)問這3條匯編語言指令的機(jī)器語言是什么? 47 4.5 典型指令典型指令 4.5.1 指令的分類指令的分類 4.5.2 基本指令系統(tǒng)的操作基本指令系統(tǒng)的操作 4.5.3 精簡(jiǎn)指令系統(tǒng)精簡(jiǎn)指令系統(tǒng) 48 4.5.1 指令的分類指令的分類 l數(shù)據(jù)傳送類指令 l一般傳送指令: MOV AX,BX l數(shù)據(jù)交換指令: XCHG l堆棧操作指令: PUSH,POP l運(yùn)算類指令 l算術(shù)運(yùn)算指令: 加、減、乘、除以及加1、減1、比較 l邏輯運(yùn)算指令: l移位指令 l程序控制類指令 l程序控制類指令

25、用于控制程序的執(zhí)行方向,并使程序具有測(cè) 試、分析與判斷的能力。 l 輸入和輸出指令、字符串處理指令、特權(quán)指令、其他指令 49 4.5.2 基本指令系統(tǒng)的操作基本指令系統(tǒng)的操作 l20%和80%規(guī)律:CISC中大約有20%的指令使用頻率高,占據(jù)了 80%的處理機(jī)時(shí)間,而有80%的不常用指令只占用處理機(jī)的20% 時(shí)間。 lVLSI技術(shù)發(fā)展引起的問題 lVLSI工藝要求規(guī)整性,而大量復(fù)雜指令控制邏輯極其不規(guī)整,給VLSI 工藝造成了很大的困難。 l現(xiàn)在用微程序?qū)崿F(xiàn)復(fù)雜指令與用簡(jiǎn)單指令組成的子程序相比,沒有多 大的區(qū)別。因?yàn)楝F(xiàn)在控制存儲(chǔ)器和主存的速度差縮小。 lCISC中,通過增強(qiáng)指令系統(tǒng)的功能,簡(jiǎn)化

26、了軟件,增加了硬件的 復(fù)雜程度。然而指令復(fù)雜了,指令的執(zhí)行時(shí)間必然加長(zhǎng),從而使 整個(gè)系統(tǒng)的執(zhí)行時(shí)間反而增加,因而在計(jì)算機(jī)體系結(jié)構(gòu)設(shè)計(jì)中, 軟硬件的功能分配必須恰當(dāng) 50 4.5.3 精簡(jiǎn)指令系統(tǒng)精簡(jiǎn)指令系統(tǒng) l特點(diǎn)(采用流水線技術(shù)) l簡(jiǎn)單而統(tǒng)一格式的指令譯碼; l大部分指令可以單周期執(zhí)行 l只有LOAD/STORE可以訪問存儲(chǔ)器 l簡(jiǎn)單的尋址方式 l采用延遲轉(zhuǎn)移技術(shù) l采用LOAD延遲技術(shù) l三地址指令格式 l較多的寄存器 l對(duì)稱的指令格式 返回 51 4.6 ARM匯編語言 匯編語言是計(jì)算機(jī)機(jī)器語言(二進(jìn)制指令代碼)進(jìn) 行符號(hào)化的一種表示方法,每一個(gè)基本匯編語句對(duì) 應(yīng)一條機(jī)器指令。 表4.11列出了嵌入式處理機(jī)ARM的匯編語言。其中 操作數(shù)使用16個(gè)寄存器(r0 , r1r12 , sp , Ir , pc),230個(gè)存儲(chǔ)字(字節(jié)編址,連續(xù)的字的地址間 相差4)。 返回 CAI CAI 表表4.11(上上) 表表4.11(下下) 52 4.6 ARM匯編語言 在進(jìn)行匯編語言程序設(shè)計(jì)時(shí),可直接使用英文單詞 或其縮寫表示指令,使用標(biāo)識(shí)表示數(shù)據(jù)或地址,從 而有效地避免了記憶二進(jìn)制的指令代碼。 不用由程序設(shè)計(jì)人

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論