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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

《微機(jī)原理及其應(yīng)用》第2章微處理器及系統(tǒng)結(jié)構(gòu)

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

內(nèi)部寄存器的結(jié)構(gòu)特點(diǎn),8086/8088微機(jī)系統(tǒng)的存儲

器組織。

目錄

2.1微型計(jì)算機(jī)的基本結(jié)構(gòu)

2.28086/8088CPU主要特性及內(nèi)部結(jié)構(gòu)

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

2.48086/8088的存儲器組織

2.58086/8088的總線操作禾口時(shí)序

第1章微機(jī)基礎(chǔ)知識

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

1.微型計(jì)算機(jī)的基本組成

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

r控制器

rCPU,運(yùn)算器

、I〔寄存器

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

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

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

C輸入設(shè)備(鍵盤、鼠標(biāo)、光筆、掃描儀)

I外部設(shè)備<輸出設(shè)備(顯示器、打印機(jī)、繪圖

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

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

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

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

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

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

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

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

〔用戶程序()

第1章微機(jī)基礎(chǔ)知識

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

計(jì)算機(jī)由運(yùn)算器、控制器、存儲器、輸入設(shè)備和輸出設(shè)備等五大部分

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

計(jì)算機(jī)的主機(jī)。而把輸入設(shè)備和輸出設(shè)備以及外存儲器合稱為外部設(shè)備,

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

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

如圖所不。

地址總線AB

理控制總線CB

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

CPU

0

圖1-1微型計(jì)算機(jī)的基本結(jié)構(gòu)外設(shè)

1)CPU

CPU是一個(gè)復(fù)雜的電子邏輯元件,它包含了早期計(jì)算機(jī)中的運(yùn)

算器、控制器及其他功能,能進(jìn)行算術(shù)、邏輯運(yùn)算及控制操作。

2)內(nèi)存

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

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

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

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

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

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

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

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

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

不同的內(nèi)存單元,對計(jì)算機(jī)中的每個(gè)內(nèi)存單元進(jìn)行編號,內(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上取回?cái)?shù)據(jù)

FFFFFH

3)系統(tǒng)總線

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

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

以認(rèn)為,一臺微型計(jì)算機(jī)就是以CPU為核心,其他部件全都“掛

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

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

計(jì)算機(jī)與其他外設(shè)的信息傳送。

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

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

到接口,再由接口通過外總線傳送到外設(shè);當(dāng)外設(shè)有數(shù)據(jù)時(shí),經(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章微機(jī)基礎(chǔ)知識

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

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

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

應(yīng)用軟件組成。

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

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

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

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

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

為用戶服務(wù)。應(yīng)用軟件也可以逐步標(biāo)準(zhǔn)化、模塊化、逐步形成了解決各種

典型問題的應(yīng)用程序的組合,稱為軟件包。

第2章微處理器及系統(tǒng)結(jié)構(gòu)

2.2Intel8086/8088CPU主要特性及內(nèi)部結(jié)構(gòu)

2.1.18086/8088CPU主要特性

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

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

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

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

的存儲空間。

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

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

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

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

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

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

第2章微處理器及系統(tǒng)結(jié)構(gòu)

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

指令執(zhí)行單元由算術(shù)邏輯運(yùn)算單元ALU、標(biāo)志寄存器FLAGS、通

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

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

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

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

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

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

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

EU和BIU構(gòu)成了一個(gè)簡單的2工位流水線

指令預(yù)取隊(duì)列IPQ是實(shí)現(xiàn)流水線操作的關(guān)鍵(類似于工廠流水

線的傳送帶)

令預(yù)取隊(duì)列的存在使EU和BIU兩個(gè)部分可同時(shí)進(jìn)行工作,帶來了以

下兩個(gè)好處:

?提高了CPU的效率

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

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

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

>每段大小為16B?64KB

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

>設(shè)置地址段寄存器指示段的首地址

8088與8086的區(qū)別:

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

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

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

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

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

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

軟件模擬)

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

從而使尋址能力和算術(shù)邏輯運(yùn)算能力有了進(jìn)一步提高,而且由于

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

比有了明顯的提高。

第2章微處理器及系統(tǒng)結(jié)構(gòu)

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)

器,它向外的信號至少應(yīng)包含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

對部分引腳采用了分時(shí)復(fù)用的方式,構(gòu)CLKREADY

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

a)

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

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

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

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

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

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

?分時(shí)復(fù)用引腳(AD7?AD。等);

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

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

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

作模式之下。當(dāng)MN/MX=1時(shí),8086CPU工作在最小模式之下。止匕時(shí),

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

