組成原理期末復(fù)習(xí)3_第1頁(yè)
組成原理期末復(fù)習(xí)3_第2頁(yè)
組成原理期末復(fù)習(xí)3_第3頁(yè)
組成原理期末復(fù)習(xí)3_第4頁(yè)
組成原理期末復(fù)習(xí)3_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1指令格式

從便于程序設(shè)計(jì)、增加操作并行性、提高指令功能看,指令中應(yīng)包含多種信息。但指令太長(zhǎng)會(huì)占用更多的存儲(chǔ)空間,增加訪存次數(shù)。一條指令應(yīng)包含下列信息:操作碼:表明操作的性質(zhì)和功能。每條指令都有相應(yīng)的操作碼。操作數(shù)地址。操作結(jié)果的存放地址。下一條指令的地址。為了壓縮指令長(zhǎng)度,可以用一個(gè)程序計(jì)數(shù)器(ProgramCounter,PC)存放指令地址。每執(zhí)行一條指令,PC自動(dòng)增加,指向下一條指令。由于使用了PC,指令中可以不包含下一條指令的地址。一條指令實(shí)際上包含兩種信息:操作碼(OperationCode,OP)和地址碼。其基本格式為:2指令字長(zhǎng)指令中包含二進(jìn)制代碼的位數(shù),稱為指令字長(zhǎng)。與機(jī)器字的長(zhǎng)度有關(guān):單字長(zhǎng),雙字長(zhǎng),半字長(zhǎng),優(yōu)點(diǎn)、缺點(diǎn)。以IBM370為例,其字長(zhǎng)為32位。指令格式有16位(半字)的,有32位(單字)的,也有48位(一個(gè)半字)的。等長(zhǎng)指令:各種指令字長(zhǎng)度相等,稱為等長(zhǎng)指令字結(jié)構(gòu),結(jié)構(gòu)簡(jiǎn)單,控制線路簡(jiǎn)單,RISC。變長(zhǎng)指令:如果指令字長(zhǎng)度隨指令的功能而異,稱為變長(zhǎng)指令字結(jié)構(gòu)。結(jié)構(gòu)靈活,充分利用指令長(zhǎng)度,控制復(fù)雜,CISC。

3地址碼

根據(jù)一條指令中有幾個(gè)操作數(shù)地址,可將該指令稱為幾操作數(shù)指令或幾地址指令。一般的操作數(shù)有被操作數(shù)、操作數(shù)及操作結(jié)果這三種數(shù),因而就形成了三地址指令格式。此外,還有二地址格式、一地址格式和零地址格式。操作碼A1A2A3三地址指令:操作碼A1A2二地址指令:操作碼A1一地址指令:操作碼零地址指令:4

(1)零地址指令的指令字中只有操作碼,而沒有地址碼。如停機(jī)、空操作指令。其格式為:OP

(2)一地址指令常稱為單操作數(shù)指令。通常這種指令以運(yùn)算器中累加寄存器AC中的數(shù)據(jù)為被操作數(shù),指令字的地址碼字段所指明的數(shù)為操作數(shù),操作結(jié)果又放回累加寄存器AC中。其格式為:

功能描述:

(AC)

OP

(A1)→A1

(PC)+1→PC

OP表示操作性質(zhì);(AC)表示累加寄存器AC中的數(shù);(A1)表示主存中地址為A1的存儲(chǔ)單元中的數(shù)或運(yùn)算器中地址為A1的通用寄存器中的數(shù);→表示把操作(運(yùn)算)結(jié)果傳送到指定的地方。單操作數(shù)運(yùn)算指令,如“+1”、“-1”、“求反”,指令中給出一個(gè)源操作數(shù)的地址OPA15

(3)二地址指令常稱為雙操作數(shù)指令,它的兩個(gè)地址碼字段分別指明參與操作的兩個(gè)數(shù)在主存中或運(yùn)算器中通用寄存器的地址,A1作存放操作結(jié)果的地址。A1中原來(lái)的內(nèi)容被覆蓋。其格式為:功能描述:

(A1)OP(A2)→A1(PC)+1→PC二地址指令在計(jì)算機(jī)中得到了廣泛的應(yīng)用,但是在使用時(shí)有一點(diǎn)必須注意:指令執(zhí)行之后,A1中原存的內(nèi)容已經(jīng)被新的運(yùn)算結(jié)果替換了。OPA1A26

