微機原理與接口技術第二章 8086系統(tǒng)結(jié)構(gòu)_第1頁
微機原理與接口技術第二章 8086系統(tǒng)結(jié)構(gòu)_第2頁
微機原理與接口技術第二章 8086系統(tǒng)結(jié)構(gòu)_第3頁
微機原理與接口技術第二章 8086系統(tǒng)結(jié)構(gòu)_第4頁
微機原理與接口技術第二章 8086系統(tǒng)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

國脈信息學院微機原理及接口技術

第二章8086系統(tǒng)結(jié)構(gòu)第二章8086系統(tǒng)結(jié)構(gòu)工藝集成度數(shù)據(jù)處理位數(shù)據(jù)線地址線尋址空間Intel8086HMOS片內(nèi)含29000晶體管16內(nèi)16201MB外16Intel8088HMOS16內(nèi)16201MB外8

Intel8088:準16位微處理器。IBMPC/XT的CPU。第二章8086系統(tǒng)結(jié)構(gòu)2.18086CPU結(jié)構(gòu)2.28088/8086的引腳及功能2.38086存儲器的組織2.48086的系統(tǒng)配置2.58086CPU時序2.18086CPU結(jié)構(gòu)一、8086CPU的內(nèi)部結(jié)構(gòu)二、8088/8086的寄存器結(jié)構(gòu)一、8086CPU的內(nèi)部結(jié)構(gòu)

屬第三代微處理器運算能力:數(shù)據(jù)總線:DB-16bit(8086)/8bit(8088)

地址總線:AB-20bit

內(nèi)存尋址能力220=1MB組成:16位段寄存器,指令指針,20位地址加法器,總線控制邏輯,6字節(jié)指令隊列。

*當指令隊列有2個或2個以上的字節(jié)空余時,BIU自動將指令取到指令隊列中。若遇到轉(zhuǎn)移指令等,則將指令隊列清空,BIU重新取新地址中的指令代碼,送入指令隊列。*指令指針I(yè)P由BIU自動修改,IP總是指向下一條將要執(zhí)行指令的地址。一、8086CPU的內(nèi)部結(jié)構(gòu)(續(xù))1.總線接口部件BIU工作過程:CS×16+IP20位物理地址送往地址總線控制邏輯發(fā)送讀有效信號 取指令送指令隊列2.指令執(zhí)行部件EU(ExectionUnit)

組成:通用寄存器,標志寄存器,ALU,EU控制系統(tǒng)等。作用:負責指令的執(zhí)行,完成指令的操作。工作過程:從隊列中取得指令,進行譯碼,根據(jù)指令要求向EU內(nèi)部各部件發(fā)出控制命令,完成執(zhí)行指令的功能。若執(zhí)行指令需要訪問存儲器或I/O端口,則EU將操作數(shù)的偏移地址送給BIU,由BIU取得操作數(shù)送給EU。一、8086CPU的內(nèi)部結(jié)構(gòu)(續(xù))3.8086CPU結(jié)構(gòu)的特點:

減少了CPU為取指令而等待的時間,提高了CPU的運行速度。一、8086CPU的內(nèi)部結(jié)構(gòu)(續(xù))二、8088/8086的寄存器結(jié)構(gòu)1.通用寄存器組3.2個控制寄存器4.4個段寄存器8088/8086有14個16位寄存器2.指針/變址寄存器AHDHCLCHBLBHALDLAXBXCXDX*4個16位的數(shù)據(jù)寄存器(AX,BX,CX,DX)寄存器既可存放數(shù)據(jù),也可存放地址。1.通用寄存器組*既可作為16位寄存器也可作為8位寄存器。(例:AH,AL)8bit寄存器只能存放數(shù)據(jù)。*各寄存器隱含用法*通用性強,對任何指令都具有相同的功能二、8088/8086的寄存器結(jié)構(gòu)(續(xù))2.指針及變址寄存器(SP,BP,SI,DI)*BP,SP寄存器稱為指針寄存器,與SS聯(lián)用。*DI,SI寄存器稱為變址寄存器,與DS聯(lián)用,在串指令中,SI,DI均為隱含尋址,此時,SI與DS聯(lián)用,DI與ES聯(lián)用。二、8088/8086的寄存器結(jié)構(gòu)(續(xù))3.指令指針和狀態(tài)寄存器(1)

指令指針I(yè)P

