微型計算機原理與應用課件-第2章_第1頁
微型計算機原理與應用課件-第2章_第2頁
微型計算機原理與應用課件-第2章_第3頁
微型計算機原理與應用課件-第2章_第4頁
微型計算機原理與應用課件-第2章_第5頁
已閱讀5頁,還剩102頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《微機原理及其應用》第2章微處理器及系統(tǒng)結構

內(nèi)容簡介:8086/8088微處理器系統(tǒng)特性及結構;

內(nèi)部寄存器的結構特點,8086/8088微機系統(tǒng)的存儲

器組織。

目錄

2.1微型計算機的基本結構

2.28086/8088CPU主要特性及內(nèi)部結構

2.38086/8088CPU工作模式和弓I腳功能

2.48086/8088的存儲器組織

2.58086/8088的總線操作禾口時序

第1章微機基礎知識

2.1微型計算機系統(tǒng)

1.微型計算機的基本組成

一個典型的微型計算機系統(tǒng)可以分成硬件系統(tǒng)和軟件系統(tǒng)兩大部分。

r控制器

rCPU,運算器

、I〔寄存器

‘主:機|r只讀存儲器(ROM)

〔內(nèi)存儲器<隨機存儲器(RAM)

(硬件系統(tǒng)jL高速緩沖存儲器(Cache)

C輸入設備(鍵盤、鼠標、光筆、掃描儀)

I外部設備<輸出設備(顯示器、打印機、繪圖

〔我他設備(網(wǎng)卡、調制解調器、聲卡、顯卡、視頻卡)

微型計算機系統(tǒng)C操作系統(tǒng)(DOS、WindowssUNIX等)

語言處理程序(編譯系統(tǒng)、解釋系統(tǒng)等)

r系統(tǒng)軟件《數(shù)據(jù)庫管理系統(tǒng)(VF、Oracle.Access等)

網(wǎng)絡軟件(等)

【軟件系統(tǒng)W1其他(編輯程序、診斷程序、連接裝配程序等)

(Office套件(Word、Excel、PowerPint>FontPage等)

l應用軟件\工具軟件(解壓縮軟件、殺毒軟件等)

〔用戶程序()

第1章微機基礎知識

1.微機的硬件系統(tǒng)

計算機由運算器、控制器、存儲器、輸入設備和輸出設備等五大部分

組成。通常把運算器和控制器稱為中央處理器CPU,把CPU和存儲器合稱為

計算機的主機。而把輸入設備和輸出設備以及外存儲器合稱為外部設備,

簡稱外設。微型計算機由微處理器、存儲器、輸入輸出(I/O)接口電路及

系統(tǒng)總線組成的,系統(tǒng)總線(三總線)即數(shù)據(jù)總線、地址總線和控制總線,

如圖所不。

地址總線AB

理控制總線CB

器數(shù)據(jù)總線DB

CPU

0

圖1-1微型計算機的基本結構外設

1)CPU

CPU是一個復雜的電子邏輯元件,它包含了早期計算機中的運

算器、控制器及其他功能,能進行算術、邏輯運算及控制操作。

2)內(nèi)存

所謂內(nèi)存就是指微型計算機內(nèi)部的存儲器。由書中圖2.1可以

看到,內(nèi)存是直接連接在系統(tǒng)總線上的。因此,內(nèi)存的存取速度

比較快。由于內(nèi)存價格較高,一般其容量較小。這與作為外設(外

部設備)的外部存儲器剛好相反,后者容量大而速度慢。

內(nèi)存用來存放微型計算機要執(zhí)行的程序及數(shù)據(jù)。

在微型計算機的工作過程中,CPU從內(nèi)存中取出程序執(zhí)行或

取出數(shù)據(jù)進行加工處理。這種由內(nèi)存取出的過程稱為讀出內(nèi)存,

而將數(shù)據(jù)或程序存放于內(nèi)存的過程則稱為寫入內(nèi)存。

內(nèi)存包含有很多存儲單元(每個內(nèi)存單元包含8bit),為區(qū)分

不同的內(nèi)存單元,對計算機中的每個內(nèi)存單元進行編號,內(nèi)存單

元的編號就稱為內(nèi)存單元的地址。

?讀:將內(nèi)存單元的內(nèi)容取入CPU,原單元內(nèi)容不改變;

?寫:CPU將信息放入內(nèi)存單元,單元中原內(nèi)容被覆蓋;

?內(nèi)存的讀寫的步驟為:地址內(nèi)存

?CPU把要讀寫的內(nèi)存單元

的地址放到AB上

00001H11000111

?若是寫操作,CPU緊接著

把要寫入的數(shù)據(jù)放到DB上00002H00001100

?CPU發(fā)出讀寫命令

?數(shù)據(jù)被寫入指定的單元或

從指定的單元讀出到DB

F0000H00111110

?若是讀操作,CPU緊接著

從DB上取回數(shù)據(jù)

FFFFFH

3)系統(tǒng)總線

