第5章指令系統(tǒng)(7h)_第1頁
第5章指令系統(tǒng)(7h)_第2頁
第5章指令系統(tǒng)(7h)_第3頁
第5章指令系統(tǒng)(7h)_第4頁
第5章指令系統(tǒng)(7h)_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、計算機組成與結構計算機組成與結構主講:弓劍鋒主講:弓劍鋒 2011-2012-2第五章第五章 指令系統(tǒng)指令系統(tǒng)指令系統(tǒng)指令系統(tǒng) 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 指令格式指令格式 數(shù)據(jù)表示數(shù)據(jù)表示 尋址方式尋址方式 指令類型指令類型 RISC 與與 CISC本章內(nèi)容:本章內(nèi)容:P138-P1705.1 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 計算機的計算機的性能性能與它所設置的與它所設置的指令系統(tǒng)指令系統(tǒng)有很大的關有很大的關系,而指令系統(tǒng)的設置又與機器的系,而指令系統(tǒng)的設置又與機器的硬件結構硬件結構密切相關。密切相關。發(fā)展過程發(fā)展過程 20世紀世紀50年代、年代、60年代早期年代早期 一般只有定點加減、邏輯

2、運算、數(shù)據(jù)傳送和轉移一般只有定點加減、邏輯運算、數(shù)據(jù)傳送和轉移等十幾至幾十條最基本的指令,且尋址方式簡單。等十幾至幾十條最基本的指令,且尋址方式簡單。 20世紀世紀60年代中、后期年代中、后期 增加了乘除法運算、浮點運算、十進制運算以及增加了乘除法運算、浮點運算、十進制運算以及字符串處理指令等,指令數(shù)多達一、二百條,指令系字符串處理指令等,指令數(shù)多達一、二百條,指令系統(tǒng)越來越豐富,且尋址方式也趨于多樣化。統(tǒng)越來越豐富,且尋址方式也趨于多樣化。 5.1 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 在在60年代出現(xiàn)了系列年代出現(xiàn)了系列(series)計算機。計算機。 為了繼承已有的軟件,減少軟件的開發(fā)費用,人為

3、了繼承已有的軟件,減少軟件的開發(fā)費用,人們迫切希望各機器上的軟件能夠兼容,以便在舊機器們迫切希望各機器上的軟件能夠兼容,以便在舊機器上編制的各種軟件也能在新的、性能更好的機器上正上編制的各種軟件也能在新的、性能更好的機器上正確運行。確運行。 系列計算機系列計算機指基本指令系統(tǒng)相同,基本體系結構指基本指令系統(tǒng)相同,基本體系結構相同的一系列計算機。相同的一系列計算機。 系列機能解決軟件兼容問題的必要條件是該系列系列機能解決軟件兼容問題的必要條件是該系列的各個機種有共同的指令集。的各個機種有共同的指令集。 5.1 指令系統(tǒng)的發(fā)展指令系統(tǒng)的發(fā)展 指令系統(tǒng)趨于多用途、強功能化。指令系統(tǒng)趨于多用途、強功能

4、化。 指令系統(tǒng)的改進是圍繞著縮小指令與高級語言的指令系統(tǒng)的改進是圍繞著縮小指令與高級語言的語義差異以及有利于操作系統(tǒng)的優(yōu)化而進行的。語義差異以及有利于操作系統(tǒng)的優(yōu)化而進行的。 70年代末,人們提出了精簡指令系統(tǒng)計算機年代末,人們提出了精簡指令系統(tǒng)計算機RISC。 指令結構太復雜會帶來一些不利的因素(設計周指令結構太復雜會帶來一些不利的因素(設計周期長,正確性難以保證,不易維護等)。期長,正確性難以保證,不易維護等)。 在在龐大的龐大的指令系統(tǒng)中:只有諸如算術運算、邏輯指令系統(tǒng)中:只有諸如算術運算、邏輯運算、數(shù)據(jù)傳送、轉移和子程序調(diào)用等運算、數(shù)據(jù)傳送、轉移和子程序調(diào)用等幾十條幾十條最基本最基本的

5、指令經(jīng)常被使用,而需要大量硬件支持的大多數(shù)較的指令經(jīng)常被使用,而需要大量硬件支持的大多數(shù)較復雜的指令卻利用率很低,造成硬件資源的極大浪費。復雜的指令卻利用率很低,造成硬件資源的極大浪費。 5.2 指令格式指令格式 指令格式指令格式 指令操作碼的擴展技術指令操作碼的擴展技術 指令長度與字長的關系指令長度與字長的關系本節(jié)內(nèi)容:本節(jié)內(nèi)容:P139-P1435.2 指令格式指令格式 計算機只能夠識別和執(zhí)行用計算機只能夠識別和執(zhí)行用機器語言機器語言編寫的程編寫的程序。各種高級語言編寫的應用程序,最終都要翻譯序。各種高級語言編寫的應用程序,最終都要翻譯成機器語言來執(zhí)行。成機器語言來執(zhí)行。 機器語言是由一系

6、列的指令(語句)組成的。機器語言是由一系列的指令(語句)組成的。指令的格式就是機器語言的語法指令的格式就是機器語言的語法。 一臺計算機的所有的指令集合稱為該機的指令一臺計算機的所有的指令集合稱為該機的指令系統(tǒng)或系統(tǒng)或指令集指令集。它是程序工作者編制程序的基本依。它是程序工作者編制程序的基本依據(jù),也是進行計算機邏輯設計的基本依據(jù)據(jù),也是進行計算機邏輯設計的基本依據(jù) 。每條指。每條指令規(guī)定機器完成一定的功能。令規(guī)定機器完成一定的功能。5.2.1 指令格式指令格式一條指令應包含如下信息:一條指令應包含如下信息: 操作的性質:操作的性質:體現(xiàn)在指令中被稱為體現(xiàn)在指令中被稱為操作碼操作碼。 操作結果的保

7、存:操作結果的保存:由地址碼給出。由地址碼給出。 操作的對象:操作的對象:數(shù)據(jù)來源以及如何尋找操作數(shù)。體現(xiàn)數(shù)據(jù)來源以及如何尋找操作數(shù)。體現(xiàn)在指令中被稱為在指令中被稱為地址碼地址碼。 下一條指令的地址:下一條指令的地址:由操作碼和地址碼共同決定,由操作碼和地址碼共同決定,并由程序計數(shù)器并由程序計數(shù)器PC給出。操作碼決定為順序執(zhí)行時,給出。操作碼決定為順序執(zhí)行時,下條指令地址為下條指令地址為PC+1;決定為非順序執(zhí)行時,下條;決定為非順序執(zhí)行時,下條指令地址由地址碼送至指令地址由地址碼送至PC。例如轉移指令,操作碼。例如轉移指令,操作碼指明轉移性質,跳轉地址由地址碼給出。指明轉移性質,跳轉地址由地