是一個16位的專用寄存器。當BIU從內(nèi)存中取出一條指令,自動修改IP,始終指向下一條將要執(zhí)行的指令在現(xiàn)行代碼段中的偏移量。8086/8088中的某些指令執(zhí)行后會改變IP的內(nèi)容,但用戶不能編寫指令直接改變IP的內(nèi)容。*IP是指令地址在代碼段內(nèi)的偏移量(又稱偏移地址),IP要與CS配合構(gòu)成共同物理地址。(2)狀態(tài)(標志)寄存器PSW

PSW是一個16位的專用寄存器(6位狀態(tài)位,3位控制位)存放運算結(jié)果的特征。二、8088/8086的寄存器結(jié)構(gòu)(續(xù))CF(進位標志):當運算結(jié)果的最高位(D7/D15)出現(xiàn)進位(借位)時,CF=1;PF(奇偶校驗標志):當運算結(jié)果中“1”的個數(shù)為偶數(shù)時,PF=1;AF(輔助進位標志):當結(jié)果的D3向D4(低位字節(jié))出現(xiàn)進位(借位)時,AF=1;ZF(零標志):當運算結(jié)果為零時,ZF=1;SF(符號標志):當運算結(jié)果的最高位D7/D15為1時,SF=1;OF(溢出標志):當運算結(jié)果超過機器所能表示的范圍時,OF=1;D0D2D4D6D15D11D8(2)狀態(tài)(標志)寄存器PSW二、8088/8086的寄存器結(jié)構(gòu)(續(xù))DF(方向標志):在字符串操作時,決定操作數(shù)地址調(diào)整的方向,DF=1,為遞減;IF(中斷允許標志):IF=1,允許CPU響應外部的可屏蔽中斷;TF(陷阱標志):當TF=1,CPU每執(zhí)行一條指令便自動產(chǎn)生一個內(nèi)部中斷,在中斷服務程序中可檢查指令執(zhí)行情況。D0D2D4D6D15D11D8(2)狀態(tài)(標志)寄存器PSW(續(xù))二、8088/8086的寄存器結(jié)構(gòu)(續(xù))4.段寄存器*CS(代碼段寄存器)指向當前的代碼段,指令由此段取出;*SS(堆棧段寄存器)指向當前的堆棧段,棧操作的對象是該段存儲單元的內(nèi)容;

8086/8088按信息存儲的不同性質(zhì)分為四類,分別由四個段寄存器存放該段的首地址,或稱為段地址。二、8088/8086的寄存器結(jié)構(gòu)(續(xù))*DS(數(shù)據(jù)段寄存器)指向當前的數(shù)據(jù)段,該段中存放程序的操作數(shù);*ES(附加段寄存器)指向當前的附加段,主要用于字符串數(shù)據(jù)的存放,也可以用于一般數(shù)據(jù)的存放。4.段寄存器二、8088/8086的寄存器結(jié)構(gòu)(續(xù))第二章8086系統(tǒng)結(jié)構(gòu)2.18086CPU結(jié)構(gòu)2.28088/8086的引腳及功能2.38086存儲器的組織2.48086的系統(tǒng)配置2.58086CPU時序2.28088/8086的引腳及功能8086最小模式下的引腳定義8086最大模式下的引腳定義一、8086最小模式下的引腳定義8086/8088微處理器:40條引線雙列直插(DIP)封裝。

8086/8088微處理器引線是對外前端總線及專用信號引線。

8086/8088微處理器引線,在邏輯上可分為3類:地址總線信號、數(shù)據(jù)總線信號、控制總線信號。還有一些專用信號:電源、地、時鐘。

8086/8088采用引線分時復用技術,一條引線不同時間代表不同信號,解決引線不夠問題。一、8086最小模式下的引腳定義(續(xù))1.基本(共用)引腳信號

AD7~AD0(I/O,三態(tài)):地址/數(shù)據(jù)分時復用引腳。

A8~A15(O,三態(tài)):地址引腳。

A19/S6~A16/S3(O,三態(tài)):地址/狀態(tài)分時復用引腳。BHE#/S7(O,三態(tài)):高字節(jié)允許/狀態(tài)復用引腳NMI(In):非屏蔽中斷請求線,上升邊觸發(fā)。

INTR(In):可屏蔽中斷請求線,高電平有效

RD#(O,三態(tài)):讀選通信號,低電平有效

CLK(In):時鐘信號,處理器基本定時脈沖.

RESET(In):復位信號,高電平有效。

READY(In):準備好信號,高電平有效。處理器與存儲器及I/O接口速度同步的控制信號

WR#(O,三態(tài)):寫選通信號,低電平有效

一、8086最小模式下的引腳定義(續(xù))

