8086微處理器的編程結構和引腳信號及技術_第1頁
8086微處理器的編程結構和引腳信號及技術_第2頁
8086微處理器的編程結構和引腳信號及技術_第3頁
8086微處理器的編程結構和引腳信號及技術_第4頁
8086微處理器的編程結構和引腳信號及技術_第5頁
已閱讀5頁,還剩50頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、18086微處理器的編程結構和引腳信號及技術2主要內容BIU和EU的組成和功能;8086的內部寄存器和標志位;總線周期的概念;8086微處理器的引腳功能;380 x86微處理器簡介型號發布年份字長/位集成度主頻/MHz內DB/位外DB/位AB/位尋址空間高速緩沖存儲器80861978162.94.771616201M無80881979準162.94.77168201M無8028619821613.462016162416M無8038619853227.512.5333232324G有80486199032120160251003232324G8K586199364310330601663264

2、324G8K+8KP II19976475023333331643664G32K,512K48086/8088外形5指令流水線取指令指令譯碼取操作數執行指令存放結果 CPU執行一條指令的過程類似于工廠生產流水線,被分 解為多個小的步驟,稱為指令流水線。原料調度分配生產線成品倉庫出廠數據和程序指令控制器的調度分配ALU等 功能部件處理后的數據存儲器輸出6指令流水線指令流水線有兩種運作方式:串行方式: 取指令和執行指令在不同的時刻按順序執行。并行方式:(中斷會極大地降低并行方式的效率,取到的指令需要被丟棄,然后重新取需要執行的指令) 取指令和執行指令可同時執行,需要有能并行工作的硬件的支持。7串行

3、工作方式8086以前的CPU采用串行工作方式取指令1執行1取指令2執行2CPUBUS忙 碌忙 碌取指令3執行3忙 碌空閑空閑空閑t1t0t2t3t4t56個周期執行了3條指令8并行工作方式8086CPU采用并行工作方式取指令1取指令2取指令3取指令4執行1執行2執行3BUS忙碌執行4CPUt1t0t2t3t4t5取指令5執行5忙碌忙碌忙碌忙碌忙碌6個周期執行了5條指令9并行操作的前提取指令部件和指令執行部件要能夠并行工作;各步執行時間基本相同,否則需再細分;取指令部件取出的指令要能暫存在CPU內部某個地方;指令執行部件在需要時總能立即獲得暫存的指令;需要解決轉移指令問題。(取到的指令丟棄的問題

4、)108086 CPU的特點采用并行流水線工作方式: 通過設置指令預取隊列(IPQ)實現對內存空間實行分段管理: 將內存分段并設置地址段寄存器,以實現對1MB空間的尋址。支持多處理器系統:8087 FPU執行部件取指部件11三、8086的cpu內部結構框圖12總線接口單元(BIU)功能:BIU 負責 8086 與存儲器之間的信息傳送。BIU 的任務是從內存的指定部分取出指令,送至指令流隊列中排隊(8086 的指令流隊列可以存儲 6 個字節的指令;8088 的指令流隊列只能存儲 4 個字節的指令);在執行指令時所需的操作數,也由 BIU 從內存的指定區域取出,傳送給 EU 部分執行。13執行單元

5、(EU)功能:EU 部分負責指令的執行。由于CPU 取指部分與執行指令部分是分開的,所以在一條指令的執行過程中,就可以取出下一條(或多條)指令,在指令流隊列中排隊。在一條指令執行完就可以立即執行下一條指令。從而減少了 CPU 為取指令而等待的時間,提高了 CPU 的運行效率,提高了 CPU 的整體運行速度。14寄存器結構示意圖AHALBHBLCHCLDHDLSPBPSIDIIPFLAGS / PSWCSDSSSES數據寄存器地址指針和變址寄存器控制寄存器段寄存器通用寄存器AXBXCXDXBX15數據寄存器數據寄存器既可作為16位使用,也可作為8位的使用。 AX:累加器,是算術運算的主要寄存器。

6、另外,I/O指令 利用這個寄存器和外設通訊。BX:通用寄存器,另外可以作為基址寄存器。CX:通用寄存器,另外在循環時作為隱含的計數器使用。DX:通用寄存器,另外可以和AX一起儲存雙字,DX放高 位。16地址指針和變址寄存器地址指針與變址寄存器SP:堆棧指針寄存器,用來指示棧頂的偏移地址。BP:基址指針寄存器,作為堆棧區中的一個基地址以便訪問棧中的其他信息。SI:源變址寄存器。DI:目的變址寄存器。 一般,SP、BP與SS連用來確定堆棧中某存儲單元的地址,SI、DI與DS連用確定數據段中某存儲單元的地址。17段寄存器CS:代碼段寄存器。存放當前正在運行的程序。DS:數據段寄存器。存放當前程序所用

