第2章微處理器_第1頁(yè)
第2章微處理器_第2頁(yè)
第2章微處理器_第3頁(yè)
第2章微處理器_第4頁(yè)
第2章微處理器_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

第2章Intel8086微處理器的結(jié)構(gòu)18086CPU是16位微處理器,即CPU內(nèi)外數(shù)據(jù)總線為16位,一個(gè)總線周期可以傳送一個(gè)字(16位)數(shù)據(jù)。8088CPU是準(zhǔn)16位微處理器,CPU內(nèi)部數(shù)據(jù)總線為16位,外部數(shù)據(jù)總線為8位,一個(gè)總線周期只能傳送一個(gè)字節(jié)(8位)。兩者的內(nèi)部結(jié)構(gòu)基本上是相同的,其地址引腳為20位,可尋址1MB主存空間。8086/8088CPU采用較先進(jìn)的指令流水線結(jié)構(gòu),將取指令與執(zhí)行指令的功能分別交給兩個(gè)獨(dú)立的部件實(shí)現(xiàn),即總線接口部件(BIU)與執(zhí)行部件(EU)。2一、執(zhí)行單元與總線接口單元(8086CPU)注:8086CPU數(shù)據(jù)總線16位,指令隊(duì)列為6個(gè)字節(jié);8088CPU數(shù)據(jù)總線8位,指令隊(duì)列為4個(gè)字節(jié)。3(一)總線接口單元BIU(BusInterfaceUnit)功能:負(fù)責(zé)與Memory、I/O端口傳送數(shù)據(jù)。取指令時(shí),從存儲(chǔ)器指定地址取出指令送入指令隊(duì)列排隊(duì)。執(zhí)行指令時(shí),根據(jù)EU命令對(duì)指定存儲(chǔ)器單元或I/O端口存取數(shù)據(jù)。

組成:4個(gè)段地址寄存器(CS、DS、ES、SS)16位指令指針寄存器IP20位的地址加法器(16d

段地址+偏移地址=物理地址)6字節(jié)(8086)或4字節(jié)(8088)的指令隊(duì)列總線控制電路:處理器與外界總線聯(lián)系的轉(zhuǎn)接電路。包括三組總線:20位地址總線,8位(8086)/16位(8086)雙向數(shù)據(jù)總線,一組控制總線。4(二)執(zhí)行單元EU(

ExecutionUnit)

執(zhí)行部件的功能就是負(fù)責(zé)從指令隊(duì)列取指令并執(zhí)行,執(zhí)行部件由下列幾個(gè)部分組成:(1)4個(gè)數(shù)據(jù)寄存器,即AX、BX、CX、DX;(2)4個(gè)指針、變址寄存器:SP,BP,DI,SI;(3)標(biāo)志寄存器FR;(4)算術(shù)邏輯單元ALU。5(三)流水線工作方式8086/8088取指部分與執(zhí)行部分是分開的。在一條指令的執(zhí)行過(guò)程中可以取出下一條(或多條)指令,指令在指令隊(duì)列中排隊(duì);在一條指令執(zhí)行完成后,就可以立即執(zhí)行下一條指令,減少CPU為取指令而等待的時(shí)間,提高CPU的利用率和整個(gè)運(yùn)行速度。8086/8088微處理器:BIU和EU分開,取指和執(zhí)行可以重迭,大大減少了等待取指所需的時(shí)間,提高CPU的利用率。6圖2-38086的執(zhí)行順序7大家應(yīng)該也有點(diǎn)累了,稍作休息大家有疑問(wèn)的,可以詢問(wèn)和交流8二、8086/8088的寄存器結(jié)構(gòu)AHALBHBLCHCLDHDLSPBPSIDIIPFLAGSCSDSSSES通用寄存器組累加器基址寄存器計(jì)數(shù)寄存器數(shù)據(jù)寄存器堆棧指針基址指針源變址寄存器目的變址寄存器指令指針標(biāo)志寄存器代碼段寄存器數(shù)據(jù)段寄存器堆棧段寄存器附加段寄存器數(shù)據(jù)寄存器地址指針、變址寄存器控制寄存器段寄存器15870AXBXCXDX9二、8086/8088的寄存器結(jié)構(gòu)1、通用寄存器 :

