第2章 8086、8088微處理器的體系結構_第1頁
第2章 8086、8088微處理器的體系結構_第2頁
第2章 8086、8088微處理器的體系結構_第3頁
第2章 8086、8088微處理器的體系結構_第4頁
第2章 8086、8088微處理器的體系結構_第5頁
已閱讀5頁,還剩61頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

主講:禹定臣微機原理及接口技術信息工程學院本章基本內容與教學要求1、8086微處理器基本結構2、8086芯片的主要引腳功能3、8086總線周期的基本概念4、8086微機系統的存儲器組織5、8086/8088微機系統的I/O組織第2章8086/8088微處理器的體系結構微機原理與接口技術§2.18086/8088微處理器2.1.1 8086/8088的內部結構

圖2.18086/8088CPU內部結構示意圖從功能結構看,8086/8088CPU分兩部分:

執行部件EU(ExecutionUnit)

總線接口部件BIU(BusInterfaceUnit)§2.18086/8088微處理器1.執行部件EU負責指令的執行:譯碼指令并利用內部寄存器和ALU來處理數據。§2.18086/8088微處理器組成及功能四個數據寄存器:AX,BX,CX,DX四個地址寄存器:BP,SP,SI,DI標志寄存器FR(PSW)算術邏輯單元ALU

存放數據或地址

存放不同尋址方式下的地址偏移量,也可作16位通用寄存器

存放ALU運算結果特征內部控制邏輯電路(EU)從指令隊列取指令、譯碼、產生控制信號

算術邏輯運算§2.18086/8088微處理器2.總線接口部件BIU負責微處理器內部與外部(存儲器和I/O接口)的信息傳輸:取指令、指令排隊、傳送數據(讀/寫操作數)、形成物理地址和總線控制?!?.18086/8088微處理器組成及功能四個段寄存器:CS,DS,SS,ES地址加法器指令隊列總線控制邏輯

存放段地址,與偏移地址配合,尋址1MB空間

將16位邏輯地址變換成20位物理地址

預放指令代碼:6字節/8086;4字節/8088

發出總線控制信號,控制CPU與外部數據的交換指令指針寄存器IP

存放下一條要取出指令的地址§2.18086/8088微處理器流水線操作BIU取指1取指2取指3取指4取數據取指5…EU等待執行1執行2執行3執行4…指令隊列緩沖器存放預取指令,使CPU取指令與執行指令能并行工作,即在一條指令的執行過程中,可以取出下一條或多條指令,在指令隊列中排隊,減少微處理器的等待時間,提高運行效率。這種結構稱為流水線結構。圖2.2BIU與EU并行操作示意§2.18086/8088微處理器2.1.2 8086/8088的寄存器結構

15870AHBHCHDHALBLCLDLSPBPSIDIIPFRCSDSSSESAXBXCXDX代碼段寄存器數據段寄存器堆棧段寄存器附加段寄存器段寄存器指令指針狀態標志控制寄存器累加器基數寄存器計數寄存器數據寄存器堆棧指針基數指針源變址目的變址數據寄存器地址寄存器通用寄存器§2.18086/8088微處理器數據寄存器:AX,BX,CX,DX。四個數據寄存器AX,BX,CX,DX可以作為16位寄存器使用,也可以分別作為兩個8位寄存器使用。內部設置較多通用數據寄存器的好處:①提高數據的處理速度;②減小指令存放的內存空間。BHAHCHDHALBLCLDLAXBXCXDX

隱含用途:AX—累加器;

BX—基址/變址;CX—

計數器;DX—字乘/除和

I/O的間址。1.通用寄存器組§2.18086/8088微處理器地址寄存器:BP,SP,SI,DI。BP、SP、SI和DI專門用于存放特定段的偏移地址,除此以外,還可作為通用數據寄存器用。SP堆棧指針寄存器:棧頂地址。

BP基數指針寄存器:間接尋址中的基址,也可用作堆棧的一個附加指針,訪問堆棧中任意單元的數據。

SI源變址寄存器:間接尋址/變址;串操作中源地址。