8、址碼給出。5.2.1 指令格式指令格式操作碼操作碼(OPCODE) :表示該指令所要完成:表示該指令所要完成的具體操作,的具體操作,其長度取決于指令集中的指其長度取決于指令集中的指令條數(shù)令條數(shù)。指令格式指令格式操作碼 OP地址碼 A 地址碼地址碼(A):描述該指令的操作對象。一般包括:描述該指令的操作對象。一般包括:操作數(shù)、操作數(shù)地址、操作結果的存操作數(shù)、操作數(shù)地址、操作結果的存儲地址儲地址。其中,。其中,地址指寄存器的地址、地址指寄存器的地址、存儲器的地址或存儲器的地址或I/O設備的地址設備的地址。5.2.1 指令格式指令格式 零地址指令零地址指令類型類型OPCODE 指令中只有操作碼,而沒

9、有操作數(shù)或沒有操作指令中只有操作碼,而沒有操作數(shù)或沒有操作數(shù)地址。包括兩類指令:數(shù)地址。包括兩類指令: 無需操作數(shù)的指令。如空操作指令、停機指令等。無需操作數(shù)的指令。如空操作指令、停機指令等。 默認操作數(shù)的指令。如堆棧操作指令。默認操作數(shù)的指令。如堆棧操作指令。5.2.1 指令格式指令格式 單地址指令單地址指令指令中只給出一個地址碼。包括兩類指令:指令中只給出一個地址碼。包括兩類指令: A1是操作數(shù)的地址,也是操作結果的存儲地址。是操作數(shù)的地址,也是操作結果的存儲地址。如如1(自加、自減)指令。(自加、自減)指令。 A1是一個操作數(shù)或操作數(shù)的地址,另一個操作數(shù)是一個操作數(shù)或操作數(shù)的地址,另一個

10、操作數(shù)地址(也是結果的存儲地址)為累加寄存器地址(也是結果的存儲地址)為累加寄存器AC(隱(隱含)。含)。OPCODEA15.2.1 指令格式指令格式 雙地址指令雙地址指令指令中給出兩個地址碼,為最常見的指令格式。指令中給出兩個地址碼,為最常見的指令格式。 A1:源操作地址碼,給出一個源操作數(shù)或其地址;:源操作地址碼,給出一個源操作數(shù)或其地址; A2:目的操作地址碼,給出另一個源操作數(shù)的地址,:目的操作地址碼,給出另一個源操作數(shù)的地址,同時也是存放結果的地址。同時也是存放結果的地址。OPCODEA1A25.2.1 指令格式指令格式 三地址指令三地址指令指令中給出三個地址碼,說明如下:指令中給出

11、三個地址碼,說明如下: A1:第一個操作數(shù)或其地址;:第一個操作數(shù)或其地址; A2:第二個操作數(shù)或其地址;:第二個操作數(shù)或其地址; A3:操作結果的存放地址。:操作結果的存放地址。OPCODEA1A2A35.2.1 指令格式指令格式 多地址指令多地址指令 在某些性能較好的大、中型機甚至高檔的小型在某些性能較好的大、中型機甚至高檔的小型機中,往往設置一些功能很強、用于處理成批數(shù)據(jù)機中,往往設置一些功能很強、用于處理成批數(shù)據(jù)的指令,如的指令,如字符串處理指令,向量、矩陣運算指令字符串處理指令,向量、矩陣運算指令等。為了描述一批數(shù)據(jù),指令中需要多個地址來指等。為了描述一批數(shù)據(jù),指令中需要多個地址來指

12、出數(shù)據(jù)存放的首地址、長度和下標等信息。出數(shù)據(jù)存放的首地址、長度和下標等信息。OPCODEA1A2A3An5.2.1 指令格式指令格式 對比對比 02地址指令:指令短、速度快、硬件實現(xiàn)簡單。地址指令:指令短、速度快、硬件實現(xiàn)簡單。 3n地址指令:功能強大、便于編程,但硬件結構地址指令:功能強大、便于編程,但硬件結構復雜,常出現(xiàn)于高性能機器的擴展指令集中。復雜,常出現(xiàn)于高性能機器的擴展指令集中。 指令地址與數(shù)據(jù)地址指令地址與數(shù)據(jù)地址 數(shù)據(jù):操作的對象。數(shù)據(jù)地址由指令中的地址數(shù)據(jù):操作的對象。數(shù)據(jù)地址由指令中的地址碼給出。碼給出。 指令:操作的性質。指令地址由程序計數(shù)器指令:操作的性質。指令地址由程

13、序計數(shù)器PC的值給出。的值給出。5.2.2 指令操作碼的擴展指令操作碼的擴展 指令的操作碼標明操作的性質,不同的指令其指令的操作碼標明操作的性質,不同的指令其操作碼不同。操作碼不同。指令中操作碼的長度取決于指令集中指令中操作碼的長度取決于指令集中指令的數(shù)量。指令的數(shù)量。 例如,指令集有例如,指令集有62條指令,則操作碼長度條指令,則操作碼長度6時時才能滿足指令集要求(才能滿足指令集要求(2662)。)。 指令的設計關鍵在于對指令操作碼的編碼設計。指令的設計關鍵在于對指令操作碼的編碼設計。5.2.2 指令操作碼的擴展指令操作碼的擴展 固定長度操作碼固定長度操作碼編碼格式編碼格式 操作碼所占的二進

14、制位數(shù)固定不變。操作碼所占的二進制位數(shù)固定不變。 有利于有利于簡化硬件設計,減少指令譯碼時間簡化硬件設計,減少指令譯碼時間,廣,廣泛用于泛用于字長較長字長較長的大、中型計算機和超級小型計算的大、中型計算機和超級小型計算機中。機中。 例如例如IBM370和和VAX11系列機中系列機中, 操作碼的長操作碼的長度都是度都是8位,可表示位,可表示256條指令。條指令。 在整條指令長度不變的情況下,對于地址個數(shù)在整條指令長度不變的情況下,對于地址個數(shù)少的指令允許其操作碼長些,對于地址個數(shù)多的指少的指令允許其操作碼長些,對于地址個數(shù)多的指令則操作碼短些。令則操作碼短些。5.2.2 指令操作碼的擴展指令操作

15、碼的擴展 可變長度操作碼可變長度操作碼 操作碼長度可變是操作碼擴展技術的應用。操作碼長度可變是操作碼擴展技術的應用。 有利于壓縮程序中操作碼的平均長度,在有利于壓縮程序中操作碼的平均長度,在字長字長較短較短的微型機中被廣泛應用。的微型機中被廣泛應用。 例如:例如:PDP11,INTEL 8086/80386等,其操等,其操作碼的長度均是可變的。作碼的長度均是可變的。5.2.2 指令操作碼的擴展指令操作碼的擴展 例如,設某機器的指令長度為例如,設某機器的指令長度為16位,包括位,包括1個個4位的操作碼和位的操作碼和3個個4位的地址碼,其格式為:位的地址碼,其格式為:操作碼擴展操作碼擴展 操作碼長

