第2講 16位微處理器8086-1_第1頁
第2講 16位微處理器8086-1_第2頁
第2講 16位微處理器8086-1_第3頁
第2講 16位微處理器8086-1_第4頁
第2講 16位微處理器8086-1_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

18086系統(tǒng)的硬件結構控制總線CB數(shù)據(jù)總線DB地址總線AB系統(tǒng)總線形成CPUI/O設備

I/O接口主存系統(tǒng)總線BUS外設2PC/XT計算機系統(tǒng)組成8088微處理器8087協(xié)處理器8288總線控制器62芯總線8259中斷控制器隨機存儲器RAM只讀存儲器ROM8253定時控制器8237DMA控制器8255并行接口控制總線數(shù)據(jù)總線地址總線地址鎖存器數(shù)據(jù)收發(fā)器揚聲器接口8284時鐘發(fā)生器鍵盤接口系統(tǒng)配置開關3一、8086的編程結構二、8086的引腳信號和工作模式三、8086的操作和時序四、8086的存儲器編址和I/O編址16位微處理器80864★8086CPU內(nèi)部結構★

8086CPU的寄存器結構一、8086的編程結構(一)8086CPU內(nèi)部結構內(nèi)部寄存器

IP

ES

SSDSCS輸入/輸出控制電路8086總線執(zhí)行部件控制電路∑ALU標志寄存器AHALBHBLCHCLDHDLSPBPSIDI通用寄存器地址加法器指令隊列執(zhí)行部件(EU)總線接口部件(BIU)16位20位16位8位CPU內(nèi)部總線68086CPU的外部引腳圖78086的內(nèi)部結構從功能分成兩個單元1.總線接口單元BIU(BusInterfaceUnit);2.執(zhí)行單元EU(ExecutionUnit)。兩個單元相互獨立,分別完成各自操作。兩個單元可以并行執(zhí)行,實現(xiàn)指令取指和執(zhí)行的流水線操作。81.總線接口單元BIU(BusInterfaceUnit)(1)總線接口單元BIU功能:

負責與存儲器、I/O端口傳送數(shù)據(jù)。具體講:總線接口部件要從內(nèi)存取指令送到指令隊列;

CPU執(zhí)行指令時,要配合執(zhí)行部件從指定的內(nèi)存單元或者外設端口中取數(shù)據(jù),將數(shù)據(jù)傳送給執(zhí)行部件;或把執(zhí)行部件的操作結果傳送給指定的內(nèi)存單元或I/O口。9 4個段地址寄存器(CS、DS、ES、SS)

16位指令指針寄存器IP 20位的地址加法器(16D(10H)

段地址+偏移地址=物理地址) 6字節(jié)(8086)或4字節(jié)(8088)的指令隊列 輸入輸出控制電路: 處理器與外界總線聯(lián)系的轉(zhuǎn)接電路。包括三組總線:20位地址總線,16位(8086)或8位(8088)雙向數(shù)據(jù)總線,一組控制總線。(2)總線接口單元BIU組成10(3)說明

指令隊列8086的指令隊列為6個字節(jié),8088的指令隊列為4個字節(jié)。不論是8086還是8088都會在執(zhí)行指令的同時從內(nèi)存中取下一條或幾條指令,取來的指令放在指令隊列中,使BIU具有預取指令的功能,是一種先進先出(FIFO)的數(shù)據(jù)結構。

指令執(zhí)行順序順序指令執(zhí)行:指令隊列存放緊接在執(zhí)行指令后面的那一條指令。執(zhí)行轉(zhuǎn)移指令:BIU清除指令隊列中的內(nèi)容,從新的地址取入指令,立即送往執(zhí)行單元,然后再從新單元開始重新填滿隊列。11說明(續(xù))地址加法器的作用: 用來形成20位物理地址,如CS=0F010H,IP=1000H,則要訪問的物理地址是:CS*16+IP=0F1100H12存儲器的分段結構13存儲器中的邏輯地址和物理地址