7、的數據。ES:附加段寄存器。附加的數據段,是一個輔助的數據區,也是串處理指令的目的操作數存放區。SS:堆棧段寄存器。定義堆棧所在的區域。 除非特別指定,一般情況下,各段的分配由操作系統負責,獨立占有64K,可以重疊。18控制寄存器IP:指令指針寄存器。存放代碼段中的偏移地址,它始終指向下一條指令的首地址,與CS一起確定下一條指令的物理地址。FLAG / PSW:標志寄存器/程序狀態字寄存器。由條件碼標志和控制標志構成。19標志寄存器20標志寄存器狀態標志CF(Carry Flag):進位標志,最高位有進借位時為1,否則為0PF(Parity Flag):奇偶標志,結果低8位中有偶數個“1”時,

8、PF1;奇數為0AF(Auxiliary Carry Flag):輔助進位標志,也稱半進位位。運算結果中低4位向高4位借位或進位時,AF1,否則為021標志寄存器狀態標志ZF(Zero Flag):零標志。運算結果為全0時,ZF1,否則為0SF(Sign Flag):符號標志。與結果的最高位(符號位)相同。OF(Overflow Flag):溢出標志。溢出時OF1,否則為022標志寄存器控制標志DF(Direction Flag):方向標志。DF0時,則在串操作中,變址寄存器中的地址自動遞增;DF1時相反。IF(Interrupt Enable Flag):中斷允許標志。IF =1時CPU可響

9、應可屏蔽中斷請求;IF0時不可響應(相當于單片機中的EA,總中斷開關)。TF(Trace Flag):跟蹤標志。TF1時,CPU進入單步操作方式。(程序調試時用到的單步執行)23四、8086的工作時序工作時序分為很多小的時間片:時鐘周期 一個時鐘脈沖所持續的時間。時鐘周期越短,CPU執行速度越快。總線周期 通過總線對存儲器或I/O接口進行一次訪問所需要的時間。一般包括4個時鐘周期。在5MHz的工作頻率時,一個標準總線周期為s。24總線周期中各時鐘周期的操作T1周期CPU向存儲器或I/O發送地址CPU向地址/數據分離器(地址鎖存器)發送ALE信號T2周期給存儲器或I/O發送寫入的數據測試READ

10、Y引腳狀態,以決定是否插入等待周期發出RD或WR信號T3周期等待存儲器或I/O存取數據完成使數據在CPU與存儲器或I/O之間傳輸T4周期寫入數據 讀/寫總線周期的信號波形見下頁圖。25數據寫入存儲器時的總線操作寫總線周期由ALE信號將地址鎖存到地址鎖存器DEN=0并且DT/R=1時打開總線緩沖器,將其放到系統數據總線上此信號與M/IO信號共同構成存儲器寫控制信號,將數據寫入存儲器26數據從存儲器讀出的總線操作讀總線周期DEN=0并且DT/R=0時打開總線緩沖器,將其放到CPU總線上,供CPU讀入 較完整的讀總線周期此信號與M/IO信號共同構成存儲器讀控制信號由ALE信號將地址鎖存到地址鎖存器2

11、78086 CPU的兩種工作模式8086可工作于兩種模式下,即: 最小模式和最大模式。最小模式不支持8087。存儲器和I/O控制信號全部由CPU產生。最大模式支持8087。 CPU的部分信號線被用作8087的控制,因此需要由8288總線控制器來產生這些控制信號。注:80286以后的CPU不再區分這兩種工作模式。28最小模式下的連接示意圖8086CPU控制總線數據總線地址總線地址鎖存器數據總線緩沖器ALE時鐘發生 器8284A地址/數據82868282Vcc MN/MXDENDT/R29最大模式下的連接示意圖8088CPU數據總線地址總線地址鎖存器數據總線緩沖器時鐘發生 器總 線控制器控制總線8

12、284A8288ALECLK MN/MX82828286GND30二、8086CPU的引線及功能引腳定義的方法可大致分為:每個引腳只傳送一種信息(如RD)電平的高低代表不同的含義(如M/IO)在不同模式下有不同的名稱和定義(如WR/LOCK)分時復用引腳(如AD15AD0)引腳的輸入、輸出分別傳送不同的信息(如RQ/GT0)313233最小模式下的主要引線MN/MX 工作模式控制=0(接地):工作于最大模式;=1(接Vcc):工作于最小模式。34最小模式下的主要引線地址總線、數據總線:AD15AD0:三態地址/數據復用引腳。ALE=1時作為地址線A16A0,ALE=0時作為數據線D16D0。傳