16、度固定時,只能編碼操作碼長度固定時,只能編碼16條指令。條指令。 操作碼長度可變時,如下方法可擴展表示操作碼長度可變時,如下方法可擴展表示61條條指令:指令:5.2.2 指令操作碼的擴展指令操作碼的擴展OPCODEA1A2A30000A1A2A30001A1A2A30010A1A2A30011A1A2A30100A1A2A30101A1A2A30110A1A2A30111A1A2A31000A1A2A31001A1A2A31010A1A2A31011A1A2A31100A1A2A31101A1A2A31110A1A2A31111A1A2A3 操作碼長度固定操作碼長度固定5.2.2 指令操作碼的

17、擴展指令操作碼的擴展0000A1A2A31110A1A2A31111A1A2A3 15條三地址指令條三地址指令1111A2A30000 1111A2A311101111A2A300011111A2A3111116條二地址指令條二地址指令5.2.2 指令操作碼的擴展指令操作碼的擴展0000A1A2A31110A1A2A31111A1A2A3 15條三地址指令條三地址指令1111A2A30000 1111A2A311101111A2A300011111A2A3111116條二地址指令條二地址指令15條二地址指令條二地址指令1111A3111100001111A311110001 1111A3111

18、111101111A31111111116條單地址指令條單地址指令5.2.2 指令操作碼的擴展指令操作碼的擴展1111A3111100001111A311110001 1111A3111111101111A31111111116條單地址指令條單地址指令15條單地址指令條單地址指令11111111111100001111111111110001 1111111111111110111111111111111116條零地址指令條零地址指令5.2.2 指令操作碼的擴展指令操作碼的擴展其他擴展方法:其他擴展方法: 實際的機器可以采用各種靈活的擴展方式,其實際的機器可以采用各種靈活的擴展方式,其思路與此

19、類似。思路與此類似。 例如,形成例如,形成15條三地址指令,條三地址指令,12條二地址指令,條二地址指令,31條單地址指令,條單地址指令,16條零地址指令,共條零地址指令,共74條。條。 上述方法是在上述方法是在不增加指令長度不增加指令長度的情況下,采用的情況下,采用對對地址少的指令使用較長的操作碼地址少的指令使用較長的操作碼,對,對地址數(shù)多的地址數(shù)多的指令使用較短的操作碼指令使用較短的操作碼。其實質是增加了指令的數(shù)。其實質是增加了指令的數(shù)量,豐富了指令的功能。量,豐富了指令的功能。5.2.2 指令操作碼的擴展指令操作碼的擴展指令的分配:指令的分配: 指令的分配以指令的分配以指令的使用頻度指令

20、的使用頻度(即在程序中出(即在程序中出現(xiàn)的概率)為依據(jù)。即現(xiàn)的概率)為依據(jù)。即頻度高的指令應分配短的操頻度高的指令應分配短的操作碼,頻度低的指令則分配較長的操作碼作碼,頻度低的指令則分配較長的操作碼。 優(yōu)點:優(yōu)點:1、有效地縮短操作碼在程序中的平均、有效地縮短操作碼在程序中的平均長度,節(jié)省存儲空間;長度,節(jié)省存儲空間; 2、縮短常用指令的譯碼時間以提高程序的運、縮短常用指令的譯碼時間以提高程序的運行速度。行速度。 缺點:譯碼系統(tǒng)比固定操作碼復雜,增加了設缺點:譯碼系統(tǒng)比固定操作碼復雜,增加了設計控制器的難度,需要更多的硬件支持。計控制器的難度,需要更多的硬件支持。5.2.2 指令操作碼的擴展指

21、令操作碼的擴展操作碼的平均長度操作碼的平均長度=(0.45+0.28+0.17)2+(0.05+0.03+0.01+0.01) 4=2.2bit5.2.3 指令長度與字長指令長度與字長 即機器字長,指計算機能直接處理的二進即機器字長,指計算機能直接處理的二進制數(shù)據(jù)的位數(shù)。字長是計算機中的一項重要技術指制數(shù)據(jù)的位數(shù)。字長是計算機中的一項重要技術指標,標,字長越長,計算機的運算精度越高字長越長,計算機的運算精度越高。字長字長 為了便于處理字符數(shù)據(jù)及盡可能地利用存儲空為了便于處理字符數(shù)據(jù)及盡可能地利用存儲空間,一般機器字長定為字節(jié)長度的整數(shù)倍,即間,一般機器字長定為字節(jié)長度的整數(shù)倍,即8位、位、16

22、位、位、32位或位或64位。位。 微型、小型機的字長多為微型、小型機的字長多為8位、位、16位和位和32位;位;中、大型機的字長多為中、大型機的字長多為32位和位和64位。位。5.2.3 指令長度與字長指令長度與字長 指令長度即指令字長,取決于操作碼指令長度即指令字長,取決于操作碼的長度、地址碼的長度和地址碼的個數(shù)。的長度、地址碼的長度和地址碼的個數(shù)。指令長度指令長度 其中,地址碼的長度決定指令的直接尋址能力。其中,地址碼的長度決定指令的直接尋址能力。 例如,例如,INTEL 8086/80586系列機的指令長度分別系列機的指令長度分別為為8位、位、16位、位、24位、位、32位、位、48位等

23、。而最長的指令位等。而最長的指令可達可達120位。位。 為了充分利用存儲空間,指令長度也定為為了充分利用存儲空間,指令長度也定為字節(jié)長字節(jié)長度的整數(shù)倍度的整數(shù)倍。5.2.3 指令長度與字長指令長度與字長指令長度與字長的關系指令長度與字長的關系指令指令短格式指令短格式指令指令長度指令長度字長字長單字長指令單字長指令指令長度指令長度=字長字長半字長指令半字長指令指令長度指令長度=0.5字長字長長格式指令長格式指令指令長度指令長度字長字長雙字長指令雙字長指令指令長度指令長度=2倍字長倍字長四字長指令四字長指令指令長度指令長度=4倍字長倍字長5.2.3 指令長度與字長指令長度與字長各種指令字的結構情況

24、:各種指令字的結構情況:地址地址 II+1I+2I+3指令指令1指令指令2指令指令3指令指令4一個字長一個字長指指 令令指指 令令指指 令令指指 令令地址地址 II+1I+2I+3一個字長一個字長指指 令令指指 令令指指 令令指指 令令地址地址 II+1I+2I+3 指令指令1 指 令指 令2一個字長一個字長單字長指令單字長指令雙字長指令雙字長指令半字長指令半字長指令變字長指令變字長指令指令指令3一個字長一個字長地址地址II+1I+2I+3I+4I+5I+6指令指令1指令指令25.3 數(shù)據(jù)表示數(shù)據(jù)表示 目前微機所用數(shù)據(jù)字長為目前微機所用數(shù)據(jù)字長為32位或位或64位。位。8位和位和16位機器字長