系統(tǒng)總線包括地址總線、數(shù)據(jù)總線和控制總線。這些總線

提供了微處理器(CPU)與存儲器、輸入/輸出接口部件的連接線???/p>

以認為,一臺微型計算機就是以CPU為核心,其他部件全都“掛

接”在與CPU相連接的系統(tǒng)總線。微型計算機與外設的連接線稱為

外總線,也稱為通信總線。它的功能就是實現(xiàn)計算機與計算機或

計算機與其他外設的信息傳送。

微型計算機工作時,通過系統(tǒng)總線將指令讀到CPU;CPU的數(shù)

據(jù)通過系統(tǒng)總線寫入內(nèi)存單元;CPU將要輸出的數(shù)據(jù)經(jīng)系統(tǒng)總線寫

到接口,再由接口通過外總線傳送到外設;當外設有數(shù)據(jù)時,經(jīng)

由外總線傳送到接口,再由CPU通過內(nèi)總線讀接口讀至IJCPU中。

?地址總線AB:用來傳送CPU輸出的地址信號,確定被訪問的存

儲單元、I/O端口。地址線的根數(shù)決定了CPU的尋址范圍。

CPU的尋址范圍二2n,n-地址線根數(shù)

?數(shù)據(jù)總線DB:在CPU與存儲器、I/O接口之間數(shù)據(jù)傳送的公共

通路。數(shù)據(jù)總線的條數(shù)決定CPU一次最多可以傳送的數(shù)據(jù)寬度。

?控制總線CB:用來傳送各種控制信號”

第1章微機基礎知識

2.微型計算機軟件系統(tǒng)

軟件系統(tǒng)是指為計算機運行工作服務的全部技術資料和各種程序,它

可以保證計算機硬件的功能得以充分發(fā)揮。微機的軟件系統(tǒng)是由系統(tǒng)軟件、

應用軟件組成。

?系統(tǒng)軟件通常包括:操作系統(tǒng)、語言處理程序、診斷調試程序、設

備驅動程序以及為提高機器效率而設計的各種程序。在系統(tǒng)軟件中,最重

要的軟件當屬操作系統(tǒng),即OS(OperatingSystem),所有的應用程序,

包括系統(tǒng)軟件中的一些程序,都要在操作系統(tǒng)構筑的平臺上運行。

?應用軟件是為了解決各類應用問題而編寫的程序。它直接面向用戶,

為用戶服務。應用軟件也可以逐步標準化、模塊化、逐步形成了解決各種

典型問題的應用程序的組合,稱為軟件包。

第2章微處理器及系統(tǒng)結構

2.2Intel8086/8088CPU主要特性及內(nèi)部結構

2.1.18086/8088CPU主要特性

Intel8086是16位微處理器,采用HM0S工藝40條引腳封裝,使用5V

電源,時鐘頻率5MHzo主要特性如下:

(1)8086CPU數(shù)據(jù)總線為16位,8088CPU數(shù)據(jù)總線為8位。

(2)地址總線都是20位,低16位與數(shù)據(jù)總線分時復用,可直接尋址1MB

的存儲空間。

(3)有16位的端口地址,可以尋址64KB的I/O端口。

(4)有99條基本指令,指令功能強大。

(5)有8種基本尋址方式。

(6)可處理內(nèi)部和外部中斷,外部中斷源多達256個。

(7)兼容性好,與80X86、8085在源程序一級兼容。

(8)8086可與和協(xié)處理器(8087、8089)組成多處理器系統(tǒng)。

第2章微處理器及系統(tǒng)結構

8086CPU由兩部分即指令執(zhí)行單元EU和總線接口單元BIU組成。

指令執(zhí)行單元由算術邏輯運算單元ALU、標志寄存器FLAGS、通

用寄存器組和EU控制器等4個部件組成,其主要功能是執(zhí)行指令。

總線接口部件BIU由地址加法器、專用寄存器組、指令隊列和

總線控制邏輯等4個部件組成,其主要功能是形成訪問存儲器的物

理地址、訪問存儲器取得指令并暫存到指令隊列中等待執(zhí)行,訪問

存儲器或I/O端口以及讀取操作數(shù)參與EU運算或存放運算結果等。