13、送地址時為輸出,傳送數據時為雙向。A19-A16/S6-S3:輸出,三態地址/狀態復用引腳。ALE=1時作為地址線A19A16,ALE=0時作為控制信號。35最小模式下的主要引線控制信號:WR:輸出,三態寫選通信號,表示CPU正在寫數據到MEM或I/O設備。RD:輸出,三態讀信號,表示CPU正在從總線上讀來自于MEM或I/O設備的數據。M/IO:輸出,三態區分是讀寫存儲器還是讀寫I/O端口(即地址總線上的地址是存儲器地址還是I/O端口地址)。36最小模式下的主要引線DEN:輸出,三態數據總線允許信號。用來打開外部數據總線緩沖器。DT/R:輸出,三態表明CPU正在傳送還是接收數據,用來作為外部數

14、據總線緩沖器的方向控制;ALE:輸出地址鎖存允許信號,表示地址/數據總線上傳輸的是地址信號。以上三個信號的用法見下頁圖37最小模式下的主要引線RESET:輸入 復位信號,保持4個以上時鐘周期的高電平時將引起CPU進入復位過程(IF清0,并從存儲單元FFFF0H開始執行指令);BHE/S7:輸出高8位數據總線允許。在讀/寫操作期間允許高8位數據總線D16D8有效(即讀/寫數據的高8位)。 READY:輸入準備就緒。用于與存儲器或I/O接口的同步。=0時CPU進入等待狀態(插入1個或多個等待周期)。38READY引腳的作用總線周期T2T1T3T4時鐘周期總線周期T2T1T3TwaitT4標準總線周

15、期增加了等待狀態的總線周期若在T3周期上升沿檢測到READY=0,將插入等待周期,插入的個數取決于READY何時變為1。采樣398086 Read Cycle408086 Write Cycle418086 Read Cycle (1 Wait State)428086 Read Cycle438086 Write Cycle448086 Read Cycle (1 Wait State)45中斷請求和響應信號INTR:輸入可屏蔽中斷請求輸入端,CPU要檢查IF狀態NMI:輸入非屏蔽中斷請求輸入端, CPU不檢查IF狀態INTA:輸出中斷響應信號,表示CPU已進入中斷響應周期。此信號常用來選通

16、中斷向量號。46總線保持信號HOLD:輸入總線保持請求。用來直接存儲器存取(DMA)。當CPU以外的其他設備要求占用總線以便訪問存儲器時,通過此引腳向CPU發出請求。HOLD=1時,CPU停止執行指令,并將地址/數據總線和控制總線中的所有三態控制線置為高阻狀態。HLDA:輸出總線保持響應。CPU對HOLD信號的響應信號。指示CPU已進入保持狀態。47其他信號TEST:輸入測試信號。執行WAIT指令時將測試此引腳的狀態。=0時,WAIT指令相當于空操作(NOP)。=1時,WAIT指令將重復測試直到它變為0。通常此引腳與8087算術協處理器相連。CLK:輸入時鐘引腳。為CPU提供基本的定時信號。占

17、空比必須為33(高1/3,低2/3)。483.4 8086的存儲器組織8086可訪問1MB的存儲空間(為什么?)哪個寄存器能夠放得下20位的地址?(地址加法器)用分段的方法解決。段是存儲器中的一塊區域段起始于存儲器內16字節整倍數的邊界處。段首地址的最低4位一定為0用段和偏移的組合訪問存儲單元每個段最大為64KB(為什么?)(DB寬度決定)所有存儲單元的地址都由段地址加偏移地址組成段地址被裝入段寄存器中以供尋址使用偏移地址用于在64KB存儲器段內選擇任一單元49段和偏移設段起始地址=60000H段地址偏移地址0FFFFH6A000H12H60000H6 0 0 0段寄存器偏移地址A000H 0

18、 0 0 0段地址(16位)段起始地址 50邏輯地址邏輯地址: 段和偏移形式的地址 段地址:偏移量(有效地址)邏輯地址用于匯編語言程序設計(important)以下地址都是邏輯地址的例子:(1)2000H:0120H(2)2010H:0020H(3)3000H:3000H51物理地址(地址加法器能夠存儲20位的物理地址)物理地址: 存儲單元的硬件地址物理地址=段地址16 (或段地址左移4位)+偏移地址528086/8088 20-bit Addresses53Exercise: 20-bit AddressingCS contains 0A820h,IP contains 0CE24h. What is the resulting physical address?CS contains 0B500h, IP contains 0024h. What is the resulting physical address?十六進制數前面加上0是為了與某些寄存器的標識符進行區分,比如說AH表示通用寄存器中累加器的高八位54默認段和偏移寄存

溫馨提示

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

評論

0/150

提交評論