25、多用于各種單片機中。位機器字長多用于各種單片機中。 計算機的指令系統(tǒng)可支持對字節(jié)、半字、字、計算機的指令系統(tǒng)可支持對字節(jié)、半字、字、雙字的運算,有些計算機還有位處理指令(多見于雙字的運算,有些計算機還有位處理指令(多見于單片機中)。單片機中)。5.3 數(shù)據(jù)表示數(shù)據(jù)表示 為便于硬件實現(xiàn),一般要求多字節(jié)數(shù)為便于硬件實現(xiàn),一般要求多字節(jié)數(shù)據(jù)對準邊界,從而減少訪存的次數(shù)。據(jù)對準邊界,從而減少訪存的次數(shù)。邊界對準邊界對準特點特點1:半字地址最半字地址最低位為零;字地址最低位為零;字地址最低兩位為零;雙字地低兩位為零;雙字地址最低三位為零。址最低三位為零。特點特點2:若數(shù)據(jù)長度若數(shù)據(jù)長度不足,則填充空字節(jié)

26、。不足,則填充空字節(jié)。例如三字節(jié)數(shù)據(jù)占用例如三字節(jié)數(shù)據(jù)占用雙字存儲,有一字節(jié)雙字存儲,有一字節(jié)為空。為空。5.3 數(shù)據(jù)表示數(shù)據(jù)表示 若不要求對準邊界,則可以節(jié)約存儲空間。但若不要求對準邊界,則可以節(jié)約存儲空間。但可能增加訪存次數(shù)。可能增加訪存次數(shù)。 例如,下圖出現(xiàn)一個字在兩個存儲單元中的情例如,下圖出現(xiàn)一個字在兩個存儲單元中的情況,需訪問況,需訪問2次存儲器才能取得數(shù)據(jù)。次存儲器才能取得數(shù)據(jù)。5.4 尋址方式尋址方式尋址方式:尋址方式: 在存儲器中,操作數(shù)或指令字寫入或讀出的方式,在存儲器中,操作數(shù)或指令字寫入或讀出的方式,有有地址指定方式地址指定方式、相聯(lián)存儲方式相聯(lián)存儲方式和和堆棧存取方式

27、堆棧存取方式。 幾乎所有的計算機,在內(nèi)存中都采用地址指定方式。幾乎所有的計算機,在內(nèi)存中都采用地址指定方式。 當采用地址指定方式時,形成操作數(shù)或指令地址的當采用地址指定方式時,形成操作數(shù)或指令地址的方式,稱為方式,稱為尋址方式尋址方式。 尋址方式分為兩類,即指令尋址方式和數(shù)據(jù)尋址方尋址方式分為兩類,即指令尋址方式和數(shù)據(jù)尋址方式,前者比較簡單,后者比較復雜。一般所說的尋式,前者比較簡單,后者比較復雜。一般所說的尋址方式指數(shù)據(jù)尋址方式。址方式指數(shù)據(jù)尋址方式。5.4 尋址方式尋址方式CPU一直都在尋找的東西一直都在尋找的東西 指令:指令: 通過程序計數(shù)器通過程序計數(shù)器PC(存放著下一條指令的地址)(

28、存放著下一條指令的地址)的值找到下一條要執(zhí)行的指令。的值找到下一條要執(zhí)行的指令。 PC的值由當前正在執(zhí)行的指令決定,當前指令的的值由當前正在執(zhí)行的指令決定,當前指令的操作碼決定程序是順序執(zhí)行,還是非順序執(zhí)行。操作碼決定程序是順序執(zhí)行,還是非順序執(zhí)行。 若為順序執(zhí)行,則若為順序執(zhí)行,則PC+1;若為非順序執(zhí)行,則;若為非順序執(zhí)行,則PC值由當前指令地址碼給出。值由當前指令地址碼給出。 指令尋址方式分指令尋址方式分順序尋址順序尋址和和跳躍(轉移)尋址跳躍(轉移)尋址。5.4 尋址方式尋址方式5.4 尋址方式尋址方式6演示演示5.4 尋址方式尋址方式 數(shù)據(jù):數(shù)據(jù): 通過指令實現(xiàn)。通過指令實現(xiàn)。 數(shù)據(jù)

29、存放的三個地方:寄存器、存儲器、數(shù)據(jù)存放的三個地方:寄存器、存儲器、I/O設備。設備。 不同的存放空間決定了尋找數(shù)據(jù)方法的不同,造不同的存放空間決定了尋找數(shù)據(jù)方法的不同,造成了數(shù)據(jù)尋址方式的多樣化和復雜化。成了數(shù)據(jù)尋址方式的多樣化和復雜化。 數(shù)據(jù)尋址方式就是指尋找操作數(shù)所用的方法,它數(shù)據(jù)尋址方式就是指尋找操作數(shù)所用的方法,它與計算機的硬件結構密切相關,對指令的格式和功與計算機的硬件結構密切相關,對指令的格式和功能都有極大的影響。能都有極大的影響。 5.4 尋址方式尋址方式注明:注明:D或或A地址碼;地址碼;E操作數(shù)的有效地址;操作數(shù)的有效地址;S操作數(shù);操作數(shù);R寄存器地址。寄存器地址。指令中

30、的地址碼就是所需的操作數(shù)。指令中的地址碼就是所需的操作數(shù)。 1 立即尋址立即尋址優(yōu)點:優(yōu)點:操作數(shù)在取指令時同時得到,不必再次訪問操作數(shù)在取指令時同時得到,不必再次訪問存儲器,提高了指令執(zhí)行速度。存儲器,提高了指令執(zhí)行速度。 缺點:缺點:操作數(shù)數(shù)值受限;操作數(shù)不能單獨修改。操作數(shù)數(shù)值受限;操作數(shù)不能單獨修改。 OP # S立即尋址特征立即尋址特征立即數(shù)立即數(shù) SD5.4 尋址方式尋址方式指令中的地址碼是操作數(shù)的地址。指令中的地址碼是操作數(shù)的地址。 2 直接尋址直接尋址優(yōu)點:優(yōu)點:不需計算地址,尋址速度很快;不需計算地址,尋址速度很快; 缺點:缺點:尋址范圍受到地址字段長度的限制。尋址范圍受到地