BIU不斷地從存儲器取指令送入IPQ(指令預取隊列),EU不斷地

從IPQ取出指令執(zhí)行

EU和BIU構成了一個簡單的2工位流水線

指令預取隊列IPQ是實現(xiàn)流水線操作的關鍵(類似于工廠流水

線的傳送帶)

令預取隊列的存在使EU和BIU兩個部分可同時進行工作,帶來了以

下兩個好處:

?提高了CPU的效率

?降低了對存儲器存取速度的要求

?采用并行流水線工作方式

?對內(nèi)存空間實行分段管理:

>每段大小為16B?64KB

>用段地址和段內(nèi)偏移實現(xiàn)對1MB空間的尋址

>設置地址段寄存器指示段的首地址

8088與8086的區(qū)別:

1)8088BIU中指令隊列長度只有4B,8086BIU指令隊列長度有6B。

2)8088BIU通過總線控制電路與外部交換數(shù)據(jù)的總線寬度是8位,

總線控制電路與專用寄存器組之間的數(shù)據(jù)總線寬度也是8位,

而EU內(nèi)部總線仍是16位,所以把8088稱為準16位微處理器。

?支持多處理器系統(tǒng)

?片內(nèi)無浮點運算部件,浮點運算由數(shù)學協(xié)處理器8087支持(或用

軟件模擬)

?8086(8088)微處理器不僅將微處理器的內(nèi)部寄存器擴充至16位,

從而使尋址能力和算術邏輯運算能力有了進一步提高,而且由于

采取了上述一些措施,使得微處理器的綜合性能與8位微處理器相

比有了明顯的提高。

第2章微處理器及系統(tǒng)結構

2.2.18086/8088CPU引腳功能

GND_____40Vcc(+5V)

AD.4ADI5

AD.3——A[6/S?

AD____A/s

1.8086/8088CPU的主要引腳及功能12174

AD”

_Aj9/S6

8086

AD?BHE/S7

ADCPUMN/MX

8086/8088CPU是十六位的微處理S

AD7RD

AD

6HOLD(RQ0/GT0)

器,它向外的信號至少應包含16條數(shù)據(jù)AD5HLDA(RQ,/GT^

AD4WR(LOCK)

線,20條地址線,再加上其他一些必要AD,M/iocsZ)

AD,DT/R"(S?)

AD)

DEN(So)

的控制信號。為了減少芯片引腳數(shù)量,ADAIE(OS?)

0

NM1INTA(QSj)

INTRTEST

對部分引腳采用了分時復用的方式,構CLKREADY

成40條引腳的雙列直插式封裝。GND_____2021_____RESET

a)

8086CPU封裝外形與內(nèi)部各功能部圖2-38086CPU封裝外形與實物圖

件之間的相互連接如圖2-3a)所示。a)封裝外形

引腳定義的方法可大致分為:—

?每個引腳只傳送一種信息(RD箜);

?引腳電平的高低不同的信號(m/M等);

?CPU工作于不同方式有不同的名稱和定義(WR/LOCK等);

?分時復用引腳(AD7?AD。等);

?引腳的輸入和輸出分別傳送不同的信息(RQ/GT等)。

8088分為兩種工作模式聲MN/前端狀態(tài)決定:

8086CPU上有MN/位輸入引線,用以決定8086CPU工作在哪種工

作模式之下。當MN/MX=1時,8086CPU工作在最小模式之下。止匕時,

構成的微型機中只包括一個8086CPU,且系統(tǒng)總線由CPU的引線形

成,微型機所用的芯片少。當MN/MX=0時,8086CPU工作在最大模

箕之下。

在此模式下,構成的微型計算機中除了有8086CPU之外,還可

以接另外的CPU(如8087、8089等),構成多微處理器系統(tǒng)。

1.最小模式下的引線

在最小模式下,8086CPU的引線如圖2.2所示(不包括括號內(nèi)

的信號)?,F(xiàn)對各引腳介紹如下:

Aw?A19/S3?$6:這是4條時間復用、二態(tài)輸出的引線。在8

086CPU執(zhí)行指令過程中,某一時刻從這4條線上送出地址的最高

4位A16?A19。而在另外時刻,這4條線送出狀態(tài)S3?S6。這些狀

態(tài)信息里,S6始終為低,S5指示狀態(tài)寄存器中的中斷允許標志的

狀態(tài),它在每個時鐘周期開始時被更新,S,和S3用來指示CPU現(xiàn)

在正在使用的段寄存器.

S4、S3的狀態(tài)編碼

所代表的段寄存器

S4S3

00數(shù)據(jù)段寄存器

01堆棧段寄存器

