




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1指令格式指令格式 從便于程序設(shè)計(jì)、增加操作并行性、提高指令功能看,指令中應(yīng)包含多從便于程序設(shè)計(jì)、增加操作并行性、提高指令功能看,指令中應(yīng)包含多種信息。但指令太長會(huì)占用更多的存儲(chǔ)空間,增加訪存次數(shù)。一條指令應(yīng)包種信息。但指令太長會(huì)占用更多的存儲(chǔ)空間,增加訪存次數(shù)。一條指令應(yīng)包含下列信息:含下列信息: 操作碼操作碼:表明操作的性質(zhì)和功能。每條指令都有相應(yīng)的操作碼。:表明操作的性質(zhì)和功能。每條指令都有相應(yīng)的操作碼。 操作數(shù)地址操作數(shù)地址。 操作結(jié)果的存放地址操作結(jié)果的存放地址。 下一條指令的地址下一條指令的地址。為了壓縮指令長度,可以用一個(gè)程序計(jì)數(shù)器。為了壓縮指令長度,可以用一個(gè)程序計(jì)數(shù)器 (Pr
2、ogram Counter, PC) 存放指令地址。每執(zhí)行一條指令,存放指令地址。每執(zhí)行一條指令,PC自動(dòng)增加,指自動(dòng)增加,指向下一條指令。由于使用了向下一條指令。由于使用了PC,指令中可以不包含下一條指令的地址。,指令中可以不包含下一條指令的地址。 一條指令實(shí)際上包含兩種信息:操作碼一條指令實(shí)際上包含兩種信息:操作碼 (Operation Code, OP) 和地址碼和地址碼。其基本格式為:。其基本格式為:2指令字長指令字長p指令中包含二進(jìn)制代碼的位數(shù),稱為指令字長。指令中包含二進(jìn)制代碼的位數(shù),稱為指令字長。p與與機(jī)器字機(jī)器字的長度有關(guān)的長度有關(guān): 單字長單字長,雙字長雙字長,半字長,半字長
3、,優(yōu)點(diǎn)、缺點(diǎn)。以IBM 370為例,其字長為32位。指令格式有16位(半字)的,有32位(單字)的,也有48位(一個(gè)半字)的。 p等長指令等長指令:各種指令字長度相等,稱為等長指令字結(jié)構(gòu),結(jié)構(gòu)簡單,控制線路簡單,RISC 。p變長指令變長指令:如果指令字長度隨指令的功能而異,稱為變長指令字結(jié)構(gòu)。結(jié)構(gòu)靈活,充分利用指令長度,控制復(fù)雜,CISC。 3地址碼地址碼 根據(jù)一條指令中有幾個(gè)操作數(shù)地址,可將該指令稱為根據(jù)一條指令中有幾個(gè)操作數(shù)地址,可將該指令稱為幾操作數(shù)指令或幾幾操作數(shù)指令或幾地址指令地址指令。一般的操作數(shù)有被操作數(shù)、操作數(shù)及操作結(jié)果這三種數(shù),因而就形成了一般的操作數(shù)有被操作數(shù)、操作數(shù)及操
4、作結(jié)果這三種數(shù),因而就形成了三地址指令格式。此外,還有二地址格式、一地址格式和零地址格式。三地址指令格式。此外,還有二地址格式、一地址格式和零地址格式。操作碼操作碼A1A2A3三地址指令:三地址指令:操作碼操作碼A1A2二地址指令:二地址指令:操作碼操作碼A1一地址指令:一地址指令:操作碼操作碼零地址指令:零地址指令:4 (1) 零地址指令的指令字中只有操作碼,而沒有地址碼。如停機(jī)、空操零地址指令的指令字中只有操作碼,而沒有地址碼。如停機(jī)、空操作指令。作指令。 其格式為:其格式為:OP (2)一地址指令常稱為單操作數(shù)指令。通常這種指令以運(yùn)算器中累加寄一地址指令常稱為單操作數(shù)指令。通常這種指令以
5、運(yùn)算器中累加寄存器存器AC中的數(shù)據(jù)為被操作數(shù),指令字的地址碼字段所指明的數(shù)為操作數(shù),中的數(shù)據(jù)為被操作數(shù),指令字的地址碼字段所指明的數(shù)為操作數(shù),操作結(jié)果又放回累加寄存器操作結(jié)果又放回累加寄存器AC中。中。 其格式為:其格式為: 功能描述:功能描述: (AC) OP (A1) A1 (PC)+1PC OP表示操作性質(zhì);表示操作性質(zhì);(AC)表示累加寄存器表示累加寄存器AC中的數(shù);中的數(shù);(A1)表示主存中表示主存中地址為地址為A1的的存儲(chǔ)單元存儲(chǔ)單元中的數(shù)或運(yùn)算器中地址為中的數(shù)或運(yùn)算器中地址為A1的通用的通用寄存器寄存器中的數(shù);中的數(shù); 表示把操作(運(yùn)算)結(jié)果傳送到指定的地方。表示把操作(運(yùn)算)結(jié)
6、果傳送到指定的地方。單操作數(shù)運(yùn)算指令,如單操作數(shù)運(yùn)算指令,如“+1”、“-1”、“求反求反” ,指令中給出一個(gè)源操作數(shù)的地址,指令中給出一個(gè)源操作數(shù)的地址OPA15 (3)二地址指令常稱為雙操作數(shù)指令,它的兩個(gè)地址碼字段二地址指令常稱為雙操作數(shù)指令,它的兩個(gè)地址碼字段分別指明參與操作的兩個(gè)數(shù)在主存中或運(yùn)算器中通用寄存器的分別指明參與操作的兩個(gè)數(shù)在主存中或運(yùn)算器中通用寄存器的地址,地址,A1作存放操作結(jié)果的地址。作存放操作結(jié)果的地址。A1中原來的內(nèi)容被覆蓋。中原來的內(nèi)容被覆蓋。 其格式為:其格式為: 功能描述:功能描述: (A1) OP (A2)A1 (PC)+1PC 二地址指令在計(jì)算機(jī)中得到了
7、廣泛的應(yīng)用,但是在使用時(shí)有一二地址指令在計(jì)算機(jī)中得到了廣泛的應(yīng)用,但是在使用時(shí)有一點(diǎn)必須注意:指令執(zhí)行之后,點(diǎn)必須注意:指令執(zhí)行之后,A1中原存的內(nèi)容已經(jīng)被新的運(yùn)算中原存的內(nèi)容已經(jīng)被新的運(yùn)算結(jié)果結(jié)果替換替換了。了。OPA1A26 (4)三地址指令字中有三個(gè)操作數(shù)地址。三地址指令字中有三個(gè)操作數(shù)地址。 A1為被操作數(shù)地為被操作數(shù)地址,也稱源操作數(shù)地址;址,也稱源操作數(shù)地址; A2為操作數(shù)地址,也稱目的操作數(shù)地為操作數(shù)地址,也稱目的操作數(shù)地址;址; A3為存放結(jié)果的地址。為存放結(jié)果的地址。 A1、A2、A3可以是主存中的單可以是主存中的單元地址,也可以是運(yùn)算器中通用寄存器的地址。元地址,也可以是運(yùn)
8、算器中通用寄存器的地址。 其格式為:其格式為:功能描述:功能描述: (A1) OP (A2)A3(PC) +1PC這種格式指令長度比較長,所以只在字長較長的大、中型機(jī)中這種格式指令長度比較長,所以只在字長較長的大、中型機(jī)中使用,而小型、微型機(jī)中很少使用。使用,而小型、微型機(jī)中很少使用。OPA1A2A37 二地址指令格式中,從操作數(shù)的物理位置來說,又可歸結(jié)為三種類型。二地址指令格式中,從操作數(shù)的物理位置來說,又可歸結(jié)為三種類型。存儲(chǔ)器存儲(chǔ)器- -存儲(chǔ)器(存儲(chǔ)器(SS)型指令:)型指令:操作時(shí)都是涉及主存單元,參與操作的數(shù)都操作時(shí)都是涉及主存單元,參與操作的數(shù)都放在主存里,從主存某單元中取操作數(shù),
9、操作結(jié)果存放至主存另一單元中。放在主存里,從主存某單元中取操作數(shù),操作結(jié)果存放至主存另一單元中。寄存器寄存器- -寄存器(寄存器(RR)型指令:)型指令:需要多個(gè)通用寄存器或個(gè)別專用寄存器,從需要多個(gè)通用寄存器或個(gè)別專用寄存器,從寄存器中取操作數(shù),把操作結(jié)果放到另一寄存器。機(jī)器執(zhí)行寄存器寄存器中取操作數(shù),把操作結(jié)果放到另一寄存器。機(jī)器執(zhí)行寄存器-寄存器寄存器型指令的速度很快,因?yàn)閳?zhí)行這類指令,不需要訪問主存。型指令的速度很快,因?yàn)閳?zhí)行這類指令,不需要訪問主存。寄存器寄存器- -存儲(chǔ)器(存儲(chǔ)器(RS)型指令:)型指令:執(zhí)行此類指令時(shí),既要訪問主存單元,又要執(zhí)行此類指令時(shí),既要訪問主存單元,又要訪
10、問寄存器。訪問寄存器。 指令字助記符由于硬件只能識(shí)別1和0,所以采用二進(jìn)制操作碼二進(jìn)制操作碼是必要的,但是我們用二進(jìn)制來書寫程序卻非常麻煩。 為了便于書寫和閱讀程序,采用一種縮寫碼叫做指令助記符指令助記符 用34個(gè)英文字母來表示操作碼,一般為英文縮寫 不同的計(jì)算機(jī)系統(tǒng),規(guī)定不一樣 必須用匯編程序翻譯成二進(jìn)制代碼89操作碼操作碼 指令系統(tǒng)中每條指令有唯一確定的操作碼,表明指令的性質(zhì)和功能。操指令系統(tǒng)中每條指令有唯一確定的操作碼,表明指令的性質(zhì)和功能。操作碼可以采用固定長度,也可以采用可變長度。固定長度操作碼對(duì)于簡化硬作碼可以采用固定長度,也可以采用可變長度。固定長度操作碼對(duì)于簡化硬件設(shè)計(jì)、減少指
11、令譯碼時(shí)間有利,在字長較大的大、中型機(jī)中廣泛采用??杉O(shè)計(jì)、減少指令譯碼時(shí)間有利,在字長較大的大、中型機(jī)中廣泛采用。可變長度操作碼可以有效壓縮操作碼的平均長度,在字長較短的小型機(jī)和微型變長度操作碼可以有效壓縮操作碼的平均長度,在字長較短的小型機(jī)和微型機(jī)中采用。機(jī)中采用。 定長編碼:定長編碼:操作碼的長度決定了指令系統(tǒng)中指令的數(shù)目。若操作碼長度操作碼的長度決定了指令系統(tǒng)中指令的數(shù)目。若操作碼長度為為k位,最多只能有位,最多只能有2k條指令。條指令。 以以IBM 370為例,其字長為為例,其字長為32位。指令格式有位。指令格式有16位(半字)的,有位(半字)的,有32位位(單字)的,也有(單字)的
12、,也有48位(一個(gè)半字)的。半字長指令不包含主存地址,單字位(一個(gè)半字)的。半字長指令不包含主存地址,單字長指令包含一個(gè)主存地址,一個(gè)半字長指令包含兩個(gè)主存地址。長指令包含一個(gè)主存地址,一個(gè)半字長指令包含兩個(gè)主存地址。 IBM 370機(jī)中,不論指令長度為多少,機(jī)中,不論指令長度為多少,操作碼字段都為操作碼字段都為8位位。8位操作碼位操作碼允許指定允許指定256條指令,而條指令,而IBM 370 只有只有183條指令,存在極大的信息冗余。條指令,存在極大的信息冗余。10OPR1R2RR型:型:OPR1X2B2D2RX型:型:RS型:型:OPI2B1D1SI型:型: IBM 370的五種指令格式:
13、的五種指令格式:OPL1B1D1B2D2SS型:型:OPR1R2B2D28448444128444128841288412412 OP:操作碼;:操作碼;R:寄存器;:寄存器;X:基址寄存器;:基址寄存器;L:指定操作數(shù)的長度;:指定操作數(shù)的長度;D:位移量;:位移量;I:直接操作數(shù);:直接操作數(shù);B:變址寄存器。:變址寄存器。 RR型:寄存器型:寄存器-寄存器型;寄存器型;RX型和型和RS型:寄存器型:寄存器-存儲(chǔ)器型;存儲(chǔ)器型;SI型:直型:直接帶操作數(shù);接帶操作數(shù);SS型:存儲(chǔ)器型:存儲(chǔ)器-存儲(chǔ)器型。存儲(chǔ)器型。11 變長編碼:變長編碼:在指令字長有限的情況下,變成編碼可增加指令種類。當(dāng)指
14、在指令字長有限的情況下,變成編碼可增加指令種類。當(dāng)指令中地址部分位數(shù)較多時(shí),讓操作碼的位數(shù)少些;地址部分位數(shù)較少時(shí),讓令中地址部分位數(shù)較多時(shí),讓操作碼的位數(shù)少些;地址部分位數(shù)較少時(shí),讓操作碼的位數(shù)增多。操作碼的位數(shù)增多。 PDP11的字長為的字長為16位。指令分為單字長、二字長、三字長三種。操作位。指令分為單字長、二字長、三字長三種。操作碼占碼占416位不等。下面是位不等。下面是PDP11的部分指令格式:的部分指令格式:OPSDOPX2單字長單字長(16位)位)OPSD地址地址OPSD地址地址1地址地址2OP46610616466164661616二字長二字長(32位)位)三字長三字長(48位
15、)位)12 操作碼長度不固定會(huì)增加指令譯碼的難度,使控制器設(shè)計(jì)復(fù)雜化。通常操作碼長度不固定會(huì)增加指令譯碼的難度,使控制器設(shè)計(jì)復(fù)雜化。通常用指令中固定長度的字段表示基本操作碼,對(duì)于不需要某個(gè)地址字段的指令用指令中固定長度的字段表示基本操作碼,對(duì)于不需要某個(gè)地址字段的指令,將操作碼擴(kuò)展到該地址字段。,將操作碼擴(kuò)展到該地址字段。 設(shè)某機(jī)器指令字長設(shè)某機(jī)器指令字長16位,包括位,包括4位基本操作碼和三個(gè)位基本操作碼和三個(gè)4位地址字段:位地址字段:OPA1A2A330741181512 可可按以下方式設(shè)置操作碼:按以下方式設(shè)置操作碼: (1)15條三地址指令由基本操作碼從條三地址指令由基本操作碼從000
16、01110給出,剩下的給出,剩下的1111用用于將操作碼擴(kuò)展到于將操作碼擴(kuò)展到A1字段;字段; (2)15條二地址指令由條二地址指令由8位操作碼從位操作碼從1111000011111110給出,剩下的給出,剩下的11111111用于將操作碼擴(kuò)展到用于將操作碼擴(kuò)展到A2字段;字段; (3)15條一地址指令由條一地址指令由12位操作碼從位操作碼從111111110000111111111110給出給出,剩下的,剩下的111111111111用于將操作碼擴(kuò)展到用于將操作碼擴(kuò)展到A3字段;字段; (4)16條零地址指令由條零地址指令由16位操作碼從位操作碼從1111111111110000111111
17、1111111111給出。給出。13例例:指令字長指令字長12位,基本操作碼位,基本操作碼3位,每個(gè)地址碼位,每個(gè)地址碼3位,設(shè)計(jì)位,設(shè)計(jì)4條三地址指令條三地址指令、255條一地址指令和條一地址指令和8條零地址指令。條零地址指令。0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 14條三地條三地址指令址指令255條一條一地址指令地址指令8條零地條零地址指令址指令OPA1A2A32053861191 A. 8 B.4 C. 12 D. 16 2 A. 64 B
18、.63 C.255 D. 254 14OPA1A2065111512例例如果零地址指令沒有占用的話150 0 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 112條雙地條雙地址指令址指令255條一地條一地址指令址指令64條零地條零地址指令址指令這一條一地址指這一條一地址指令被用來編碼令被用來編碼2 2(最多可以(最多可以6464)條零地址指令條零地址指令這一條一地址指這一條一地址指令被用來編碼令被用來編碼2 2(最
19、多可以(最多可以6464)條零地址指令條零地址指令16操作碼的優(yōu)化操作碼的優(yōu)化 為縮短操作碼的平均長度,應(yīng)該給使用頻度高的指令分配短的操作碼,為縮短操作碼的平均長度,應(yīng)該給使用頻度高的指令分配短的操作碼,使用頻度低的指令分配長的操作碼。使用頻度低的指令分配長的操作碼。Huffman編碼就是按照這一原則進(jìn)行編編碼就是按照這一原則進(jìn)行編碼的。假如某計(jì)算機(jī)有碼的。假如某計(jì)算機(jī)有7條指令,使用頻度用條指令,使用頻度用Pi表示,表示,Huffman編碼如下:編碼如下:指令指令I(lǐng)i使用頻度使用頻度PiHuffman編碼編碼操作碼長度操作碼長度LiI10.4001I20.261 02I30.151 1 03
20、I40.061 1 1 0 05I50.051 1 1 0 15I60.041 1 1 1 05I70.041 1 1 1 15 操作碼的平均編碼長度為:操作碼的平均編碼長度為:L = 0.4010.2620.1530.195 = 2.32位位17Huffman編碼編碼 將將7條指令按使用頻度從小到大的順序排序,每次將使用頻度最小的兩條指令按使用頻度從小到大的順序排序,每次將使用頻度最小的兩個(gè)結(jié)點(diǎn)合并為一個(gè)新的結(jié)點(diǎn)并重新排序,如此反復(fù)。最后將每個(gè)結(jié)點(diǎn)的兩個(gè)個(gè)結(jié)點(diǎn)合并為一個(gè)新的結(jié)點(diǎn)并重新排序,如此反復(fù)。最后將每個(gè)結(jié)點(diǎn)的兩個(gè)分支分別用分支分別用“1”和和“0”標(biāo)注。標(biāo)注。操作數(shù)類型地址數(shù)據(jù)地址數(shù)據(jù)
21、:正整數(shù)數(shù)值數(shù)據(jù)數(shù)值數(shù)據(jù):定點(diǎn)數(shù)、浮點(diǎn)數(shù)、BCD碼字符數(shù)據(jù)字符數(shù)據(jù):ASCII碼邏輯數(shù)據(jù)邏輯數(shù)據(jù):若干二進(jìn)制位,分別看待1819指令尋址方式指令尋址方式 順序?qū)ぶ贩绞剑喉樞驅(qū)ぶ贩绞剑褐噶畹刂吩谥髦噶畹刂吩谥鞔嬷邪错樞虬才?,?dāng)執(zhí)行一段程序存中按順序安排,當(dāng)執(zhí)行一段程序時(shí),通常是一條指令接一條指令的時(shí),通常是一條指令接一條指令的順序執(zhí)行。順序執(zhí)行。 為此,必須使用程序計(jì)數(shù)器為此,必須使用程序計(jì)數(shù)器PC來計(jì)數(shù)指令的順序號(hào)來計(jì)數(shù)指令的順序號(hào),該順序號(hào)就是指令在主存中的地址。,該順序號(hào)就是指令在主存中的地址。 跳躍尋址方式:跳躍尋址方式:下條指令的地下條指令的地址碼不是由程序計(jì)數(shù)器給出,而是址碼不是由程
22、序計(jì)數(shù)器給出,而是由本條指令給出。程序跳躍后,按由本條指令給出。程序跳躍后,按新的指令地址開始順序執(zhí)行。程序新的指令地址開始順序執(zhí)行。程序計(jì)數(shù)器的內(nèi)容也必須相應(yīng)改變。采計(jì)數(shù)器的內(nèi)容也必須相應(yīng)改變。采用指令跳躍尋址方式,可以實(shí)現(xiàn)程用指令跳躍尋址方式,可以實(shí)現(xiàn)程序轉(zhuǎn)移或構(gòu)成循環(huán)程序。序轉(zhuǎn)移或構(gòu)成循環(huán)程序。20操作數(shù)尋址方式操作數(shù)尋址方式 操作數(shù)在主存中的存放并無一定規(guī)律,給操作數(shù)尋址帶來困難。此外操作數(shù)在主存中的存放并無一定規(guī)律,給操作數(shù)尋址帶來困難。此外,受指令長度的限制,指令中的地址碼不會(huì)很長,而主存容量卻越來越大,受指令長度的限制,指令中的地址碼不會(huì)很長,而主存容量卻越來越大,因此僅能直接訪
23、問主存的一小部分,無法直接訪問整個(gè)主存。,因此僅能直接訪問主存的一小部分,無法直接訪問整個(gè)主存。 把指令中地址碼字段給出的地址稱為把指令中地址碼字段給出的地址稱為形式地址形式地址,這個(gè)地址可能不能直,這個(gè)地址可能不能直接訪問主存。能夠直接訪問主存的地址稱為接訪問主存。能夠直接訪問主存的地址稱為有效地址有效地址。尋址就是把操作數(shù)。尋址就是把操作數(shù)的形式地址變換為有效地址。的形式地址變換為有效地址。OPXD 上圖是一種單地址指令。上圖是一種單地址指令。OP為操作碼,為操作碼,X為尋址特征碼,為尋址特征碼,D為形式地址為形式地址也稱偏移量,也稱偏移量,有效地址有效地址E由由X和和D的組合給出的組合給
24、出。隱含尋址:隱含尋址:在指令中不明顯地給出而是隱含著操作數(shù)的地址。例如,單地在指令中不明顯地給出而是隱含著操作數(shù)的地址。例如,單地址的指令格式,沒有在地址字段中指明第二操作數(shù)地址,而是規(guī)定累加寄址的指令格式,沒有在地址字段中指明第二操作數(shù)地址,而是規(guī)定累加寄存器存器AC作為第二操作數(shù)地址,作為第二操作數(shù)地址,AC對(duì)單地址指令格式來說是隱含地址。對(duì)單地址指令格式來說是隱含地址。21OP (移位移位)FD立即尋址:立即尋址:指令中地址字段給出的不是操作數(shù)的地址,而是操作數(shù)本身。指令中地址字段給出的不是操作數(shù)的地址,而是操作數(shù)本身。 上圖為單地址移位指令。上圖為單地址移位指令。D不表示地址,而是一
25、個(gè)操作數(shù)。不表示地址,而是一個(gè)操作數(shù)。F為標(biāo)志位為標(biāo)志位,F(xiàn)1操作數(shù)右移,操作數(shù)右移,F(xiàn)0操作數(shù)左移。操作數(shù)左移。 取指時(shí)同時(shí)取出操作碼和操作數(shù),不需要訪問存儲(chǔ)器,提高了指令執(zhí)取指時(shí)同時(shí)取出操作碼和操作數(shù),不需要訪問存儲(chǔ)器,提高了指令執(zhí)行的速度。但操作數(shù)是指令的一部分,不能修改,而且立即數(shù)的大小受指行的速度。但操作數(shù)是指令的一部分,不能修改,而且立即數(shù)的大小受指令長度的限制,靈活性差。令長度的限制,靈活性差。直接尋址:直接尋址:指令中地址字段直接給出操作數(shù)在主存中的地址。指令中地址字段直接給出操作數(shù)在主存中的地址。 指令中的形式地址指令中的形式地址D就是有效地址就是有效地址E,即即ED。如果操
26、作數(shù)用。如果操作數(shù)用S表示,則表示,則S(E)()(D) 隨著主存容量不斷擴(kuò)大,所需要的地隨著主存容量不斷擴(kuò)大,所需要的地址碼越來越長,而指令中地址碼字段長度址碼越來越長,而指令中地址碼字段長度有限,限制了訪問主存的范圍。有限,限制了訪問主存的范圍。22間接尋址:間接尋址:形式地址不是操作數(shù)的有效地址,而是操作數(shù)地址的地址。形式地址不是操作數(shù)的有效地址,而是操作數(shù)地址的地址。E(D) S(E)()(D) 間接尋址擴(kuò)大了尋址范圍,可用指令中的短地址訪間接尋址擴(kuò)大了尋址范圍,可用指令中的短地址訪問大的主存空間。此外,操作數(shù)的地址改變后,不需要問大的主存空間。此外,操作數(shù)的地址改變后,不需要修改指令
27、,只要修改存放有效地址修改指令,只要修改存放有效地址E的主存單元。的主存單元。 間接尋址需要兩次訪存,降低了取操作數(shù)的速度。間接尋址需要兩次訪存,降低了取操作數(shù)的速度。寄存器尋址:寄存器尋址:指令中的地址碼部分給出一個(gè)通用寄存器編號(hào),該寄存器中指令中的地址碼部分給出一個(gè)通用寄存器編號(hào),該寄存器中存放著操作數(shù)。存放著操作數(shù)。 從寄存器取數(shù)據(jù)比從主存取數(shù)據(jù)快從寄存器取數(shù)據(jù)比從主存取數(shù)據(jù)快得多。由于寄存器數(shù)量較少,寄存器編得多。由于寄存器數(shù)量較少,寄存器編號(hào)的長度比主存地址的長度短得多,可號(hào)的長度比主存地址的長度短得多,可以縮短指令長度。以縮短指令長度。23寄存器間接尋址:寄存器間接尋址:寄存器中的
28、內(nèi)容是操作數(shù)的有效地址,該地址在主存中。寄存器中的內(nèi)容是操作數(shù)的有效地址,該地址在主存中。相對(duì)尋址:相對(duì)尋址:把程序計(jì)數(shù)器把程序計(jì)數(shù)器PC中的內(nèi)容加上指令中的形式地址中的內(nèi)容加上指令中的形式地址D,得到操作,得到操作數(shù)的有效地址。數(shù)的有效地址。 所謂所謂“相對(duì)相對(duì)”,是相對(duì)于當(dāng)前指令,是相對(duì)于當(dāng)前指令的地址。形式地址的地址。形式地址D稱為偏移量,可正稱為偏移量,可正可負(fù)。操作數(shù)地址和指令地址相差一個(gè)可負(fù)。操作數(shù)地址和指令地址相差一個(gè)固定值。操作數(shù)可以和指令一起移動(dòng),固定值。操作數(shù)可以和指令一起移動(dòng),放在主存中任何地方,執(zhí)行的效果都相放在主存中任何地方,執(zhí)行的效果都相同。同。 寄存器間接尋址的指
29、令較短,而能寄存器間接尋址的指令較短,而能夠訪問的主存范圍很大,并且只需訪問夠訪問的主存范圍很大,并且只需訪問主存一次,執(zhí)行速度比間接尋址快,是主存一次,執(zhí)行速度比間接尋址快,是廣泛采用的尋址方式。寄存器在編程時(shí)廣泛采用的尋址方式。寄存器在編程時(shí)常用作地址指針。常用作地址指針。24變址尋址:變址尋址:把把CPU中變址寄存器的內(nèi)容加上指令中的形式地址中變址寄存器的內(nèi)容加上指令中的形式地址D,得到操作,得到操作數(shù)的有效地址。數(shù)的有效地址?;穼ぶ罚夯穼ぶ罚喊寻袰PU中基址寄存器的內(nèi)容加上指令中的形式地址中基址寄存器的內(nèi)容加上指令中的形式地址D,得到操作,得到操作數(shù)的有效地址。數(shù)的有效地址。 基址
30、尋址和變址尋址形成操作數(shù)有效地址的算法相同,但應(yīng)用有基址尋址和變址尋址形成操作數(shù)有效地址的算法相同,但應(yīng)用有區(qū)別區(qū)別。變址尋址中變址寄存器提供修改量,指令提供基準(zhǔn)值;基址尋址中基址。變址尋址中變址寄存器提供修改量,指令提供基準(zhǔn)值;基址尋址中基址寄存器提供基準(zhǔn)值,指令提供修改量。變址尋址面向用戶,主要用于寄存器提供基準(zhǔn)值,指令提供修改量。變址尋址面向用戶,主要用于數(shù)組數(shù)組操作操作;基址尋址面向系統(tǒng),主要用于;基址尋址面向系統(tǒng),主要用于邏輯地址和物理地址的轉(zhuǎn)換邏輯地址和物理地址的轉(zhuǎn)換,解決程,解決程序在主存中的再定位和擴(kuò)大尋址空間的問題。序在主存中的再定位和擴(kuò)大尋址空間的問題。 通常把指令中的形式
31、地址作為基準(zhǔn)地通常把指令中的形式地址作為基準(zhǔn)地址,把變址寄存器的內(nèi)容作為修改量。需址,把變址寄存器的內(nèi)容作為修改量。需要頻繁修改地址時(shí)不必修改指令,只需修要頻繁修改地址時(shí)不必修改指令,只需修改變址寄存器。這對(duì)于數(shù)組運(yùn)算、字符串改變址寄存器。這對(duì)于數(shù)組運(yùn)算、字符串操作等成批數(shù)據(jù)處理是很有用的。操作等成批數(shù)據(jù)處理是很有用的。25Pentium尋址方式尋址方式 在實(shí)地址模式下,采用段尋址方式:將段寄存器內(nèi)容(在實(shí)地址模式下,采用段尋址方式:將段寄存器內(nèi)容(16位)左移位)左移4位位,低,低4位補(bǔ)位補(bǔ)0,到,到20位段基地址,再加上位段基地址,再加上16位段內(nèi)偏移,得位段內(nèi)偏移,得20位物理地址。位物
32、理地址。 在保護(hù)模式下,在保護(hù)模式下,32位段基地址加上段內(nèi)偏移得到位段基地址加上段內(nèi)偏移得到32位線性地址。由存位線性地址。由存儲(chǔ)管理部件將其轉(zhuǎn)換成儲(chǔ)管理部件將其轉(zhuǎn)換成32位的物理地址。位的物理地址。序序號(hào)號(hào)尋址方式名稱尋址方式名稱有效地址有效地址E算法算法說明說明(1)立即立即 操作數(shù)在指令中操作數(shù)在指令中(2)寄存器寄存器 操作數(shù)在寄存器中操作數(shù)在寄存器中(3)直接直接E = Disp Disp為偏移量為偏移量(4)基址基址E = (B) B為基址寄存器為基址寄存器(5)基址偏移量基址偏移量E = (B) + Disp(6)比例變址偏移量比例變址偏移量E = (I)*S + Disp S
33、為比例因子為比例因子(7)基址變址偏移量基址變址偏移量E = (B) + (I) + Disp(8)基址比例變址偏移量基址比例變址偏移量E = (B) + (I)*S + Disp(9)相對(duì)相對(duì)指令地址指令地址 = (PC) + Disp26 幾點(diǎn)說明:幾點(diǎn)說明: 立即數(shù)可以是立即數(shù)可以是8位,位,16位,位,32位。位。 寄存器尋址:通用寄存器可以為寄存器尋址:通用寄存器可以為8位、位、16位或位或32位。對(duì)位。對(duì)64位浮點(diǎn)數(shù),位浮點(diǎn)數(shù),要使用一對(duì)要使用一對(duì)32位寄存器。少數(shù)指令以段寄存器來實(shí)施寄存器尋址方式。位寄存器。少數(shù)指令以段寄存器來實(shí)施寄存器尋址方式。 直接尋址:偏移量長度可以是直接
34、尋址:偏移量長度可以是8位,位,16位,位,32位。位。 基址尋址:基址寄存器基址尋址:基址寄存器B可以是通用寄存器中任何一個(gè)??梢允峭ㄓ眉拇嫫髦腥魏我粋€(gè)。 基址偏移量尋址:基址寄存器基址偏移量尋址:基址寄存器B是是32位通用寄存器中任何一個(gè)。位通用寄存器中任何一個(gè)。 比例變址偏移量尋址:變址寄存器比例變址偏移量尋址:變址寄存器I是是32位通用寄存器中除位通用寄存器中除ESP外外的任何一個(gè)。的任何一個(gè)。I的內(nèi)容乘以比例因子的內(nèi)容乘以比例因子1,2,4或或8,再加上偏移量得到有效地址,再加上偏移量得到有效地址。 , 兩種尋址方式是,兩種尋址方式的組合,偏移量可有可無。兩種尋址方式是,兩種尋址方式
35、的組合,偏移量可有可無。 相對(duì)尋址:適用于相對(duì)尋址:適用于轉(zhuǎn)移控制類指令轉(zhuǎn)移控制類指令。用當(dāng)前指令指針寄存器。用當(dāng)前指令指針寄存器EIP或或IP的內(nèi)容(下一條指令地址)加上一個(gè)有符號(hào)偏移量,形成的內(nèi)容(下一條指令地址)加上一個(gè)有符號(hào)偏移量,形成CS段的段內(nèi)偏移。段的段內(nèi)偏移。27例例:一種二地址一種二地址RS型指令的結(jié)構(gòu)如下所示:型指令的結(jié)構(gòu)如下所示:6位位 4位位 1位位 2位位 16位位OP-通用寄存器通用寄存器IX偏移量偏移量D其中其中I為間接尋址標(biāo)志位,為間接尋址標(biāo)志位,X為尋址模式字段,為尋址模式字段,D位偏移量字段。通過位偏移量字段。通過I,X,D的組合,可構(gòu)成下表所示的尋址方式。
36、的組合,可構(gòu)成下表所示的尋址方式。 請(qǐng)寫出六種尋址方式的名稱。請(qǐng)寫出六種尋址方式的名稱。尋址方式尋址方式IX有效地址有效地址E算法算法說明說明(1)000E = D(2)001E = (PC) DPC為程序計(jì)數(shù)器為程序計(jì)數(shù)器(3)010E = (R2) DR2為變址寄存器為變址寄存器(4)111E = (R3)(5)100E = (D)(6)011E = (R1) DR1為基址寄存器為基址寄存器直接直接相對(duì)相對(duì)變址變址寄存器寄存器間接間接間接間接基址基址28例:例:某某16位機(jī)器有兩個(gè)位機(jī)器有兩個(gè)20位基址寄存器,四個(gè)位基址寄存器,四個(gè)16位變址寄存器,十六個(gè)位變址寄存器,十六個(gè)16位通用寄存
37、器。指令匯編格式中的位通用寄存器。指令匯編格式中的S,D都是通用寄存器,都是通用寄存器,M是主存中的一個(gè)是主存中的一個(gè)單元。三種指令的操作碼分別是單元。三種指令的操作碼分別是MOV (OP)(A)H ,STA (OP)(1B)H ,LDA (OP)(3C)H。MOV是傳送指令,是傳送指令,STA為寫數(shù)指令,為寫數(shù)指令,LDA為讀數(shù)指令。為讀數(shù)指令。 分析三種指令的指令格式與尋址方式特點(diǎn)。分析三種指令的指令格式與尋址方式特點(diǎn)。 分析三種指令的執(zhí)行時(shí)間。分析三種指令的執(zhí)行時(shí)間。 下列指令字是否正確?分別代表什么操作?下列指令字是否正確?分別代表什么操作? (F0F1)H (3CD2)H (2856
38、)H (6FD6)H (1C2)H29 分析三種指令的指令格式與尋址方式特點(diǎn)。分析三種指令的指令格式與尋址方式特點(diǎn)。都是雙地址指令,都是雙地址指令,MOV是是單字長單字長寄存器寄存器- -寄存器寄存器RR型,型,STA和和LDA是是雙字長雙字長寄存器寄存器- -存儲(chǔ)器存儲(chǔ)器RS型;型;MOV是寄存器尋址,是寄存器尋址,S和和D里面直接存放的是操作數(shù)里面直接存放的是操作數(shù)STA是變址尋址,有效地址是變址尋址,有效地址E=(S)+M,LDA是直接尋址,有效地址是直接尋址,有效地址E=M例例:某某16位機(jī)器有兩個(gè)位機(jī)器有兩個(gè)20位基址寄存器,四個(gè)位基址寄存器,四個(gè)16位變址寄存器,十六個(gè)位變址寄存器
39、,十六個(gè)16位通用寄存器。指令匯編格式中的位通用寄存器。指令匯編格式中的S,D都是通用寄存器,都是通用寄存器,M是主存中的一個(gè)是主存中的一個(gè)單元。三種指令的操作碼分別是單元。三種指令的操作碼分別是MOV (OP)(A)H ,STA (OP)(1B)H ,LDA (OP)(3C)H。MOV是傳送指令,是傳送指令,STA為寫數(shù)指令,為寫數(shù)指令,LDA為讀數(shù)指令。為讀數(shù)指令。30 分析三種指令的執(zhí)行時(shí)間。分析三種指令的執(zhí)行時(shí)間。MOV執(zhí)行速度最快,只要訪問兩次寄存器,執(zhí)行速度最快,只要訪問兩次寄存器,LDA其次,訪問其次,訪問1次寄存器和次寄存器和1次內(nèi)存,次內(nèi)存,STA最慢,除了訪問最慢,除了訪問
40、2次寄存器和次寄存器和1次內(nèi)存外,還需要做一次加法次內(nèi)存外,還需要做一次加法(S)+M例例:某某16位機(jī)器有兩個(gè)位機(jī)器有兩個(gè)20位基址寄存器,四個(gè)位基址寄存器,四個(gè)16位變址寄存器,十六個(gè)位變址寄存器,十六個(gè)16位通用寄存器。指令匯編格式中的位通用寄存器。指令匯編格式中的S,D都是通用寄存器,都是通用寄存器,M是主存中的一個(gè)是主存中的一個(gè)單元。三種指令的操作碼分別是單元。三種指令的操作碼分別是MOV (OP)(A)H ,STA (OP)(1B)H ,LDA (OP)(3C)H。MOV是傳送指令,是傳送指令,STA為寫數(shù)指令,為寫數(shù)指令,LDA為讀數(shù)指令。為讀數(shù)指令。31 下列指令字是否正確?分
41、別代表什么操作?下列指令字是否正確?分別代表什么操作? (F0F1)H (3CD2)H =(1111 0000 1111 0001 0011 1100 1101 0010) 2 (2856)H =(0010 1000 0101 0110)2 (6FD6)H =(0110 1111 1101 0110)2 (1C2)H =(0000 0001 1100 0010)2 為為LDA, 為為MOV, 不正確,不正確,OP為為STA,但只有,但只有16位,位, 不正確,不正確,無對(duì)應(yīng)的操作碼無對(duì)應(yīng)的操作碼例例:某某16位機(jī)器有兩個(gè)位機(jī)器有兩個(gè)20位基址寄存器,四個(gè)位基址寄存器,四個(gè)16位變址寄存器,十六
42、個(gè)位變址寄存器,十六個(gè)16位通用寄存器。指令匯編格式中的位通用寄存器。指令匯編格式中的S,D都是通用寄存器,都是通用寄存器,M是主存中的一是主存中的一個(gè)單元。三種指令的操作碼分別是個(gè)單元。三種指令的操作碼分別是MOV (OP)(A)H ,STA (OP)(1B)H ,LDA (OP)(3C)H。MOV是傳送指令,是傳送指令,STA為寫數(shù)指令,為寫數(shù)指令,LDA為讀數(shù)指令。為讀數(shù)指令。MOV (OP)(A)H=(001010)2 STA (OP)(1B)H =( 011011)2,LDA (OP)(3C)H=(111100)232總線帶寬:總線帶寬: 單位時(shí)間內(nèi)總線上可傳送的數(shù)據(jù)量。通常用兆字節(jié)
43、數(shù)單位時(shí)間內(nèi)總線上可傳送的數(shù)據(jù)量。通常用兆字節(jié)數(shù)/秒(秒(MB/s)表示)表示。實(shí)際帶寬受到總線布線長度、總線驅(qū)動(dòng)器。實(shí)際帶寬受到總線布線長度、總線驅(qū)動(dòng)器/接收器性能、連接在總線上的接收器性能、連接在總線上的模塊數(shù)等因素的影響,這些因素造成信號(hào)在總線上的延時(shí)和畸變,使總線的模塊數(shù)等因素的影響,這些因素造成信號(hào)在總線上的延時(shí)和畸變,使總線的最高數(shù)據(jù)傳輸速率受到限制。最高數(shù)據(jù)傳輸速率受到限制??偩€位寬:總線位寬: 總線上能同時(shí)傳送的數(shù)據(jù)位數(shù)。如總線上能同時(shí)傳送的數(shù)據(jù)位數(shù)。如1位、位、8位、位、16位、位、32位等。位等??偩€工作頻率:總線工作頻率: 用于控制總線操作周期的時(shí)鐘信號(hào)的頻率。通常用用于
44、控制總線操作周期的時(shí)鐘信號(hào)的頻率。通常用MHz表示。表示。 這三個(gè)參數(shù)的關(guān)系如下:這三個(gè)參數(shù)的關(guān)系如下:總線帶寬總線位寬總線帶寬總線位寬總線工作頻率總線工作頻率總線的性能指標(biāo)總線的性能指標(biāo)33例例1 (1)某總線在一個(gè)總線周期中并行傳送)某總線在一個(gè)總線周期中并行傳送4個(gè)字個(gè)字節(jié)的數(shù)據(jù),假設(shè)一個(gè)總線周期等于一個(gè)總線時(shí)鐘周期,節(jié)的數(shù)據(jù),假設(shè)一個(gè)總線周期等于一個(gè)總線時(shí)鐘周期,總線時(shí)鐘頻率為總線時(shí)鐘頻率為33MHz,總線帶寬是多少,總線帶寬是多少?(2)如果一個(gè)總線周期中并行傳送)如果一個(gè)總線周期中并行傳送64位數(shù)據(jù),總線位數(shù)據(jù),總線時(shí)鐘頻率升為時(shí)鐘頻率升為66MHz,總線帶寬是多少,總線帶寬是多少
45、?解:解:(1)設(shè)總線帶寬用)設(shè)總線帶寬用Dr表示,總線時(shí)鐘周期用表示,總線時(shí)鐘周期用T=1/f表表示,一個(gè)總線周期傳送的數(shù)據(jù)量用示,一個(gè)總線周期傳送的數(shù)據(jù)量用D表示,根據(jù)定義表示,根據(jù)定義可得可得 Dr=D/T=D(1/T)=Df=4B33106/s=132MB/s(2)64位位=8B Dr=Df=8B66106/s=528MB/s34總線的連接方式總線的連接方式 單機(jī)系統(tǒng)中采用的總線結(jié)構(gòu)有兩種基本類型單機(jī)系統(tǒng)中采用的總線結(jié)構(gòu)有兩種基本類型:(1)(1)單總線結(jié)構(gòu);單總線結(jié)構(gòu);(2) (2) 多多總線結(jié)構(gòu)??偩€結(jié)構(gòu)。(1) 單總線結(jié)構(gòu)單總線結(jié)構(gòu) 在許多單處理器的計(jì)算機(jī)中,使用一條單一的系統(tǒng)總
46、線來連接在許多單處理器的計(jì)算機(jī)中,使用一條單一的系統(tǒng)總線來連接CPU、主、主存和存和I/O設(shè)備,叫做單總線結(jié)構(gòu)。設(shè)備,叫做單總線結(jié)構(gòu)。此時(shí)要求連接到總線上的邏輯部件必須高速運(yùn)行,以便在某些設(shè)備需要此時(shí)要求連接到總線上的邏輯部件必須高速運(yùn)行,以便在某些設(shè)備需要使用總線時(shí)能迅速獲得總線控制權(quán);而當(dāng)不再使用總線時(shí),能迅速放棄總線使用總線時(shí)能迅速獲得總線控制權(quán);而當(dāng)不再使用總線時(shí),能迅速放棄總線控制權(quán)。控制權(quán)。35取指令:取指令:當(dāng)當(dāng)CPU取一條指令時(shí),首先把程序計(jì)數(shù)器取一條指令時(shí),首先把程序計(jì)數(shù)器PC中的地址同控制信息中的地址同控制信息一起送至總線上。在一起送至總線上。在“取指令取指令”情況下的地址
47、是主存地址情況下的地址是主存地址,此時(shí)該地址所指此時(shí)該地址所指定的主存單元的內(nèi)容一定是一條指令,而且將被傳送給定的主存單元的內(nèi)容一定是一條指令,而且將被傳送給CPU。傳送數(shù)據(jù):傳送數(shù)據(jù):取出指令之后,取出指令之后,CPU將檢查操作碼。操作碼規(guī)定了對(duì)數(shù)據(jù)要執(zhí)行將檢查操作碼。操作碼規(guī)定了對(duì)數(shù)據(jù)要執(zhí)行什么操作,以及數(shù)據(jù)是流進(jìn)什么操作,以及數(shù)據(jù)是流進(jìn)CPU還是流出還是流出CPU。I/O操作:操作:CPU把指令的地址字段放到總線上,如果該指令地址字段對(duì)應(yīng)的把指令的地址字段放到總線上,如果該指令地址字段對(duì)應(yīng)的是外圍設(shè)備地址,則外圍設(shè)備譯碼器予以響應(yīng),從而在是外圍設(shè)備地址,則外圍設(shè)備譯碼器予以響應(yīng),從而在C
48、PU和與該地址所對(duì)和與該地址所對(duì)應(yīng)的外圍設(shè)備之間發(fā)生數(shù)據(jù)傳送,而數(shù)據(jù)傳送的方向由指令操作碼決定。應(yīng)的外圍設(shè)備之間發(fā)生數(shù)據(jù)傳送,而數(shù)據(jù)傳送的方向由指令操作碼決定。DMA (Direct Memory Access,直接存儲(chǔ)器訪問,直接存儲(chǔ)器訪問) 操作操作: 某些外圍設(shè)備也可某些外圍設(shè)備也可以指定地址。以指定地址。 如果一個(gè)由外圍設(shè)備指定的地址對(duì)應(yīng)于一個(gè)主存單元,則主如果一個(gè)由外圍設(shè)備指定的地址對(duì)應(yīng)于一個(gè)主存單元,則主存予以響應(yīng),于是在主存和外設(shè)間將進(jìn)行直接存儲(chǔ)器傳送存予以響應(yīng),于是在主存和外設(shè)間將進(jìn)行直接存儲(chǔ)器傳送(DMA)。擴(kuò)展成多擴(kuò)展成多CPU系統(tǒng):系統(tǒng):只要在系統(tǒng)總線上掛接多個(gè)只要在系統(tǒng)
49、總線上掛接多個(gè)CPU即可。即可。36(2) 多總線結(jié)構(gòu)多總線結(jié)構(gòu) CPU和和cache之間采用高速的之間采用高速的CPU總線總線,主存連接在,主存連接在系統(tǒng)總線系統(tǒng)總線,高速總高速總線線上可以連接高速上可以連接高速LAN(100Mb/s局域網(wǎng))、視頻接口、圖形接口、局域網(wǎng))、視頻接口、圖形接口、SCSI接接口、口、Firewire接口。通過接口。通過橋橋,CPU總線、系統(tǒng)總線和高速總線彼此相連。橋總線、系統(tǒng)總線和高速總線彼此相連。橋?qū)嵸|(zhì)上是一種具有緩沖、轉(zhuǎn)換、控制功能的邏輯電路。高速總線通過擴(kuò)充總實(shí)質(zhì)上是一種具有緩沖、轉(zhuǎn)換、控制功能的邏輯電路。高速總線通過擴(kuò)充總線接口與線接口與擴(kuò)充總線擴(kuò)充總線
50、相連,擴(kuò)充總線上可以連接串行方式工作的相連,擴(kuò)充總線上可以連接串行方式工作的I/O設(shè)備。多設(shè)備。多總線結(jié)構(gòu)體現(xiàn)了高速、中速、低速設(shè)備連接到不同的總線上同時(shí)進(jìn)行工作,總線結(jié)構(gòu)體現(xiàn)了高速、中速、低速設(shè)備連接到不同的總線上同時(shí)進(jìn)行工作,以提高總線的效率和吞吐量,而且處理器結(jié)構(gòu)的變化不影響高速總線。以提高總線的效率和吞吐量,而且處理器結(jié)構(gòu)的變化不影響高速總線。37總線結(jié)構(gòu)的優(yōu)點(diǎn)總線結(jié)構(gòu)的優(yōu)點(diǎn)(1)簡化了硬件的設(shè)計(jì)。從硬件的角度看,總線結(jié)構(gòu)是由總線接口代替了專簡化了硬件的設(shè)計(jì)。從硬件的角度看,總線結(jié)構(gòu)是由總線接口代替了專門的門的I/O接口,由總線規(guī)范給出了傳輸線和信號(hào)的規(guī)定,并對(duì)存儲(chǔ)器、接口,由總線規(guī)范
51、給出了傳輸線和信號(hào)的規(guī)定,并對(duì)存儲(chǔ)器、I/O設(shè)設(shè)備和備和CPU如何掛在總線上都作了具體的規(guī)定,所以,面向總線的微型計(jì)算機(jī)如何掛在總線上都作了具體的規(guī)定,所以,面向總線的微型計(jì)算機(jī)設(shè)計(jì)只要按照這些規(guī)定制作設(shè)計(jì)只要按照這些規(guī)定制作CPU插件、存儲(chǔ)器插件以及插件、存儲(chǔ)器插件以及I/O插件等,將它們插件等,將它們連入總線即可工作,而不必考慮總線的詳細(xì)操作。連入總線即可工作,而不必考慮總線的詳細(xì)操作。(2)簡化了系統(tǒng)結(jié)構(gòu)。整個(gè)系統(tǒng)結(jié)構(gòu)清晰,連線少,底板連線可以印刷化。簡化了系統(tǒng)結(jié)構(gòu)。整個(gè)系統(tǒng)結(jié)構(gòu)清晰,連線少,底板連線可以印刷化。(3)系統(tǒng)擴(kuò)充性好。一是規(guī)模擴(kuò)充,二是功能擴(kuò)充。規(guī)模擴(kuò)充僅僅需要多插系統(tǒng)擴(kuò)充
52、性好。一是規(guī)模擴(kuò)充,二是功能擴(kuò)充。規(guī)模擴(kuò)充僅僅需要多插一些同類型的插件;功能擴(kuò)充僅僅需要按總線標(biāo)準(zhǔn)設(shè)計(jì)一些新插件。插件插一些同類型的插件;功能擴(kuò)充僅僅需要按總線標(biāo)準(zhǔn)設(shè)計(jì)一些新插件。插件插入機(jī)器的位置往往沒有嚴(yán)格的限制。這就使系統(tǒng)擴(kuò)充既簡單又快速可靠,而入機(jī)器的位置往往沒有嚴(yán)格的限制。這就使系統(tǒng)擴(kuò)充既簡單又快速可靠,而且也便于查錯(cuò)。且也便于查錯(cuò)。(4)系統(tǒng)更新性能好。因?yàn)橄到y(tǒng)更新性能好。因?yàn)镃PU、存儲(chǔ)器、存儲(chǔ)器、I/O接口等都是按總線規(guī)約掛到總接口等都是按總線規(guī)約掛到總線上的,因而只要總線設(shè)計(jì)恰當(dāng),可以隨時(shí)隨著處理器芯片以及其他有關(guān)芯線上的,因而只要總線設(shè)計(jì)恰當(dāng),可以隨時(shí)隨著處理器芯片以及其他
53、有關(guān)芯片的進(jìn)展設(shè)計(jì)新的插件,新的插件插到底板上對(duì)系統(tǒng)進(jìn)行更新,其他插件和片的進(jìn)展設(shè)計(jì)新的插件,新的插件插到底板上對(duì)系統(tǒng)進(jìn)行更新,其他插件和底板連線一般不需更改。底板連線一般不需更改。38 連接到總線上的功能模塊有主動(dòng)和被動(dòng)兩種形態(tài)。連接到總線上的功能模塊有主動(dòng)和被動(dòng)兩種形態(tài)。主方主方可以啟動(dòng)一個(gè)總可以啟動(dòng)一個(gè)總線周期,而線周期,而從方從方只能響應(yīng)主方的請(qǐng)求。每次總線操作,只能響應(yīng)主方的請(qǐng)求。每次總線操作,只能有一個(gè)主方只能有一個(gè)主方占用占用總線控制權(quán),但同一時(shí)刻可以有一個(gè)或多個(gè)從方??偩€控制權(quán),但同一時(shí)刻可以有一個(gè)或多個(gè)從方。為了解決多個(gè)主設(shè)備同時(shí)為了解決多個(gè)主設(shè)備同時(shí)競爭競爭總線控制權(quán),必須
54、具有總線仲裁部件,以總線控制權(quán),必須具有總線仲裁部件,以某種方式選擇其中一個(gè)主設(shè)備作為總線的下一次主方。對(duì)多個(gè)主設(shè)備提出的某種方式選擇其中一個(gè)主設(shè)備作為總線的下一次主方。對(duì)多個(gè)主設(shè)備提出的占用總線請(qǐng)求,一般采用優(yōu)先級(jí)或公平策略進(jìn)行仲裁。例如,在多處理器系占用總線請(qǐng)求,一般采用優(yōu)先級(jí)或公平策略進(jìn)行仲裁。例如,在多處理器系統(tǒng)中對(duì)各統(tǒng)中對(duì)各CPU模塊的總線請(qǐng)求采用公平的原則來處理,而對(duì)模塊的總線請(qǐng)求采用公平的原則來處理,而對(duì)I/O模塊的總線模塊的總線請(qǐng)求采用優(yōu)先級(jí)策略。請(qǐng)求采用優(yōu)先級(jí)策略。 總線占用期:主方持續(xù)控制總線的時(shí)間總線占用期:主方持續(xù)控制總線的時(shí)間 按照總線仲裁電路的位置不同,仲裁方式分為
55、按照總線仲裁電路的位置不同,仲裁方式分為集中式集中式仲裁和仲裁和分布式分布式仲裁仲裁兩類。兩類。總線仲裁總線仲裁39集中式仲裁集中式仲裁 集中式仲裁中每個(gè)功能模塊有兩條線連到總線仲裁器:一條是送往仲裁集中式仲裁中每個(gè)功能模塊有兩條線連到總線仲裁器:一條是送往仲裁器的總線請(qǐng)求信號(hào)線器的總線請(qǐng)求信號(hào)線BR,一條是仲裁器送出的總線授權(quán)信號(hào)線,一條是仲裁器送出的總線授權(quán)信號(hào)線BG。鏈?zhǔn)讲樵兎绞剑烘準(zhǔn)讲樵兎绞剑篈表示地址線,表示地址線,D表示數(shù)據(jù)線。表示數(shù)據(jù)線。BS線為線為1表示總線忙。表示總線忙。 總線授權(quán)信號(hào)總線授權(quán)信號(hào)BG串行地從一個(gè)串行地從一個(gè)I/O接口傳送到下一個(gè)接口傳送到下一個(gè)I/O接口。假
56、如接口。假如BG到達(dá)的接口無總線請(qǐng)求,則繼續(xù)往下查詢;假如到達(dá)的接口無總線請(qǐng)求,則繼續(xù)往下查詢;假如BG到達(dá)的接口有總線請(qǐng)求到達(dá)的接口有總線請(qǐng)求,BG信號(hào)不再往下查詢,該信號(hào)不再往下查詢,該I/O接口就獲得了總線的控制權(quán)。接口就獲得了總線的控制權(quán)。 查詢鏈中離總線仲裁器最近的設(shè)備具有最高的優(yōu)先級(jí),離總線仲裁器越查詢鏈中離總線仲裁器最近的設(shè)備具有最高的優(yōu)先級(jí),離總線仲裁器越遠(yuǎn),優(yōu)先級(jí)越低。遠(yuǎn),優(yōu)先級(jí)越低。40 鏈?zhǔn)讲樵兎绞降膬?yōu)點(diǎn):邏輯上和物理實(shí)現(xiàn)上都很簡單,只用很少幾根線鏈?zhǔn)讲樵兎绞降膬?yōu)點(diǎn):邏輯上和物理實(shí)現(xiàn)上都很簡單,只用很少幾根線就能按一定優(yōu)先次序?qū)崿F(xiàn)總線仲裁,與設(shè)備數(shù)無關(guān)。易于擴(kuò)充,增加設(shè)備
57、時(shí)就能按一定優(yōu)先次序?qū)崿F(xiàn)總線仲裁,與設(shè)備數(shù)無關(guān)。易于擴(kuò)充,增加設(shè)備時(shí),只需,只需“掛到掛到”總線上即可??偩€上即可。 鏈?zhǔn)讲樵兎绞降娜秉c(diǎn):對(duì)查詢鏈的電路故障很敏感,如果第鏈?zhǔn)讲樵兎绞降娜秉c(diǎn):對(duì)查詢鏈的電路故障很敏感,如果第i個(gè)設(shè)備的接個(gè)設(shè)備的接口中有關(guān)鏈的電路有故障,那么第口中有關(guān)鏈的電路有故障,那么第i個(gè)以后的設(shè)備都不能進(jìn)行工作。查詢鏈的個(gè)以后的設(shè)備都不能進(jìn)行工作。查詢鏈的優(yōu)先級(jí)是固定的,如果優(yōu)先級(jí)高的設(shè)備出現(xiàn)頻繁的請(qǐng)求時(shí),優(yōu)先級(jí)較低的設(shè)優(yōu)先級(jí)是固定的,如果優(yōu)先級(jí)高的設(shè)備出現(xiàn)頻繁的請(qǐng)求時(shí),優(yōu)先級(jí)較低的設(shè)備可能長期不能使用總線,會(huì)出現(xiàn)備可能長期不能使用總線,會(huì)出現(xiàn)“餓死餓死”現(xiàn)象。現(xiàn)象。 鏈?zhǔn)讲樵兎绞揭步凶鼍栈ㄦ湶樵兎绞?。鏈?zhǔn)讲樵兎绞揭步凶鼍栈ㄦ湶樵兎绞健?11 1、BS表示什么含義?它與表示什么含義?它與Ci占用總線有什么關(guān)系?占用總線有什么關(guān)系?2 2、T2T1的原因是什么?的原因是什么?3 3、t3時(shí)刻當(dāng)時(shí)刻當(dāng)C0占用總線時(shí),占用總線時(shí),BR變?yōu)樽優(yōu)? 0,而,而t4、t5時(shí)刻,時(shí)刻,當(dāng)當(dāng)C1占用總線時(shí),占用總線時(shí),BR卻沒有變?yōu)閰s沒有變?yōu)? 0,原因是什么?,原因是什么?T1T2t3t4t542計(jì)數(shù)器定時(shí)查詢方式:計(jì)數(shù)器定時(shí)查詢方式:總線上的任一設(shè)備要求使用總線時(shí),通過總線上的任一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 印刷月結(jié)協(xié)議合同范本
- 合同主體變更補(bǔ)充合同范本
- 動(dòng)遷出售合同范例
- 合陽房子出租合同范本
- 不規(guī)則車位轉(zhuǎn)讓合同范本
- 水果存儲(chǔ)合同范本
- 公寓降價(jià)出租合同范例
- 農(nóng)田承包中介合同范本
- 發(fā)廊出兌合同范本
- 商務(wù)外貿(mào)合同范本
- 理療課件教學(xué)課件
- 2024解析:第十二章滑輪-講核心(解析版)
- 《非精密進(jìn)近》課件
- 人教PEP版(一起)(2024)一年級(jí)上冊(cè)英語全冊(cè)教案(單元整體教學(xué)設(shè)計(jì))
- 2024 年下半年數(shù)學(xué)一年級(jí)數(shù)學(xué)思維挑戰(zhàn)試卷
- 網(wǎng)絡(luò)試運(yùn)行方案
- 艾滋病信息管理制度
- 語文修改語病-五年(高考2020至2024)修改病句真題詳盡解析
- 2024年中國木制床頭柜市場調(diào)查研究報(bào)告
- 2024-2025學(xué)年新教材高中化學(xué) 第三章 鐵 金屬材料 2.1 合金說課稿 新人教版必修1
- 浙江省杭州市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試數(shù)學(xué)試題(含答案)
評(píng)論
0/150
提交評(píng)論