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

下載本文檔

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

文檔簡介

1指令格式

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

3地址碼

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

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

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

功能描述:

(AC)

OP

(A1)→A1

(PC)+1→PC

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

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

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

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

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

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

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

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

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

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

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

可按以下方式設(shè)置操作碼:(1)15條三地址指令由基本操作碼從0000~1110給出,剩下的1111用于將操作碼擴展到A1字段;(2)15條二地址指令由8位操作碼從11110000~11111110給出,剩下的11111111用于將操作碼擴展到A2字段;(3)15條一地址指令由12位操作碼從111111110000~111111111110給出,剩下的111111111111用于將操作碼擴展到A3字段;(4)16條零地址指令由16位操作碼從1111111111110000~1111111111111111給出。13例:指令字長12位,基本操作碼3位,每個地址碼3位,設(shè)計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條零地址指令這一條一地址指令被用來編碼2(最多可以64)條零地址指令這一條一地址指令被用來編碼2(最多可以64)條零地址指令16操作碼的優(yōu)化

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

操作碼的平均編碼長度為:

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

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

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

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

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

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

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

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

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

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

S=(E)=((D))

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

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

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

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

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

在實地址模式下,采用段尋址方式:將段寄存器內(nèi)容(16位)左移4位,低4位補0,到20位段基地址,再加上16位段內(nèi)偏移,得20位物理地址。在保護模式下,32位段基地址加上段內(nèi)偏移得到32位線性地址。由存儲管理部件將其轉(zhuǎn)換成32位的物理地址。序號尋址方式名稱有效地址E算法說明(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)相對指令地址=(PC)+Disp26

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

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

,STA(OP)=(1B)H

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

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

,STA(OP)=(1B)H

,LDA(OP)=(3C)H。MOV是傳送指令,STA為寫數(shù)指令,LDA為讀數(shù)指令。30⑵分析三種指令的執(zhí)行時間。MOV執(zhí)行速度最快,只要訪問兩次寄存器,LDA其次,訪問1次寄存器和1次內(nèi)存,STA最慢,除了訪問2次寄存器和1次內(nèi)存外,還需要做一次加法(S)+M例:某16位機器有兩個20位基址寄存器,四個16位變址寄存器,十六個16位通用寄存器。指令匯編格式中的S,D都是通用寄存器,M是主存中的一個單元。三種指令的操作碼分別是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①為LDA,②為MOV,③不正確,OP為STA,但只有16位,④不正確,無對應(yīng)的操作碼例:某16位機器有兩個20位基址寄存器,四個16位變址寄存器,十六個16位通用寄存器。指令匯編格式中的S,D都是通用寄存器,M是主存中的一個單元。三種指令的操作碼分別是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總線帶寬:單位時間內(nèi)總線上可傳送的數(shù)據(jù)量。通常用兆字節(jié)數(shù)/秒(MB/s)表示。實際帶寬受到總線布線長度、總線驅(qū)動器/接收器性能、連接在總線上的模塊數(shù)等因素的影響,這些因素造成信號在總線上的延時和畸變,使總線的最高數(shù)據(jù)傳輸速率受到限制。總線位寬:總線上能同時傳送的數(shù)據(jù)位數(shù)。如1位、8位、16位、32位等??偩€工作頻率:用于控制總線操作周期的時鐘信號的頻率。通常用MHz表示。這三個參數(shù)的關(guān)系如下:

總線帶寬=總線位寬×總線工作頻率總線的性能指標33[例1](1)某總線在一個總線周期中并行傳送4個字節(jié)的數(shù)據(jù),假設(shè)一個總線周期等于一個總線時鐘周期,總線時鐘頻率為33MHz,總線帶寬是多少?(2)如果一個總線周期中并行傳送64位數(shù)據(jù),總線時鐘頻率升為66MHz,總線帶寬是多少?解:(1)設(shè)總線帶寬用Dr表示,總線時鐘周期用T=1/f表示,一個總線周期傳送的數(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總線的連接方式

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

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

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

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

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

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

鏈式查詢方式的優(yōu)點:邏輯上和物理實現(xiàn)上都很簡單,只用很少幾根線就能按一定優(yōu)先次序?qū)崿F(xiàn)總線仲裁,與設(shè)備數(shù)無關(guān)。易于擴充,增加設(shè)備時,只需“掛到”總線上即可。鏈式查詢方式的缺點:對查詢鏈的電路故障很敏感,如

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論