10代碼段寄存器或不使用

11附加段寄存器

在CPU進行輸入/輸出操作時,不使用這4位地址,故在送出接口地

址的時間里,這4條線的輸出均為低電平。

在一些特殊情況下(如復位或DMA操作時),這4條線還可以

々卜干高陽(或浮空成二太)猶太

AD。?加5:?后是贏、£靠時分復用的輸入/輸出信號線,

其信號是經(jīng)三態(tài)門輸出的。由于8086微處理器只有40條引腳,而

它的數(shù)據(jù)線為16位,地址線為20位,因此引線數(shù)不能滿足信號輸

入/輸出的要求。則要選擇分時復用。

M/fO:它是CPU的三態(tài)輸出控制信號,用來區(qū)分當前操作是

訪問存儲器還是訪問I/O端口。若該引腳輸出為低電平,則訪問的

是I/O端口;若該引腳輸出為高電平,則訪問的是存儲器。

WR:它是CPU的三態(tài)輸出控制信號。該引腳輸出為低電平時,

表示CPU正處于寫存儲器或寫I/O端口的狀態(tài)。

DT/R:該引腳是CPU的三態(tài)輸出控制信號,用于確定數(shù)據(jù)

傳送的方向。高電平為發(fā)送方向,即CPU寫數(shù)據(jù)到內(nèi)存或接口;低

電平為接收方向,即CPU到內(nèi)存或接口讀數(shù)據(jù)。該信號通常用于,數(shù)

據(jù)總線驅動器8286/8287(74245)的方向控制.

?DEN:這是CPU經(jīng)三態(tài)門輸出的控制信號。該信號有效時,表示數(shù)據(jù)

總線上有有效的數(shù)據(jù)。它在每次訪問內(nèi)存或接口以及在中斷響應

期間有效。它常用做數(shù)據(jù)總線驅動器的片選信號。

?ALE:三態(tài)輸出控制信號,高電平有效。當它有效時,表明CPU經(jīng)

其引線送出有效的地址信號。因此,它常作為鎖存控制信號將

Ao?A19鎖存于地址鎖存器的輸出端。

?RD:它是讀選通三態(tài)輸出信號,低電平有效。當其有效時,表示

CPU正在進行存儲器或I/O讀操作。

?READY:它是準備就緒輸入信號,高電平有效。當CPU對存儲器或I

/0進行操作時,在T3周期開始采樣READY信號。若為高電平,表示

存儲器或I/O設備已準備好;若其為低電平,表明被訪問的存儲

器或I/O設備還未準備好數(shù)據(jù),則應在T3周期以后,插入TWAIT周

期(等待周期),然后在TWAIT周期中再次采樣READY信號,直至REA

DY變?yōu)橛行Вǜ唠娖剑?,TWAIT周期才可以結束,進入T4周期,完成

數(shù)據(jù)傳送。

?INTR:它是可屏蔽中斷請求輸入信號,高電平有效。CPU在每條指

令執(zhí)行的最后一個T狀態(tài)采樣該信號,以決定是否進入中斷響應周

期。這條引腳上的請求信號,可以用軟件復位內(nèi)部狀態(tài)寄存器中

的中斷允許位(IF)加以屏蔽。

?TEST:它是可用WAIT指令對該引腳進行測試的輸入信號,低電平

有效。當該信號有效時,CPU繼續(xù)執(zhí)行程序;否則CPU就進入等待

狀態(tài)(空轉)。這個信號在每個時鐘周期的上升沿由內(nèi)部電路進%

同步。A

NMI:它是屏蔽中斷輸入信號,邊沿觸發(fā),正跳變有效。這條引

腳上的信號不能用軟件復位內(nèi)部狀態(tài)寄存器中的中斷允許位(IF)予以

屏蔽,所以由低到高的變化將使CPU在現(xiàn)行指令執(zhí)行結束后就引起中斷。

RESET:它是CPU的復位輸入信號,高電平有效。為使CPU完成內(nèi)部

復位過程,該信號至少要在4個時鐘周期內(nèi)保持有效。復位后CPU內(nèi)部

寄存器的狀態(tài)如表2.2所示,各輸出引腳的狀態(tài)如表2.3所示。表2.3中

從麗【(S0)至IJ而1各引腳均處于浮動狀態(tài)。當RESET返回低電平時,

CPU將重新啟動。

表2.2復位后的內(nèi)部寄存器狀態(tài)

內(nèi)部寄存器內(nèi)容內(nèi)部寄存器內(nèi)容

狀態(tài)寄存器清除SS寄存器0000H

IP0000HES寄存器0000H

