第十一講(指令設(shè)計基礎(chǔ)及指令系統(tǒng))_第1頁
第十一講(指令設(shè)計基礎(chǔ)及指令系統(tǒng))_第2頁
第十一講(指令設(shè)計基礎(chǔ)及指令系統(tǒng))_第3頁
第十一講(指令設(shè)計基礎(chǔ)及指令系統(tǒng))_第4頁
第十一講(指令設(shè)計基礎(chǔ)及指令系統(tǒng))_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

南大科技學(xué)院主講羅少彬Email:luoshaobin2010@163.comPhone:83#####4章指令系統(tǒng)指令設(shè)計基礎(chǔ)指令系統(tǒng)概述本講主要內(nèi)容指令概述

用計算機解題時,一般都要編制程序,程序既可用高級語言編寫,亦可用機器語言編寫;但計算機只能夠識別和執(zhí)行用機器語言編寫的程序;各種高級語言編寫的應(yīng)用程序,最終都要翻譯成機器語言來執(zhí)行。機器語言是由一系列的指令(語句)組成的;指令的格式就是機器語言的語法;每條指令規(guī)定機器完成一定的功能。

一臺計算機的所有的指令集合稱為該機的指令系統(tǒng)或指令集。它是程序工作者編制程序的基本依據(jù),也是進行計算機邏輯設(shè)計的基本依據(jù)。一條指令應(yīng)包含如下信息:進行何種操作:即操作性質(zhì)。體現(xiàn)在指令中被稱為操作碼。操作的對象:數(shù)據(jù)來源以及如何尋找操作數(shù)。體現(xiàn)在指令中被稱為地址碼。操作結(jié)果:結(jié)果存放在何處。下一條指令又如何尋找?指令格式指令由操作碼和地址碼兩部分組成,它的基本格式如下:操作碼地址碼

1.操作碼操作碼是說明指令操作性質(zhì)的二進制數(shù)代碼。操作碼所占的二進制位數(shù)決定了一臺計算機所能允許的指令條數(shù)。

例如,操作碼占用六位二進制碼時,這臺計算機最多允許有:

26=64條指令(1)固定長度操作碼

固定長度操作碼是指操作碼所占的二進制位數(shù)固定不變,而且集中放在指令字的一個字段中。

這種格式有利于簡化硬件設(shè)計,減少指令譯碼時間,廣泛用于字長較長的大、中型計算機和超級小型計算機中。

例如IBM370和VAX﹣11系列機中,操作碼的長度都是8位,可表示256條指令。(2)可變長度操作碼

可變長度操作碼是操作碼擴展技術(shù)的應(yīng)用,即操作碼的長度是可變的,且分散地放在指令的不同字段中。這種格式有利于壓縮程序中操作碼的平均長度,在字長較短的微型機中被廣泛應(yīng)用。如:PDP-11,INTEL8086/80386等,其操作碼的長度均是可變的。操作碼字段分兩種:操作碼的擴展:

這是一個16位字長的指令碼,包括4位基本操作碼字段和三個4位長的地址字段。4位基本操作碼,若全部用于三地址指令,則有16條。顯然,4位基本操作碼是不夠的,必須向地址碼字段擴展操作碼的長度。其擴展方法及步驟如下:

OPA1A2

A34位4位4位4位①15條三地址指令的操作碼由4位基本操作碼0000~1110所給定,剩下一個1111則用于把操作碼擴展到X地址碼字段,即由4位擴展到8位;?②

14條二地址指令的操作碼由8位操作碼的1111,0000~1111,1101給定,剩下的1111,1110和1111,1111又可用于把操作碼擴充到Y(jié)地址字段,即從8位又擴充到12位;③

31條一地址指令的操作碼由12位操作碼的1111,1110,0000~1111,1111,1110給定。15條三地址指令14條二地址指令

31條一地址指令0001XXXXYYYYZZZZ1110XXXXYYYYZZZZ11110000YYYYZZZZ11110001YYYYZZZZ11111101YYYYZZZZ

┆111111100000ZZZZ111111100001ZZZZ111111111110ZZZZ