TEST#(In):測試信號,低電平有效。處理器執(zhí)行

WAIT指令的控制信號。

MN/MX#(In):最大/最小工作模式選擇信號。硬件設計者用來決定8086工作模式,

MN/MX#=18086為最小模式,

MN/MX#=08086為最大模式。

Vcc

GND(In):處理器的電源引腳一、8086最小模式下的引腳定義(續(xù))2最小模式下的有關控制信號INTA#(O):最小模式下的中斷響應信號。ALE(O):地址鎖存允許信號DEN#(O,三態(tài)):數(shù)據(jù)總線緩沖器允許信號DT/R#(O,三態(tài)):數(shù)據(jù)總線緩沖器方向控制信號。M/IO#(O,三態(tài)):存儲器或I/O接口選擇信號WR#(O,三態(tài)):寫命令信號HOLD(In):總線請求信號HLDA(O):總線請求響應信號SS0#:狀態(tài)輸出線總線狀態(tài)一、8086最小模式下的引腳定義(續(xù))最大模式下的有關控制信號QS1、QS0(O):指令隊列狀態(tài)信號。表明8086當前指令隊列的狀態(tài)。S2#,S1#,S0#(O,三態(tài)):最大模式總線周期狀態(tài)信號。作為總線控制器8288的輸入信號,8288輸出各種控制信號。LOCK#(O,三態(tài)):總線封鎖信號。信號有效時不允許其他主控部件占用總線RQ#/GT#0,RQ#/GT#1(I/O):最大模式總線請求/總線響應信號,每條引線作為輸入時是總線請求RQ信號,每條引線作為輸出時是總線請求響應GT信號。二、8086最大模式下的引腳定義二、8086最大模式下的引腳定義(續(xù))最大/最小工作模式區(qū)別最小NM/MX#=1單處理器直接形成CB最大NM/MX#=0多處理器由8288形成CB三、8088/8086的區(qū)別8088為準16位機S4、S3的組合所代表的正在使用的寄存器S4S3當前正在使用的寄存器00ES01SS10CS或未使用任何段寄存器11DSS5:=1,CPU可響應可屏蔽中斷請求;

=0,CPU禁止一切可屏蔽中斷請求。S6:恒等于零。S3-S48088總線操作IO/MDT/RSS0操作100發(fā)中斷響應信號101讀I/O端口110寫I/O端口111暫停000取指令001讀內(nèi)存010寫內(nèi)存011無操作S2#,S1#,S0#QS1QS0性能00無操作01第一字節(jié)碼10隊列空11非第一字節(jié)碼QS1、QS0第二章8086系統(tǒng)結(jié)構(gòu)2.18086CPU結(jié)構(gòu)2.28088/8086的引腳及功能

2.38086存儲器的組織2.48086的系統(tǒng)配置2.58086CPU時序2.38086存儲器組織一、存儲器地址的分段二、8086存儲器的分體結(jié)構(gòu)一、存儲器地址的分段(續(xù))矛盾:存儲器地址空間1MB,20bit地址線;內(nèi)部各寄存器和數(shù)據(jù)總線均為16bit。1.存儲器地址的分段解決方法:將整個存儲器分為若干個邏輯段,每段內(nèi)地址16bit,即最多地址空間64KB。允許各邏輯段在整個存儲空間浮動。00000H邏輯段2<=64KB邏輯段1起點邏輯段2起點邏輯段3起點邏輯段4起點FFFFFH邏輯段1<=64KB邏輯段4<=64KB邏輯段3<=64KB

每個段的首地址稱為“段基值”,“段基值”必須能被16整除(XXXX0H)。程序執(zhí)行前,分別對相應的段寄存器CS,DS,SS,ES置“段基值”,若程序長度大于64KB,則可通過對CS送新的“段基值”將程序轉(zhuǎn)移到新段中。1.存儲器地址的分段一、存儲器地址的分段(續(xù))邏輯地址:允許在程序中編排的地址;2.20位物理地址的形成物理地址:信息在存儲器中實際存放的地址;對給定的任一存儲單元,有兩部分邏輯地址:段基址(段地址)——由CS,DS,SS,ES決定段內(nèi)偏移量(段內(nèi)有效地址)——(該單元相對于段基址的距離)段地址

0000段內(nèi)有效地址+0000

物理地址(20bit)16bit16bit20bit一、存儲器地址的分段(續(xù))例如:8086復位后物理地址的形成:物理地址=段基址*16+段內(nèi)偏移地址