31、址字段長度的限制。演示演示演示演示S( E )( D )5.4 尋址方式尋址方式指令中的地址碼是操作數(shù)的有效地址的地址。指令中的地址碼是操作數(shù)的有效地址的地址。 3 間接尋址間接尋址優(yōu)點:優(yōu)點:地址構成靈活,尋址范圍大;地址構成靈活,尋址范圍大; 缺點:缺點:最少需訪問兩次存儲器才能取得數(shù)據(jù)。最少需訪問兩次存儲器才能取得數(shù)據(jù)。演示演示S( E )( ( D ) )演示演示5.4 尋址方式尋址方式 指令中的地址碼是某寄存器的地址指令中的地址碼是某寄存器的地址 ,操作數(shù)在,操作數(shù)在該寄存器中。該寄存器中。4 寄存器尋址寄存器尋址優(yōu)點:優(yōu)點:寄存器高速存取,可大幅提高執(zhí)行速度;寄存器高速存取,可大幅

32、提高執(zhí)行速度; 缺點:缺點:寄存器數(shù)量有限。寄存器數(shù)量有限。 OP RiRi S S = ( E ) = ( R )5.4 尋址方式尋址方式 指令中的地址碼是某寄存器的地址指令中的地址碼是某寄存器的地址 ,操作數(shù)的,操作數(shù)的地址在該寄存器中。地址在該寄存器中。5 寄存器間址寄存器間址優(yōu)點:優(yōu)點:借助寄存器提高執(zhí)行速度;借助寄存器提高執(zhí)行速度; 尋址靈活;尋址靈活;缺點:缺點:寄存器數(shù)量有限。寄存器數(shù)量有限。 S = ( E ) = ( ( R ) )OP Ri E Ri S5.4 尋址方式尋址方式 程序計數(shù)器程序計數(shù)器PC的值(基址)加指令地址碼(位的值(基址)加指令地址碼(位移量)形成操作數(shù)

33、的有效地址。移量)形成操作數(shù)的有效地址。6 相對尋址相對尋址特點:特點:1、位移量可正可負,通常用補碼表示。、位移量可正可負,通常用補碼表示。2、常用于程序跳轉。、常用于程序跳轉。 S = ( E ) = ( PC+D )演示演示演示演示5.4 尋址方式尋址方式舉例如下:舉例如下:OP35P C:相對距離相對距離 =35內(nèi)存內(nèi)存OP 35300010351000 PC值為值為1000,指令地址碼為,指令地址碼為35,相對地址為,相對地址為1035。這個地址隨。這個地址隨PC的值變化而變化,并且相對差的值變化而變化,并且相對差一個固定值。因此,當把操作數(shù)作為指令地址時,無一個固定值。因此,當把操

34、作數(shù)作為指令地址時,無論程序裝入存儲器的任何區(qū)域,只要這個差值不變,論程序裝入存儲器的任何區(qū)域,只要這個差值不變,程序均能正確運行。程序均能正確運行。5.4 尋址方式尋址方式 基址寄存器的內(nèi)容(基址)加指令地址碼(位基址寄存器的內(nèi)容(基址)加指令地址碼(位移量)形成操作數(shù)的有效地址。移量)形成操作數(shù)的有效地址。7 基址尋址基址尋址 S = ( E ) = ( ( R ) + D )址5.4 尋址方式尋址方式 當當存儲容量較大,所需地址碼的長度大于字長存儲容量較大,所需地址碼的長度大于字長時,指令中的地址碼部分直接給出的地址不可能直時,指令中的地址碼部分直接給出的地址不可能直接訪問存儲器的所有單

35、元。接訪問存儲器的所有單元。演示演示 因此,把整個存儲空間因此,把整個存儲空間分成若干段分成若干段,每段的,每段的首首地址地址存放在一個存放在一個基址寄存器基址寄存器中,中,段內(nèi)的位移量段內(nèi)的位移量由指由指令直接給出。令直接給出。 基址寄存器基址寄存器:專用寄存器,或者由指令指定的某專用寄存器,或者由指令指定的某個通用寄存器。個通用寄存器。用途:用途:1、大容量存儲體尋址;、大容量存儲體尋址; 2、查表。、查表。變址 變址寄存器變址寄存器:專用寄存器,或者由指令指專用寄存器,或者由指令指定的某個通用寄存器或內(nèi)存單元。定的某個通用寄存器或內(nèi)存單元。5.4 尋址方式尋址方式 變址寄存器的內(nèi)容(變址

36、)加指令地址碼(位變址寄存器的內(nèi)容(變址)加指令地址碼(位移量)形成操作數(shù)的有效地址。移量)形成操作數(shù)的有效地址。8 變址尋址變址尋址 S = ( E ) = ( ( R ) + D )演示演示5.4 尋址方式尋址方式Ri為變址寄存器時的為變址寄存器時的變址尋址變址尋址內(nèi)存內(nèi)存20501000opX3 Ri00801080內(nèi)存內(nèi)存 2050 1080變址寄存器 1000Ri OP X3 Ri 0080Ri為內(nèi)存變址單元時為內(nèi)存變址單元時的變址尋址的變址尋址5.4 尋址方式尋址方式 基址尋址基址尋址面向系統(tǒng)面向系統(tǒng),主要用于,主要用于邏輯地址到物理地邏輯地址到物理地址的變換址的變換,用來解決程序

37、在主存儲器中的再定位和,用來解決程序在主存儲器中的再定位和擴大尋址空間等問題。擴大尋址空間等問題。基址和變址的應用方向基址和變址的應用方向 變址尋址則變址尋址則面向用戶面向用戶,用于訪問字符串、向量和,用于訪問字符串、向量和數(shù)組等數(shù)組等成批數(shù)據(jù)成批數(shù)據(jù),沒有邏輯地址到物理地址的變換,沒有邏輯地址到物理地址的變換功能。功能。 在一些小型機或微型機中,基址尋址和變址尋在一些小型機或微型機中,基址尋址和變址尋址實際上已經(jīng)合二為一了。址實際上已經(jīng)合二為一了。5.4 尋址方式尋址方式 段尋址基于基址尋址。操作數(shù)地址由段地址加段尋址基于基址尋址。操作數(shù)地址由段地址加地址碼指定的偏移量得到。地址碼指定的偏移

38、量得到。9 段尋址段尋址 S = ( E ) = ( ( R ) + D ) 段寄存器:段寄存器:專用寄存器,存放段地址。常用的專用寄存器,存放段地址。常用的段寄存器有:段寄存器有:CS(程序段段寄存器)、(程序段段寄存器)、DS(數(shù)據(jù)(數(shù)據(jù)段段寄存器)、段段寄存器)、SS(堆棧段段寄存器)、(堆棧段段寄存器)、ES(擴展(擴展數(shù)據(jù)段段寄存器),參見數(shù)據(jù)段段寄存器),參見5.8.2小節(jié)。小節(jié)。 Intel 8086 CPU由由16位段寄存器和位段寄存器和16位偏移量位偏移量產(chǎn)生產(chǎn)生20位物理地址。位物理地址。演示演示5.4 尋址方式尋址方式 操作數(shù)在堆棧中。操作數(shù)在堆棧中。10 堆棧尋址堆棧尋