┆0000XXXXYYYYZZZZ由此類堆,還可以把剩下的1111,1111,1111擴充到Z地址碼字段而形成的16位操作碼,這時還可由1111,1111,1111,0000~1111,1111,1111,1111給出16條零地址指令。因此,共有15+14+31+16=76條指令,除了這種安排外,還有多種其它安排方法。

如:形成15條三地址指令,12條二地址指令,63條一地址指令,16條零地址指令,共106條指令。

實際的機器可以采用各種靈活的擴展方式,其思路與此類似。

11111111000011111111

1111000111111111

1111

111116零上述方法是在不增加指令長度的情況下,采用對地址少的指令使用較長的操作碼,對地址數(shù)多的指令使用較短的操作碼。其實質(zhì)是增加了指令的數(shù)量,豐富了指令的功能。在可變長操作碼的指令系統(tǒng)設(shè)計中,究竟使用何種擴展方法為好,指令的使用頻度(即在程序中出現(xiàn)的概率)是非常重要的依據(jù)。即頻度高的指令應(yīng)分配短的操作碼,頻度低的指令則分配較長的操作碼。這樣,既可有效地縮短操作碼在程序中的平均長度,節(jié)省存儲空間,又可縮短常用指令的譯碼時間以提高程序的運行速度。其缺點是譯碼系統(tǒng)比固定操作碼復(fù)雜,增加了設(shè)計控制器的難度,需要更多的硬件作支持。

2.地址碼

指令中的地址碼用來指出該指令的源操作數(shù)地址(一個或兩個)、結(jié)果地址及下一條指令的地址。

這里的地址可以是主存地址,也可以是寄存器地址,甚至可以是I/O設(shè)備的地址。下面以主存地址為例,分析指令的地址碼字段。

OP:操作碼;

A1:第一地址碼,存放第一操作數(shù);

A2:第二地址碼,存放第二操作數(shù);

A3:第三地址碼,存放操作結(jié)果;

A4:第四地址碼,存放下條要執(zhí)行指令的地址。

操作:(A1)OP(A2)→A3(1)四地址指令指令格式:OPA1A2A3A4這種指令直觀易懂,后續(xù)指令的地址可任意填寫??芍苯訉ぶ返牡刂贩秶c地址字段的位數(shù)有關(guān)。

例如:指令字長32位,操作碼占8位,4個地址段各占6位,則指令的直接尋址范圍為:

26=64

如果地址字段均指示主存的地址,則完成一條四地址指令,共需訪問四次存儲器(取指令一次,取兩個操作數(shù)兩次,存結(jié)果一次)。

因為程序中大部分指令都是順序執(zhí)行的,當采用指令計數(shù)器后,A4地址可以省去。(2)三地址指令指令格式:

OPA1A2

A3三地址指令中各項含義與四地址指令相同。由于采用了指令計數(shù)器(又稱程序計數(shù)器,簡稱PC),省去了A4地址;用三地址指令編寫的程序,其指令在內(nèi)存中必須依次存放,才能利用程序計數(shù)器自動增量的辦法順序執(zhí)行。若程序要轉(zhuǎn)向時,必須用轉(zhuǎn)移指令改變程序的執(zhí)行順序。如果指令字長不變(32位),操作碼仍為8位,故三地址指令直接尋址范圍可達:28=256若地址字段均為主存地址,則完成一條三地址指令也需四次訪問存儲器。

OP:操作碼;

A1:既作第一操作數(shù)地址,又作目的地址;

A2:第二操作數(shù)地址。

操作:(A1)OP(A2)→A1(3)二地址指令指令格式:OPA1A2有的機器也表示(A1)OP(A2)→A2,A2既作第一操作數(shù)地址,又作目的地址;在不改變字長和操作碼位數(shù)的前提下,二地址指令可直接訪問的主存地址數(shù)為:212=4K使用二地址指令編寫的程序,其指令在內(nèi)存中也要依次存放,才能用程序計數(shù)器自動增量使之順序執(zhí)行。若程序發(fā)生轉(zhuǎn)向時,也必須用轉(zhuǎn)移指令改變程序的執(zhí)行順序。當二地址指令執(zhí)行之后,A1中的內(nèi)容被修改了。有的機器規(guī)定A2為目的地址,這時則是A2的內(nèi)容被修改了。若地址字段均為主存地址,則完成一條二地址指令也需四次訪問存儲器。(4)一地址指令