(4)三地址指令字中有三個(gè)操作數(shù)地址。A1為被操作數(shù)地址,也稱源操作數(shù)地址;A2為操作數(shù)地址,也稱目的操作數(shù)地址;A3為存放結(jié)果的地址。A1、A2、A3可以是主存中的單元地址,也可以是運(yùn)算器中通用寄存器的地址。其格式為:功能描述:(A1)OP(A2)→A3(PC)+1→PC這種格式指令長(zhǎng)度比較長(zhǎng),所以只在字長(zhǎng)較長(zhǎng)的大、中型機(jī)中使用,而小型、微型機(jī)中很少使用。OPA1A2A37

二地址指令格式中,從操作數(shù)的物理位置來(lái)說(shuō),又可歸結(jié)為三種類型。存儲(chǔ)器-存儲(chǔ)器(SS)型指令:操作時(shí)都是涉及主存單元,參與操作的數(shù)都放在主存里,從主存某單元中取操作數(shù),操作結(jié)果存放至主存另一單元中。寄存器-寄存器(RR)型指令:需要多個(gè)通用寄存器或個(gè)別專用寄存器,從寄存器中取操作數(shù),把操作結(jié)果放到另一寄存器。機(jī)器執(zhí)行寄存器-寄存器型指令的速度很快,因?yàn)閳?zhí)行這類指令,不需要訪問主存。寄存器-存儲(chǔ)器(RS)型指令:執(zhí)行此類指令時(shí),既要訪問主存單元,又要訪問寄存器。指令字助記符由于硬件只能識(shí)別1和0,所以采用二進(jìn)制操作碼是必要的,但是我們用二進(jìn)制來(lái)書寫程序卻非常麻煩。為了便于書寫和閱讀程序,采用一種縮寫碼叫做指令助記符用3~4個(gè)英文字母來(lái)表示操作碼,一般為英文縮寫不同的計(jì)算機(jī)系統(tǒng),規(guī)定不一樣必須用匯編程序翻譯成二進(jìn)制代碼89操作碼

指令系統(tǒng)中每條指令有唯一確定的操作碼,表明指令的性質(zhì)和功能。操作碼可以采用固定長(zhǎng)度,也可以采用可變長(zhǎng)度。固定長(zhǎng)度操作碼對(duì)于簡(jiǎn)化硬件設(shè)計(jì)、減少指令譯碼時(shí)間有利,在字長(zhǎng)較大的大、中型機(jī)中廣泛采用??勺冮L(zhǎng)度操作碼可以有效壓縮操作碼的平均長(zhǎng)度,在字長(zhǎng)較短的小型機(jī)和微型機(jī)中采用。定長(zhǎng)編碼:操作碼的長(zhǎng)度決定了指令系統(tǒng)中指令的數(shù)目。若操作碼長(zhǎng)度為k位,最多只能有2k條指令。以IBM370為例,其字長(zhǎng)為32位。指令格式有16位(半字)的,有32位(單字)的,也有48位(一個(gè)半字)的。半字長(zhǎng)指令不包含主存地址,單字長(zhǎng)指令包含一個(gè)主存地址,一個(gè)半字長(zhǎng)指令包含兩個(gè)主存地址。

IBM370機(jī)中,不論指令長(zhǎng)度為多少,操作碼字段都為8位。8位操作碼允許指定256條指令,而IBM370只有183條指令,存在極大的信息冗余。10OPR1R2RR型:OPR1X2B2D2RX型:RS型:OPI2B1D1SI型:IBM370的五種指令格式:OPL1B1D1B2D2SS型:OPR1R2B2D28448444128444128841288412412OP:操作碼;R:寄存器;X:基址寄存器;L:指定操作數(shù)的長(zhǎng)度;D:位移量;I:直接操作數(shù);B:變址寄存器。

RR型:寄存器-寄存器型;RX型和RS型:寄存器-存儲(chǔ)器型;SI型:直接帶操作數(shù);SS型:存儲(chǔ)器-存儲(chǔ)器型。11