39、址5.5 指令類型指令類型 一臺計算機的指令系統(tǒng)通常有上百條或幾百條一臺計算機的指令系統(tǒng)通常有上百條或幾百條指令,從它們所完成的功能來看,一個較為完善的指令,從它們所完成的功能來看,一個較為完善的指令系統(tǒng),應具備以下各類指令:指令系統(tǒng),應具備以下各類指令:5.5 指令類型指令類型 主要用于定點或浮點的算術運算。包括二進制主要用于定點或浮點的算術運算。包括二進制定點定點加、減、乘、除指令,加、減、乘、除指令,浮點浮點加、減、乘、除指加、減、乘、除指令,令,求反、求補求反、求補指令,指令,十進制十進制加、減運算指令等。加、減運算指令等。1 算術運算指令算術運算指令算術指令常用的狀態(tài)標志位有:算術指

40、令常用的狀態(tài)標志位有: Z 結果為結果為0 ; N 結果為負結果為負 ; V 結果溢出;結果溢出; C 產(chǎn)生進位或借位。產(chǎn)生進位或借位。5.5 指令類型指令類型 主要用于主要用于無符號數(shù)無符號數(shù)的位操作、代碼的轉換、判的位操作、代碼的轉換、判斷及運算。包括與、或、非、異或等指令及相應的斷及運算。包括與、或、非、異或等指令及相應的位操作。位操作。2 邏輯運算指令邏輯運算指令3 移位指令移位指令 包括算術移位、邏輯移位和循環(huán)移位指令。常包括算術移位、邏輯移位和循環(huán)移位指令。常用于實現(xiàn)簡單的乘除運算。用于實現(xiàn)簡單的乘除運算。 算術移位實現(xiàn)對有符號數(shù)的乘除運算;邏輯移算術移位實現(xiàn)對有符號數(shù)的乘除運算;

41、邏輯移位實現(xiàn)對無符號數(shù)的乘除運算。位實現(xiàn)對無符號數(shù)的乘除運算。5.5 指令類型指令類型算術移位算術移位邏輯移位邏輯移位5.5 指令類型指令類型小循環(huán)移位小循環(huán)移位大循環(huán)移位大循環(huán)移位5.5 指令類型指令類型 字符串處理指令是一種字符串處理指令是一種非數(shù)值非數(shù)值處理指令,這類處理指令,這類指令用在文字編輯中對大量字符串進行處理。指令用在文字編輯中對大量字符串進行處理。4 字符串處理指令字符串處理指令常用操作指令有:常用操作指令有: 字符串傳送:將字符串從主存的一個區(qū)域區(qū)傳送字符串傳送:將字符串從主存的一個區(qū)域區(qū)傳送到另一區(qū)域;到另一區(qū)域; 字符串轉換:把一種編碼的字符串轉換成另一種字符串轉換:把

42、一種編碼的字符串轉換成另一種編碼的字符串;編碼的字符串; 字符串替換:把某一字符串用另一字符串代替;字符串替換:把某一字符串用另一字符串代替;5.5 指令類型指令類型5 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令 字符串比較:一個字符串與另一個字符串逐個字符串比較:一個字符串與另一個字符串逐個 字符進行比較,以判斷是否相等;字符進行比較,以判斷是否相等; 字符串查詢:查找在字符串中是否含有某一指定字符串查詢:查找在字符串中是否含有某一指定的子串或字符;的子串或字符; 實現(xiàn)寄存器與寄存器,寄存器與存儲單元以及實現(xiàn)寄存器與寄存器,寄存器與存儲單元以及存儲單元與存儲單元之間的數(shù)據(jù)存儲單元與存儲單元之間的數(shù)據(jù)復制復制或

43、或交換交換。 主要包括取數(shù)指令、存數(shù)指令、傳送指令、成主要包括取數(shù)指令、存數(shù)指令、傳送指令、成組傳送指令、字節(jié)交換指令等。組傳送指令、字節(jié)交換指令等。5.5 指令類型指令類型 實現(xiàn)程序跳轉。常見類型有:無條件轉移指令、實現(xiàn)程序跳轉。常見類型有:無條件轉移指令、條件轉移指令、轉子程序指令、返回主程序指令、條件轉移指令、轉子程序指令、返回主程序指令、中斷返回指令等。中斷返回指令等。6 程序控制指令(轉移指令)程序控制指令(轉移指令)1、無條件轉移指令:、無條件轉移指令: 不受任何條件約束,直接把程序轉移到指令規(guī)不受任何條件約束,直接把程序轉移到指令規(guī)定的地方。常見指令:定的地方。常見指令:JMP。

44、5.5 指令類型指令類型2、條件轉移指令:、條件轉移指令: 先測試設置的判斷條件,然后根據(jù)測試結果決先測試設置的判斷條件,然后根據(jù)測試結果決定是否轉移。定是否轉移。 算術標志位(算術標志位(Z、N、V、C)常用作判斷條件,)常用作判斷條件,此類指令較多,詳見此類指令較多,詳見P151152。根據(jù)尋址方式不同,條件轉移可分為:根據(jù)尋址方式不同,條件轉移可分為: 相對轉移:轉移地址相對轉移:轉移地址PCPC + 地址碼(相對尋址)地址碼(相對尋址) 絕對轉移:轉移地址絕對轉移:轉移地址PC地址碼(直接尋址)地址碼(直接尋址)5.5 指令類型指令類型3、轉子指令:、轉子指令: 轉向子程序入口,并將原

45、程序中下一條指令地轉向子程序入口,并將原程序中下一條指令地址(址(PC)存入內(nèi)存單元(或寄存器、堆棧)中,以)存入內(nèi)存單元(或寄存器、堆棧)中,以便為返回主程序時提供返回地址。便為返回主程序時提供返回地址。4、返回指令:、返回指令: 從內(nèi)存單元(或寄存器、堆棧)中取出返回地從內(nèi)存單元(或寄存器、堆棧)中取出返回地址,返回主程序繼續(xù)執(zhí)行調(diào)用指令的下一條指令。址,返回主程序繼續(xù)執(zhí)行調(diào)用指令的下一條指令。5、中斷返回指令:、中斷返回指令: 中斷服務程序完成后,恢復斷點,返回主程序,中斷服務程序完成后,恢復斷點,返回主程序,繼續(xù)從斷點處開始執(zhí)行指令。繼續(xù)從斷點處開始執(zhí)行指令。5.5 指令類型指令類型