指令中只給出一個操作數(shù)地址,另一個操作數(shù)地址和目的地址則是隱含的。這個隱含的地址就是運算器的累加寄存器AC。

OP

A指令格式:操作:(AC)OP(A)→AC在不改變字長和操作碼位數(shù)的前提下,二地址指令可直接訪問的主存地址數(shù)為:224=16M完成一條指令只需兩次訪存;采用一地址指令編寫的程序,其指令在內(nèi)存中也要順序存放,由程序計數(shù)器自動增量控制其順序執(zhí)行。程序轉(zhuǎn)向時,也用轉(zhuǎn)移指令改變程序的執(zhí)行方向。在程序執(zhí)行前,必須用一條“取數(shù)指令”把其中一個操作數(shù)放到累加寄存器中。程序結(jié)束后,累加寄存器的內(nèi)容已被修改。若要將累加寄存器中的結(jié)果送回內(nèi)存,則必須使用“存數(shù)指令”。堆棧的操作

設(shè)數(shù)據(jù)進棧方向為從高地址向低地址發(fā)展,當向堆棧壓入數(shù)據(jù)時,SP的內(nèi)容先自動遞減而指向一個新的空棧頂單元,再把數(shù)據(jù)寫入此棧頂單元;當數(shù)據(jù)彈出堆棧時,立即讀出SP所指向的棧頂單元內(nèi)容,再把SP內(nèi)容自動遞增而指向新的棧頂位置。即PUSHX;(SP)-1SP(X)(SP)POPX;(SP)(X)(SP)+1SP(5)零地址指令沒有操作數(shù)地址的指令稱為零地址指令。執(zhí)行零地址指令時,沒有操作數(shù)或者被運算的操作數(shù)地址全部是隱含的,指令格式中只說明作什么操作。如,沒有操作數(shù):停機指令;所需的操作數(shù)是默認的:堆棧操作。3.指令字長度與機器字長度的關(guān)系機器字長度簡稱字長,指計算機能并行處理的二進制數(shù)據(jù)的位數(shù)。字長是計算機中的一項重要技術(shù)指標,字長越長,計算機的運算精度越高;字長還能反映指令的直接尋址能力,若字長n位全用來尋址,可直接尋址2n個字節(jié)。為了便于處理字符數(shù)據(jù)及盡可能地利用存儲空間,一般把機器字長定為字節(jié)長度(8位)的整數(shù)倍,即是8位、16位、32位或64位。微型、小型機的字長多為8位、16位和32位,中、大型機的字長多為32位和64位。因此,一個字中可以存儲1個、2個、4個或8個字符。(1)機器字長

指令字的長度取決于操作碼的長度、操作數(shù)地址的長度和操作數(shù)地址的個數(shù)。

由于操作碼的長度、操作數(shù)地址的長度以及所采用操作數(shù)地址數(shù)目不同,各種指令的長度不是固定的,當然也不是任意的。

為了充分利用存儲空間,指令字的長度也定為字節(jié)長度的整數(shù)倍。例如INTEL8086/80586系列機的指令長度分別為8位、16位、24位、32位、48位等。而最長的指令可達120位。(2)指令字長(3)指令字長與機器字長的關(guān)系指令字長度與機器字長度沒有固定的關(guān)系,它可以等于機器字長,也可以大于或小于機器字長。指令字長度等于機器字長度的指令,稱為單字長指令;指令字長等于兩個機器字長的指令,稱為雙字長指令;指令字長度只有半個機器字長度的指令,稱為半字長指令。

例如IBM370系列機的機器字長為32位,它卻有16位的半字長指令、32位的單字長指令、48位的一個半字長指令。等字長指令結(jié)構(gòu)在同一個指令系統(tǒng)中,所有的指令字長度都是相等的,稱為等字長指令字結(jié)構(gòu),這種指令字結(jié)構(gòu)簡單,控制方便;變字長指令結(jié)構(gòu)如果各種指令字長度隨指令的功能而變化,如有的指令是單字長指令,有的指令是雙字長指令或三字長指令,則稱為變字長指令結(jié)構(gòu),這種指令字結(jié)構(gòu)靈活,能充分利用指令字長度,但指令的控制較復(fù)雜。各種指令字的結(jié)構(gòu)情況地址