DI目的變址寄存器:間接尋址/變址;串操作中目的地址?!?.18086/8088微處理器標志寄存器FR(PSW)FR共有16位,其中7位未用,各位的定義如下:1501413121110987654321DFIFTFSFZFAFPFCFOF兩類標志狀態標志:CF/PF/AF/ZF/SF/OF控制標志:DF/IF/TF狀態標志反映EU執行算術/邏輯運算后結果的狀態;控制標志控制CPU操作。2.控制寄存器§2.18086/8088微處理器存放下一條要取出的指令的偏移地址。16位指令指針寄存器IP

中斷或調用子程序時,IP內容(斷點地址)自動入棧保護;返回時,斷點地址彈出到IP,繼續主程序運行。

跳轉指令時,新的跳轉目標地址送入IP,原指令隊列內容作廢?!?.18086/8088微處理器CS:代碼段寄存器

DS:數據段寄存器SS:堆棧段寄存器

ES:附加段寄存器8086最大尋址空間達1MB(20位地址)8086內部寄存器均為16位,16位地址只可尋址64KB8086采用分段技術解決16位地址寄存器尋址1MB存儲空間的問題:①一個邏輯地址由兩部分組成:段地址、段內偏移量②段地址存放在段寄存器中③實際地址(20位物理地址)=段地址×16+偏移量3.段寄存器§2.18086/8088微處理器20位物理地址的形成1200H(CS)2450H(IP)+14450H20位物理地址=段地址(CS)×16+偏移量(IP)§2.18086/8088微處理器2.1.48086/8088的工作模式及引腳功能

根據不同的應用環境,8086可以工作在兩種模式:1.工作模式系統中只有8086一個微處理器,所有的總線控制信號均由8086產生,系統的總線控制信號被減至最少。

最小模式

最大模式系統中除8086作為主微處理器以外,還有其它的微處理器協助工作:數值運算的協處理器8087,輸入/輸出(I/O)協處理器8089。最大模式用于中規?;虼笮偷?086系統中。8086工作在何種模式,完全由硬件決定:MN/MX?!?.18086/8088微處理器圖2.4 8086最小模式系統典型配置最小模式系統§2.18086/8088微處理器最大模式系統圖2.58086最大模式系統典型配置圖2.6 總線控制器8288與8086的連接圖2.7 多處理器系統2.引腳功能

地址/數據總線

地址/狀態總線

控制總線

電源/地線

其它控制線五類引腳線圖2.58086引腳圖2.68088引腳(1)地址/數據總線AD15

~AD0(雙向/三態)分時復用:在一個總線周期的第一個時鐘周期,AD15

~AD0

傳送地址信號,在其它的時鐘周期,作數據總線使用。地址

鎖存器

STBABDBAD15~AD0ALE§2.18086/8088微處理器(2)地址/狀態線A19/S6~A16/S3(輸出/三態)在一個總線周期的T1,輸出地址信號的最高4位A19~A16,在其他的時鐘周期,輸出狀態信號S6~S3。同樣,這4個引腳信號也要用外電路將地址信號鎖存?!?.18086/8088微處理器S4、S3

的組合指出當前使用的段碼寄存器情況1S4S3意義100當前正在使用ES附加段01當前正在使用SS堆棧段10當前正在使用CS或者未使用任何寄存器當前正在使用DS數據段S6為低,表示8086當前與總線相連S5=IF系統處于DMA,CPU讓出總線,A19/S6~A16/S3進入浮空狀態。(3)控制總線②BHE/S7高8位數據總線允許/狀態線(輸出/三態)在其他的總線周期,為S7狀態信號,8086中S7未作定義。

①CLK系統時鐘輸入信號最大時鐘頻率為8MHZ,占空比1/3。在總線周期的T1,為BHE信號,表示高8位數據線D15~D8

上的數據有效。

§2.18086/8088微處理器BHEA0數據傳送格式00110101同時傳送高、低字節(AD0~AD15)奇數地址的高位字節(AD8~AD15)偶數地址的低位字節(AD0~AD7)無效BHE和

