第二章8086微處理器_第1頁
第二章8086微處理器_第2頁
第二章8086微處理器_第3頁
第二章8086微處理器_第4頁
第二章8086微處理器_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二章8086微處理器8086微處理器采用HMOS工藝技術(shù)制造,外型封裝為雙列直插式,有40個引腳。主時鐘頻率有5MHz,8MHz和10MHz幾種。內(nèi)部采用16位數(shù)據(jù)通路和流水線結(jié)構(gòu),從而允許其在總線空閑時預(yù)取指令,使取指令與執(zhí)行指令實現(xiàn)了并行操作。8086有20位地址線,可直接尋址的空間達1MB。Intel公司為了與一整套外圍設(shè)備兼容推出準16位CPU8088,內(nèi)部結(jié)構(gòu)和8086相同,但對外數(shù)據(jù)總線只有8位。2.18086/8088微處理器的內(nèi)部結(jié)構(gòu)

微處理器執(zhí)行一條指令的過程:取指令取操作數(shù)執(zhí)行指令傳送結(jié)果

在8086/8088內(nèi)部分兩大部件:

執(zhí)行部件(EU):負責指令的執(zhí)行總線接口部件(BIU):負責與存儲器、I/O端口傳送數(shù)據(jù)

這兩大部件構(gòu)成兩級流水線,使取指和執(zhí)行可并行完成,并成為后續(xù)CPU的基本技術(shù)。內(nèi)部總線16位8位隊列總線總線控制邏輯

地址加法器20位地址總線16位(8位)數(shù)據(jù)總線總線接口部件BIU123456指令隊列CSDSSSES80888086IP暫存器總線EU控制單元ALU暫存器標志寄存器執(zhí)行部件EU通用寄存器AXAHALBXBHBLCXCHCLDXDHDLSPBPDISI8086/8088結(jié)構(gòu)圖舉例8086的內(nèi)部寄存器含14個16位寄存器,按功能可分為三類

數(shù)據(jù)寄存器(AX,BX,CX,DX)地址指針寄存器(SP,BP)變址寄存器(SI,DI)8個通用寄存器4個段寄存器2個控制寄存器CS:代碼段寄存器DS:數(shù)據(jù)段寄存器ES:附加段寄存器SS:堆棧段寄存器IP:指令指針寄存器PSW:狀態(tài)寄存器數(shù)據(jù)寄存器

用于存放各種數(shù)據(jù)8086含4個16位數(shù)據(jù)寄存器,它們又可分為8個8位寄存器,即:AXAH,ALBXBH,BLCXCH,CLDXDH,DL

AX(Accumulator)累加器在乘法和除法指令中作累加器,所有I/O指令都使用該寄存器與外設(shè)端口傳送數(shù)據(jù)。BX(Base)基址寄存器在計算內(nèi)存地址時,常用來存放偏移地址。CX(Count)計數(shù)器在循環(huán)和串操作指令中用作計數(shù)器。DX(Data)數(shù)據(jù)寄存器在寄存器間接尋址的I/O指令中存放端口地址,在做雙字長乘除法運算時,與AX配合使用。指針寄存器

可存放各種數(shù)據(jù)SP(Stackpointer)堆棧指針寄存器用來確定堆棧在內(nèi)存中的地址。BP(Basepointer)基址指針寄存器在計算內(nèi)存地址時,常用來存放偏移地址。SI(SourceIndex)源變址寄存器可存放各種數(shù)據(jù)及偏移地址,在串操作中,用于指向源串首地址。DI(DestinationIndex)目的變址寄存器可存放各種數(shù)據(jù)及偏移地址,在串操作中,用于指向目的串首地址。段寄存器用來識別當前可尋址的四個段CS(CodeSegmentRegister)代碼段寄存器指示當前執(zhí)行的程序所在存儲器中的區(qū)域。DS(DataSegmentRegister)數(shù)據(jù)段寄存器指示當前程序所用的數(shù)據(jù)在存儲器中的區(qū)域。SS(StackSegmentRegister)堆棧段寄存器指示當前程序所用的堆棧在存儲器中的區(qū)域。ES(ExtraSegmentRegister)附加段寄存器指示當前程序所用的數(shù)據(jù)在存儲器中的另外區(qū)域,在字符串操作中常用到。標志寄存器

(FLAG)唯一能按位操作的寄存器只定義了其中9位,另外7位未定義(保留)