成,微型機(jī)所用的芯片少。當(dāng)MN/MX=0時(shí),8086CPU工作在最大模

箕之下。

在此模式下,構(gòu)成的微型計(jì)算機(jī)中除了有8086CPU之外,還可

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

1.最小模式下的引線

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

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

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

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

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

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

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

在正在使用的段寄存器.

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

所代表的段寄存器

S4S3

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

01堆棧段寄存器

10代碼段寄存器或不使用

11附加段寄存器

在CPU進(jìn)行輸入/輸出操作時(shí),不使用這4位地址,故在送出接口地

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

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

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

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

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

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

入/輸出的要求。則要選擇分時(shí)復(fù)用。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CPU正在進(jìn)行存儲器或I/O讀操作。

?READY:它是準(zhǔn)備就緒輸入信號,高電平有效。當(dāng)CPU對存儲器或I

/0進(jìn)行操作時(shí),在T3周期開始采樣READY信號。若為高電平,表示

存儲器或I/O設(shè)備已準(zhǔn)備好;若其為低電平,表明被訪問的存儲

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

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

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

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

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

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

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

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

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

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

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

同步。A

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

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

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

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

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

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

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

CPU將重新啟動。

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

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

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

IP0000HES寄存器0000H

CS留?器FFFFH指令隊(duì)列寄存器清除

DS寄存器0000H