CS留?器FFFFH指令隊列寄存器清除

DS寄存器0000H

表2.3復位后各引腳的狀態(tài)

引腳名狀態(tài)引腳名狀態(tài)

AD。?AD7浮動RD輸出高電平后浮動

AD&~ADi5浮動INTA輸出高電平后浮動

A16/S3?A1966浮動ALE低電平

高電平HLDA低電平

BHE/S7

DEN(So)輸出高電平后浮動RQ/OT^高電平

DT/R(S,)輸出高電平后浮動RQ/GT;高電平

輸出高電平后浮動QSo低電平

M/IO(S2)

WR(LOCK)輸出高電平后浮動QSi低電平

而丁:它是CPU輸出的中斷響應信號,是CPU對外部

輸入的INTR中斷請求信號的響應。在響應中斷過程中,由

引出端送出兩個負脈沖,可用做外部中斷源的中斷向量碼的

讀選通信號。

HOLD:它是高電平有效的輸入信號,用于向CPU提出

保持請求。當某一部件要占用系統(tǒng)總線時,可通過這條輸入

線向CPU提出請求。

HLDA:這是CPU對HOLD請求的響應信號,是高電

平有效的輸出信號。當CPU收到有效的HOLD信號后,就

會對其做出響應:一方面使CPU的所有三態(tài)輸出的地址信

號、數(shù)據(jù)信號和相應的控制信號變?yōu)楦咦锠顟B(tài)(浮動狀態(tài));

同時還輸出一個有效的HLDA,表示處理器現(xiàn)在已放棄對

總線的控制。當CPU檢測到HOLD信號變低后,就立即使

HLDA變低,同時恢復對總線的控制。

而『/S7:它是時間復用的三態(tài)輸出信號。該信號有

效,用于讀/寫數(shù)據(jù)的高字節(jié)

(D8~Di5),用以保證8086可以一次讀/寫一個字節(jié)

(高字節(jié)或低字節(jié))或者讀/寫一個字(16位)。

CLK:這是時鐘信號輸入端。由它提供CPU和總線控

制器的定時信號。8086CPU的標準時鐘頻率為5MHZo

VCC:它是+5V電源輸入引腳。

GND:它是接地端。

2.最大模式下的引線

當MN/H加上低電平時,8086CPU工作在最大模式

之下。此時,除引線24到34這幾條引線之外,其他引線與

最小模式完全相同。如圖2.2所示,圖中括號內(nèi)的信號就

是最大模式下重新定義的信號。

;[,3。:這是最大模式下由8086CPU經(jīng)三態(tài)門

輸出的4態(tài)信號。這些狀態(tài)信號加到Intel公司同時提供的

總線控制器(8288)上,可以產(chǎn)生系統(tǒng)總線所需要的各種控

制信號。的狀態(tài)編碼表示某時刻的狀

s2,s:,so8086CPU

態(tài),其編碼如表2.4所示。

從表2.4可以看到,當8086CPU進行不同操作時,其

輸出的S2~So的狀態(tài)是不一樣的。因此,可以簡單地理

解為8288對這些狀態(tài)進行譯碼,產(chǎn)生相應的控制信號。

在本章的后面可以看到,8288總線控制器利用

S2~S。為構成系統(tǒng)總線提供了足夠的控制信號。

表2.4So?§2的狀態(tài)編碼]

性能

s2So1

000中斷響應1

讀I/O端口[

001

寫I/O端口|

1010

011暫停

取指]1

100

101讀存儲器1

110與存招&1

111無作用4

■二

RQ/GTo^RQ^GTi:它們是總線請求/允許引腳。每

一個引腳都具有雙向功能,既是總線請求輸入也是總線響

應輸出。但是西/而°比血/Gfl具有更高的優(yōu)先權°這

些引腳內(nèi)部都有上拉電阻,所以在不使用時可以懸空n正

常使用時的工作順序大致如下:

?由其他的總線控制設備(例如數(shù)字協(xié)處理器8087)

產(chǎn)生寬度為一個時鐘周期的負向的總線請求脈沖,將它送

給RQ/GT引腳,相當于HOLD信號。

?CPU檢測到這個請求后,在下一個T4或T1期間,

在同一個引腳輸出寬度為一個時鐘周期的負向脈沖給請求

總線的設備,作為總線響應信號,相當于HLDA信號。這樣

從下一個時鐘周期開始,CPU就釋放總線,總線請求設備

便可以利用總線完成某種操作。

?總線請求設備在對總線操作結束后,再產(chǎn)生一個

寬度為一個時鐘周期的負向脈沖,通過該引腳送給CPU,