數(shù)據(jù)寄存器、地址指針寄存器、變址寄存器數(shù)據(jù)寄存器包括:AX、BX、CX、DX地址指針寄存器包括:SP、BP變址寄存器包括:SI、DI2、段寄存器:CS、SS、DS、ES3、控制寄存器:IP、FLAGS10圖2-58086通用寄存器11(1)數(shù)據(jù)寄存器AX:(Accumulator)作為累加器。它是算術(shù)運(yùn)算的主要寄存器,所有I/O指令都使用這一寄存器與外部設(shè)備交換數(shù)據(jù)。BX:Base用作基址寄存器使用。在計(jì)算內(nèi)存儲(chǔ)器地址時(shí),經(jīng)常用來(lái)存放基址。CX:Count可以作計(jì)數(shù)寄存器使用。 在循環(huán)LOOP指令和串處理指令中用作隱含計(jì)數(shù)器。DX:Data可以作為數(shù)據(jù)寄存器使用。一般在雙字長(zhǎng)乘除法運(yùn)算時(shí),把DX和AX組合在一起存放一個(gè)雙字長(zhǎng)(32位)數(shù),DX用來(lái)存放高16位;對(duì)某些I/O操作DX可用來(lái)存放I/O的端口地址(口地址

256)。1.通用寄存器12(2)地址指針與變址寄存器SP、BP、SI、DI