A0結合控制CPU與存儲器之間數據傳送的格式(因為存儲器是按字節組織的)?!?.18086/8088微處理器③MN/MX最大/最小模式控制信號④RD讀信號(輸出/三態,低電平有效)RD=0,讀存儲器或I/O,DMA時浮空。⑤INTR可屏蔽的中斷請求信號(輸入/高電平有效)外設向CPU提出的中斷請求信號,若FR中IF=1,CPU在當前指令后即響應。不受FR中IF的影響,CPU在當前指令后響應。⑥NMI非屏蔽中斷請求信號(輸入/上升沿有效)§2.18086/8088微處理器⑦READY準備就緒信號(輸入,高電平有效)CPU訪問存儲器或外設時,READY有效,表示存儲器或外設已準備好傳送數據。⑧TEST測試信號

(輸入,低電平有效)WAIT指令TEST有效?執行后續指令YesNo與等待指令WAIT配合使用?!?.18086/8088微處理器4T復位重新啟動后,第一條指令地址FFFF0H。⑨RESET系統復位信號(輸入,高電平有效)RESET使CPU復位結束現行操作,初始化內部寄存器。復位信號必須保持4個時鐘周期高電平。CPU中的部分內容標志位清除指令指針(IP)0000HCS寄存器FFFFHDS寄存器0000HSS寄存器0000HES寄存器0000H指令隊列空(4)電源和地線VCC電源+(+5V±10%)

GND地線(兩條)§2.18086/8088微處理器①

M/IO存儲器/輸入輸出控制信號(輸出/三態)RD與M/IO組合對應的操作M/IORD操作1000讀存儲器讀I/O端口(5)其它控制總線24~31#引腳信號的定義依8086的工作模式而定,以下是在最小模式配置時這些引腳的定義?!?.18086/8088微處理器②WR寫信號(輸出/三態,低電平有效)WR與M/IO組合對應的操作M/IOWR操作1000寫存儲器寫I/O端口③INTA中斷響應信號(輸出/三態,低電平有效)CPU響應INTR后,用INTA讀取外設提供的中斷類型號,以取得中斷服務程序的入口地址。§2.18086/8088微處理器在每一總線周期的T1狀態,ALE都輸出有效電平,表示當前地址/數據復用總線上輸出的是地址信息,供地址鎖存器對地址進行鎖存。④ALE地址鎖存允許信號(輸出/三態,高電平有效)⑤DEN數據允許信號(輸出/三態,低電平有效)控制CPU外接的數據收發器。§2.18086/8088微處理器⑥DT/R數據收發方向控制信號(輸出/三態)DT/R=1,即T=1,AB(CPU內存或外設)DT/R=0,即T=0,BA(內存或外設CPU)82862

A

OE

TAD0~AD15D0~D15DENDT/RB控制數據總線驅動器的數據傳送方向。DMA方式下,DT/R浮空§2.18086/8088微處理器⑦HOLD總線保持請求信號(輸入,高電平有效)⑧HLDA總線保持響應信號(輸出,高電平有效)系統中其它總線主設備(如DMA)通過該總線向CPU申請對總線的控制權。CPU響應HOLD信號,讓出總線控制權?!?.18086/8088微處理器2.1.58086/8088的操作和時序

CPU為完成預定功能的操作是在時鐘節拍的同步下,按時序一步一步執行的,這就構成了CPU的操作時序。了解CPU的操作時序,是設計微機系統的重要基礎,也有助于進一步了解系統總線的功能。§2.18086/8088微處理器8086CPU的主要操作有:

系統的復位和啟動

總線讀/寫操作

中斷操作

總線保持或總線請求/允許/釋放操作

暫停操作§2.18086/8088微處理器1.系統的復位和啟動圖2.78086復位操作時序7T復位操作CPU開始執行程序CPU經總線接口部件BIU,讀/寫存儲器或訪問I/O接口,稱為總線操作;執行一次總線操作所花的時間,稱為一個總線周期。圖2.3 典型的BIU總線周期波形圖2.總線讀/寫操作§2.18086/8088微處理器①最小模式下的總線讀操作②最小模式下的總線寫操作③最大模式下的總線讀操作④最大模式下的總線寫操作