變長(zhǎng)編碼:在指令字長(zhǎng)有限的情況下,變成編碼可增加指令種類。當(dāng)指令中地址部分位數(shù)較多時(shí),讓操作碼的位數(shù)少些;地址部分位數(shù)較少時(shí),讓操作碼的位數(shù)增多。

PDP-11的字長(zhǎng)為16位。指令分為單字長(zhǎng)、二字長(zhǎng)、三字長(zhǎng)三種。操作碼占4~16位不等。下面是PDP-11的部分指令格式:OPSDOPX2單字長(zhǎng)(16位)OPSD地址OPSD地址1地址2OP46610616466164661616二字長(zhǎng)(32位)三字長(zhǎng)(48位)12

操作碼長(zhǎng)度不固定會(huì)增加指令譯碼的難度,使控制器設(shè)計(jì)復(fù)雜化。通常用指令中固定長(zhǎng)度的字段表示基本操作碼,對(duì)于不需要某個(gè)地址字段的指令,將操作碼擴(kuò)展到該地址字段。設(shè)某機(jī)器指令字長(zhǎng)16位,包括4位基本操作碼和三個(gè)4位地址字段:OPA1A2A330741181512

可按以下方式設(shè)置操作碼:(1)15條三地址指令由基本操作碼從0000~1110給出,剩下的1111用于將操作碼擴(kuò)展到A1字段;(2)15條二地址指令由8位操作碼從11110000~11111110給出,剩下的11111111用于將操作碼擴(kuò)展到A2字段;(3)15條一地址指令由12位操作碼從111111110000~111111111110給出,剩下的111111111111用于將操作碼擴(kuò)展到A3字段;(4)16條零地址指令由16位操作碼從1111111111110000~1111111111111111給出。13例:指令字長(zhǎng)12位,基本操作碼3位,每個(gè)地址碼3位,設(shè)計(jì)4條三地址指令、255條一地址指令和8條零地址指令。000×××××××××…………011×××××××××100000000×××…………111111110×××111111111000…………1111111111114條三地址指令255條一地址指令8條零地址指令OPA1A2A32053861191A.8B.4C.12D.162A.64B.63C.255D.25414OPA1A2065111512例如果零地址指令沒有占用的話150000××××××××××××…………1011××××××××××××1100000000××××××…………1111111110××××××1111111111000000…………111111111111111112條雙地址指令255條一地址指令64條零地址指令這一條一地址指令被用來(lái)編碼2(最多可以64)條零地址指令這一條一地址指令被用來(lái)編碼2(最多可以64)條零地址指令16操作碼的優(yōu)化

為縮短操作碼的平均長(zhǎng)度,應(yīng)該給使用頻度高的指令分配短的操作碼,使用頻度低的指令分配長(zhǎng)的操作碼。Huffman編碼就是按照這一原則進(jìn)行編碼的。假如某計(jì)算機(jī)有7條指令,使用頻度用Pi表示,Huffman編碼如下:指令I(lǐng)i使用頻度PiHuffman編碼操作碼長(zhǎng)度LiI10.4001I20.26102I30.151103I40.06111005I50.05111015I60.04111105I70.04111115

操作碼的平均編碼長(zhǎng)度為:

L=0.40×1+0.26×2+0.15×3+0.19×5=2.32位17Huffman編碼

將7條指令按使用頻度從小到大的順序排序,每次將使用頻度最小的兩個(gè)結(jié)點(diǎn)合并為一個(gè)新的結(jié)點(diǎn)并重新排序,如此反復(fù)。最后將每個(gè)結(jié)點(diǎn)的兩個(gè)分支分別用“1”和“0”標(biāo)注。操作數(shù)類型地址數(shù)據(jù):正整數(shù)數(shù)值數(shù)據(jù):定點(diǎn)數(shù)、浮點(diǎn)數(shù)、BCD碼字符數(shù)據(jù):ASCII碼邏輯數(shù)據(jù):若干二進(jìn)制位,分別看待1819指令尋址方式

順序?qū)ぶ贩绞剑褐噶畹刂吩谥鞔嬷邪错樞虬才?,?dāng)執(zhí)行一段程序時(shí),通常是一條指令接一條指令的順序執(zhí)行。

為此,必須使用程序計(jì)數(shù)器PC來(lái)計(jì)數(shù)指令的順序號(hào),該順序號(hào)就是指令在主存中的地址。