II+1I+2I+3指令指令指令指令┆一個字長┆┆指令指令指令指令地址

II+1I+2I+3一個字長指令指令指令指令┆地址

II+1I+2I+3指令1指令2一個字長┆單字長指令雙字長指令半字長指令變字長指令指令3一個字長地址II+1I+2I+3I+4I+5I+6指令1指令2┆4.指令助記符

由于硬件只能識別1和0,所以采用二進制操作碼是必要的,但是我們用二進制來書寫程序卻非常麻煩。

為了便于書寫和閱讀程序,每條指令通常用3個或4個英文縮寫字母來表示。這種縮寫碼叫做指令助記符。典型指令指令助記符二進制操作碼加法ADD001減法SUB010傳送MOV011跳轉(zhuǎn)JMP100轉(zhuǎn)子JSR101存儲STR110讀數(shù)LAD111典型的指令助記符指令格式舉例八位微型計算機的指令格式

8位微型機字長只有8位,指令結(jié)構(gòu)是一種可變字長形式,包含單字長、雙字長、三字長指令等多種。單字長指令操作碼雙字長指令操作碼操作數(shù)地址三字長指令操作碼操作數(shù)地址1操作數(shù)地址2內(nèi)存按字節(jié)編址,所以單字長指令每執(zhí)行一條指令后,指令地址加1。雙字長指令或三字長指令每執(zhí)行一條指令時,指令地址要加2或加3,可見多字長的指令格式不利于提高機器速度。PDP/11系列機指令格式

PDP/11系列機指令字長16位,其指令格式如下表所示。在PDP/11中,操作碼字段是不固定的,其長度也是不相同的。這樣做可以擴展操作碼以包含較多的指令。但是操作碼字段不固定,對控制器的設(shè)計來說必將復(fù)雜化。Pentium指令格式Mod-R/M字段:規(guī)定了存儲器操作數(shù)的尋址方式,給出了寄存器操作數(shù)的存器地址號。SIB字段:和Mod-R/M字段一起,對操作數(shù)來源進行完整的說明。0或10或10或10或1(字節(jié)數(shù))

指令前綴

段取代操作數(shù)長度取代地址長度取代(a)前綴1或20或10或10,1,2,40,1,2,4操作碼Mod

Reg或操作碼R/M比例S變址I基址B位移量立即數(shù)

2位3位3位2位3位3位(字節(jié)數(shù))(b)指令例16位機指令格式如下所示,其中OP為操作碼,試分析指令格式的特點。OP--------源寄存器目標寄存器1597430解:

(1)單字長二地址指令。(2)操作碼字段OP可以指定27=128條指令。(3)源寄存器和目標寄存器都是通用寄存器(可分別指定24=16個),所以是RegisterRegister型指令,兩個操作數(shù)均在寄存器中。

(4)這種指令結(jié)構(gòu)常用于算術(shù)邏輯運算類指令。例

16位機指令格式如下所示,OP為操作碼字段,試分析指令格式特點。OP-----------源寄存器變址寄存器位移量(16位)15107430解:(1)雙字長二地址指令,用于訪問存儲器。(2)操作碼字段OP為6位,可以指定26=64種操作。(3)一個操作數(shù)在源寄存器(共24=16個),另一個操作數(shù)在存儲器中(由變址寄存器和位移量決定),所以是RegisterStore型指令,可尋址存儲器范圍216=64K。指令設(shè)計基礎(chǔ)指令系統(tǒng)概述本講主要內(nèi)容程序、指令、指令系統(tǒng)程序:是由一系列的指令組成指令:是要計算機執(zhí)行某種操作的命令指令系統(tǒng):是一臺計算機中所有指令的集合

決定計算機的基本功能,軟件與硬件的界面

是計算機系統(tǒng)設(shè)計的一個核心問題指令系統(tǒng)概述指令的分類