四個(gè)16位寄存器。以字為單位在運(yùn)算過(guò)程中存放操作數(shù),經(jīng)常用以在段內(nèi)尋址時(shí)提供偏移地址。SP(stackpointer)——堆棧指針寄存器用來(lái)指示棧頂?shù)钠频刂?必須與SS段寄存器聯(lián)合使用確定實(shí)際地址。BP(basepointer)——基址指針寄存器可以與SS寄存器聯(lián)合使用來(lái)確定堆棧段中某一存儲(chǔ)器單元地址。變址寄存器(SI、DI)SI——SourceIndexRegister源變址寄存器。DI——DestinationIndex目的變址寄存器。使用場(chǎng)合:常用于變址尋址。一般與DS聯(lián)用,用來(lái)確定數(shù)據(jù)段中某一存儲(chǔ)單元的地址。串操作中,[DS:SI]尋址源操作數(shù),[ES:DI]尋址目的操作數(shù),SI、DI具有自動(dòng)增量和自動(dòng)減量功能.1.通用寄存器132.段寄存器段寄存器(CS、DS、SS和ES)保存16位段基址。①CS(代碼段寄存器):代碼段用來(lái)存放程序的指令代碼序列,CS用來(lái)存放當(dāng)前代碼段段首址的高16位,即段基值。②DS(數(shù)據(jù)段寄存器):數(shù)據(jù)段用來(lái)存放程序的有關(guān)數(shù)據(jù),DS用來(lái)存放數(shù)據(jù)段的段基值。③SS(堆棧段寄存器):堆棧段用來(lái)存放按后進(jìn)先出順序存取的信息,SS用來(lái)存放堆棧段的段基值。④ES(附加段寄存器):附加段常用來(lái)存放運(yùn)行結(jié)果或輔助數(shù)據(jù),ES用來(lái)存放附加段的段基值。14圖2-6在分段存儲(chǔ)模式中的段寄存器153.FLAGS寄存器共有9個(gè)標(biāo)志位16標(biāo)志寄存器---狀態(tài)標(biāo)志位用來(lái)記錄程序中運(yùn)行結(jié)果的狀態(tài)信息,作為后續(xù)條件轉(zhuǎn)移指令的轉(zhuǎn)移控制條件。狀態(tài)標(biāo)志位(條件碼)包括6位:CF、PF、AF、ZF、SF、OF。① OF(OverflowFlag)溢出標(biāo)志(一般指帶符號(hào)數(shù)的補(bǔ)碼溢出)OF=1:在帶符號(hào)數(shù)運(yùn)算過(guò)程中,結(jié)果超過(guò)了機(jī)器表示的范圍,稱為溢出。OF=0:在帶符號(hào)數(shù)運(yùn)算過(guò)程中,結(jié)果未超過(guò)機(jī)器表示范圍,稱為無(wú)溢出。字節(jié)允許范圍-128—+127,字運(yùn)算范圍-32768—+32767。② SF(SignFlag)符號(hào)標(biāo)志SF=1:記錄運(yùn)算結(jié)果的符號(hào)為負(fù)。SF=0:記錄運(yùn)算結(jié)果的符號(hào)為正。③ ZF(ZeroFlag)零標(biāo)志ZF=1:運(yùn)算結(jié)果為0。ZF=0:運(yùn)算結(jié)果不為0。17標(biāo)志寄存器--狀態(tài)標(biāo)志位④ CF(CarryFlag)進(jìn)位標(biāo)志CF=1:記錄運(yùn)算時(shí)從最高有效位產(chǎn)生進(jìn)位或借位。CF=0:記錄運(yùn)算時(shí)從最高有效位不產(chǎn)生進(jìn)位/借位。⑤AF(AuxiliaryCarryFlag)輔助進(jìn)位標(biāo)志AF=1:記錄運(yùn)算時(shí)D3位(半個(gè)字節(jié))產(chǎn)生進(jìn)位或借位。AF=0:記錄運(yùn)算時(shí)D3位(半個(gè)字節(jié))不產(chǎn)生進(jìn)位或借位。⑥PF(ParityFlag)奇偶標(biāo)志PF=1:結(jié)果操作數(shù)低8位中有偶數(shù)個(gè)1。PF=0:結(jié)果操作數(shù)低8位中有奇數(shù)個(gè)1。用來(lái)為機(jī)器中傳送信息時(shí)可能產(chǎn)生的誤碼提供檢驗(yàn)條件。18標(biāo)志寄存器--控制標(biāo)志位對(duì)控制標(biāo)志位進(jìn)行設(shè)置后,對(duì)其后的操作起控制作用??刂茦?biāo)志位包括3位:TF、IF、DF。跟蹤(陷阱)標(biāo)志TF、中斷標(biāo)志IF、方向標(biāo)志DF。TF(TrapFlag)跟蹤(陷阱)標(biāo)志位TF=1,每執(zhí)行一條指令后,自動(dòng)產(chǎn)生一次內(nèi)部中斷,使CPU處于單步執(zhí)行指令工作方式,便于進(jìn)行程序調(diào)試,用戶能檢查程序。TF=0,CPU正常工作,不產(chǎn)生陷阱。IF(InteruptFlag)中斷標(biāo)志位IF=1,允許外部可屏蔽中斷。CPU可以響應(yīng)可屏蔽中斷請(qǐng)求。IF=0,關(guān)閉中斷。CPU禁止響應(yīng)可屏蔽中斷請(qǐng)求。IF的狀態(tài)對(duì)不可屏蔽中斷和內(nèi)部軟中斷沒(méi)有影響。DF(DirectionFlag)方向標(biāo)志位DF=1,每次串處理操作后使變址寄存器SI和DI減量,使串處理從高地址向低地址方向處理。DF=0,每次串處理操作后使變址寄存器SI和DI增量,使串處理從低地址向高地址方向處理。DF方向標(biāo)志位是在串處理指令中控制處理信息的方向用的。19

例如,在字節(jié)運(yùn)算時(shí):MOV AL,64HADD AL,64H即

D7位向前無(wú)進(jìn)位,故運(yùn)算后CF

=

0;但運(yùn)算結(jié)果超過(guò)了+127,此時(shí),溢出標(biāo)志位OF

=

1;ZF=0;SF=1;PF=0,AF=020

在字節(jié)運(yùn)算時(shí):MOV AL,0ABHADD AL,0FFB即D7位向前有進(jìn)位,故運(yùn)算后CF

=

1,但運(yùn)算的結(jié)果未小于?128,此時(shí),溢出標(biāo)志位OF

=