跳躍尋址方式:下條指令的地址碼不是由程序計(jì)數(shù)器給出,而是由本條指令給出。程序跳躍后,按新的指令地址開始順序執(zhí)行。程序計(jì)數(shù)器的內(nèi)容也必須相應(yīng)改變。采用指令跳躍尋址方式,可以實(shí)現(xiàn)程序轉(zhuǎn)移或構(gòu)成循環(huán)程序。20操作數(shù)尋址方式

操作數(shù)在主存中的存放并無(wú)一定規(guī)律,給操作數(shù)尋址帶來(lái)困難。此外,受指令長(zhǎng)度的限制,指令中的地址碼不會(huì)很長(zhǎng),而主存容量卻越來(lái)越大,因此僅能直接訪問主存的一小部分,無(wú)法直接訪問整個(gè)主存。把指令中地址碼字段給出的地址稱為形式地址,這個(gè)地址可能不能直接訪問主存。能夠直接訪問主存的地址稱為有效地址。尋址就是把操作數(shù)的形式地址變換為有效地址。OPXD

上圖是一種單地址指令。OP為操作碼,X為尋址特征碼,D為形式地址也稱偏移量,有效地址E由X和D的組合給出。隱含尋址:在指令中不明顯地給出而是隱含著操作數(shù)的地址。例如,單地址的指令格式,沒有在地址字段中指明第二操作數(shù)地址,而是規(guī)定累加寄存器AC作為第二操作數(shù)地址,AC對(duì)單地址指令格式來(lái)說(shuō)是隱含地址。21OP(移位)FD立即尋址:指令中地址字段給出的不是操作數(shù)的地址,而是操作數(shù)本身。

上圖為單地址移位指令。D不表示地址,而是一個(gè)操作數(shù)。F為標(biāo)志位,F(xiàn)=1操作數(shù)右移,F(xiàn)=0操作數(shù)左移。取指時(shí)同時(shí)取出操作碼和操作數(shù),不需要訪問存儲(chǔ)器,提高了指令執(zhí)行的速度。但操作數(shù)是指令的一部分,不能修改,而且立即數(shù)的大小受指令長(zhǎng)度的限制,靈活性差。直接尋址:指令中地址字段直接給出操作數(shù)在主存中的地址。

指令中的形式地址D就是有效地址E,即E=D。如果操作數(shù)用S表示,則

S=(E)=(D)隨著主存容量不斷擴(kuò)大,所需要的地址碼越來(lái)越長(zhǎng),而指令中地址碼字段長(zhǎng)度有限,限制了訪問主存的范圍。22間接尋址:形式地址不是操作數(shù)的有效地址,而是操作數(shù)地址的地址。 E=(D)

S=(E)=((D))

間接尋址擴(kuò)大了尋址范圍,可用指令中的短地址訪問大的主存空間。此外,操作數(shù)的地址改變后,不需要修改指令,只要修改存放有效地址E的主存單元。間接尋址需要兩次訪存,降低了取操作數(shù)的速度。寄存器尋址:指令中的地址碼部分給出一個(gè)通用寄存器編號(hào),該寄存器中存放著操作數(shù)。

從寄存器取數(shù)據(jù)比從主存取數(shù)據(jù)快得多。由于寄存器數(shù)量較少,寄存器編號(hào)的長(zhǎng)度比主存地址的長(zhǎng)度短得多,可以縮短指令長(zhǎng)度。23寄存器間接尋址:寄存器中的內(nèi)容是操作數(shù)的有效地址,該地址在主存中。相對(duì)尋址:把程序計(jì)數(shù)器PC中的內(nèi)容加上指令中的形式地址D,得到操作數(shù)的有效地址。

所謂“相對(duì)”,是相對(duì)于當(dāng)前指令的地址。形式地址D稱為偏移量,可正可負(fù)。操作數(shù)地址和指令地址相差一個(gè)固定值。操作數(shù)可以和指令一起移動(dòng),放在主存中任何地方,執(zhí)行的效果都相同。

