《计算机组成与体系结构:性能设计》读后小记 11、指令集:寻址方式和指令格式...
一、尋址方式(7種)
1、方式字段:通常是不同的操作碼使用不同的尋址方式。指令格式中的一位或幾位能用做方式字段,方式字段的值確定使用哪種尋址方式。
2、立即尋址:操作數(shù)實(shí)際出現(xiàn)在指令中。優(yōu)點(diǎn)是,獲得操作數(shù)不要求另外的存儲器訪問,節(jié)省了一個(gè)存儲器或高速緩存(cache)周期。缺點(diǎn)是操作數(shù)的大小受限于地址字段的長度。
3、直接尋址:地址字段含有操作數(shù)的有效地址。
4、間接尋址:讓地址字段指示一個(gè)存儲器字地址,而此地址處保存有操作數(shù)的全長度地址。
5、寄存器尋址:類似于直接尋址,唯一不同的是地址字段指的是寄存器不是一個(gè)主存地址。
6、寄存器間接尋址:類似于間接尋址,唯一不同的是地址字段指示的是一個(gè)寄存器地址。
7、偏移尋址:要求指令有兩個(gè)字段,至少其中一個(gè)是顯示的,保存在一個(gè)地址字段中的值直接被使用(值=A),另一個(gè)地址字段,或者一個(gè)基于操作碼的隱含引用,指向一個(gè)寄存器,此寄存器內(nèi)容加上A產(chǎn)生有效地址。有以下三種偏移尋址:
(1)相對尋址:隱含引用的寄存器是程序計(jì)數(shù)器(PC),因此也叫PC相對尋址。即當(dāng)前PC的值(此指令后續(xù)的下一條指令的地址),加上地址字段的值(A),產(chǎn)生有效地址;
(2)基址寄存器尋址:被引用的寄存器含有一個(gè)存儲器地址,地址字段含有一個(gè)相對于那個(gè)地址的偏移量。
(3)變址:指令地址字段引用一個(gè)主存地址,被引用的寄存器含有對于那個(gè)地址的一個(gè)正的偏移量。
8、棧尋址:棧指針保存在寄存器中,于是對存儲器中棧位置的訪問實(shí)際上是一種寄存器間接尋址方式。
?
二、指令格式
1、一個(gè)指令格式必須包括一個(gè)操作碼,以及隱式或顯示的、零個(gè)或多個(gè)操作數(shù)。
2、指令長度:指令長度決定與存儲器尺寸、存儲器組織、總線結(jié)構(gòu)、CPU復(fù)雜程度和CPU速度等相互影響。它決定了匯編語言編程人員所看到的機(jī)器指令的豐富性和靈活程度。指令長度通常是字符長度(8位)或定點(diǎn)長度的整數(shù)倍。
3、位的分配:越多的操作碼意味著減少了尋址可用的位數(shù)。PDP-8使用12位指令和12位的字,有一個(gè)單一的通用寄存器,即累加器。PDP-10以空間利用率低為代價(jià),使得程序員編程相對容易。
4、變長指令:提供大的操作碼清單,而操作碼具有不同的長度。尋址方式也能更靈活,指令格式能將各種寄存器和存儲器引用加上尋址方式予以組合。
5、x86配備了各種指令格式;ARM的所有指令都是32位長,并有規(guī)整的格式。
轉(zhuǎn)載于:https://www.cnblogs.com/gaojiang/p/4026570.html
總結(jié)
以上是生活随笔為你收集整理的《计算机组成与体系结构:性能设计》读后小记 11、指令集:寻址方式和指令格式...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加解压开源组件-SharpZipLib
- 下一篇: ODBC连接到400