邏輯地址:采用分段結構的存儲器中,任何一個地址都由段基址和偏移地址兩部分構成,如CS=9482H,IP=2350H,可以表示為9482:2350,物理地址:存儲器的絕對地址(00000H~FFFFFH),是CPU訪問存儲器的實際尋址地址14物理地址的形成舉例:CS=9482H,IP=2350H,實際地址為:CS*10H+IP1001010010000010001000110101000010010110101101110000一個實際地址可以對應多個邏輯地址.物理地址=段基址*10H+偏移地址152.執(zhí)行單元EU(ExecutionUnit)(1)功能:負責指令執(zhí)行。(2)組成:

4個通用寄存器:AX、BX、CX、DX;4個專用寄存器:BP、SP、SI、DI;

標志寄存器(FR):9個標志位,其中6個條件標志位用于存放結果狀態(tài);

算術邏輯部件ALU:16位加法器,執(zhí)行算術或邏輯運算;

EU控制系統(tǒng):接受從總線接口單元的指令隊列中取來的指令代碼,對其譯碼和向EU內(nèi)各有關部分發(fā)出時序命令信號,協(xié)調(diào)執(zhí)行指令規(guī)定的操作。16(3)說明EU每執(zhí)行完一條指令,從BIU指令隊列的隊首取指令。系統(tǒng)初始化后,指令隊列為空,EU需要等待BIU從內(nèi)存取指填充指令隊列。EU從指令隊列取得指令后,譯碼并執(zhí)行指令。若該指令需要取操作數(shù)或存操作結果,也就是說需要訪問存儲器或者I/O時,EU向BIU發(fā)出訪問總線的請求。17BIU和EU分開,取指和執(zhí)行可以重迭,大大減少了等待取指所需的時間,提高CPU的利用率。重迭操作技術:一方面提高了整個執(zhí)行速率,另一方面降低了與之相配的存儲器的存取速度的要求。8086/8088微處理器:18

程序執(zhí)行由取指令和執(zhí)行指令的循環(huán)來完成的,每條指令執(zhí)行完后CPU必須等待到下條指令取出來后才能執(zhí)行。對于8080與8085及較早的8位微處理器:19(二)8086CPU的寄存器結構

通用寄存器★

專用寄存器

段寄存器

標志寄存器FR★

指令指針寄存器IP201.通用寄存器

包括AX、BX、CX、DX

功能:用來暫存計算過程中所用到的操作數(shù),結果或其它信息訪問形式:

可以用字(16位)的形式訪問;

也可以用字節(jié)(8位)形式訪問。 它們的高8位記作:AH、BH、CH、DH。 它們的低8位記作:AL、BL、CL、DL。21通用寄存器的特殊用法1AX——(Accumulator)作為累加器它是算術運算的主要寄存器,所有I/O指令都使用這一寄存器與外部設備交換數(shù)據(jù)。例:INAL,20H OUT30H,AXBX——(Base)用作基址寄存器使用在計算內(nèi)存儲器地址時,經(jīng)常用來存放基址。例:MOVAX,[BX+03H]22通用寄存器的特殊用法2CX——(Count)可以作計數(shù)寄存器使用在循環(huán)LOOP指令和串處理指令中用作隱含計數(shù)器。例: MOVCX,200HAGAIN: ……

LOOPAGAIN

;(CX)-1(CX),結果0轉(zhuǎn)AGAINDX——Data可以作為數(shù)據(jù)寄存器使用。一般在雙字長乘除法運算時,把DX和AX組合在一起存放一個雙字長(32位)數(shù),DX用來存放高16位;

對某些I/O操作DX可用來存放I/O端口地址(地址>255)。例: MULBX ;(AX)(BX)(DX)(AX) INAL,DX232.專用寄存器

包括SP、BP、SI、DI

功能:經(jīng)常用以在段內(nèi)尋址時提供偏移地址

訪問形式:

必須用字(16位)的形式訪問。

243.段寄存器

8086CPU總線接口設有4個16位段寄存器,分別為代碼段寄存器CS,數(shù)據(jù)段寄存器DS,附加段寄存器ES和堆棧段寄存器SS。254.標志寄存器FR8086CPU內(nèi)部有1個16位標志寄存器,其中規(guī)定9位為標志位,7位未用,其具體格式如下:1514131211109876543210ХХХХOFDFIFTFSFZFХAFХPFХCF9個標志位可以分為兩類,一類叫狀態(tài)標志,用來表示運算結果的特征,它們是CF、PF、AF、ZF、SF和OF;另一類叫控制標志,用來控制CPU的操作,它們分別是IF、DF和TF。26狀態(tài)標志:①OF(OverflowFlag)溢出標志(一般指補碼溢出)