寄存器間接尋址的指令較短,而能夠訪問的主存范圍很大,并且只需訪問主存一次,執(zhí)行速度比間接尋址快,是廣泛采用的尋址方式。寄存器在編程時(shí)常用作地址指針。24變址尋址:把CPU中變址寄存器的內(nèi)容加上指令中的形式地址D,得到操作數(shù)的有效地址?;穼ぶ罚喊袰PU中基址寄存器的內(nèi)容加上指令中的形式地址D,得到操作數(shù)的有效地址?;穼ぶ泛妥冎穼ぶ沸纬刹僮鲾?shù)有效地址的算法相同,但應(yīng)用有區(qū)別。變址尋址中變址寄存器提供修改量,指令提供基準(zhǔn)值;基址尋址中基址寄存器提供基準(zhǔn)值,指令提供修改量。變址尋址面向用戶,主要用于數(shù)組操作;基址尋址面向系統(tǒng),主要用于邏輯地址和物理地址的轉(zhuǎn)換,解決程序在主存中的再定位和擴(kuò)大尋址空間的問題。

通常把指令中的形式地址作為基準(zhǔn)地址,把變址寄存器的內(nèi)容作為修改量。需要頻繁修改地址時(shí)不必修改指令,只需修改變址寄存器。這對(duì)于數(shù)組運(yùn)算、字符串操作等成批數(shù)據(jù)處理是很有用的。25Pentium尋址方式

在實(shí)地址模式下,采用段尋址方式:將段寄存器內(nèi)容(16位)左移4位,低4位補(bǔ)0,到20位段基地址,再加上16位段內(nèi)偏移,得20位物理地址。在保護(hù)模式下,32位段基地址加上段內(nèi)偏移得到32位線性地址。由存儲(chǔ)管理部件將其轉(zhuǎn)換成32位的物理地址。序號(hào)尋址方式名稱有效地址E算法說(shuō)明(1)立即

操作數(shù)在指令中(2)寄存器

操作數(shù)在寄存器中(3)直接E=DispDisp為偏移量(4)基址E=(B)B為基址寄存器(5)基址+偏移量E=(B)+Disp(6)比例變址+偏移量E=(I)*S+DispS為比例因子(7)基址+變址+偏移量E=(B)+(I)+Disp(8)基址+比例變址+偏移量E=(B)+(I)*S+Disp(9)相對(duì)指令地址=(PC)+Disp26

幾點(diǎn)說(shuō)明:⑴立即數(shù)可以是8位,16位,32位。⑵寄存器尋址:通用寄存器可以為8位、16位或32位。對(duì)64位浮點(diǎn)數(shù),要使用一對(duì)32位寄存器。少數(shù)指令以段寄存器來(lái)實(shí)施寄存器尋址方式。⑶直接尋址:偏移量長(zhǎng)度可以是8位,16位,32位。⑷基址尋址:基址寄存器B可以是通用寄存器中任何一個(gè)。⑸基址+偏移量尋址:基址寄存器B是32位通用寄存器中任何一個(gè)。⑹比例變址+偏移量尋址:變址寄存器I是32位通用寄存器中除ESP外的任何一個(gè)。I的內(nèi)容乘以比例因子1,2,4或8,再加上偏移量得到有效地址。⑺,⑻兩種尋址方式是⑷,⑹兩種尋址方式的組合,偏移量可有可無(wú)。⑼相對(duì)尋址:適用于轉(zhuǎn)移控制類指令。用當(dāng)前指令指針寄存器EIP或IP的內(nèi)容(下一條指令地址)加上一個(gè)有符號(hào)偏移量,形成CS段的段內(nèi)偏移。27例:一種二地址RS型指令的結(jié)構(gòu)如下所示:

6位4位1位2位16位OP---通用寄存器IX偏移量D其中I為間接尋址標(biāo)志位,X為尋址模式字段,D位偏移量字段。通過(guò)I,X,D的組合,可構(gòu)成下表所示的尋址方式。請(qǐng)寫出六種尋址方式的名稱。尋址方式IX有效地址E算法說(shuō)明(1)000E=D(2)001E=(PC)±DPC為程序計(jì)數(shù)器(3)010E=(R2)±DR2為變址寄存器(4)111E=(R3)(5)100E=(D)(6)011E=(R1)±DR1為基址寄存器直接相對(duì)變址寄存器間接間接基址28例:某16位機(jī)器有兩個(gè)20位基址寄存器,四個(gè)16位變址寄存器,十六個(gè)16位通用寄存器。指令匯編格式中的S,D都是通用寄存器,M是主存中的一個(gè)單元。三種指令的操作碼分別是MOV(OP)=(A)H