0。SF=1ZF=0AF=1PF=121三.8086CPU的引腳特性8086CPU采用雙列直插式的封裝形式,具有40條引腳,見(jiàn)右圖。它采用分時(shí)復(fù)用的地址/數(shù)據(jù)總線,所以有一部分引腳具有雙重功能,即在不同時(shí)鐘周期內(nèi),引腳的作用不同。8086的引腳信號(hào)(括號(hào)中為最大模式下的名稱)返回本節(jié)22對(duì)于8086的引腳信號(hào),首先應(yīng)注意以下幾點(diǎn):1.GND,VCC:第1,20腳為地;第40腳為外接電源端。2.AD15—AD0:復(fù)用的地址/數(shù)據(jù)總線,雙向工作.在CPU響應(yīng)中斷以及系統(tǒng)總線“保持響應(yīng)”時(shí),被置為懸浮狀態(tài)。且常將AD0作為低8位數(shù)據(jù)的選通信號(hào)。3.A19/S6—A16/S3:地址/狀態(tài)復(fù)用引腳,輸出。在時(shí)鐘周期的T1狀態(tài),輸出高4位地址信息,在其它狀態(tài),輸出狀態(tài)信息。4.BHE/S7:高八位數(shù)據(jù)總線允許/狀態(tài)復(fù)用引腳,輸出。在T1狀態(tài),輸出BHE信息,為0時(shí)表示高八位數(shù)據(jù)線D15—D8上的數(shù)據(jù)有效。在其它狀態(tài),輸出狀態(tài)信息S7。23

5.NMI:非屏蔽中斷輸入引腳,非屏蔽中斷信號(hào)是一個(gè)上升沿有效信號(hào),它一旦接收到一個(gè)上升沿有效信號(hào),CPU就會(huì)在結(jié)束當(dāng)前指令后,執(zhí)行2號(hào)中斷服務(wù)程序。6.INTR:可屏蔽中斷輸入引腳,CPU在執(zhí)行每條指令的最后一個(gè)時(shí)鐘周期會(huì)對(duì)INTR信號(hào)采樣,如果IF為1,且INTR為高電平信號(hào),CPU就會(huì)在結(jié)束當(dāng)前指令后,執(zhí)行一個(gè)相應(yīng)的中斷服務(wù)子程序。7.RD:讀信號(hào)輸出,低電平有效時(shí),指出將要執(zhí)行一個(gè)對(duì)內(nèi)存或I/O端口的讀操作。在執(zhí)行一個(gè)讀操作的總線周期中,RD在T2,T3,TW狀態(tài)均為低電平,在系統(tǒng)總線進(jìn)入“保持響應(yīng)”期間,為高阻態(tài)。8.CLK:時(shí)鐘輸入。對(duì)時(shí)鐘信號(hào)的占空比有要求。24

9.RESET:復(fù)位信號(hào)輸入,高電平有效,且要求至少維持4個(gè)時(shí)鐘周期以上的高電平才有效。10.READY:“準(zhǔn)備好”信號(hào)輸入。CPU在每個(gè)總線周期的T3狀態(tài)之前對(duì)其采樣,如為低電平,則在T3之后插入等待狀態(tài)TW,直到其變?yōu)楦唠娖胶?,才進(jìn)入T4狀態(tài)。11.TEST:測(cè)試信號(hào)輸入端。低電平有效。在CPU執(zhí)行WAIT指令時(shí),當(dāng)TEST為有效低電平時(shí),結(jié)束等待狀態(tài),繼續(xù)執(zhí)行被暫停的程序。