表2.3復(fù)位后各引腳的狀態(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低電平

而?。核荂PU輸出的中斷響應(yīng)信號,是CPU對外部

輸入的INTR中斷請求信號的響應(yīng)。在響應(yīng)中斷過程中,由

引出端送出兩個(gè)負(fù)脈沖,可用做外部中斷源的中斷向量碼的

讀選通信號。

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

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

線向CPU提出請求。

HLDA:這是CPU對HOLD請求的響應(yīng)信號,是高電

平有效的輸出信號。當(dāng)CPU收到有效的HOLD信號后,就

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

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

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

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

HLDA變低,同時(shí)恢復(fù)對總線的控制。

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

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

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

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

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

制器的定時(shí)信號。8086CPU的標(biāo)準(zhǔn)時(shí)鐘頻率為5MHZo

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

GND:它是接地端。

2.最大模式下的引線

當(dāng)MN/H加上低電平時(shí),8086CPU工作在最大模式

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

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

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

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

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

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

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

s2,s:,so8086CPU

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

從表2.4可以看到,當(dāng)8086CPU進(jìn)行不同操作時(shí),其

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

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

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

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

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

性能

s2So1

000中斷響應(yīng)1

讀I/O端口[

001

寫I/O端口|

1010

011暫停

取指]1

100

101讀存儲器1

110與存招&1

111無作用4

■二

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

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

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

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

常使用時(shí)的工作順序大致如下:

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

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

給RQ/GT引腳,相當(dāng)于HOLD信號。

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

在同一個(gè)引腳輸出寬度為一個(gè)時(shí)鐘周期的負(fù)向脈沖給請求

總線的設(shè)備,作為總線響應(yīng)信號,相當(dāng)于HLDA信號。這樣

從下一個(gè)時(shí)鐘周期開始,CPU就釋放總線,總線請求設(shè)備

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

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

寬度為一個(gè)時(shí)鐘周期的負(fù)向脈沖,通過該引腳送給CPU,

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

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

總線設(shè)備請求總線而暫時(shí)停止的操作。

*

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

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

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

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

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

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

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

有效。

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

性能

QSiQS0

00無操作

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

10隊(duì)列空

11隊(duì)列中非第一個(gè)操作舊字節(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>

雙向分時(shí)復(fù)用的即某一時(shí)刻送出地址

ADg?AD15,Ag?A15,

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

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

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

次總線操作就可完成。因此,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中斷響應(yīng)

101讀I/O端口

110寫I/O端口

111暫停

000取指

001讀存儲器

010寫存儲器

011無作用t

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

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

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

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

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

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

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

第2章微處理器及系統(tǒng)結(jié)構(gòu)

2.2.48086/8088CPU內(nèi)部結(jié)構(gòu)

8086總線

^=>

圖278086CPU內(nèi)部結(jié)構(gòu)框圖

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

取指令

取操作數(shù)

執(zhí)行指令

寫入存儲器

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

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

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

可兩次或多次重疊。

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

■??■■

,,,■,,

CPU■■■,■,

?’,?

BUS忙碌忙碌忙碌忙碌

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

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

缺點(diǎn):CPU無法全速運(yùn)行

解決:總線空閑時(shí)預(yù)取指令,使CPU需要指令時(shí)能立刻得到

?8088CPU采用并行工作方式

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

J

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

;4

第2章微處理器及系統(tǒng)結(jié)構(gòu)

8086CPU的寄存器結(jié)構(gòu)

15870

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

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

A;

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

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

>寄

SP堆棧指針寄存器存

A2個(gè)16位指針寄存器;器

BP基址指針寄存器

1指針和變址組

SI源變址寄存器寄存器

A2個(gè)16位的變址寄存器;DI目的變址寄存器J7

IP指令指針寄存器]

A4個(gè)16位的段寄存器;控制寄存器組

FLAGS標(biāo)志寄存器J

A1個(gè)16位指令指針;CS代碼段寄存器

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

?段寄存器組

A1個(gè)16位標(biāo)志寄存器。SS堆棧段寄存器

ES附加段寄存器,

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

-2所小。

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

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

8個(gè)通用寄存器

4個(gè)段寄存器

2個(gè)控制寄存器

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

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

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

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

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

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

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

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

放地址.■

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

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

又可分為8個(gè)8位寄存器,即:

?AXAH,AL

?BXBH,BL

?CXCH,CL

?DX—>DH,DL

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

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

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

口傳送彳言息;

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

尋址。

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

數(shù)或重復(fù)次藪;

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

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

指針寄存器(地址)

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

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

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

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

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

用于尋址堆棧段。

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

變址寄存器

?SI:源變址寄存器

?DI:目標(biāo)變址寄存器

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

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

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

控制寄存器

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

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

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

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

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

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

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

序轉(zhuǎn)移;當(dāng)CS和IP同時(shí)改變時(shí),會發(fā)生段間程

序轉(zhuǎn)移。

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

器或標(biāo)志寄存器,它用來存放8086CPU在工作過

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

IS0

標(biāo)志寄存器是一個(gè)16位的寄存器,空著的各位暫未使用。80

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

重要的。這些標(biāo)志位的含義如下:

C一進(jìn)位標(biāo)志位。做加法時(shí)出現(xiàn)進(jìn)位或做減法時(shí)出現(xiàn)借位,

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

P一奇偶標(biāo)志位。當(dāng)結(jié)果的低8位中1的個(gè)數(shù)為偶數(shù)時(shí),則該

標(biāo)志位置1;否則清0。

A一半加標(biāo)志位。做加法時(shí),當(dāng)位3需向位4進(jìn)位,或做減

法時(shí)位3需向位4借位時(shí),該標(biāo)志位置1;否則清0。該標(biāo)志位通常

用于對BCD算術(shù)運(yùn)算結(jié)果的調(diào)整。

Z一零標(biāo)志位。運(yùn)算結(jié)果所有位均為0時(shí),該標(biāo)志

位置1;否則清0。

S一符號標(biāo)志位。當(dāng)運(yùn)算結(jié)果的最高位為1時(shí),該

標(biāo)志位置1;否則清0。

T一陷阱標(biāo)志位(單步標(biāo)志位)。當(dāng)該位置1時(shí),將

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

時(shí),CPU總是去測試T標(biāo)志位是否為1。如果為1,那么

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

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

H-00007H4個(gè)單元提供。該標(biāo)志位通常用于程序的調(diào)

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

它來進(jìn)行程序的單步跟蹤的。

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

以響應(yīng)可屏蔽中斷請求;否則就不能響應(yīng)可屏蔽中斷

請求O

D一方向標(biāo)志位。當(dāng)該位置1時(shí),串操作指令為自

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

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

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

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

節(jié)運(yùn)算大于+127或小于T28時(shí),字運(yùn)算大于+3276

7或小于-32768時(shí),該標(biāo)志位置位。

段寄存器

4個(gè)16位段寄位器,它們是代碼段寄存器CS,用于存放當(dāng)前代碼段

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

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

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

尋址64KB。

CS:代碼段寄存器

代碼段用于存放指令代碼

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

ES:附加段寄存器

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

SS:堆棧段寄存器

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

傳遞參數(shù)?

物理地址與邏輯地址

在具有地址變化機(jī)構(gòu)的計(jì)算機(jī)中地址有兩

種物理地址和邏輯地址

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

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

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

地址

物理地址

物理地址

60000H

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

物理地址。60002H

60003H

?問題:60004H

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

寄存器均為16位,如何

生成20位地址?

A解決:存儲器分段

存儲器分段

一個(gè)段是存儲器的一個(gè)邏輯單元,長度達(dá)64KB,每

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

尋址的單位。

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

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

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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論