




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機組成原理指令系統(tǒng)第一頁,共六十八頁,編輯于2023年,星期五4.1指令系統(tǒng)的發(fā)展與性能要求指令在計算機系統(tǒng)中的地位(1)是軟件和硬件分界面的一個主要標志硬件設計人員采用各種手段實現(xiàn)它;軟件設計人員則利用它編制各種各樣的系統(tǒng)軟件和應用軟件(2)是硬件設計人員和軟件設計人員之間的分界面,也是他們之間溝通的橋梁。第二頁,共六十八頁,編輯于2023年,星期五4.1.1指令系統(tǒng)的發(fā)展
計算機的程序:是解決某一實際問題的指令序列;指令:就是要計算機執(zhí)行某種操作的命令。
從計算機組成的層次結構來說,計算機的指令有微指令、機器指令和宏指令之分。
微指令:微程序級的命令,它屬于硬件;
宏指令:由若干條機器指令組成的軟件指令,它屬于軟件;
機器指令(指令):介于微指令與宏指令之間,每條指令可完成一個獨立的算術運算或邏輯運算。
4.1
指令系統(tǒng)的發(fā)展和性能要求第三頁,共六十八頁,編輯于2023年,星期五3.指令系統(tǒng):一臺計算機中所有機器指令的集合,它是表征一臺計算機性能的重要因素,其格式與功能不僅直接影響到機器的硬件結構也直接影響到系統(tǒng)軟件,影響到機器的適用范圍。第四頁,共六十八頁,編輯于2023年,星期五下面我們來看一下計算機指令系統(tǒng)的發(fā)展過程
50年代:指令系統(tǒng)只有定點加減、邏輯運算、數(shù)據(jù)傳送、轉移等十幾至幾十條指令。60年代后期:增加了乘除運算、浮點運算、十進制運算、字符串處理等指令,指令數(shù)目多達一二百條,尋址方式也趨多樣化。60年代后期開始出現(xiàn)系列計算機第五頁,共六十八頁,編輯于2023年,星期五系列計算機是指節(jié)本指令系統(tǒng)相同、基本體系結構相同的一系列計算機。其必要條件是同一系列的各機種有共同的指令集.而且新推出的機種指令系統(tǒng)一定包含所有舊機種的全部指令,即實現(xiàn)一個“向上兼容”。因此舊機種上運行的各種軟件可以不加任何修改便可在新機種上運行,大大減少了軟件開發(fā)費用。系列機解決了各機種的軟件兼容問題第六頁,共六十八頁,編輯于2023年,星期五4.1指令系統(tǒng)的發(fā)展與性能要求3、發(fā)展情況復雜指令系統(tǒng)計算機,簡稱CISC。但是如此龐大的指令系統(tǒng)不但使計算機的研制周期變長,難以保證正確性,不易調試維護,而且由于采用了大量使用頻率很低的復雜指令而造成硬件資源浪費。精簡指令系統(tǒng)計算機:簡稱RISC,人們又提出了便于VLSI技術實現(xiàn)的精簡指令系統(tǒng)計算機。第七頁,共六十八頁,編輯于2023年,星期五
一個完善的指令系統(tǒng)應滿足如下四方面的要求:1.完備性
用匯編語言編寫各種程序時,指令系統(tǒng)直接提供的指令足夠使用,而不必用軟件來實現(xiàn)。完備性要求指令系統(tǒng)豐富、功能齊全、使用方便。
2.有效性
利用該指令系統(tǒng)所編寫的程序能夠高效率的運行。高效率主要表現(xiàn)在程序占據(jù)存儲空間小、執(zhí)行速度快。一般來說,一個功能更強、更完善的指令系統(tǒng),必定有更好的有效性。規(guī)整性
規(guī)整性包括指令系統(tǒng)的對稱性、勻齊性、指令格式和數(shù)據(jù)格式的一致性。
對稱性指在指令系統(tǒng)中所有的寄存器和存儲器單元都可同等對待,所有的指令都可使用各種尋址方式;
勻齊性是指一種操作性質的指令可以支持各種數(shù)據(jù)類型;
指令格式和數(shù)據(jù)格式的一致性是指指令長度和數(shù)據(jù)長度有一定的關系,以方便處理和存取。4.兼容性
系列機各機種之間具有相同的基本結構和共同的基本指令集,因而指令系統(tǒng)是兼容的,即各機種上基本軟件可以通用。但由于不同機種推出的時間不同,在結構和性能上有差異,做到所有軟件都完全兼容是不可能的,只能做到“向上兼容”,即低檔機上運行的軟件可以在高檔機上運行。
4.1.2對指令系統(tǒng)性能的要求第八頁,共六十八頁,編輯于2023年,星期五計算機語言具有高級語言和低級語言之分。高級語言如C,F(xiàn)ORTRAN等,其語句和用法與具體機器的指令系統(tǒng)無關。低級語言分機器語言(二進制語言)和匯編語言(符號語言),這兩種語言都是面向機器的語言,和具體機器的指令系統(tǒng)密切相關。機器語言用指令代碼編寫程序,而符號語言用指令助記符來編寫程序。高級語言與低級語言的性能比較4.1.3低級語言與硬件結構的關系第九頁,共六十八頁,編輯于2023年,星期五高級語言與低級語言的性能比較第十頁,共六十八頁,編輯于2023年,星期五4.2
指令格式
指令字(簡稱指令)即表示一條指令的機器字。
指令格式則是指令字用二進制代碼表示的結構形式,由操作碼字段和地址碼字段組成。
操作碼字段
地址碼字段
操作碼字段表征指令的操作特性與功能;操作碼字段的位數(shù)取決于指令系統(tǒng)的規(guī)模,有固定位數(shù)和可變位數(shù);若操作碼字段的位數(shù)固定為n位,則指令系統(tǒng)最多可表示2n條指令。4.2.1操作碼第十一頁,共六十八頁,編輯于2023年,星期五指令系統(tǒng)的每一條指令都有一個操作碼,它表示該指令應進行什么性質的操作。不同的指令用操作碼字段的不同編碼來表示,每一種編碼代表一種指令。組成操作碼字段的位數(shù)一般取決于計算機指令系統(tǒng)的規(guī)模。例如,一個指令系統(tǒng)只有8條指令,則有3位操作碼就夠;如果有32條指令,那么就需要5位操作碼。對于一個機器的指令系統(tǒng),在指令字中操作碼字段和地址碼字段長度通常是固定的。在單片機中,由于指令字較短,為了充分利用指令字長度,指令字的操作碼字段和地址碼字段是不固定的,即不同類型的指令有不同的劃分,以便盡可能用較短的指令字長來表示越來越多的操作種類,并在越來越大的存儲空間中尋址。第十二頁,共六十八頁,編輯于2023年,星期五等長(指令規(guī)整,譯碼簡單)例如IBM370機,該機字長32位,16個通用寄存器R0~R15,共有183條指令;指令的長度可以分為16位、32位和48位等幾種,所有指令的操作碼都是8位固定長度。固定長度編碼的主要缺點是:信息的冗余極大,使程序的總長度增加。第十三頁,共六十八頁,編輯于2023年,星期五
地址碼字段通常指定參與操作的操作數(shù)的地址或操作數(shù)本身。
根據(jù)一條指令中有幾個操作數(shù)地址,可將該指令稱為幾操作數(shù)指令或幾地址指令。
一般的操作數(shù)有被操作數(shù)、操作數(shù)及操作結果這三種數(shù),因而就形成了三地址指令格式。在此基礎上,后來又發(fā)展成二地址格式、一地址格式和零地址格式操作碼
A1
A2A3操作碼
A1
A2操作碼
A1
操作碼
4.2.2地址碼第十四頁,共六十八頁,編輯于2023年,星期五二、地址碼三地址指令指令格式如下:操作碼θ
第一操作數(shù)A1
第二操作數(shù)A2
結果A3功能描述:(A1)θ(A2)→A3(PC)+1→PC這種格式雖然省去了一個地址,但指令長度仍比較長,所以只在字長較長的大、中型機中使用,而小型、微型機中很少使用。θA3A2A1第十五頁,共六十八頁,編輯于2023年,星期五二、地址碼二地址指令其格式如下:操作碼θ第一操作數(shù)A1第二操作數(shù)A2
功能描述:(A1)θ(A2)→A1(PC)+1→PC二地址指令在計算機中得到了廣泛的應用,但是在使用時有一點必須注意:指令執(zhí)行之后,A1中原存的內容已經被新的運算結果替換了。θA2A1第十六頁,共六十八頁,編輯于2023年,星期五二、地址碼二地址地址根據(jù)操作數(shù)的物理位置分為:SS存儲器-存儲器類型RS寄存器-存儲器類型RR寄存器-寄存器類型 慢第十七頁,共六十八頁,編輯于2023年,星期五二、地址碼一地址指令指令格式為:操作碼θ
第一操作數(shù)A1功能描述:(AC)θ(A1)→AC(PC)+1→PC單操作數(shù)運算指令,如“+1”、“-1”、“求反”指令中給出一個源操作數(shù)的地址θA1第十八頁,共六十八頁,編輯于2023年,星期五二、地址碼零地址指令
其格式為:操作碼θ“停機”、“空操作”、“清除”等控制類指令。θ第十九頁,共六十八頁,編輯于2023年,星期五
指令字長度:一個指令字中包含二進制代碼的位數(shù)。有等長和變長兩種。等長指令的處理結構簡單,在對于操作碼字段位數(shù)可變的情況下,利用地址碼的個數(shù)不同,可將操作碼向地址碼部分延伸,從而增加指令條數(shù)。
機器字長:計算機能直接處理的二進制數(shù)據(jù)的位數(shù),它決定了計算機的運算精度。4.2.3指令字長度其中:L為指令字長度,
N為機器字長度第二十頁,共六十八頁,編輯于2023年,星期五使用多字長指令,目的在于提供足夠的地址位來解決訪問內存任何單元的尋址問題。其主要缺點是必須兩次或多次訪問內存以取出一整條指令,降低了CPU的運算速度,又占用了更多的存儲空間。等長指令字結構:各種指令字長度是相等的。這種指令字結構簡單,且指令字長度是不變的。變長指令字結構:各種指令字長度隨指令功能而異。結構靈活,能充分利用指令長度,但指令的控制較復雜。第二十一頁,共六十八頁,編輯于2023年,星期五
由于硬件只能識別1和0,所以采用二進制操作碼是必要的,但是我們用二進制來書寫程序卻非常麻煩。為了便于書寫和閱讀程序,每條指令通常用3個或4個英文縮寫字母來表示。這種縮寫碼叫做指令助記符。
表4.2典型的指令助記符典型指令
指令助記符
二進制操作碼
加法
ADD
001減法
SUB
010傳送
MOV
011跳轉
JMP
100轉子
JSR
101存儲
STR
110讀數(shù)
LDA
1114.2.4指令助記符第二十二頁,共六十八頁,編輯于2023年,星期五如上表所示,這里我們假定指令系統(tǒng)只有7條指令,所以操作碼只需3位二進制。由于指令助記符提示了每條指令的意義,因此比較容易記憶,書寫起來比較方便,閱讀程序容易理解。
需要注意的是,在不同的計算機中,指令助記符的規(guī)定是不一樣的。因此,指令助記符還必須轉換成與它們相對應的二進制碼。這種轉換借助匯編程序可以自動完成,匯編程序相當于一個“翻譯”。第二十三頁,共六十八頁,編輯于2023年,星期五1.八位微型計算機的指令格式
8位微型機字長只有8位,指令結構是一種可變字長形式,包含單字長、雙字長、三字長指令等多種。操作碼
操作碼
A1
A2操作碼
A1
單字長指令
雙字長指令
三字長指令
內存按字節(jié)編址,所以單字長指令每執(zhí)行一條指令后,指令地址加1。雙字長指令或三字長指令每執(zhí)行一條指令時,指令地址要加2或加3,可見多字長的指令格式不利于提高機器速度。4.2.5指令格式舉例第二十四頁,共六十八頁,編輯于2023年,星期五2.
PDP/11系列機指令格式
PDP/11系列機指令字長16位,其指令格式如下表所示。
表4.3PDP/11系列機指令格式
從表中看出,在PDP/11中,操作碼字段是不固定的,其長度也是不相同的。這樣做可以擴展操作碼以包含較多的指令。但是操作碼字段不固定,對控制器的設計來說必將復雜化。第二十五頁,共六十八頁,編輯于2023年,星期五3、Pentium指令格式指令長度可變,最短1個字節(jié),最長12個字節(jié),典型的CISC指令系統(tǒng)由可選前綴(0~4)、操作碼(1~2)、一個由mod-R/M字節(jié)和一個SIB(ScaleIndexBase)比例變址字節(jié)組成的地址指定器、一個可選的位移量(0~4)和一個可選的立即數(shù)字段(0~4)構成。指令前綴段取代操作數(shù)長度取代地址長度取代操作碼ModReg或操作碼R/MSIB位移量立即數(shù)第二十六頁,共六十八頁,編輯于2023年,星期五3、Pentium指令格式指令前綴中的重復前綴指定串的重復操作,這樣使Pentium處理串比軟循環(huán)快得多。LOCK前綴用于多CPU環(huán)境中對共享存儲器的排他性訪問段取代用于改變默認段寄存器的情況操作數(shù)長度取代和地址長度取代用于在保護模式下決定操作數(shù)和指令的長度以下4個指令前綴都是可選的,分別為0或1個字節(jié)指令前綴段取代操作數(shù)長度取代地址長度取代第二十七頁,共六十八頁,編輯于2023年,星期五3、Pentium指令格式操作碼是必須的,1~2個字節(jié)Mod、Reg、R/M為共1個字節(jié),是可選的。mod-R/M指定的操作數(shù)是在R中還是在M中。mod(2位)R/M(3位)的32種值構成了8種寄存器方式和24種變址方式(參考匯編語言教材);Reg或OP(3位)指定另一個操作數(shù)(寄存器)或用作OP的補充。操作碼ModReg或操作碼R/MSIB位移量立即數(shù)1個字節(jié)1個字節(jié)第二十八頁,共六十八頁,編輯于2023年,星期五3、Pentium指令格式S、I、B共1個字節(jié),分別是比例系數(shù)、變址寄存器號、基址寄存器號,可選。mod-R/M中的某些編碼要求SIB字節(jié)來完成尋址方式的指定;SS(2)指定比例變換的因子,Index(2)指定變址寄存器,Base(3)指定基址寄存器位移量:可以是0,1,2,4個字節(jié)立即數(shù):可以是0,1,2,4個字節(jié)操作碼ModReg或操作碼R/MSIB位移量立即數(shù)第二十九頁,共六十八頁,編輯于2023年,星期五[例1]指令格式如下所示,其中OP為操作碼,試分析指令格式的特點。
15987
4
3
0[解]:
(1)單字長二地址指令。
(2)操作碼字段OP可以指定128條指令。
(3)源寄存器和目標寄存器都是通用寄存器(可分別指定16個),所以是RR型指令,兩個操作數(shù)均在寄存器中。
(4)這種指令結構常用于算術邏輯運算類指令。
op源寄存器目標寄存器第三十頁,共六十八頁,編輯于2023年,星期五[例2]
指令格式如下所示,OP為操作碼字段,試分析指令格式特點
[解]:
(1)雙字長二地址指令,用于訪問存儲器。
(2)操作碼字段OP為6位,可以指定64種操作。
(3)一個操作數(shù)在源寄存器(共16個),另一個操作數(shù)在存儲器中(由變址寄存器和位移量決定)所以是RS型指令。
op源寄存器變址寄存器
位移量(16位)
15
10
7
4
3
0第三十一頁,共六十八頁,編輯于2023年,星期五4.3操作數(shù)類型操作數(shù)類型地址數(shù)據(jù):地址實際上也是一種形式的數(shù)據(jù)。數(shù)值數(shù)據(jù):計算機中普遍使用的三種類型的數(shù)值數(shù)據(jù)。字符數(shù)據(jù):文本數(shù)據(jù)或字符串,目前廣泛使用ASCII碼。邏輯數(shù)據(jù):一個單元中有幾位二進制bit項組成,每個bit的值可以是1或0。當數(shù)據(jù)以這種方式看待時,稱為邏輯性數(shù)據(jù)。Pentium數(shù)據(jù)類型(見P111表4.4)常規(guī)數(shù)據(jù)類型整數(shù)數(shù)據(jù)類型……..第三十二頁,共六十八頁,編輯于2023年,星期五4.4指令和數(shù)據(jù)的尋址方式研究問題確定本條指令中各操作數(shù)的地址下一條指令的地址尋址方式是指CPU根據(jù)指令中給出的地址碼字段尋找相應的操作數(shù)的方式,它與計算機硬件結構緊密相關,而且對指令的格式和功能有很大的影響。第三十三頁,共六十八頁,編輯于2023年,星期五4.4
指令和數(shù)據(jù)的尋址方式
操作數(shù)或指令在存儲器中的地址:某個操作數(shù)或某條指令存放在某個存儲單元時其存儲單元的編號。在存儲器中,操作數(shù)或指令字寫入或讀出的方式,有地址指定方式、相聯(lián)存儲方式和堆棧存取方式。當采用地址指定方式時,形成操作數(shù)或指令地址的方式,稱為尋址方式。尋址方式分為兩類,既指令尋址方式和數(shù)據(jù)尋址方式,前者比較簡單,后者比較復雜。4.4.1指令的尋址方式
指令的尋址方式有兩種:一種是順序尋址方式; 另一種是跳躍尋址方式。第三十四頁,共六十八頁,編輯于2023年,星期五4.4指令和數(shù)據(jù)的尋址方式指令的尋址方式順序方式PC跳躍方式第三十五頁,共六十八頁,編輯于2023年,星期五1.順序尋址方式(PC)+1->PC指令地址在內存中按順序安排,當執(zhí)行一段程序時,通常是一條指令接一條指令的順序執(zhí)行。從存儲器取出第一條指令,然后執(zhí)行這條指令;接著從存儲器取出第二條指令,在執(zhí)行第二條指令;接著再取出第三條指令……這種程序順序執(zhí)行的過程,我們稱為指令的順序尋址方式。為此,必須使用程序計數(shù)器(又稱指令指針寄存器)PC來計數(shù)指令的順序號,該順序號就是指令在內存中的地址。第三十六頁,共六十八頁,編輯于2023年,星期五2.跳躍尋址方式目標地址->PC當程序轉移執(zhí)行的順序時,指令的尋址就采取跳躍尋址方式。所謂跳躍,是指下條指令的地址碼不是由程序計數(shù)器給出,而是由本條指令給出。程序跳躍后,按新的指令地址開始順序執(zhí)行。指令計數(shù)器的內容也必須相應改變,以便及時跟蹤新的指令地址。采用指令跳躍尋址方式,可以實現(xiàn)程序轉移或構成循環(huán)程序,從而能縮短程序長度,或將某些程序作為公共程序引用。指令系統(tǒng)中的各種條件轉移或無條件轉移指令,就是為了實現(xiàn)指令的跳躍尋址而設置的。第三十七頁,共六十八頁,編輯于2023年,星期五4.4指令和數(shù)據(jù)的尋址方式操作數(shù)的尋址方式形成操作數(shù)有效地址的方法,稱為尋址方式。操作數(shù)通常放在哪兒呢?第三十八頁,共六十八頁,編輯于2023年,星期五4.4指令和數(shù)據(jù)的尋址方式操作數(shù)包含在指令中;操作數(shù)包含在CPU的某一個內部寄存器中;操作數(shù)包含在主存儲器中;操作數(shù)包含在I/O設備的端口中根據(jù)操作數(shù)放在不同的地方,從而派生各種不同的尋址方式,往往不同的計算機具有不同的尋址方式。第三十九頁,共六十八頁,編輯于2023年,星期五
例如,一種單地址指令的結構如下所示,其中用X,I,D各字段組成該指令的操作數(shù)地址。
操作碼OP
變址X
間址I
形式地址D指令中操作數(shù)字段的地址碼是由形式地址和尋址方式特征位等組合形成,因此,一般來說,指令中所給出的地址碼,并不是操作數(shù)的有效地址。
因此,尋址過程就是把操作數(shù)的形式地址,變換為操作數(shù)的有效地址的過程。4.4.2操作數(shù)尋址方式第四十頁,共六十八頁,編輯于2023年,星期五第四十一頁,共六十八頁,編輯于2023年,星期五在指令中不明顯的給出而是隱含著操作數(shù)的地址。例如,單地址的指令格式,沒有在地址字段中指明第二操作數(shù)地址,而是規(guī)定累加寄存器AC作為第二操作數(shù)地址,AC對單地址指令格式來說是隱含地址。1.隱含尋址
ADDA操作數(shù)主存尋址特征AAC暫存ALU另一個操作數(shù)隱含在AC中第四十二頁,共六十八頁,編輯于2023年,星期五2.立即尋址指令的地址字段指出的不是操作數(shù)的地址,而是操作數(shù)本身。這種方式的特點是指令執(zhí)行時間很短,不需要訪問內存取數(shù)。例如:單地址的移位指令格式為
OP(移位)
F
D這里D不是地址,而是一個操作數(shù)。F為標志位,當F=1,操作數(shù)進行右移;當F=0時,操作數(shù)進行左移。第四十三頁,共六十八頁,編輯于2023年,星期五直接尋址特點是:在指令格式的地址字段中直接指出操作數(shù)在內存的地址D。
采用直接尋址方式時,指令字中的形式地址D就是操作數(shù)的有效地址E,既E=D。因此通常把形式地址D又稱為直接地址。此時,由尋址模式給予指示。如果用S表示操作數(shù),那么直接尋址的邏輯表達式為
S=(E)=(D)3.直接尋址第四十四頁,共六十八頁,編輯于2023年,星期五間接尋址的情況下,指令地址字段中的形式地址D不是操作數(shù)的真正地址,而是操作數(shù)地址的指示器,D單元的內容才是操作數(shù)的有效地址。4.間接尋址第四十五頁,共六十八頁,編輯于2023年,星期五尋址特征位I=0,表示直接尋址,這時有效地址E=D;
I=1,表示間接尋址,這時有效地址E=(D)。間接尋址方式是早期計算機中經常采用的方式,但由于兩次訪存,影響指令執(zhí)行速度,現(xiàn)在已不大使用。如果把直接尋址和間接尋址結合起來,指令有如下形式:操作碼
I
D第四十六頁,共六十八頁,編輯于2023年,星期五5.寄存器尋址方式和寄存器間接尋址方式當操作數(shù)不放在內存中,而是放在CPU的通用寄存器中時,可采用寄存器尋址方式。此時指令中給出的操作數(shù)地址不是內存的地址單元號,而是通用寄存器的編號。寄存器間接尋址方式與寄存器尋址方式的區(qū)別在于:指令格式中的寄存器內容不是操作數(shù),而是操作數(shù)的地址,該地址指明的操作數(shù)在內存中第四十七頁,共六十八頁,編輯于2023年,星期五6.相對尋址方式相對尋址是把程序計數(shù)器PC的內容加上指令格式中的形式地址D而形成操作數(shù)的有效地址。程序計數(shù)器的內容就是當前指令的地址?!跋鄬Α睂ぶ?,就是相對于當前的指令地址而言。
采用相對尋址方式的好處是程序員無須用指令的絕對地址編程,所編程序可以放在內存任何地方。此時形式地址D通常稱為偏移量,其值可正可負,相對于當前指令地址進行浮動。適用于程序浮動,廣泛用于轉移指令第四十八頁,共六十八頁,編輯于2023年,星期五7.基址尋址方式基址尋址方式是將CPU中基址寄存器的內容加上指令格式中的形式地址而形成操作數(shù)的有效地址。
它的優(yōu)點是可以擴大尋址能力。同形式地址相比,基址寄存器的位數(shù)可以設置得很長,從而可以在較大的存儲空間中尋址。在程序的執(zhí)行過程中基址寄存器內內容不變,形式地址D可變第四十九頁,共六十八頁,編輯于2023年,星期五變址尋址方式與基址尋址方式計算有效地址的方法很相似,它把CPU中某個變址寄存器的內容與偏移量D相加來形成操作數(shù)有效地址。但使用變址尋址方式的目的不在于擴大尋址空間,而在于實現(xiàn)程序塊的規(guī)律性變化。8.變址尋址方式OPD操作數(shù)主存尋址特征ALU變址寄存器在程序的執(zhí)行過程中IX內容可變,形式地址D不變
便于處理數(shù)組問題第五十頁,共六十八頁,編輯于2023年,星期五10.段尋址方式微型機中采用了段尋址方式,例如它們可以給定一個20位的地址,從而有1M存儲空間的直接尋址能力。為此將整個1M空間存儲器以64K為單位劃分成若干段。在尋址一個內存具體單元時,由一個基地址再加上某些寄存器提供的16位偏移量來形成實際的20位物理地址。這個基地址就是CPU中的段寄存器。在形成20位物理地址時,段寄存器中的16位數(shù)會自動左移4位,然后以16位偏移量相加,即可形成所需的內存地址。這種尋址方式的實質還是基址尋址。第五十一頁,共六十八頁,編輯于2023年,星期五堆棧尋址方式堆棧堆棧是一組能存儲和取出數(shù)據(jù)的暫時存儲單元。堆棧和其他形式的存儲器之間的差別就在于,它們對數(shù)據(jù)的存取方法或尋址方法有所不同。
AAR堆棧BABAB第五十二頁,共六十八頁,編輯于2023年,星期五1.pentium的尋址方式外部地址總線寬度是36位,但它也支持32位物理地址空間。在實地址模式下,邏輯地址形式為段尋址方式:將段名所指定的段寄存器內容(16位)左移4位,低4位補全0,得到20位段基地址,再加上16位段內偏移,即得20位物理地址。
在保護模式下,32位段基地址加上段內偏移得到32位線性地址。由存儲管理部件將其轉換成32位的物理地址。
4.4.3尋址方式舉例第五十三頁,共六十八頁,編輯于2023年,星期五Pentium的尋址方式第五十四頁,共六十八頁,編輯于2023年,星期五下面對32位尋址方式作幾點說明:
⑴立即數(shù)可以是8位,16位,32位。⑵寄存器地址:一般指令或使用8位通用寄存器,或使用16位通用寄存器,或使用32位通用寄存器。對64位浮點數(shù)操作,要使用一對32位寄存器。少數(shù)指令以段寄存器來實施寄存器尋址方式。⑶直接尋址:也稱偏移量尋址方式,偏移量長度可以是8位,16位,32位。⑷基址尋址:基址寄存器B可以是上述通用寄存器中任何一個?;芳拇嫫鰾的內容為有效地址。第五十五頁,共六十八頁,編輯于2023年,星期五⑸基址+偏移量尋址:基址寄存器B是32位通用寄存器中任何一個.⑹比例地址+偏移量尋址:也稱為變址尋址方式,變址寄存器I是32位通用寄存器中除ESP外的任何一個,而且可將此變址寄存器內容乘以1,2,4或8的比例因子S,然后再加上偏移量而得到有效地址。⑺,⑻兩種尋址方式是⑷,⑹兩種尋址方式的組合,此時偏移量可有可無。⑼相對尋址:適用于轉移控制類指令。用當前指令指針寄存器EIP或IP的內容(下一條指令地址)加上一個有符號的偏移量,形成CS段的段內偏移。第五十六頁,共六十八頁,編輯于2023年,星期五[例3]一種二地址RS型指令的結構如下所示:
6位4位1位2位16位其中I為間接尋址標志位,X為尋址模式字段,D位偏移量字段。通過I,X,D的組合,可構成下表所示的尋址方式。請寫出六種尋址方式的名稱。[解]:⑴直接尋址⑵相對尋址⑶變址尋址⑷寄存器間接尋址⑸間接尋址⑹基址尋址
OP
I
X偏移量D第五十七頁,共六十八頁,編輯于2023年,星期五[例4]
某16位機器所使用的指令格式和尋址方式如下所示,該機有兩個20位基址寄存器,四個16位變址寄存器,十六個16位通用寄存器,指令匯編格式中的S(源),D(目標)都是通用寄存器,M是主存中的一個單元。三種指令的操作碼分別是MOV(OP)=(A)H,STA(OP)=(1B)H,LDA(OP)=(3C)H。MOV是傳送指令,STA為寫數(shù)指令,LDA為讀數(shù)指令。第五十八頁,共六十八頁,編輯于2023年,星期五要求:⑴分析三種指令的指令格式與尋址方式特點。⑵CPU完成哪一種操作所花時間最短?哪一種操作所花時間最長?第二種指令的執(zhí)行時間有時會等于第三種指令的執(zhí)行時間嗎?⑶下列情況下每個十六進制指令字分別代表什么操作?其中如果有編碼不正確,如何改正才能成為合法指令? ①(F0F1)H
(3CD2)H ②(2856)H
③(6FD6)H ④(1C2)H[解]:
⑴第一種指令是單字長二地址指令,RR型;第二種指令是雙字長二地址指令,RS型,其中S采用基址尋址或變址尋址,R由源寄存器決定;第三種也是雙字長二地址指令,RS型,其中R由目標寄存器決定,S由20位地址(直接尋址)決定。⑵處理機完成第一種指令所花時間最短,因為是RR型指令,不需要訪問存儲器。第二種指令所花時間最長,因為是RS型指令,需要訪問存儲器,同時要進行尋址方式的變換運算(基址或變址),這也需要時間。第二種指令的執(zhí)行時間不會等于第三種指令,第五十九頁,共六十八頁,編輯于2023年,星期五因為第三種指令雖然也訪問存儲器,但節(jié)省了求有效地址運算的時間開銷。 MOV(OP)=001010⑶根據(jù)已知條件:STA(OP)=011011 LDA(OP)=111100將指令的十六進制格式轉換成二進制代碼且比較后可知:①(F0F1)H(3CD2)H指令代表LDA指令,編碼正確,其含義是把主存(13CD2)H地址單元的內容取至15號寄存器。②(2856)H指令代表MOV指令,編碼正確,含義是把6號源寄存器的內容傳送至5號目標寄存器。③(6FD6)H是單字長指令,一定是MOV指令,但編碼錯誤,可改正為(28D6)H。④(1C2)H是單字長指令,代表MOV指令,但編碼錯誤,可改正為(28C2)H。第六十頁,共六十八頁,編輯于2023年,星期五4.5典型指令指令分類與基本指令類型
數(shù)據(jù)傳送類指令一般傳送指令:
MOVAX,BX數(shù)據(jù)交換指令:
XCHG堆棧操作指令:
PUSH,POP運算類指令算術運算指令:
加、減、乘、除以及加1、減1、比較邏輯運算指令:
移位指令
程序控制類指令
程序控制類指令用于控制程序的執(zhí)行方向,并使程序具有測試、分析與判斷的能力。
輸入和輸出指令、字符串處理指令、特權指令、其他指令第六十一頁,共六十八頁,編
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人防工程制式銷售合同范本
- 分散采購服務合同范本
- 農村燃氣安裝合同范例
- 協(xié)助寵物國際托運合同范本
- 農田租賃合同范本
- 專利轉讓入股合同范本
- 養(yǎng)魚合作轉讓合同范本
- 公版采購合同范本
- 單位解聘教師合同范本
- 買賣中介公司合同范本
- 人教版小學數(shù)學一年級下冊教案
- 《住院患者身體約束的護理》團體標準解讀課件
- 新版人音版小學音樂一年級下冊全冊教案
- 2024年黑龍江建筑職業(yè)技術學院單招職業(yè)適應性測試題庫全面
- MOOC 跨文化交際通識通論-揚州大學 中國大學慕課答案
- CBT主要技術精品課件
- 常用液壓元件型號對照表230
- 項目章程模板范文
- 泰山產業(yè)領軍人才工程系統(tǒng)
- 輪扣架支模體系材料量計算
- 主題班會教案《讀書好讀好書好讀書》班會方案
評論
0/150
提交評論