一臺計算機的指令系統(tǒng)通常有上百條或幾百條指令,從它們所完成的功能來看,一個較為完善的指令系統(tǒng),應(yīng)具備以下各類指令。1.數(shù)據(jù)傳送類指令

這類指令的功能是實現(xiàn)寄存器與寄存器,寄存器與存儲單元以及存儲單元與存儲單元之間的數(shù)據(jù)傳送。數(shù)據(jù)傳送指令主要包括取數(shù)指令、存數(shù)指令、傳送指令、成組傳送指令、字節(jié)交換指令、清累加器指令、堆棧操作指令等等。2.算術(shù)運算指令

這類指令包括二進制定點加、減、乘、除指令,浮點加、減、乘、除指令,求反、求補指令,算術(shù)移位指令,算術(shù)比較指令,十進制加、減運算指令等。這類指令主要用于定點或浮點的算術(shù)運算。大型機(如IBM370機、國產(chǎn)銀河機、CRAY-1機、CDC的STAR-100機等)中還設(shè)置有向量運算指令,可直接對整個向量或矩陣進行求和、求積運算。3.邏輯運算指令

這類指令包括邏輯加、邏輯乘、邏輯比較、測等指令、按位加、邏輯移位等指令,主要用于無符號數(shù)的位操作、代碼的轉(zhuǎn)換、判斷及運算。移位指令用來對寄存器的內(nèi)容實現(xiàn)左移、右移或循環(huán)移位。4.程序控制指令

程序控制指令也稱轉(zhuǎn)移指令。執(zhí)行程序時,有時機器執(zhí)行到某條指令時,出現(xiàn)了幾種不同結(jié)果,這時機器必須執(zhí)行一條轉(zhuǎn)移指令,根據(jù)不同結(jié)果進行轉(zhuǎn)移,從而改變程序原來執(zhí)行的順序。這種轉(zhuǎn)移指令稱為條件轉(zhuǎn)移指令。除各種條件轉(zhuǎn)移指令外,還有無條件轉(zhuǎn)移指令、轉(zhuǎn)子程序指令、返回主程序指令、中斷返回指令等。轉(zhuǎn)移指令的轉(zhuǎn)移地址一般采用直接尋址和相對尋址方式來確定。

轉(zhuǎn)子指令是轉(zhuǎn)向本指令操作地址所指出的子程序入口,并將原程序中下一條指令地址存入內(nèi)存某單元(或指定的某個寄存器)中,以便為返回主程序時提供返回地址。5.輸入輸出指令

輸入輸出指令主要用來啟動外圍設(shè)備,檢查測試外圍設(shè)備的工作狀態(tài),并實現(xiàn)外部設(shè)備和CPU之間,或外圍設(shè)備與外圍設(shè)備之間的信息傳送。6.字符串處理指令字符串處理指令是一種非數(shù)值處理指令,一般包括字符串傳送、字符串轉(zhuǎn)換(把一種編碼的字符串轉(zhuǎn)換成另一種編碼的字符串)、字符串替換(把某一字符串用另一字符串替換)等。這類指令在文字編輯中對大量字符串進行處理。7.陷阱(TRAP)指令

陷阱是一種意外事故中斷,它的目的不是請求CPU正常處理中斷,而是為了把發(fā)生的故障通知CPU,并根據(jù)故障的情況轉(zhuǎn)入相應(yīng)的故障處理程序。陷講指令就是為實現(xiàn)這個任務(wù)而設(shè)置的。在一般計算機中,陷阱指令是一種隱含指令(它不出現(xiàn)在指令系統(tǒng)中,其功能是以指令的形式隱含地完成的),用戶不能使用,只有當故障出現(xiàn)時,才由CPU自動產(chǎn)生并執(zhí)行之,故又叫自中斷指令。但是,有些計算機中又設(shè)置有可供用戶使用的陷阱指令,可用它來實現(xiàn)調(diào)用系統(tǒng)程序的請求。例如,INTEL8086的軟件中斷指令,實質(zhì)上是一種直接提供用戶使用的陷阱指令,它可完成調(diào)用系統(tǒng)子程序的過程。其匯編格式為:INTTYPE,其中TYPE是一個8位常數(shù),表示中斷類型。執(zhí)行時,根據(jù)中斷類型可以找到相應(yīng)系統(tǒng)子程序的入口地址。8.特權(quán)指令