在運算過程中,如操作數(shù)超過了機器表示的范圍稱為溢出,此時,OF=1,否則,OF=0

。字節(jié)允許范圍:-128—+127

字運算范圍:-32768—+32767

② SF(SignFlag)符號標志

SF=1:記錄運算結果的符號為負。

SF=0:記錄運算結果的符號為正。③ ZF(ZeroFlag)零標志

ZF=1:運算結果為0。

ZF=0:運算結果不為0。27④ CF(CarryFlag)進位標志

CF=1:記錄運算時從最高有效位產(chǎn)生進位值。

CF=0:記錄運算時從最高有效位不產(chǎn)生進值。⑤AF(AuxiliaryCarryFlag)輔助進位標志

AF=1:記錄運算時第3位(半個字節(jié))產(chǎn)生進位值。

AF=0:記錄運算時第3位(半個字節(jié))不產(chǎn)生進位值。⑥

PF(ParityFlag)奇偶標志

PF=1:結果操作數(shù)低8位中有偶數(shù)個1。

PF=0:結果操作數(shù)低8位中有奇數(shù)個1。用來為機器中傳送信息時可能產(chǎn)生的代碼出現(xiàn)情況提供檢驗條件。28

控制標志:對控制標志位進行設置后,對其后的操作起控制作用??刂茦酥疚话?位:TF、IF

、DF

。跟蹤(陷阱)標志TF、中斷標志IF

、方向標志

DF。①TF(TrapFlag)跟蹤(陷阱)標志位

TF=1,每執(zhí)行一條指令后,自動產(chǎn)生一次內(nèi)部中斷,使CPU處于單步執(zhí)行指令工作方式,便于進行程序調(diào)試,用戶能檢查程序。

TF=0,CPU正常工作,不產(chǎn)生陷阱。29IF(InteruptFlag)中斷標志位

IF=1,允許外部可屏蔽中斷。CPU可以響應可屏蔽中斷請求。

IF=0,關閉中斷。CPU禁止響應可屏蔽中斷請求。

IF的狀態(tài)對不可屏蔽中斷和內(nèi)部軟中斷沒有影響。③DF(DirectionFlag)方向標志位DF=1,每次串處理操作后使變址寄存器SI和DI減量,使串處理從高地址向低地址方向處理。

DF=0,每次串處理操作后使變址寄存器SI和DI增量,使串處理從 低地址向高地址方向處理。

DF方向標志位是在串處理指令中控制處理信息的方向用的。30控制信息:由系統(tǒng)程序或用戶程序根據(jù)需要用指令來設置的。狀態(tài)信息:由中央處理器,根據(jù)計算結果自動設置的,但是,機器提供了設置狀態(tài)信息指令,必要時,程序員可以用這些指令來建立狀態(tài)信息。

31標志:

運算結果最高位為0 ∴SF=0;運算結果本身≠0 ∴ZF=0;低8位中1的個數(shù)為奇數(shù)個 ∴PF=0;最高位沒有進位 ∴CF=0;第三位向第四位無進位 ∴AF=0;

次高位向最高位沒有進位,最高位向前沒有進位,∴OF=0。例1:執(zhí)行兩個數(shù)的加法,分析對標志位的影響。32標志:運算結果最高位為1,SF=1;運算結果本身不為0,ZF=0;最高位向前無進位,CF=0; 次高位向最高位產(chǎn)生進位,而最高位向前沒有進位,OF=1;結果低8位含偶數(shù)個1,PF=1;第三位向第四位有進位,AF=1。在絕大多數(shù)情況下,一次運算后并不改變所有標志,程序也并不需要對所有的標志作全面的關注。一般只是在某些操作后,對其中某個標志進行檢測。例2:執(zhí)行兩個數(shù)的加法,分析對標志位的影響。335.指令指針寄存器IP(InstructionPointer)用來存儲代碼段中的偏移地址;程序運行過程中IP的內(nèi)容由BIU修改,始終指向下一次要取出的指令偏移地址。IP要與CS寄存器相配合才能形成真正的物理地址。特殊情況:程序跳轉(zhuǎn)34已知DS=3000H,CS=1000H,(32000H)=10H,(32001H)=20H,下面用動畫形式演示如下指令的執(zhí)行過程1000:100MOVAL,[2000H]