8086的總線讀/寫操作有以下四種:§2.18086/8088微處理器圖2.8最小模式下總線讀操作時序圖2.9最小模式下總線寫操作時序圖2.10最大模式下總線讀操作時序圖2.11最大模式下總線寫操作時序3.暫停操作當CPU執行一條暫停命令HLT時,就停止一切操作,進入暫停狀態。暫停狀態一直保持到發生中斷或對系統進行復位為止。在暫停狀態下,CPU可接收HOLD線上(最小模式)或RQ/GT線上(最大模式)的保持請求。當保持請求消失后,CPU仍回到暫停狀態?!?.18086/8088微處理器4.中斷響應操作圖2.12中斷響應周期時序5.最小模式下的總線保持操作圖2.13最小模式下總線保持請求/保持響應時序6.最大模式下的總線請求/允許/釋放操作圖2.14最大模式下總線請求/允許/釋放時序§2.18086/8088微處理器2.1.68086/8088的存儲器及I/O組織

1.8086的存儲器組織(1)存儲器地址8086/8088CPU由20條地址線,存儲器地址的編址范圍:00000H~FFFFFH(1MB)§2.18086/8088微處理器(2)存儲器結構8086系統將1MB存儲空間分成兩個512KB存儲體(庫),一個只包含偶數地址,與數據總線D7~D0相連,所以又稱低位庫;另一個只包含奇數地址,與數據總線D15~D8相連,所以又稱高位庫。地址A0和控制線BHE用于庫選擇,其余19位地址碼(A19~A1)用于訪問任何一個庫(219=512K)?!?.18086/8088微處理器圖2.7存儲體地址空間分配圖2.8存儲體與總線的連接§2.18086/8088微處理器(3)對存儲器中數據的操作

字節數據按序存放

字數據:高位字節放高地址 低位字節放低地址規則字:字數據的低位字 節從偶地址開始非規則字:字數據的低位 字節從奇地址 開始圖2.9CPU往存儲器寫一個字或一個字節過程示意圖

對規則字的存取可在一個總線周期內完成,對非規則字的存取則需兩個總線周期才能完成。8088因外部數據總線為8位,其1MB存儲空間不分高低位庫。每個總線周期均只能完成一個字節的存取操作?!?.18086/8088微處理器(4)存儲器分段1MB存儲空間分成

若干個邏輯段,每

一段

64K(216)。邏輯段1

64KB邏輯段2

64KB邏輯段3

64KB邏輯段4,5

64KB00000邏輯段1起點邏輯段2起點邏輯段3起點邏輯段4,5起點FFFFF

每個段的起始地址

稱為段基址(首址),

由軟件設定。

段與段之間可以連續排列,部分重疊,斷續排列。圖2.10存儲器段結構§2.18086/8088微處理器

邏輯段首地址由段碼寄存器確定64KB64KB64KB64KB堆棧段0000010550250A08FFB0EFF00FFFFF代碼段數據段附加段EFF08FFB250A1055CSDSESSS§2.18086/8088微處理器(5)堆棧

可以有多個堆棧同時存在,由各自的段名區分,但只有一個堆棧段為當前堆棧段。

堆棧深度最大64KB。

堆棧操作均為字操作,SP始終指向實棧頂?!?.18086/8088微處理器

操作數地址:DS(ES)16+偏移地址

(其中的偏移地址取決于指令的尋址方式)

堆棧操作地址:SS16+SP(6)存儲器(內存)地址的一般情況

指令地址:CS16+IP§2.18086/8088微處理器2.8086的I/O組織I/O端口地址

兩種I/O端口編址方式8086采用獨立編址方式

專用的輸入/輸出指令:IN/OUT

獨立編址

統一編址

端口地址空間:64KB(0

溫馨提示

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

評論

0/150

提交評論