6位狀態(tài)標志:OF(Overflow)、SF(Sign)、ZF(Zero)、AF(Auxiliary)、PF(Parity)、CF(Carry)3位控制標志:DF(Direction)、IF(Interrupt-Enable)、TF(Trap)OFDFIFTFSFZFAFPFCFD15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0例1例20110011010101001運算結(jié)果最高位為1 ∴SF=1;第三位向第四位有進位 ∴AF=1;根據(jù)雙高判別法C14

C15=10=1∴OF=1最高位沒有進位 ∴CF=0;低8位中1的個數(shù)為偶數(shù)個 ∴PF=1;運算結(jié)果本身≠0 ∴ZF=0;10001101001101100011001000011001+例1:2個數(shù)相加后,分析各標志位的值返回001011001000110010001101001101100011001000011001-例2:2個數(shù)相減后,分析各標志位的值運算結(jié)果最高位為0 ∴SF=0;第三位向第四位沒有借位 ∴AF=0;最高位沒有借位 ∴CF=0;低8位中1的個數(shù)為奇數(shù)個 ∴PF=0;運算結(jié)果本身≠0 ∴ZF=0;根據(jù)雙高判別法C14

C15=00=0∴OF=0返回IP指令指針寄存器用來存放下一條將要執(zhí)行的指令在當前代碼段中的偏移地址。在程序運行中,IP的內(nèi)容能夠自動修改,使之總是指向下一條要執(zhí)行的指令地址。總線控制邏輯電路總線控制邏輯電路將8086微處理器的內(nèi)部總線和外部總線相連,是8086微處理器與內(nèi)存單元或I/O端口進行數(shù)據(jù)交換的必經(jīng)之路。地址加法器左移4位20位+地址加法器段寄存器16位物理地址20位

偏移地址

0000指令隊列8088為4字節(jié),8086為6字節(jié);存取為FIFO(先進先出);指令隊列至少保持有一條指令,且只要有一條指令,EU就開始執(zhí)行;指令隊列只要有空,BIU自動執(zhí)行取指操作,直到填滿為止;若EU要進行M/IO存取數(shù)據(jù),BIU在執(zhí)行完現(xiàn)行取指操作周期后進行;當執(zhí)行轉(zhuǎn)移指令時,EU要求BIU從新的地址中重新取指。隊列中原有指令被清除。新取得的第一條指令直接送EU執(zhí)行,隨后取得的指令填入隊列。

ALU(ArithmeticandLogicUnit)算術(shù)邏輯單元進行所有的算術(shù)和邏輯運算;計算尋址單元的十六位偏移地址EA(EffectAddress)。

EU控制器

作用是從BIU的指令隊列中取指令,并對指令進行譯碼,根據(jù)指令要求向EU內(nèi)部各部件發(fā)出相應(yīng)的控制命令以完成每條指令所規(guī)定的功能。2.28086/8088微處理器的引腳信號與工作模式一、工作模式最小模式:系統(tǒng)只有8086或8088一個微處理器。所有控制信號直接由CPU提供,因此系統(tǒng)中的總線控制電路被減到最小。一般CPU與小容量的存儲器及少量的外設(shè)接口相連時,可連成最小模式。最大模式:在中等規(guī)?;虼笮?086/8088系統(tǒng)中使用最大模式,可含有一個或多個微處理器(主處理器8086/8088和協(xié)處理器8087、8089)組成中(大)規(guī)模系統(tǒng),CPU并不直接向外界提供全部控制信號,而由S0S1S2通過Intel8288總線控制器提供。1、地址、數(shù)據(jù)信號:AD0~AD15地址/數(shù)據(jù)復用引腳(雙向、三態(tài))A16/S3~A19/S6地址/狀態(tài)復用引腳(輸出、三態(tài))2、控制信號BHE/S7數(shù)據(jù)總線高8位允許/狀態(tài)(輸出,三態(tài))WR寫信號(輸出,低電平有效,三態(tài))RD讀信號(輸出、低電平有效、三態(tài))M/IO存儲器/IO控制信號(輸出、三態(tài))

TEST

測試信號(輸入、低電平有效)READY準備就緒(輸入、高電平有效)12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD*HLDA*WR*M/IO*DT/R*DEN*ALE*INTA*TESTREADYRESET8086二、8086/8088的引腳信號(最小模式)MN/MX=5V

ALE

地址鎖存允許信號(輸出)DT/R

數(shù)據(jù)發(fā)送/接收控制信號輸出(輸出、三態(tài))DEN