它表示總線請求已結束。CPU檢測到該結束信號后,從下

一個時鐘周期開始又重新控制總線,繼續(xù)執(zhí)行剛才因其他

總線設備請求總線而暫時停止的操作。

*

后,:它是一個總線封鎖信號,低電平有效。該信號

有效時,別的總線控制設備的總線請求信號將被封鎖,不

能獲得對系統(tǒng)總線的控制。嬴【信號由前綴指令

“LOCK”使其有效,直至下一條指令執(zhí)行完畢。

QS1,QS0:它們是CPU輸出的隊列狀態(tài)信號。根據(jù)

該狀態(tài)信號輸出,從外部可以跟蹤CPU內(nèi)部的指令隊列。

QS1,QS0的編碼如表2.5所示。隊列狀態(tài)在CLK周期期間

有效。

表2.5QSO,QS1的狀態(tài)編碼

性能

QSiQS0

00無操作

01隊列中操作碼的第一個字節(jié)

10隊列空

11隊列中非第一個操作舊字節(jié)

t

2.2.38088CPU的弓I線及其功能

8086CPU和8088CPU的內(nèi)部總線及內(nèi)部寄存器均為

16位,是完全相同的。但是,8088CPU的外部數(shù)據(jù)線是8

位的,即AD0~AD7,每一次傳送數(shù)據(jù)只能是8位。而

8086CPU是真正的16位處理器,每一次傳送數(shù)據(jù)既可以

是16位也可以是8位(高8位或低8位)的。它們有相同的內(nèi)

部寄存器和指令系統(tǒng),在軟件上是互相兼容的。8088

CPU的引線如圖2.3所示。

GND40——Vcv

AM239Aj?

Atj338

A|j437An/S4

An536"Ajg/S3

Ajo635AJQ/SG

7

~5?)o(HiCjr1)

833MN/MX

AD7932RD

ADn——to31HOLD/(RQ/OT(>)

AD51130HLDA/(RQ/GTO

AD41229WR(LOCK)

ADj1328lO/MfS;)

AD21427DT/R(S.)

ADi1526DEN(So)

AD。--1625ALE(QSo)

NMI1724INTACQS))

INTR1823TEST

CLK1922READY

GND202!RESET

圖2.38088CPU弓I線

對照圖2.2和圖2.3,可以發(fā)現(xiàn)它們之間的主要不同表現(xiàn)

在引線上:

(1)由于8088CPU外部一次只傳送8位數(shù)據(jù),因此其引

線Ag?A15僅用于輸出地址信號。而8086則將此8條線變?yōu)?/p>

雙向分時復用的即某一時刻送出地址

ADg?AD15,Ag?A15,

而另一時刻則用這8條線傳送數(shù)據(jù)的高8位Dg?D15。在進行

16位數(shù)據(jù)操作時,8088CPU一定需要兩個總線周期才能完

成16位數(shù)據(jù)操作,而8086CPU可能只用一個總線周期、一

次總線操作就可完成。因此,8086的速度較8088要快一些。

(2)8086CPU上白如HE/S7信號在8088上%。

(HIGH)信號。這是一條狀態(tài)輸出線。它與10/M和DT/I

信號一起,決定了8088CPU在最小模式下現(xiàn)行總線周期的

狀態(tài)。它們的不同電平所表示的處理器操作情況如表2.6所

2'O

表2.6IO/M,DT/R,可狀態(tài)編碼

10/MDT/Rss;性能

100中斷響應

101讀I/O端口

110寫I/O端口

111暫停

000取指

001讀存儲器

010寫存儲器

011無作用t

HIGH:在最大模式時始終為高電平輸出。

⑶8088的引線28是10/而,即CPU訪問內(nèi)存時該引線

輸出低電平;訪問接口時則輸出高電平。對8086而言,該弓|

線的狀態(tài)剛好相反,即變?yōu)镸/記:

當然,兩者內(nèi)部的指令預取隊列長度不一樣,這在前面

已經(jīng)提到,8088CPU為4個字節(jié)而8086CPU為6個字節(jié)。從應

用的角度來說,這一不同并不重要,

第2章微處理器及系統(tǒng)結構

2.2.48086/8088CPU內(nèi)部結構

8086總線

^=>

圖278086CPU內(nèi)部結構框圖

一條命令的執(zhí)行過程一般分為:

取指令

取操作數(shù)

執(zhí)行指令

寫入存儲器

8088出現(xiàn)以前以上步驟順序執(zhí)行(串行)

8086內(nèi)部的BIU和EU兩個獨立單元,可獨立完成總

線操作和指令執(zhí)行兩個操作,即兩個單元可重疊操作,