46、陷阱是一種陷阱是一種意外事故中斷意外事故中斷,目的是把發(fā)生的故,目的是把發(fā)生的故障通知障通知CPU,并根據(jù)故障的情況轉入相應的故障處,并根據(jù)故障的情況轉入相應的故障處理程序。理程序。7 陷阱指令陷阱指令 陷阱指令是一種陷阱指令是一種隱含指令隱含指令(不出現(xiàn)在指令系統(tǒng)(不出現(xiàn)在指令系統(tǒng)中,其功能以指令的形式隱含地完成),用戶不能中,其功能以指令的形式隱含地完成),用戶不能使用。當故障出現(xiàn)時,由使用。當故障出現(xiàn)時,由CPU自動產(chǎn)生并執(zhí)行,故自動產(chǎn)生并執(zhí)行,故又叫又叫自中斷指令自中斷指令。 陷阱觸發(fā)后,中斷強制執(zhí)行,不可屏蔽!陷阱觸發(fā)后,中斷強制執(zhí)行,不可屏蔽!5.5 指令類型指令類型堆棧:堆棧:8

47、 堆棧指令堆棧指令 堆棧是一組能存取數(shù)據(jù)的暫時存儲單元(類似堆棧是一組能存取數(shù)據(jù)的暫時存儲單元(類似主存),很多計算機把主存的一部分用作堆棧。主存),很多計算機把主存的一部分用作堆棧。 堆棧和其它形式的存儲器之間的差別是:它們堆棧和其它形式的存儲器之間的差別是:它們對數(shù)據(jù)的對數(shù)據(jù)的存取方法存取方法和和尋址方式尋址方式有所不同。有所不同。 堆棧采用先進后出堆棧采用先進后出(FILO:first in last out)的存的存取方式(取方式(破壞性讀出破壞性讀出)。棧底固定不變,棧頂為數(shù))。棧底固定不變,棧頂為數(shù)據(jù)通道。據(jù)通道。任何堆棧操作只能在棧頂進行。任何堆棧操作只能在棧頂進行。5.5 指令

48、類型指令類型堆棧指針堆棧指針SP (stack pointer): 用于軟堆棧指出棧頂?shù)刂返募拇嫫骰虼鎯ζ鲉卧S糜谲浂褩V赋鰲m數(shù)刂返募拇嫫骰虼鎯ζ鲉卧?。堆棧分類:堆棧分類?按構成方式不同分串聯(lián)堆棧和存儲器堆棧兩種。按構成方式不同分串聯(lián)堆棧和存儲器堆棧兩種。串聯(lián)堆棧(硬堆棧):串聯(lián)堆棧(硬堆棧): 由由8或或16個具有移位功能的寄存器組成。操作速個具有移位功能的寄存器組成。操作速度快。但它要受到寄存器數(shù)目的限制。度快。但它要受到寄存器數(shù)目的限制。演示演示演示演示演示演示5.5 指令類型指令類型存儲器堆棧(軟堆棧):存儲器堆棧(軟堆棧): 利用一部分主存空間構成堆棧,需要指針利用一部分主存空

49、間構成堆棧,需要指針SP指指示棧頂?shù)囊苿忧闆r。當軟堆棧建立后,該部分存儲示棧頂?shù)囊苿忧闆r。當軟堆棧建立后,該部分存儲區(qū)則不能再作他用。區(qū)則不能再作他用。演示演示演示演示演示演示存儲器堆棧的優(yōu)點有:存儲器堆棧的優(yōu)點有: 堆棧的堆棧的長度長度可視程序的要求任意設置;可視程序的要求任意設置; 堆棧的堆棧的數(shù)目數(shù)目可由程序員任意規(guī)定;可由程序員任意規(guī)定; 可使用對存儲器尋址的任何一條指令來對堆棧中可使用對存儲器尋址的任何一條指令來對堆棧中的數(shù)據(jù)進行的數(shù)據(jù)進行尋址尋址。5.5 指令類型指令類型堆棧操作:堆棧操作: 入棧:入棧:把指定的操作數(shù)送入堆棧棧頂。堆棧指針把指定的操作數(shù)送入堆棧棧頂。堆棧指針SP

50、- n(n = 壓入數(shù)據(jù)的字節(jié)數(shù))。壓入數(shù)據(jù)的字節(jié)數(shù))。入棧指令:入棧指令:PUSH。 出棧:出棧:把棧頂?shù)臄?shù)據(jù)取出,送到指令指定的單元。把棧頂?shù)臄?shù)據(jù)取出,送到指令指定的單元。堆棧指針堆棧指針SP+n(n = 壓入數(shù)據(jù)的字節(jié)數(shù))。壓入數(shù)據(jù)的字節(jié)數(shù))。出棧指令:出棧指令:POP。堆棧功能:堆棧功能: 除具備主存的功能外,堆棧常用于中斷、子程除具備主存的功能外,堆棧常用于中斷、子程序調(diào)用過程中序調(diào)用過程中保存返回地址、狀態(tài)標志及現(xiàn)場信息保存返回地址、狀態(tài)標志及現(xiàn)場信息。也常用于子程序調(diào)用及返回時的也常用于子程序調(diào)用及返回時的參數(shù)傳遞參數(shù)傳遞。5.5 指令類型指令類型9 I/O指令指令 用來啟動外圍

51、設備,檢查測試外圍設備的工作用來啟動外圍設備,檢查測試外圍設備的工作狀態(tài),并實現(xiàn)外部設備和狀態(tài),并實現(xiàn)外部設備和CPU之間,或外圍設備與之間,或外圍設備與外圍設備之間的信息傳送。外圍設備之間的信息傳送。 指令格式:指令格式: OPCODERA操作碼,表示操作碼,表示I/O指令。指令。寄存器名,指定與外部設備寄存器名,指定與外部設備交換數(shù)據(jù)的寄存器。交換數(shù)據(jù)的寄存器。外設的某寄存器地址外設的某寄存器地址或設備碼,長度一般或設備碼,長度一般為為816位,可表示位,可表示25664K個地址。個地址。5.5 指令類型指令類型10 特權指令特權指令 具有特殊權限的指令。這類指令只用于操作系具有特殊權限的

52、指令。這類指令只用于操作系統(tǒng)或其他系統(tǒng)軟件,一般統(tǒng)或其他系統(tǒng)軟件,一般不直接提供給用戶使用不直接提供給用戶使用。 在多用戶、多任務的計算機系統(tǒng)中特權指令必在多用戶、多任務的計算機系統(tǒng)中特權指令必不可少。它不可少。它主要用于系統(tǒng)資源的分配和管理主要用于系統(tǒng)資源的分配和管理。包括。包括改變系統(tǒng)的工作方式、檢測用戶的訪問權限、修改改變系統(tǒng)的工作方式、檢測用戶的訪問權限、修改虛擬存儲器管理的段表、頁表和完成任務的創(chuàng)建和虛擬存儲器管理的段表、頁表和完成任務的創(chuàng)建和切換等。切換等。 5.5 指令類型指令類型11 其他指令其他指令主要包括:主要包括: 向量指令;向量指令; 多處理機指令;多處理機指令; 控制