數(shù)據(jù)允許信號(輸出、三態(tài)、低電平有效)HOLD

總線保持請求信號(輸入、高電平有效)HLDA

總線保持響應(yīng)信號(輸出、三態(tài)、高電平有效)INTR

可屏蔽中斷請求信號(輸入、高電平有效)INTA

中斷響應(yīng)信號(輸出、三態(tài)、低電平有效)NMI非屏蔽中斷請求(輸入,上升沿觸發(fā))RESET

復位信號(輸入,高電平有效)MN/MX

最小/最大模式控制輸入端12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD*HLDA*WR*M/IO*DT/R*DEN*ALE*INTA*TESTREADYRESET808612345678910111213141516171819204039383736353433323130292827262524232221GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCA15A16/S3A17/S4A18/S5A19/S6SS0MN/MXRDHOLD*HLDA*WR*IO/M*DT/R*DEN*ALE*INTA*TESTREADYRESET8088AD0-AD7:數(shù)據(jù)/低8位地址復用線SS0:狀態(tài)信號IO/M存儲器/地址選擇線二、8086/8088的引腳信號(最大模式)MN/MX=0S2S1S0

總線周期狀態(tài)信號(輸出、三態(tài))RQ/GT0

RQ/GT1總線請求(輸入)/總線請求允許信號(輸出)(雙向、均為低電平有效)LOCK總線封鎖信號(輸出、三態(tài)、低電平有效)QS0QS1指令隊列狀態(tài)信號(輸出)12345678910111213141516171819204039383736353433323130292827262524232221GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDRQ/GT0*RQ/GT1*LOCK*S2*S1*S0*QS0*QS1*TESTREADYRESET8086三、8086/8088的系統(tǒng)配置1、最小模式配置

系統(tǒng)中所有的控制信號由8086本身提供,它的基本配置為:除使用8086/8088作為微處理器外,還需配有時鐘發(fā)生器8284A、三片地址鎖存器(8282/8283)、兩片總線驅(qū)動器(8286/8287)才能構(gòu)成系統(tǒng)總線。最小模式總線形成

(Intel產(chǎn)品手冊推薦電路)RESETTESTHOLDHLDANMIINTRINTAM/IOWRRDREADYCLK

RDY1RDY2MN/MX+5V控制總線地址總線A19~

A0數(shù)據(jù)總線D15~D0

ALEA19A16AD15AD

0

DT/RDEN8086CPUSTB

8282OETOE82868284A系統(tǒng)總線~~RESEFIF/CPCLKBHE

2、最大模式配置

除最小模式配置外,需外加總線控制器8288對CPU發(fā)出的控制信號進行變換和組合,以獲得對存儲器、I/O端口的讀寫信號和對鎖存器

8282、總線驅(qū)動器8286的控制信號,另外在多處理器中還需加入總線仲裁器8289解決主處理器和協(xié)處理器之間協(xié)調(diào)工作和對總線的共享控制等問題。RESET

S2S1S0

READYCLK

RDY1RDY2MN/MX控制總線地址總線A19~

A0數(shù)據(jù)總線D15~D0

A19A16AD15AD

0

8086CPUSTB

8282OETOE82868284A系統(tǒng)總線~~RESEFIF/CPCLKBHE

INTAMRDCMWTCIOWCIORCMCE/PDENCLK

AENIOBCENDENDT/RALETESTNMIINTR

8288+5V3、最小模式配置與最大模式配置的比較1)不同之處

最小模式下系統(tǒng)控制信號直接由8086CPU提供;最大模式下因系統(tǒng)復雜,芯片數(shù)量較多,為提高驅(qū)動能力和改善總線控制能力,系統(tǒng)的控制信號由總線控制器8288提供。

最小模式下8086的31、30腳提供一組總線請求/響應(yīng)信號(HOLD、HLDA),而最大模式下8086的31、30腳將提供兩組總線請求/響應(yīng)信號(RQ/GT0、RQ/GT1)。2)相同之處:

8086的低位地址線與數(shù)據(jù)線復用,為保證地址信號維持足夠的時間,需使用ALE信號將低位地址線鎖存(通過鎖存器8282),以形成真正的系統(tǒng)地址總線;

8086的數(shù)據(jù)線通過數(shù)據(jù)收發(fā)器8286后形成系統(tǒng)數(shù)據(jù)總線,以增大驅(qū)動能力,數(shù)據(jù)收發(fā)器主要由DEN和DT/R兩個信號控制。