可兩次或多次重疊。

?8088以前的CPU采用串行工作方式:

■??■■

,,,■,,

CPU■■■,■,

?’,?

BUS忙碌忙碌忙碌忙碌

1)CPU訪問存儲器(存取數(shù)據(jù)或指令)時要等待總線操作的完成

2)CPU執(zhí)行指令時總線處于空閑狀態(tài)

缺點:CPU無法全速運行

解決:總線空閑時預取指令,使CPU需要指令時能立刻得到

?8088CPU采用并行工作方式

執(zhí)行1執(zhí)行2執(zhí)行3

J

忙碌忙碌忙碌忙碌忙碌忙碌

;4

第2章微處理器及系統(tǒng)結構

8086CPU的寄存器結構

15870

1、8086CPU中有14個16位的寄存器。AXAHAL累加器]

BXBHBL基址寄存器數(shù)據(jù)

A;

CXCHCL計數(shù)寄存器等存器

A8個16位通用寄存器;DXDHDL數(shù)據(jù)寄存器用

>寄

SP堆棧指針寄存器存

A2個16位指針寄存器;器

BP基址指針寄存器

1指針和變址組

SI源變址寄存器寄存器

A2個16位的變址寄存器;DI目的變址寄存器J7

IP指令指針寄存器]

A4個16位的段寄存器;控制寄存器組

FLAGS標志寄存器J

A1個16位指令指針;CS代碼段寄存器

DS數(shù)據(jù)段寄存器

?段寄存器組

A1個16位標志寄存器。SS堆棧段寄存器

ES附加段寄存器,

8086/8088CPU的內(nèi)部寄存器如圖2圖2-28086/8088CPU內(nèi)部寄存器

-2所小。

2、8086(8088)的內(nèi)部寄存器

含14個16位寄存器,按功能可分為三類

8個通用寄存器

4個段寄存器

2個控制寄存器

數(shù)據(jù)寄存器(AX,BX,CX,DX)

地址指針寄存器(SP,BP)變址寄存器(SI,DI)

8個16位通用寄存器,它們可分成兩組。一組由AX、

BX、CX和DX構成,稱為數(shù)據(jù)寄存器,可用來存放16位

的數(shù)據(jù)或地址,也可把它們當作8個8位寄存器來使用,

即把每個通用寄存器的高半部分和低半部分分開。低

半部分被命名為AL、BL、CL和DL;高半部分則被命名

為AH、BH、CH和DH。8位寄存器只能存放數(shù)據(jù)而不能氟

放地址.■

8086(8088)數(shù)據(jù)寄存器

8088含4個16位數(shù)據(jù)寄存器,它們

又可分為8個8位寄存器,即:

?AXAH,AL

?BXBH,BL

?CXCH,CL

?DX—>DH,DL

常用來存放參與運算的操作數(shù)或運算結果

數(shù)據(jù)寄存器的用法

?AX:累加器。多用于存放中間運算結果。所有I/O指令必須都通過AX與接

口傳送彳言息;

?BX:基址寄存器。可存數(shù)據(jù)或在間接尋址中用于存放基地址;還可用于

尋址。

?CX:計數(shù)寄存器??纱鏀?shù)據(jù)還可用于在循環(huán)或串操作指令中存放循環(huán)次

數(shù)或重復次藪;

?DX:數(shù)據(jù)寄存器。在32位乘除法運算時,存放高16位數(shù);在間接尋址的I

/0指令中存放I/O端口地址。

指針寄存器(地址)

?SP:堆棧指針寄存器,其內(nèi)容為棧頂?shù)钠频刂?;a

?BP:基址指針寄存器,常用于在訪問內(nèi)存時存放內(nèi)存單元的偏移地址。

BX與BP在應用上的區(qū)別

■作為通用寄存器,二者均可用于存放數(shù)據(jù);

?作為基址寄存器,BX通常用于尋址數(shù)據(jù)段;BP則通常

用于尋址堆棧段。

?BX一般與DS或ES搭配使用

變址寄存器

?SI:源變址寄存器

?DI:目標變址寄存器

?變址寄存器常用于指令的間接尋址或變址尋址。特別

是在串操作指令中,用SI存放源操作數(shù)的偏移地址,

而用DI存放目標操作數(shù)的偏移地址。

控制寄存器

?IP:指令指針寄存器,(16位)它和代碼寄存器C

S一起可以確定當前所要取的指令的內(nèi)存地址。CP

U執(zhí)行程序的地址總是為CSX16+IPo當順序

執(zhí)行程序時,CPU每從內(nèi)存取一個指令字節(jié),IP自