PC啟動地址=CS*16+IP=FFFF0H+0000H=FFFF0H一、存儲器地址的分段(續(xù))3.邏輯地址的來源;操作類型隱含段地址替換段地址偏移地址取指令CS無IP

堆棧操作SS無SPBP間址SSCS、DS、ESEA存/取操作數(shù)DSCS、SS、ESEA源字符串DSCS、SS、ESSI目的字符串ES無DIEA---有效地址,一、存儲器地址的分段(續(xù))1.問題的提出:

二、8086存儲器的分體結(jié)構(gòu)

8位機(MCS-51、8088)的存儲器地址空間和數(shù)據(jù)存儲格式以字節(jié)(8bit)為單位組織存儲器地址空間,訪問一次存儲器,獲得一個字節(jié)的數(shù)據(jù)。而8086CPU的數(shù)據(jù)總線為16位,CPU除了可以對一個字節(jié)尋址外,還必須能進行一個字的讀寫。即:如何組織數(shù)據(jù)存儲格式使CPU訪問一次存儲器,獲得一個字的數(shù)據(jù)。硬件條件:(1)將1M的存儲空間分成兩個存儲體:偶地址和奇地址存儲體(2)將數(shù)據(jù)總線的低8位與偶地址存儲體數(shù)據(jù)線相連,數(shù)據(jù)總線的高8位與奇地址存儲體數(shù)據(jù)線相連。(3)用地址線A0和BHE信號選擇存儲體00000000010000200004FFFFEFFFFF0000300005512K*8bitA0=0512K*8bitA0=1D0D7D8D15二、8086存儲器的分體結(jié)構(gòu)(續(xù))BHEA0操作總線使用情況

00從偶地址開始讀/寫一個字AD15--AD001從奇地址開始讀/寫一個字節(jié)AD15--AD810從偶地址開始讀/寫一個字節(jié)AD7--AD011無效

二、8086存儲器的分體結(jié)構(gòu)(續(xù))14230H1422FH1422EH1422DH字(16bit)數(shù)據(jù)地址1422EH低位在低地址,高位在高地址H(高8bit)L(低8bit)字節(jié)地址字節(jié)地址存儲器二個連續(xù)字節(jié)組成一個字,一個字中的每一個字節(jié)都有各自的字節(jié)地址。存入時以低位字節(jié)在低地址,高位字節(jié)在高地址的次序存放,字單元的地址以低位地址表示。若要求8086在一個總線周期訪問一個整字(16位)時,則該字的地址為偶地址(“對準好”的字)。如果則該字的地址為奇地址(“未對準好”的字),則8086要用兩個連續(xù)的總線周期訪問一個整字,每個周期訪問一個字節(jié)。數(shù)據(jù)存放格式條件:二、8086存儲器的分體結(jié)構(gòu)(續(xù))堆棧是利用RAM區(qū)中某一指定區(qū)域(由用戶規(guī)定),用來暫存數(shù)據(jù)或地址的存儲區(qū)。堆棧段是由段定義語句在內(nèi)存中定義的一個段,段基址由SS指定。堆棧存取數(shù)據(jù)的原則是“先進后出”,存取數(shù)據(jù)的方法是壓入(PUSH)和彈出(POP)。三、堆棧的概念堆棧區(qū)的棧底是固定的最高地址,其棧頂根據(jù)堆棧數(shù)據(jù)的壓入或取出的變化不斷改變。棧頂是堆棧區(qū)的最低地址,用堆棧指針SP指示。

每執(zhí)行一條PUSH指令,SP=(SP)-2,向堆棧壓入16bit數(shù)據(jù)。

每執(zhí)行一條POP指令,從堆棧彈出16bit數(shù)據(jù),SP=(SP)+2。三、堆棧的概念(續(xù))00FAH00FBH00FCH00FDH00FEH00FFH0100H36H95H2、(SP)-2→SP(AH)→00FFH

(AL)→00FEH(SP)=00FEH(AX)=9536H(BX)=0475H(AX)=0475H(BX)=9536H1、MOVSP,0100H2、PUSHAX3、PUSHBX4、POPAX5、POPBX例:執(zhí)行壓棧和出棧的過程75H04H3、(SP)-2→SP(BH)→00FDH

(BL)→00FCH

(SP)=00FCH1、設棧底(SP)=0100H4、(00FCH)→AL(00FDH)→AH(SP)+2→SP(SP)=00FEH