特權(quán)指令是指具有特殊權(quán)限的指令。這類指令只用于操作系統(tǒng)或其他系統(tǒng)軟件,一般不直接提供給用戶使用。在多用戶、多任務(wù)的計算機系統(tǒng)中特權(quán)指令必不可少。它主要用于系統(tǒng)資源的分配和管理。9.其他指令

除以上各類指令外,還有狀態(tài)寄存器置位、復(fù)位指令、測試指令、暫停指令,空操作指令,以及其他一些系統(tǒng)控制用的特殊指令。

從計算機的發(fā)展過程來看,指令系統(tǒng)是隨著計算機體系結(jié)構(gòu)的完善和計算機性能而發(fā)展起來的。

早期的計算機結(jié)構(gòu)簡單,指令條數(shù)少,指令系統(tǒng)功能弱,計算機的性能較差。

隨著VLSI技術(shù)的迅速發(fā)展,硬件成本不斷下降,軟件成本不斷上升,促進人們在指令系統(tǒng)中增加更多的指令和更復(fù)雜的指令,以適應(yīng)不同應(yīng)用領(lǐng)域的需要。

特別是系列機問世之后,為了能做到程序兼容,新設(shè)機型或高檔機除了要繼承老機器的指令系統(tǒng)中的全部指令外,還要增加若干新的指令,從而導(dǎo)致同一系列計算機的指令系統(tǒng)越來越復(fù)雜,機器結(jié)構(gòu)也越來越復(fù)雜。1.RISC產(chǎn)生的時代背景RISC的產(chǎn)生和發(fā)展情況

目前,大多數(shù)計算機的指令系統(tǒng)多到幾百條指令。這就體現(xiàn)了計算機性能越高,其指令系統(tǒng)越復(fù)雜的傳統(tǒng)設(shè)計思想。這類計算機稱為“復(fù)雜指令系統(tǒng)計算機”,簡稱CISC(ComplexInstructionSetComputer)。例如:VAX11/780計算機有303條指令,18種尋址方式;Pentium機有191條指令,9種尋址方式。

由于復(fù)雜指令需進行復(fù)雜的操作,從而降低了機器的執(zhí)行速度。

對CISC指令系統(tǒng)所作的運行統(tǒng)計分析表明,各種指令使用頻率相差懸殊,常用的較為簡單的指令,僅占指令總數(shù)的20%,但在程序中使用的頻率卻占80%。下表是HP公司研究了IBM370計算機的高級語言運行情況后所得到的統(tǒng)計數(shù)據(jù)。指令類別轉(zhuǎn)移邏輯操作存數(shù)取數(shù)存儲單元送存儲單元整數(shù)運算浮點運算十進制運算其它COBOLFORTRANPASCAL24.2%18.0%18.4%14.6%8.1%9.9%40.2%48.7%54.0%12.4%2.1%3.8%6.4%11.0%7.0%0.0%11.9%6.8%1.6%0.0%0.0%0.6%0.2%0.1%

根據(jù)上述分析情況,國外一些計算機公司和大學(xué)開展了對指令系統(tǒng)合理性的研究,1975年IBM公司的JohnCocke提出了精簡指令系統(tǒng)的想法,后來出現(xiàn)了各種各樣的“精簡指令系統(tǒng)計算機”,簡稱RISC(ReducedInstructionSetComputer)。也稱為RISC技術(shù)。

RISC技術(shù)的實質(zhì)是要求指令系統(tǒng)簡化,盡量使用寄存器-寄存器操作指令,指令操作在一個周期內(nèi)完成,指令格式力求一致,以利于提高編譯的效率。2.RISC的發(fā)展概況1982年美國加州伯萊克大學(xué)研究的RISCI機(以后又有RISCII):采用VLSICPU芯片,片上晶體管數(shù)為44000個,線寬3m,字長32位,有128個寄存器(但程序員只能看到32個)這些寄存器均為32位,它只有31條指令,兩種尋址方式。其中,只有兩種存儲器訪問指令,LOAD(取數(shù))和STORE(存數(shù))指令。