動加1,指向下一個要讀取的指令。其內(nèi)容為下一

條要執(zhí)行的指令的偏移地址

當CS不變、IP單獨改變時,會發(fā)生段內(nèi)程

序轉移;當CS和IP同時改變時,會發(fā)生段間程

序轉移。

PSW是程序狀態(tài)字,也有人稱它為狀態(tài)寄存

器或標志寄存器,它用來存放8086CPU在工作過

程中的狀態(tài)。PSW各位標志如圖

IS0

標志寄存器是一個16位的寄存器,空著的各位暫未使用。80

86中所用的9位對了解8086CPU的工作和用匯編語言編寫程序是很

重要的。這些標志位的含義如下:

C一進位標志位。做加法時出現(xiàn)進位或做減法時出現(xiàn)借位,

該標志位置1;否則清0。位移和循環(huán)指令也影響進位標志。

P一奇偶標志位。當結果的低8位中1的個數(shù)為偶數(shù)時,則該

標志位置1;否則清0。

A一半加標志位。做加法時,當位3需向位4進位,或做減

法時位3需向位4借位時,該標志位置1;否則清0。該標志位通常

用于對BCD算術運算結果的調整。

Z一零標志位。運算結果所有位均為0時,該標志

位置1;否則清0。

S一符號標志位。當運算結果的最高位為1時,該

標志位置1;否則清0。

T一陷阱標志位(單步標志位)。當該位置1時,將

使8086執(zhí)行單步指令工作方式。在每條指令執(zhí)行結束

時,CPU總是去測試T標志位是否為1。如果為1,那么

在本指令執(zhí)行后將產(chǎn)生陷阱中斷,從而執(zhí)行陷阱中斷

處理程序。該中斷處理程序的首地址由內(nèi)存的00004

H-00007H4個單元提供。該標志位通常用于程序的調

試。例如,系統(tǒng)調試軟件DEBUG中的T命令,就是利用

它來進行程序的單步跟蹤的。

I一中斷允許標志位。如果該位置1,則處理器可

以響應可屏蔽中斷請求;否則就不能響應可屏蔽中斷

請求O

D一方向標志位。當該位置1時,串操作指令為自

動減量指令,即從高地址到低地址處理字符串;否則

串操作指令為自動增量指令。

0一溢出標志位。在算術運算中,帶符號數(shù)的運算

結果超出了8位或16位帶符號數(shù)所能表達的范圍,即字

節(jié)運算大于+127或小于T28時,字運算大于+3276

7或小于-32768時,該標志位置位。

段寄存器

4個16位段寄位器,它們是代碼段寄存器CS,用于存放當前代碼段

的段地址;數(shù)據(jù)段寄存器DS,用于存放當前數(shù)據(jù)段的段地址;附加段寄

存器ES,用于存放當前附加段的段地址;堆棧段寄存器SS,用于存放當

前堆棧段的段地址。這些段寄存器彼此不能互換,每個段寄存器在只能

尋址64KB。

CS:代碼段寄存器

代碼段用于存放指令代碼

DS:數(shù)據(jù)段寄存器

ES:附加段寄存器

數(shù)據(jù)段和附加段用來存放操作數(shù)

SS:堆棧段寄存器

堆棧段用于存放返回地址,保存寄存器內(nèi)容,-

傳遞參數(shù)?

物理地址與邏輯地址

在具有地址變化機構的計算機中地址有兩

種物理地址和邏輯地址

邏輯地址:允許在程序中編排的地址

物理地址:信息在存儲器中實際存放的地址

8086(8088)每個存儲單元也都認為有這兩種

地址

物理地址

物理地址

60000H

存儲器的操作完全基于60001H

物理地址。60002H

60003H

?問題:60004H

8088的內(nèi)部總線和內(nèi)部

寄存器均為16位,如何

生成20位地址?

A解決:存儲器分段

存儲器分段

一個段是存儲器的一個邏輯單元,長度達64KB,每

個段都由連續(xù)的存儲單元構成,使存儲器中可獨立的分別

尋址的單位。

每段第一個字節(jié)的位置成為“段起始地址”.

每個段可相互重疊,也可指向同一空間.

8086(8088)CPU有20條地址線,可配置1M存儲器,地址

為00000H——FFFFOHo

1M

存儲器分段

低地址

段基址八

段i—最大64KB,最小16B

段基址1——

段i

段基址

段i+1

段基址

高地址

?段基地址和段內(nèi)偏移組成了邏輯地址

段地址偏移地址(偏移量)夕―一60000

格式為:

溫馨提示

  • 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

提交評論