;

A000201000:103ADDAL,02H ;04021000:105HLT ;F48086計算機系統(tǒng)指令操作過程3536★

8086的引腳和功能★

8086的最小和最大模式系統(tǒng)★

8086最小模式典型配置二、8086的引腳信號和工作模式378086CPU的引腳和功能CPU的外部特性表現(xiàn)在其引腳信號上,學習時請?zhí)貏e關注以下幾個方面:⑴引腳的功能⑵信號的流向⑶有效電平⑷三態(tài)能力

除高電平1、低電平0外,引腳還有一個高阻狀態(tài),信號無效388086CPU的外部引腳圖398086CPU的引腳信號a.數(shù)據(jù)和地址引腳(20)AD15~AD0、A19/S6~A16/S3b.讀寫控制引腳(8)

、、、、ALE、READY、、c.中斷請求和響應引腳(3)NMI、INTR、408086CPU的引腳信號(續(xù))d.總線請求和響應引腳(2)HOLD、HLDAe.其它引腳(7)

電源(VCC1個、GND2個)、RESET、CLK、、41

看電路圖注意問題a.引腳符號上面有橫線或者帶小圈表示低電平有效,否則高電平有效。一般兩種方式只取一種,例

HOLD表示高電平有效,表示低電平有效,圖中圈表示低電平有效。b.如上圖所示,門電路表示當兩個輸入均為有效的低電平時,輸出為有效的低電平,否則為高電平。428086的最小和最大模式系統(tǒng)--最小模式:單機系統(tǒng),系統(tǒng)中所需要的控制信號全部由8086/8088CPU本身直接提供,系統(tǒng)中的總線控制電路可以降到最少。--最大模式:構成的系統(tǒng)較大,可能包含不只一片微處理器,或要求有較強的驅(qū)動能力,帶有一個總線控制器8288,系統(tǒng)中所需要的控制信號由8288提供。

--CPU引腳:由(33)決定

--24~31功能不同43用到的芯片1--數(shù)據(jù)鎖存器82824445用到的芯片2--數(shù)據(jù)緩沖器828646RESETTESTHOLDHLDANMIINTRINTAM/IOWRRDREADYCLKREADYMN/MX+5V控制總線地址總線A19~

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

ALEA19~A16AD15~AD

0

DT/RDEN*8086CPUSTB

8282OETOE82868284A系統(tǒng)總線8086CPU最小模式系統(tǒng)典型配置BHEreset48

時鐘發(fā)生器8284A

地址鎖存器8282(三片)

數(shù)據(jù)緩沖器8286(兩片)

控制信號地址總線數(shù)據(jù)總線控制總線8086CPU系統(tǒng)總線形成8088CPU最小模式系統(tǒng)典型配置RESETTESTHOLDHLDANMIINTRINTAM/IOWRRDREADYCLKREADYMN/MX+5V控制總線地址總線A19~

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

ALEA19~A8AD7~AD

0

DT/RDEN8086CPUSTB

8282OETOE82868284A系統(tǒng)總線reset50★

系統(tǒng)的復位和啟動操作★

指令周期、總線周期和T狀態(tài)★

最小模式下8086時序★

最小模式下的總線保持★

中斷操作和中斷系統(tǒng)三、8086的操作和時序51系統(tǒng)的復位和啟動操作

通過RESET引腳信號執(zhí)行,至少維持4個時鐘周期高電平,初次加電不少于50μs。

復位后各寄存器值標志寄存器清零IP0000HCSFFFFHDS0000HSS0000HES0000H指令隊列空其它寄存器0000H52復位時序CLKRESET輸入內(nèi)部RESET三態(tài)門輸出信號不作用狀態(tài)53習題1.若(AL)=0C0H,(BX)=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論