53、類指令:控制類指令: 常用的控制類指令有:等待指令、停機指令、常用的控制類指令有:等待指令、停機指令、空操作指令、開中斷、關中斷、置條件碼(狀態(tài)寄空操作指令、開中斷、關中斷、置條件碼(狀態(tài)寄存器置位)指令、復位指令、測試指令等。存器置位)指令、復位指令、測試指令等。5.7 RISC、CISCCISCCISC 時代背景:時代背景:l 隨著硬件成本不斷下降,軟件成本不斷上升,隨著硬件成本不斷下降,軟件成本不斷上升,促進人們在指令系統(tǒng)中增加更多的指令和更復雜促進人們在指令系統(tǒng)中增加更多的指令和更復雜的指令,以適應不同應用領域的需要。的指令,以適應不同應用領域的需要。 Complex Instruct

54、ion Set Computerl 系列機問世之后,為了能做到程序兼容,新機系列機問世之后,為了能做到程序兼容,新機型除了要繼承老機器的全部指令外,還要增加若型除了要繼承老機器的全部指令外,還要增加若干新的指令,從而導致同一系列計算機的指令系干新的指令,從而導致同一系列計算機的指令系統(tǒng)越來越復雜,機器結構也越來越復雜。統(tǒng)越來越復雜,機器結構也越來越復雜。5.7 RISC、CISC 目前,大多數(shù)計算機的指令系統(tǒng)多到幾百條目前,大多數(shù)計算機的指令系統(tǒng)多到幾百條指令。指令。 這就體現(xiàn)了計算機性能越高,其指令系這就體現(xiàn)了計算機性能越高,其指令系統(tǒng)越復雜的傳統(tǒng)設計思想。這類計算機稱為統(tǒng)越復雜的傳統(tǒng)設計思

55、想。這類計算機稱為“復復雜指令系統(tǒng)計算機雜指令系統(tǒng)計算機”,簡稱,簡稱CISC(Complex Instruction Set Computer)。)。 例如:例如:VAX11/780計算機有計算機有303條指令,條指令,18種種尋址方式;尋址方式;Pentium機有機有191條指令,條指令,9種尋址方式。種尋址方式。CISC 現(xiàn)狀:現(xiàn)狀:5.7 RISC、CISCRISCRISC 時代背景:時代背景: 復雜指令需進行復雜的操作,從而降低了機器復雜指令需進行復雜的操作,從而降低了機器的執(zhí)行速度。的執(zhí)行速度。 Reduced Instruction Set Computer 日趨龐大的指令系統(tǒng)使

56、計算機的研制周期變長,日趨龐大的指令系統(tǒng)使計算機的研制周期變長,且增加了調(diào)試和維護的難度,還可能降低系統(tǒng)的且增加了調(diào)試和維護的難度,還可能降低系統(tǒng)的性能。性能。 1975年年IBM公司開始研究指令系統(tǒng)的合理性問公司開始研究指令系統(tǒng)的合理性問題,題, John Cocke提出了精簡指令系統(tǒng)的想法。提出了精簡指令系統(tǒng)的想法。5.7 RISC、CISC 第一代第一代RISC處理器處理器 采用采用VLSI CPU芯片芯片, 片上晶體管數(shù)為片上晶體管數(shù)為44000個個, 線寬線寬3 m,字長,字長32位;位; 有有128個寄存器,均為個寄存器,均為32位;位; 只有只有31條指令,兩種尋址方式。條指令,

57、兩種尋址方式。 1982年美國加州伯萊克大學研究的年美國加州伯萊克大學研究的RISC I機機: 同時,斯坦福大學推出同時,斯坦福大學推出MIPS機,機,IBM公司推出公司推出IBM 801機,顯示了機,顯示了RISC的生命力,并推動了的生命力,并推動了RISC技術的不斷發(fā)展。技術的不斷發(fā)展。5.7 RISC、CISC 第二代第二代RISC處理器處理器 第二代第二代RISC處理器在第一代的基礎上提高了處理器在第一代的基礎上提高了集成度集成度和和時鐘頻率時鐘頻率,建立了比較完善的,建立了比較完善的Cache分層分層存儲體系存儲體系。 它們已具有單指令流水線,每次順序執(zhí)行多條它們已具有單指令流水線,

58、每次順序執(zhí)行多條指令,每個周期發(fā)出一條指令。指令,每個周期發(fā)出一條指令。 例如,例如,MIPS公司的公司的R3000處理器,則采用了處理器,則采用了25MHZ和和33MHZ的時鐘頻率,芯片集成度是的時鐘頻率,芯片集成度是11.5萬晶體管,字長萬晶體管,字長32位。位。5.7 RISC、CISC 第三代第三代RISC處理器處理器 第三代第三代RISC處理器則采用了巨型計算機或大型處理器則采用了巨型計算機或大型計算機的設計技術計算機的設計技術超級流水線超級流水線(Superpipelining)技術和超標量技術和超標量(Superrscalar)技術。提高了指令級并技術。提高了指令級并行處理能力。

59、行處理能力。 例如,例如,MIPS公式的公式的R4000處理器采用處理器采用50MHZ和和75MHZ的外部時鐘頻率(內(nèi)部流水線時鐘是的外部時鐘頻率(內(nèi)部流水線時鐘是100MHZ和和150MHZ),芯片集成度高達),芯片集成度高達110萬晶體萬晶體管,字長是管,字長是64位,并包含有位,并包含有16KB的的Cache。5.7 RISC、CISCRISC 構成原理:構成原理: 對對CISC指令系統(tǒng)所作的運行統(tǒng)計分析表明,各指令系統(tǒng)所作的運行統(tǒng)計分析表明,各種指令種指令使用頻率使用頻率相差懸殊,常用的較為簡單的指令,相差懸殊,常用的較為簡單的指令,僅占指令總數(shù)的僅占指令總數(shù)的20%,但在程序中使用的

60、頻率卻占,但在程序中使用的頻率卻占80。 RISC技術的實質是要求指令系統(tǒng)簡化,盡量使技術的實質是要求指令系統(tǒng)簡化,盡量使用用寄存器寄存器寄存器寄存器操作指令,指令操作在操作指令,指令操作在一個周期一個周期內(nèi)內(nèi)完成,指令完成,指令格式格式力求一致,以利于提高編譯的效力求一致,以利于提高編譯的效率。率。5.7 RISC、CISC 下表是下表是 HP 公司研究了公司研究了 IBM 370 計算機的高計算機的高級語言運行情況后所得到的統(tǒng)計數(shù)據(jù):級語言運行情況后所得到的統(tǒng)計數(shù)據(jù):指令類別指令類別轉移轉移邏輯操作邏輯操作存數(shù)取數(shù)存數(shù)取數(shù)存儲單元送存儲單元存儲單元送存儲單元整數(shù)運算整數(shù)運算浮點運算浮點運算

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論