,STA(OP)=(1B)H

,LDA(OP)=(3C)H。MOV是傳送指令,STA為寫數(shù)指令,LDA為讀數(shù)指令。⑴分析三種指令的指令格式與尋址方式特點(diǎn)。⑵分析三種指令的執(zhí)行時(shí)間。⑶下列指令字是否正確?分別代表什么操作? ①(F0F1)H(3CD2)H

②(2856)H③(6FD6)H④(1C2)H29⑴分析三種指令的指令格式與尋址方式特點(diǎn)。都是雙地址指令,MOV是單字長(zhǎng)寄存器-寄存器RR型,STA和LDA是雙字長(zhǎng)寄存器-存儲(chǔ)器RS型;MOV是寄存器尋址,S和D里面直接存放的是操作數(shù)STA是變址尋址,有效地址E=(S)+M,LDA是直接尋址,有效地址E=M例:某16位機(jī)器有兩個(gè)20位基址寄存器,四個(gè)16位變址寄存器,十六個(gè)16位通用寄存器。指令匯編格式中的S,D都是通用寄存器,M是主存中的一個(gè)單元。三種指令的操作碼分別是MOV(OP)=(A)H

,STA(OP)=(1B)H

,LDA(OP)=(3C)H。MOV是傳送指令,STA為寫數(shù)指令,LDA為讀數(shù)指令。30⑵分析三種指令的執(zhí)行時(shí)間。MOV執(zhí)行速度最快,只要訪問兩次寄存器,LDA其次,訪問1次寄存器和1次內(nèi)存,STA最慢,除了訪問2次寄存器和1次內(nèi)存外,還需要做一次加法(S)+M例:某16位機(jī)器有兩個(gè)20位基址寄存器,四個(gè)16位變址寄存器,十六個(gè)16位通用寄存器。指令匯編格式中的S,D都是通用寄存器,M是主存中的一個(gè)單元。三種指令的操作碼分別是MOV(OP)=(A)H

,STA(OP)=(1B)H

,LDA(OP)=(3C)H。MOV是傳送指令,STA為寫數(shù)指令,LDA為讀數(shù)指令。31⑶下列指令字是否正確?分別代表什么操作?①(F0F1)H(3CD2)H=(111100001111

00010011110011010010)2

②(2856)H=(001010000101

0110)2

③(6FD6)H=(0110111111010110)2

④(1C2)H=(0000000111000010)2①為L(zhǎng)DA,②為MOV,③不正確,OP為STA,但只有16位,④不正確,無(wú)對(duì)應(yīng)的操作碼例:某16位機(jī)器有兩個(gè)20位基址寄存器,四個(gè)16位變址寄存器,十六個(gè)16位通用寄存器。指令匯編格式中的S,D都是通用寄存器,M是主存中的一個(gè)單元。三種指令的操作碼分別是MOV(OP)=(A)H

,STA(OP)=(1B)H

,LDA(OP)=(3C)H。MOV是傳送指令,STA為寫數(shù)指令,LDA為讀數(shù)指令。MOV(OP)=(A)H=(001010)2

STA(OP)=(1B)H=(011011)2,LDA(OP)=(3C)H=(111100)232總線帶寬:?jiǎn)挝粫r(shí)間內(nèi)總線上可傳送的數(shù)據(jù)量。通常用兆字節(jié)數(shù)/秒(MB/s)表示。實(shí)際帶寬受到總線布線長(zhǎng)度、總線驅(qū)動(dòng)器/接收器性能、連接在總線上的模塊數(shù)等因素的影響,這些因素造成信號(hào)在總線上的延時(shí)和畸變,使總線的最高數(shù)據(jù)傳輸速率受到限制??偩€位寬:總線上能同時(shí)傳送的數(shù)據(jù)位數(shù)。如1位、8位、16位、32位等??偩€工作頻率:用于控制總線操作周期的時(shí)鐘信號(hào)的頻率。通常用MHz表示。這三個(gè)參數(shù)的關(guān)系如下:

總線帶寬=總線位寬×總線工作頻率總線的性能指標(biāo)33[例1](1)某總線在一個(gè)總線周期中并行傳送4個(gè)字節(jié)的數(shù)據(jù),假設(shè)一個(gè)總線周期等于一個(gè)總線時(shí)鐘周期,總線時(shí)鐘頻率為33MHz,總線帶寬是多少?(2)如果一個(gè)總線周期中并行傳送64位數(shù)據(jù),總線時(shí)鐘頻率升為66MHz,總線帶寬是多少?解:(1)設(shè)總線帶寬用Dr表示,總線時(shí)鐘周期用T=1/f表示,一個(gè)總線周期傳送的數(shù)據(jù)量用D表示,根據(jù)定義可得Dr=D/T=D×(1/T)=D×f=4B×33×106/s=132MB/s(2)64位=8BDr=D×f=8B×66×106/s=528MB/s34總線的連接方式

單機(jī)系統(tǒng)中采用的總線結(jié)構(gòu)有兩種基本類型:(1)單總線結(jié)構(gòu);(2)多總線結(jié)構(gòu)。(1)單總線結(jié)構(gòu)

在許多單處理器的計(jì)算機(jī)中,使用一條單一的系統(tǒng)總線來(lái)連接CPU、主存和I/O設(shè)備,叫做單總線結(jié)構(gòu)。此時(shí)要求連接到總線上的邏輯部件必須高速運(yùn)行,以便在某些設(shè)備需要使用總線時(shí)能迅速獲得總線控制權(quán);而當(dāng)不再使用總線時(shí),能迅速放棄總線控制權(quán)。35取指令:當(dāng)CPU取一條指令時(shí),首先把程序計(jì)數(shù)器PC中的地址同控制信息一起送至總線上。在“取指令”情況下的地址是主存地址,此時(shí)該地址所指定的主存單元的內(nèi)容一定是一條指令,而且將被傳送給CPU。傳送數(shù)據(jù):取出指令之后,CPU將檢查操作碼。操作碼規(guī)定了對(duì)數(shù)據(jù)要執(zhí)行什么操作,以及數(shù)據(jù)是流進(jìn)CPU還是流出CPU。I/O操作:CPU把指令的地址字段放到總線上,如果該指令地址字段對(duì)應(yīng)的是外圍設(shè)備地址,則外圍設(shè)備譯碼器予以響應(yīng),從而在CPU和與該地址所對(duì)應(yīng)的外圍設(shè)備之間發(fā)生數(shù)據(jù)傳送,而數(shù)據(jù)傳送的方向由指令操作碼決定。DMA(DirectMemoryAccess,直接存儲(chǔ)器訪問)操作:

某些外圍設(shè)備也可以指定地址。如果一個(gè)由外圍設(shè)備指定的地址對(duì)應(yīng)于一個(gè)主存單元,則主存予以響應(yīng),于是在主存和外設(shè)間將進(jìn)行直接存儲(chǔ)器傳送(DMA)。擴(kuò)展成多CPU系統(tǒng):只要在系統(tǒng)總線上掛接多個(gè)CPU即可。36(2)多總線結(jié)構(gòu)