12.MN/MX:最小/最大模式控制信號(hào)輸入。接+5V,則CPU工作于最小模式,接地,則工作于最大模式。258086與8088CPU的主要區(qū)別1.8086CPU的指令對(duì)列有6個(gè)字節(jié),而8088只有4個(gè)字節(jié).2.8086/8088的地址/數(shù)據(jù)總線是分時(shí)復(fù)用的。而8086與8088又是有差別的(8088是內(nèi)16外8,所以只有8條復(fù)用的地址/數(shù)據(jù)總線。

___3.8086的28腳為M/IO,而8088為IO/M.______4.8086的34腳為BHE,8088為SS0.26四、8086的最小模式和最大模式為了適應(yīng)各種使用場(chǎng)合,在設(shè)計(jì)8088/8086CPU芯片時(shí),就考慮了其應(yīng)能夠使它工作在兩種模式下,即最小模式與最大模式。所謂最小模式,就是系統(tǒng)中只有一個(gè)8088/8086微處理器,在這種情況下,所有的總線控制信號(hào),都是直接由8088/8086CPU產(chǎn)生的,系統(tǒng)中的總線控制邏輯電路被減到最少,該模式適用于規(guī)模較小的微機(jī)應(yīng)用系統(tǒng)。最大模式是相對(duì)于最小模式而言的,最大模式用在中、大規(guī)模的微機(jī)應(yīng)用系統(tǒng)中,在最大模式下,系統(tǒng)中至少包含兩個(gè)微處理器,其中一個(gè)為主處理器,即8086/8086CPU,其它的微處理器稱之為協(xié)處理器,它們是協(xié)助主處理器工作的。271.最小模式:在8086的最小模式中,硬件連接上有如下幾個(gè)特點(diǎn):

(1)MN/MX引腳接+5V,決定了8086工作在最小模式。(2)有一片8284A,作為時(shí)鐘發(fā)生器。(3)有三片8282或74LS373,用來(lái)作為地址鎖存器。(4)當(dāng)系統(tǒng)中所連接的存儲(chǔ)器和外設(shè)比較多時(shí),需要增加系統(tǒng)數(shù)據(jù)總線的驅(qū)動(dòng)能力,這時(shí),可選用兩片8286或74LS245作為總線收發(fā)器。28最小模式下的典型配置MN/MX引腳接+5V,決定了8086工作在最小模式。29最大模式下的典型配置MN/MX引腳接地,決定了8086工作在最大模式。30五、8086/8088的存儲(chǔ)器組織(一)存儲(chǔ)器結(jié)構(gòu)(二)存儲(chǔ)器的分段結(jié)構(gòu)和物理地址的形成(三)信息分段存儲(chǔ)與段寄存器31(一)、存儲(chǔ)器結(jié)構(gòu)存儲(chǔ)單元地址,按字節(jié)編址32存儲(chǔ)單元的的內(nèi)容:一個(gè)存儲(chǔ)單元有效的信息。機(jī)器字長(zhǎng)是16位,大部分?jǐn)?shù)據(jù)以字節(jié)為單位表示。一個(gè)字存入存儲(chǔ)器占有相繼的二個(gè)單元:低位字節(jié)存入低地址,高位字節(jié)存入高地址。字單元的地址采用它的低地址來(lái)表示。例: 字單元:(00004H)=1234H,

字節(jié)單元:(00004H)=34H

同一個(gè)地址既可以看作字節(jié)單元地址,又可看作字單元地址,需要根據(jù)使用情況確定。字單元地址:可以是偶數(shù)也可以是奇數(shù),(一)存儲(chǔ)器結(jié)構(gòu)(cont.)33(二)存儲(chǔ)器的分段結(jié)構(gòu)和物理地址的形成8086/8088有20條地址總線,直接尋址能力為220=1M字節(jié)。用16進(jìn)制數(shù)表示1M字節(jié)的地址范圍應(yīng)為00000H~FFFFFH。8086/8088地址總線是20位的,CPU中的寄存器是16位的,20位地址無(wú)法用16位寄存器表示,必須分段。段內(nèi)地址16位,每個(gè)段的大小最大可達(dá)64KB;342.8086存儲(chǔ)器的分段結(jié)構(gòu)

8086CPU中有四個(gè)段寄存器:CS,DS,SS和ES,這四個(gè)段寄存器存放了CPU當(dāng)前可以尋址的四個(gè)段的基值,也即可以從這四個(gè)段寄存器規(guī)定的邏輯段中存取指令代碼和數(shù)據(jù)。一旦這四個(gè)段寄存器的內(nèi)容被設(shè)定,就規(guī)定了

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論