存儲器中的數(shù)據(jù)存放規(guī)則

8086有20條地址線,尋址能力為1MB存儲單元中可以存放的內(nèi)容包括:數(shù)據(jù)、地址指針(偏移地址和段地址)、程序代碼。字節(jié)的存儲:存儲在1個存儲單元中。字的存儲:占用2個連續(xù)的字節(jié)單元,低字節(jié)在較低地址單元中,高字節(jié)在較高地址單元中。字的地址為低字節(jié)地址(較低的地址)。字地址為偶數(shù)——規(guī)則存放的字(簡稱規(guī)則字),字地址為奇數(shù)——非規(guī)則存放的字(簡稱非規(guī)則字)。字符串的存儲:按字符順序依次連續(xù)存放,整個串的地址為存放第一個字符的最低地址。地址指針(雙字數(shù)據(jù))的存儲:地址偏移量存放在低地址字單元,段基址在較高地址單元。2.38086微處理器的存儲組織信息存放方式示意圖地址內(nèi)容

19H 0CH1AH 1FH

1BH 01H1CH 23H1DH 74H1EH ABH1FH 41H20H 42H21H 43H22H 44H23H 45H地址為1AH的字節(jié)數(shù)據(jù)1FH1AH 1FH地址為1BH的非規(guī)則字數(shù)據(jù)2301H1BH 01H1CH 23H地址為1EH的規(guī)則字數(shù)據(jù)41ABH1EH ABH1FH 41H首地址為1FH的字符串“ABCDE”

21H43H23H45H20H42H22H44H1FH 41H地址為1AH的雙字數(shù)據(jù)7423011FH;如解釋為指針數(shù)據(jù),則段基址為7423H,偏移量為011FH1AH 1FH1BH 01H1CH23H1DH74HBHEA0讀/寫的字節(jié)00高低兩個字節(jié)01奇數(shù)地址的高位字節(jié)10偶數(shù)地址的低位字節(jié)11不傳送存儲空間與存儲結(jié)構(gòu)FFFFFH奇地址存儲體512K*8bitBHE=0偶地址存儲體512K*8bitA0=0FFFFEH00003H00002H00001H00000H地址內(nèi)容內(nèi)容地址D7~D0D15~D8A0DBAB存儲體與總線的連接BHED7~D0奇地址存儲體SELA18~A0D7~D0偶地址存儲體SELA18~A0A19~A1存儲器分段分段原因:

8086有20根地址線,但其內(nèi)部可以表示的地址最多只能是16位。為了能尋址1MB空間,8086對存儲器進行邏輯分段,段內(nèi)地址16位,每個段最大為64KB,最小為16B(此時最多64K個段)。 IBMPC機對段的起始地址有限制,即段不能從任意地址開始:每個段起始地址(20位)的最低4位必須為0。連續(xù)邏輯段A段B段C段D段E段00000H10000H20000H30000H40000H……實際(物理)存儲器分離部分重疊完全重疊8086物理地址PA的形成,其中的16位偏移量也稱為有效地址EA(出現(xiàn)在指令中)加法器

段寄存器000015016位偏移量01520位物理地址019段基址1123H偏移量13H段基址1124H偏移量03H存儲單元物理地址

11230H11231H11232H……1123FH11240H11241H11242H

11243H邏輯地址LA=段基值:偏移量存儲器的邏輯地址和物理地址存儲器操作默認段基址可使用段基址偏移地址取指令CS—IP堆棧操作SS—SP變量DSCS、ES、SS

EA源數(shù)據(jù)串DSCS、ES、SSSI目的數(shù)據(jù)串ES—DI堆棧中的變量SS—BP邏輯地址來源I/O端口組織I/O端口地址:8086系統(tǒng)和外部設(shè)備之間進行數(shù)據(jù)傳輸時,各類信息在接口中將進入不同的寄存器,一般稱這些寄存器為I/O端口;每個端口分配一個地址號,稱為端口地址,CPU通過指令對它們進行訪問;I/O端口分:數(shù)據(jù)端口、狀態(tài)端口和命令端口。接口電路占用的I/O端口有兩類編址形式I/O端口獨立編址I/O地址空間獨立于存儲地址空間如8086/8088I/O端口與存儲器統(tǒng)一編址它們共享一個地址空間如M6800內(nèi)存空間I/O空間FFFFFH0FFFFH優(yōu)點:I/O端口的地址空間獨立控制和地址譯碼電路相對簡單

溫馨提示

  • 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

提交評論