CPU和cache之間采用高速的CPU總線,主存連接在系統(tǒng)總線,高速總線上可以連接高速LAN(100Mb/s局域網(wǎng))、視頻接口、圖形接口、SCSI接口、Firewire接口。通過(guò)橋,CPU總線、系統(tǒng)總線和高速總線彼此相連。橋?qū)嵸|(zhì)上是一種具有緩沖、轉(zhuǎn)換、控制功能的邏輯電路。高速總線通過(guò)擴(kuò)充總線接口與擴(kuò)充總線相連,擴(kuò)充總線上可以連接串行方式工作的I/O設(shè)備。多總線結(jié)構(gòu)體現(xiàn)了高速、中速、低速設(shè)備連接到不同的總線上同時(shí)進(jìn)行工作,以提高總線的效率和吞吐量,而且處理器結(jié)構(gòu)的變化不影響高速總線。37總線結(jié)構(gòu)的優(yōu)點(diǎn)(1)簡(jiǎn)化了硬件的設(shè)計(jì)。從硬件的角度看,總線結(jié)構(gòu)是由總線接口代替了專門的I/O接口,由總線規(guī)范給出了傳輸線和信號(hào)的規(guī)定,并對(duì)存儲(chǔ)器、I/O設(shè)備和CPU如何掛在總線上都作了具體的規(guī)定,所以,面向總線的微型計(jì)算機(jī)設(shè)計(jì)只要按照這些規(guī)定制作CPU插件、存儲(chǔ)器插件以及I/O插件等,將它們連入總線即可工作,而不必考慮總線的詳細(xì)操作。(2)簡(jiǎn)化了系統(tǒng)結(jié)構(gòu)。整個(gè)系統(tǒng)結(jié)構(gòu)清晰,連線少,底板連線可以印刷化。(3)系統(tǒng)擴(kuò)充性好。一是規(guī)模擴(kuò)充,二是功能擴(kuò)充。規(guī)模擴(kuò)充僅僅需要多插一些同類型的插件;功能擴(kuò)充僅僅需要按總線標(biāo)準(zhǔn)設(shè)計(jì)一些新插件。插件插入機(jī)器的位置往往沒有嚴(yán)格的限制。這就使系統(tǒng)擴(kuò)充既簡(jiǎn)單又快速可靠,而且也便于查錯(cuò)。(4)系統(tǒng)更新性能好。因?yàn)镃PU、存儲(chǔ)器、I/O接口等都是按總線規(guī)約掛到總線上的,因而只要總線設(shè)計(jì)恰當(dāng),可以隨時(shí)隨著處理器芯片以及其他有關(guān)芯片的進(jìn)展設(shè)計(jì)新的插件,新的插件插到底板上對(duì)系統(tǒng)進(jìn)行更新,其他插件和底板連線一般不需更改。38

連接到總線上的功能模塊有主動(dòng)和被動(dòng)兩種形態(tài)。主方可以啟動(dòng)一個(gè)總線周期,而從方只能響應(yīng)主方的請(qǐng)求。每次總線操作,只能有一個(gè)主方占用總線控制權(quán),但同一時(shí)刻可以有一個(gè)或多個(gè)從方。為了解決多個(gè)主設(shè)備同時(shí)競(jìng)爭(zhēng)總線控制權(quán),必須具有總線仲裁部件,以某種方式選擇其中一個(gè)主設(shè)備作為總線的下一次主方。對(duì)多個(gè)主設(shè)備提出的占用總線請(qǐng)求,一般采用優(yōu)先級(jí)或公平策略進(jìn)行仲裁。例如,在多處理器系統(tǒng)中對(duì)各CPU模塊的總線請(qǐng)求采用公平的原則來(lái)處理,而對(duì)I/O模塊的總線請(qǐng)求采用優(yōu)先級(jí)策略??偩€占用期:主方持續(xù)控制總線的時(shí)間按照總線仲裁電路的位置不同,仲裁方式分為集中式仲裁和分布式仲裁兩類??偩€仲裁39集中式仲裁

集中式仲裁中每個(gè)功能模塊有兩條線連到總線仲裁器:一條是送往仲裁器的總線請(qǐng)求信號(hào)線BR,一條是仲裁器送出的總線授權(quán)信號(hào)線BG。鏈?zhǔn)讲樵兎绞剑篈表示地址線,D表示數(shù)據(jù)線。BS線為1表示總線忙??偩€授權(quán)信號(hào)BG串行地從一個(gè)I/O接口傳送到下一個(gè)I/O接口。假如BG到達(dá)的接口無(wú)總線請(qǐng)求,則繼續(xù)往下查詢;假如BG到達(dá)的接口有總線請(qǐng)求,BG信號(hào)不再往下查詢,該I/O接口就獲得了總線的控制權(quán)。查詢鏈中離總線仲裁器最近的設(shè)備具有最高的優(yōu)先級(jí),離總線仲裁器越遠(yuǎn),優(yōu)先級(jí)越低。40

鏈?zhǔn)讲樵兎绞降膬?yōu)點(diǎn):邏輯上和物理實(shí)現(xiàn)上都很簡(jiǎn)單,只用很少幾根線就能按一定優(yōu)先次序?qū)崿F(xiàn)總線仲裁,與設(shè)備數(shù)無(wú)關(guān)。易于擴(kuò)充,增加設(shè)備時(shí),只需“掛到”總線上即可。鏈?zhǔn)讲樵兎绞降娜秉c(diǎn):對(duì)查詢鏈的電路故障很敏感,如

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論