其功能超過VAX-11/780或M68000,而速度比VAX-11/780幾乎快一倍。同時,斯坦福大學(xué)推出MIPS機,IBM公司推出IBM801機,顯示了RISC的生命力,并推動了RISC技術(shù)的不斷發(fā)展。這些機種稱第一代RISC處理器,具有32位數(shù)據(jù)通路,支持Cache,但軟件支持較少,性能與CISC處理器相當。(1)第一代RISC處理器RISCI機

第二代RISC處理器在第一代的基礎(chǔ)上提高了集成度和時鐘頻率,建立了比較完善的Cache分層存儲體系。它們已具有單指令流水線,每次順序執(zhí)行多條指令,每個周期發(fā)出一條指令。例如,MIPS公司的R3000處理器,則采用了25MHZ和33MHZ的時鐘頻率,芯片集成度是11.5萬晶體管,字長32位。(2)第二代RISC處理器

第三代RISC處理器則采用了巨型計算機或大型計算機的設(shè)計技術(shù)——超級流水線(Superpipelining)技術(shù)和超標量(Superrscalar)技術(shù)。提高了指令級的并行處理能力,使RISC處理器的整體性能得到改善。例如,MIPS公司的R4000處理器采用50MHZ和75MHZ的外部時鐘頻率(內(nèi)部流水線時鐘是100MHZ和150MHZ),芯片集成度高達110萬晶體管,字長是64位,并包含有16KB的Cache在芯片上。它具有R4000PC、R4000SC、R4000MC三種版本,分別提供給臺式系統(tǒng)、高性能服務(wù)器和多處理器環(huán)境下使用。(3)第三代RISC處理器

自1983年開始出現(xiàn)商品化RISC機以來,比較有名的是RISC計算機有:

IBM公司的IBMRT系列;HP公司的精密結(jié)構(gòu)計算機(HPPA);MIPSR3000;MotorolaM88000;Intel80960;INMOSTransputer;AMDAm29000;Fairchildclipper等。

其中Clipper兼顧了RISC和CISC兩方面的特點,又稱為類RISC機。精簡指令系統(tǒng)計算機不僅是要簡化指令系統(tǒng),而且要通過簡化指令系統(tǒng)而使計算機的硬件結(jié)構(gòu)變得簡單合理,以提高運算速度,最有效的辦法是減少指令的執(zhí)行周期數(shù)。RISC的主要特點

若設(shè)高級語言程序經(jīng)編譯后在機器上運行的機器指令數(shù)為I;

每條機器指令執(zhí)行時所需要的平均機器周期數(shù)是C;

每個機器周期的執(zhí)行時間為T,

計算機執(zhí)行程序的時間P可用下式計算:P=I×C×T1.P、C、I由于RISC指令比較簡單,原CISC機中比較復(fù)雜的指令可用RISC中一段子程序代替,因此,RISC中的I比CISC的多20%—40%;但是,RISC的大多數(shù)指令只用一個機器周期實現(xiàn),C的值比CISC的小得多;又因為RISC結(jié)構(gòu)簡單,完成一個操作所經(jīng)過的數(shù)據(jù)通道較短,因此,T的值大為減少。T<11C1.3~1.74~6I1.2~1.41RISCCICSRISC/CICS的I、C、T統(tǒng)計表(其中,I、T為比值,C為實際周期數(shù))RISC繼承了CISC的成功技術(shù),又克服了CISC的缺點,其發(fā)展速度很快。第三代的RISC中雖然擴充了許多功能部件,以至采用了巨型機或大型機的技術(shù)。然而,很難在RISC和CISC之間劃出一條明顯的分界線。通過對各種RISC產(chǎn)品的分析,可以概括出如下一些主要特點:(1)選取使用頻率最高的一些簡單指令和很有用但不復(fù)雜的指令;(2)指令長度固定,指令格式種類少,尋址方式種類少;(3)訪問存儲器指令極少,只有取數(shù)/存數(shù)指令(Load/Store),其余指令的操作都在

溫馨提示

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

評論

0/150

提交評論