75H04H5、(00FEH)→BL(00FFH)→BH(SP)+2→SP(SP)=0100H36H95H三、堆棧的概念(續(xù))第二章8086系統(tǒng)結(jié)構(gòu)2.18086CPU結(jié)構(gòu)2.28088/8086的引腳及功能2.38086存儲器的組織2.48086的系統(tǒng)配置

2.58086CPU時序2.48086的系統(tǒng)配置

一、最小模式系統(tǒng)二、最大模式三、8088的引腳與8086的不同之處特點:系統(tǒng)中存儲器芯片,I/O芯片不多;地址總線由AD0~AD15,A16/S3~A19/S6通過8282鎖存器構(gòu)成;數(shù)據(jù)總線直接由AD0~AD15構(gòu)成(也可加總線驅(qū)動8286);控制總線由CPU的控制線提供,構(gòu)成一小型、單處理機系統(tǒng)。一、最小模式系統(tǒng)

8086CPU是16位處理器,采用40引腳的DIP封裝。40條引腳信號按功能可分為4部分:地址總線,數(shù)據(jù)總線,控制總線以及其他(時鐘、電源)。一、最小模式系統(tǒng)(MN/MX引腳接+5V電源)

82848282存儲器8286I/O接口VccVccCLKMN/MXRDWRIO/MALEA16-A19AD0-AD15DT/RDENINTAINTRREADYRESET8086CPUSTBTOE數(shù)據(jù)總線地址總線OE8088最小組態(tài)系統(tǒng)配置圖時鐘發(fā)生器BHEBHE在最小模式系統(tǒng)中,還需加入:1片8284A3片8282/82832片8286/8287一、最小模式系統(tǒng)(續(xù))系統(tǒng)控制信號由總線控制器8288提供,用于多處理機和協(xié)處理機結(jié)構(gòu)中。最大模式(組態(tài))系統(tǒng)(MN/MX引腳接地)8288為總線控制器,輸入8086的總線狀態(tài)信號,輸出總線命令和控制信號。8089為總線裁決器,用于裁決哪個處理器擁有對總線的使用權。二、最大模式8086最大組態(tài)系統(tǒng)配置圖二、最大模式(續(xù))狀態(tài)線S2、S1、S0的編碼S2S1S0性能000中斷響應001讀I/O端口010寫I/O端口011暫停Halt100取指101讀存儲器110寫存儲器111無源二、最大模式(續(xù))共用信號線三、8088的引腳與8086的不同*8088的指令隊列長度為4個字節(jié),隊列中出現(xiàn)1個空閑字節(jié)時,BIU自動訪問存儲器取指補充指令隊列;*8088的地址/數(shù)據(jù)復用線為8條,即AD7~AD0,訪問1個字需兩個讀寫周期;*8088中的存儲器/IO控制線為IO/M,與8086相反;*8086的引腳BHE/S7在8088中為SS0,與DT/R、IO/M一起決定最小模式中的總線周期操作。第二章8086系統(tǒng)結(jié)構(gòu)2.18086CPU結(jié)構(gòu)2.28088/8086的引腳及功能2.38086存儲器的組織2.48086的系統(tǒng)配置

2.58086CPU時序2.58086CPU時序指令周期、總線周期、時鐘周期二.幾種基本時序

時鐘周期、總線周期和指令周期

每兩個時鐘脈沖上升(下降)沿之間的時間間隔稱為T狀態(tài),也稱為時鐘周期(ClockCycle)TCPU從存儲器或輸入/輸出端口,存取一個字節(jié)所要花費的時間稱為一個總線周期(BusCycle)執(zhí)行一條指令所需要的時間稱為指令周期(InstructionCycle)

一.指令周期、總線周期、時鐘周期

一個總線周期一般由四個T組成。T1:輸出地址;T2、T3:傳送數(shù)據(jù)。若存儲器或外設速度慢,可插入等待周期Tw。

若一個總線周期后不執(zhí)行下一個總線周期,即總線上無數(shù)據(jù)傳輸操作,系統(tǒng)總線處于空閑狀態(tài),此時執(zhí)行空閑周期。T1T2T3TwTwT4T1T2T4總線周期一.指令周期、總線周期、時鐘周期(續(xù))二.幾種基本時序1.讀總線周期地址A19---A0M/IO:在整個讀周期有效,

1=I/O讀,0=M讀;ALE:T1期間出現(xiàn)正脈沖,下降沿鎖存地址信息;RD:

在T2-T3期間有效;DT/R:在整個總線周期為低電平,表示讀周期;DEN:在T2-T3期間為低電平,表示數(shù)據(jù)有效。存儲器讀時序2、T1上升沿AL

溫馨提示

  • 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

提交評論