第2章 微處理器_第1頁
第2章 微處理器_第2頁
第2章 微處理器_第3頁
第2章 微處理器_第4頁
第2章 微處理器_第5頁
已閱讀5頁,還剩136頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章

;16位和32位微處理器

本章主要教學內容

A8086微處理器內部組成、寄存器結構

>8086微處理器的外部引腳特性和作用

>8086微處理器的存儲器和I/O組織

>8086的時序和總線概念以及最小/最大工作方式

>80X86和Pentium系列微處理器的組成結構及特點

章教學目的及要求

通過學習,使學生掌握8086微處理器

的基本應用;熟悉8086微處理器的組

成及其寄存器結構;掌握8086微處理

器的存儲器和I/O組織。

2.1Intel8086微處理器

Intel8086微處理器是典型的16位微處理器,

它采用高速運算性能的HMOS工藝制造,芯片

上集成了2.9萬只晶體管,使用單一的+5V電源,

40條引腳雙列直插式封裝,有16根數(shù)據(jù)線和20

根地址線,可尋址的地址空間為1MB(220B),

時鐘頻率為5MHz?10MHz,基本指令的執(zhí)行時

間為0.3(is?0.6然。

I8086CPU的特點

?8086CPU的特點是:采用并行流水線工作方

式,通過設置指令預取隊列實現(xiàn);對內存空間實行

分段管理,將內存分為4個段并設置地址段寄存器,

以實現(xiàn)對1MB空間的尋址;支持多處理器系統(tǒng);

8086可工作于兩種模式下,即最小模式和最大模式。

8086還具有多重處理能力,使它能極方便地和浮點

運算器8087、I/O處理器8089或其他處理器組成多

處理器系統(tǒng),從而極大地提高了系統(tǒng)的數(shù)據(jù)吞吐能

力和數(shù)據(jù)處理能力。

2,1.18086微處理器的內部結構

I------------------------------

Intel8086微處理器內部安排了兩個邏輯

單元,即執(zhí)行部件EU(ExecutionUnit)和總線

接口部件BIU(BusInterfaceUnit),其組成

結構如圖2T所示。

地址總線

AXAHAL

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

地址加法器

CXCHCL數(shù)據(jù)

總線

DXDHDL

SP

BP地址寄存器CS

SIDS

DISS8086

總線

ES線

控\

/

ALU數(shù)據(jù)總線(16位)IP制

內部通信輯

寄存器

指令隊列

123456

圖2-1

執(zhí)行部件(EU)總線接口部件(BIU)

[■總線接口部件(businterfaceunit,BIU)

總線接口部件負責與存儲器、I/O端口傳送數(shù)據(jù),由

下列部分組成:

①4個段地址寄存器(CS、DS、ES、SS)

②16位的指令指針寄存器IP(InstructionPointer)

③20位的地址加法器

④6字節(jié)的指令隊列緩沖器

⑤總線控制邏輯

*2.執(zhí)行部件(executionunit,Ell)

行部件EU負責指令的譯碼、執(zhí)行和數(shù)據(jù)運算,

其基本功能是:從總線接口部件BIU的指令隊列中取出

指令代碼,經(jīng)過指令譯碼器譯碼后執(zhí)行該指令所規(guī)定的

操作功能。EU中的各個部件都通過16位的ALU數(shù)據(jù)總

線連接在一起,在內部可實現(xiàn)快速的數(shù)據(jù)傳輸。

EU由算術邏輯單元(ALU)、8個通用寄存器,1個

狀態(tài)標志寄存器、1個數(shù)據(jù)暫存寄存器和EU控制電路等

組成。

執(zhí)行部件EU

負責指令的譯碼、執(zhí)行和數(shù)據(jù)運算,由下列部分組成:

①16位算術邏輯部件ALU(arithmeticlogicunit);

②16便標志寄存器F反映CPU運算的狀態(tài)特征或存放控

制標志;

③4個16位通用寄存器,即AX、BX、CX、DX;

④4個16位專用寄存器,即

基數(shù)指針寄存器BP(basepointer)

堆棧指針寄存器SP(stackpointer)

源變址寄存器SI(sourceindex)

目的變址寄存器DI(destinationindex);

⑤數(shù)據(jù)暫存寄存器協(xié)助ALU完成運算,暫存參加運算

的數(shù)據(jù);

⑥EU控制電路它是控制、定時與狀態(tài)邏輯電路,接收

從BIU中指令隊列取來的指令,經(jīng)過指令譯碼形成各種

定時控制信號,對EU的各個部件實現(xiàn)特定的定時操作。

EU中所有的寄存器和數(shù)據(jù)通道(除指令隊列總線為8位

外)都是16位的寬度,可實現(xiàn)數(shù)據(jù)的快速傳送。

I3.Bill和EU的流水線管理

■j?IU和EU并不是同步工作的,但兩者的動作仍然有一定的

管理原則,體現(xiàn)在下面幾個方面。

①每當BIU的指令隊列中有兩個空字節(jié),BIU就會自動把后面的

指令從存儲器取到指令隊列中。

②在EU執(zhí)行指令的過程中,指令需要對存儲器或I/O設備存取數(shù)

據(jù)時,所需的數(shù)據(jù)交換均由BIU完成。

③當指令隊列已滿,且EU對BIU又沒有總線訪問請求時,BIU進

入空閑狀態(tài)。

④遇轉移/循環(huán)指令時,BIU將指令隊列中指令完全清除,重新取

指令。

2.1,28086/8088的寄存器結構

8086CPU中可供編程使用的有13個16位寄存器和1個只

用了9位的標志寄存器,按其用途可分為8個通用寄存器、2

個控制寄存器和4個段寄存器,如圖2-2所示。

AHAL累加器

BHBL基址寄存器

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

CHCL計數(shù)寄存器

DHDL-

通用寄存器

SP堆棧指針寄存器

BP基址指針寄存器地址指針和

SI源變址寄存器變址寄存器

DI目的變址寄存器

IP指令指針寄存器

控制寄存器

FLAGS標志寄存器

CS代碼段寄存器

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

段寄存器

SS堆棧段寄存器

ES附加段寄存器圖2-2

8086/8088的寄存器結構

F通用寄存器

通用寄存器是一種面向寄存器的體系結構,操作數(shù)可以直接存放

在這些寄存器中。

(1)數(shù)據(jù)寄存器:有4個16位的寄存器,其典型功能歸納如下:

AX:累加器,用于完成各類運算和傳送、移位等操作;

BX:基址寄存器,在間接尋址中用于存放基地址;

CX:計數(shù)寄存器,用于在循環(huán)或串操作指令中存放計數(shù)值;

DX:數(shù)據(jù)寄存器,在間接尋址的I/O指令中存放。

止匕外,還可將每個16位的寄存器分成獨立的兩個8位寄存器

來使用,即AH、BH、CH、DH和AL、BL、CL、DL兩組。16位數(shù)

據(jù)寄存器主要用于存放常用數(shù)據(jù),也可存放地址,而8位寄存器只

能用于存放數(shù)據(jù)。

8086/8088的寄存器結構

(2)指針與變址寄存器:8086的指針寄存器和變址寄存

器都是16位寄存器,一般用來存放偏移地址,4個寄存器的功

能如下:

SP:堆棧指針寄存器,保存位于當前堆棧段中的數(shù)據(jù),其內容

為棧頂?shù)钠频刂贰?/p>

BP:基址指針寄存器,在訪問內存時存放內存單元的偏移地址,

或用來存放位于堆棧段中的一個數(shù)據(jù)區(qū)基址的偏移地址。

SI:源變址寄存器,用來存放源操作數(shù)的偏移地址。

DI:目的變址寄存器,用來存放目的操作數(shù)的偏移地址。

(3).通用寄存器的隱含用法

表2-1寄存器的隱含用法

寄存靜執(zhí)行操作

AX整字乘法,整字除法,整字I/O

AL字節(jié)乘法,字節(jié)除法,字節(jié)I/O.查表,十進制篁術運篁

AH字節(jié)乘法,字節(jié)除法

BX查表

CX字符串噪作,循環(huán)

CL變量的移位和循環(huán)移位

DX整字乘法,整字除法,間接尋址ID

SP堆棧操作

SI字符串操作

DI字符串操作

圖2-3

&8086/8088的寄存器結構

2.控制寄存器

(1)指令指針寄存器IP:由于指令代碼是存放在存儲器的

代碼段中,代碼段寄存器CS指示代碼段的開始,16位指令指

針寄存器IP用來指示當前指令在代碼段的偏移位置。CPU利

用CS和IP取得要執(zhí)行的指令,然后修改IP中的內容,使之指

向BIU要取的下一條指令的偏移地址。

指令序列執(zhí)行時,每取一次指令IP就自動加1,這樣保

證按順序取出指令并執(zhí)行相應操作。需要注意的是,IP是指

令代碼存放單元的地址指針,不能用指令取出IP或給IP設置

給定值,但可以通過某些指令(如轉移類指令)來修改IP的

內容。

■8086/8088的寄存器結構

(2)標志寄存器FLAG:FLAG用于反映指令執(zhí)行結果或控

制指令執(zhí)行的形式。它是一個16位的寄存器,共有9個可用

的標志位,其余7個位空閑不用。各種標志按作用可分為兩

類:狀態(tài)標志和控制標志。

狀態(tài)標志:用來反映算術或邏輯運算后結果的狀態(tài),以記錄

CPU的狀態(tài)特征。

控制標志:用來控制CPU的操作,由程序設置或清除。

標志寄存器F所用的各位含義如下:

6個狀態(tài)標志:CF-進位標志;PF-奇偶標志;AF-輔助

進位標志;ZF-零標志;SF-符號標志;OF-溢出標志

3個控制標志:TF-陷阱標志或單步操作標志:IF-中斷

允許標志;DF-方向標志

1514131211109876543210

OFDFIFTFSFZFAFPFCF

圖2-4

狀態(tài)標志位有6個,即SF、ZF、PF、CF、AF和OF

①符號標志SF(signflag)

②零標志ZF(zeroflag)

③奇偶標志PF(parityflag):當指令執(zhí)行結果的

低8位中含有偶數(shù)個1時,則PF為1;否則為0。

④進位標志CF(carryflag)

⑤輔助進位標志AF(auxiliarycarryflag)

⑥溢出標志OF(overflowflag)

控制標志位有3個,即DF、IF、TF

①方向標志DF(directionflag):控制數(shù)據(jù)串操

作指令的步進方向??捎肧TD、CLD將DF置1或清0。

②中斷允許標志IF(interruptenableflag):控

制可屏蔽中斷的標志。可用STI、CLI將IF置1或清0。

③跟蹤(陷阱)標志TF(trapflag):為調試程

序的方便而設置的。若將TF置1,貝”8086/8088CPU處

于單步工作方式;否則,將正常執(zhí)行程序。

3,段寄存器

在IBMPC機中,有四個專門存放段地址的寄存器,稱為段

寄存器。每個段寄存器可以確定一個段的起始地址,而這些

段則各有各的用途。

(1)代碼段(CodeSegment):用來存放當前正在運行的

程序。系統(tǒng)在取指時將尋址代碼段,其段地址和偏移地址分

別由段寄存器CS和指令指針I(yè)P給出。

(2)數(shù)據(jù)段(DataSegment):存放當前運行程序所用的

數(shù)據(jù)。用戶在尋址該段內的數(shù)據(jù)時,可以缺省段的說明,其

偏移地址可通過多種尋址方式形成。

?8086/8088的寄存器結構

(StackSegment):“堆?!笔菙?shù)據(jù)的一種存取方

式,按照“先進后出”的方式操作。堆棧指針SP用來指示棧頂。

堆棧為保護、調度數(shù)據(jù)提供了重要的手段。系統(tǒng)在執(zhí)行棧操作指

令時將尋址堆棧段,這時,段地址和偏移地址分別由段寄存器SS

和堆棧指針SP提供。

(4)附加數(shù)據(jù)段(ExtraSegment):該段是附加的數(shù)據(jù)段,是

一個輔助的數(shù)據(jù)區(qū),也用于數(shù)據(jù)的保存。用戶在訪問段內的數(shù)據(jù)

時,其偏移地址同樣可以通過多種尋址方式來形成,但在偏移地

址前要加上段的說明(即段跨越前綴ES)。

2.1.38086的引腳信號和工作模式

1.最小模式和最大模式的概念

⑴最小模式:

系統(tǒng)中只有一個微處理器。

(2)最大模式:

兩個或多個微處理器(主處理器、協(xié)處理器)

j,2.8086/8088的引腳信號和功能

VI)8086CPU引腳信號

8086CPU具有40個引腳,采用雙列直插式的封裝形

式,如圖2-4所示。

數(shù)據(jù)總線為16條,地址總線為20條,其余為狀態(tài)

線、控制信號線、電源、地線等。地址/數(shù)據(jù)總線采

用了分時復用方式,即一部分引腳具有雙重功能,

例如AD15~ADo這16個引腳,有時傳送數(shù)據(jù)信號,有時

可輸出信址信號。

GNDi40VCCl十3v)

An,.

AD14239aAun1y5

An.A/Q

八U|3338A16/S3

八AUr)|2437AIS.

AnA/Q

AD11536A18/^5

…ADio635A19/^6

An

3AU9734

BHE/S/

cADUo?8331MV1N1>//1MV1Y人

r\U7932RD

AADn61031HOLID\RQ/CJ1Q/

AAUn5L1130HLDA(RQ/G11/

AD41229WR(LOCK)

AnA4/TC/C\

AD31328M/1U\02o7

AD21427D1/R(S1/

ADi-1526DEN(So)

AALn)()1625ATP(Ct)

N1、M1V1I11724ITNNT1TAA\(CS,、

1T1NNT1TDK1823TEST

CTLVlx1922KEADI

VJINU2021KLSL1

圖2-58086CPU引腳圖

注意點:

①8086/8088的數(shù)據(jù)線和低16位地址線復用

②8086有16位數(shù)據(jù)線,而8088只有8位

③除了第28和34腳之外,8086和8088的控

制線引腳定義是一樣的。

④第21腳(RESET)為輸入復位信號

⑤第22引腳為“準備好”(READY)信號

⑥高4位地址線和狀態(tài)線復用

(2)引腳功能

①GND、VCC地和電源

②AD15?ADO地址/數(shù)據(jù)復用

③A19/S6?A16/S3地址/狀態(tài)復用

④§n^/s7高8位數(shù)據(jù)總線允許/

狀態(tài)復用

⑤NMI非屏蔽中斷輸入

⑥INTR可屏蔽中斷請求信號輸入

⑦亞讀信號輸出

⑧CLK時鐘輸入

⑨RESET復位信號輸入

?READY“準備好”信號輸入

(11)TEST測試信號輸入

?MN/MX最小和最大模式控制輸入

(3)最小模式下引腳功能

①INTA中斷響應信號輸出

②ALE地址鎖存允許信號輸出

③DEN數(shù)據(jù)允許信號

(4)DT/R數(shù)據(jù)收發(fā)信號輸出

⑤M/記存儲器/輸入輸出控制信號

輸出

⑥而寫信號輸出

?HOLD總線保持請求信號輸入

⑧HLDA總線保持響應信號輸出

(4)最大模式下引腳功能定義

①Q(mào)S1、QSO指令隊列狀態(tài)信號輸出

②豆、可、前總線周期狀態(tài)信號輸出

③LOCK(lock)總線封鎖信號輸出

@RQ/GTI>也?/而)總線請求信號輸入、

總線授權信號輸出

4

表2-2SO,S1,免的組含和對應總線操作

SOsiS2操作

000發(fā)中斷響應信號

001讀I/O端口

0i0寫DO端口

0i1哲停

100取指令

101讀存儲器

1i0寫存儲器

1i1無源狀態(tài)

2.1.4最小/最大工作模式

8086CPU的最小/最大工作模式的概念

Intel公司在設計8086CPU芯片時,為了適應各種應用場合,構成不

同規(guī)模的微型計算機系統(tǒng),規(guī)定了兩種工作模式,即最小工作模式和最

大工作模式。通過CPU的第33條引腳MN/來控制。

(1)最小工作模式(MN/=1):當把8086CPU的33引腳MN/接+5V時,系統(tǒng)

就處于最小工作模式了。最小模式系統(tǒng)適用于單微處理器組成的小系統(tǒng),

系統(tǒng)中通常只有一個微處理器,所有的總線控制信號都直接由8086CPU產(chǎn)

生,系統(tǒng)中的總線控制邏輯電路被減到最少。該模式8086CPU的8條控制

引腳24?31的功能定義如表2-7所示。

(2)最大工作模式(MN/R):當把8086的33引腳MN/接地時,系統(tǒng)處于

最大工作模式。此時,系統(tǒng)中存在兩個或兩個以上的微處理器,其中有

一個主處理器8086,其他處理器稱為協(xié)處理器。

02.最小工作模式的配置特點_

(1)8086CPU的33引腳MN/接+5V(MN/=1)時,決定了系統(tǒng)處于最小工

作模式。

(2)有一片8284A,作為時鐘發(fā)生器。

(3)有三片8282或74LS373,用來作為地址鎖存器。

(4)當系統(tǒng)中所連接的存儲器和外設比較多時,需要增加系統(tǒng)數(shù)據(jù)總線

的驅動能力,這時,可選用兩片8286或74LS245作為總線收發(fā)器。

8086在最小模式下的典型配置:

8284A

CLKRESET

READYBHE

MN/MX+5V

ALESTB

BHE

地址鎖存器地圮:總吟〉

A|9?A]6

8282

AD]5~AD()c(3片)

8086才收發(fā)器----------1

I8286途攵據(jù)總終

DEN-I,(2片)

DT/R-IT(可選)

____I

M/7O

WR

RD

HOLD

HLDA一控制總線

INTR

INTA

READY

RESET

圖2-6

3.8284A時鐘信號發(fā)生器

8284A是Intel公司專為8086設計的時鐘信號發(fā)生器,能產(chǎn)生8086所

需的系統(tǒng)時鐘信號,即系統(tǒng)主頻。8284A除提供恒定的時鐘信號外,還

對外界輸入的準備就緒信號RDY和復位信號進行同步操作。

8284A芯片的引腳特性如圖2-7所示。

8

CSYNC

—VCc

27

PCLK-Xi

3

AENi-----X1

485

2—ASYNC

RDYi8

54-4

A4

READY—EFI

613

1—F/C

RDY2

72

—osc

AEN2

?

CLK一—RES

o

GND—RESET

圖2-78284A引腳特性

8284A時鐘信號發(fā)生器的原理

其工作原理簡述如下:當外界的準備就緒信號RDY輸入8284A,經(jīng)

時鐘下降沿同步后,輸出READY信號作為8086的準備就緒信號;外界的

復位信號輸入8284A,經(jīng)整形并由時鐘的下降沿同步后,輸出RESET信

號作為8086的復位信號,其寬度不得小于4個時鐘周期。采用脈沖發(fā)生

器作為振蕩源時只需將脈沖發(fā)生器的輸出端和8284A的EFI端相連,引

腳F/接為高電平即可;采用石英晶體振蕩器作為振蕩源時只需將晶體

振蕩器連在8284A的Xi和X2兩端,將引腳F/接地即可。不管采用哪種方

法,8284A輸出的時鐘頻率CLK應該是振蕩源頻率的1/3,振蕩源頻率經(jīng)

過驅動后,再由0SC端輸出供系統(tǒng)使用。

4.最大工作模式的配置特點

(1)8086CPU的33引腳MN/接地(MN/-O)時,決定了系統(tǒng)處于最大工作

模式。

(2)最大模式外加8288總線控制器,通過它對CPU發(fā)出的控制信號進行

變換和組合。

(3)最大模式中,一般包含2個或多個處理器,需要解決主處理器和協(xié)

處理器之間的協(xié)調工作問題以及對總線的共享控制問題,為此,需從軟

件和硬件兩個方面去解決。

8086在最大模式下的典型配置:

CLKRESET

READY

MN/MX

BHE

A[9?A%

AD15~AD()

80868286

收發(fā)器

OE(2個)

8288

總線控制器

S.

S.

INTR

RQ/GTQ8259A

RQ/GT|及有關電路圖2-8

42.L5存儲器和I/O組織

1.8086的存儲器編址

圖2?9存儲器的邏輯結構示意圖

低位中節(jié)方:入低地址,高位字節(jié)存入高地址。

(2)同一個地址既可看作字節(jié)單元的地址,也可看作字節(jié)

單元的地址。

(3)存儲器的特性:內容取之不盡,從某單元取出其內容

后,該單元仍然保存著原來的內容不變,可以重復取出,只

有存入新的信息后,原來保存的內容就自動消失了。

(4)假設X單元中存放著Y,而Y又是一個地址,則可用

(Y)=((X))來表示Y單元的內容。如:

(0001H)=1234H

(1234H)=2F1EH

((0001H))=2F1EH

2.存儲器分段

8086系統(tǒng)中采用20位地址線來尋址1M字節(jié)的存儲空間。由于CPU內所有

的寄存器都只有16位,只能尋址64KB(216字節(jié))。因此,把整個存儲空間分

成若干邏輯段,每個邏輯段的容量最大為64KB,這樣段內地址可以用16位表

示。CPU允許各個邏輯段在整個存儲空間中浮動,它們可以緊密相連,也可

以相互重疊,還可以分開一段距離,如圖2-10所示。

段的起始地址有所限制,不能起于任意地址,而必須從任一小段的首

地址開始,其特征是:在16進制表示的地址中,最低為0(即20位地址的

低4位為0)。

在1MB的存儲器中,每個存儲單元都有一個唯一的20位地址,稱為該

單元的物理地址,由16位段地址和16位偏移地址組成。

OOOOOH

邏輯段1

W64KB

邏輯段2

W64KB

邏輯段3

W64KB

邏輯段4

W64KB

FFFFFH

圖2-10存儲器分段示意圖

20位物理地址的形成:

段地址:每一段的起始地址。

偏移地址:在段內相對于起始地址的偏移值。

段寄存器值

偏移量

物理地址

圖2-11

CS、DS、SS和其他寄存器組合指向存儲單元的示

意圖:

圖2-12

3.邏輯地址(LA)和物理地址(PA)的關系

物理地址:就是存儲器的實際地址,它是指CPU和存儲器

進行數(shù)據(jù)交換時所使用的地址(20位)。

邏輯地址:是在程序中使用的地址,它由段地址和偏移地

址兩部分組成(16位)。

邏輯地址的表示形式為“段地址:偏移地址”。

物理地址=段地址X10H+偏移地址

一個存儲單元的物理地址唯一,邏輯地址不唯一。

存儲器組織

?存儲器內部是按字節(jié)進行組織的,兩個相鄰的字節(jié)被

稱為一個“字”。

8086CPU在組織1M字節(jié)的存儲器時,其存儲空間被分

成兩個512K字節(jié)的存儲體:固定與CPU的低位字節(jié)數(shù)據(jù)

線D7?D。相連的稱為低字節(jié)存儲體,該存儲體中的每個地

址均為偶數(shù);固定與CPU的高位字節(jié)數(shù)據(jù)線D”?Dg相連的

稱為高字節(jié)存儲體,該存儲體中的每個地址均為奇數(shù)。兩

個存儲體之間采用字節(jié)交叉編址方式,如圖2-13所示。

00001H00000H

00003H00002H

.■

100005H00004H

512KX8(位)512KX8(位)

|njT*T1存儲體低字吊存儲體

(奇地址存儲體)(偶地址存儲體)

(A0=l)(Ao=O)

FFFFDHFFFFCH

FFFFFHFFFFEH

圖2-138086存儲器的分體結構

A1Q-A1

圖8086系統(tǒng)的存儲結構

-表BHE和AO的意義

操作BHEA0使用的數(shù)據(jù)埃

傳送偶地址的一個字節(jié)10AD7-AD0

傳送奇地址的一個字節(jié)01AD15-AD8

存取規(guī)則字0LIAD15~AD0

01AD15~AD8(第一個總線周期)

存取不規(guī)則字

10AD7-AD0(第二個總線周期)

.5.I/O端口組織

■8086的I/O端口有以下兩種編址方式:

(1)統(tǒng)一編址:該方式將I/O端口地址置于1MB的存儲器

空間中,把它們看作存儲器單元對待,每個端口占用一個

存儲單元的地址。CPU訪問存儲器的指令和各種尋址方式

都可用于尋址I/O端口。優(yōu)點是不需要專門的I/O指令,對

I/O端口操作的指令類型多,數(shù)據(jù)存取靈活,方便進行I/O

程序的設計;缺點是I/O端口要占用部分存儲器的地址空間,

程序不易閱讀,不容易區(qū)分哪些指令在訪問存儲器,哪些

指令在訪問外部設備。

5.I/O端口組織

■獨立編址:該方式的端口單獨編址構成一個I/O空間,

不占用存儲器地址。CPU設置了專門的輸入/輸出指令(IN和

OUT)和接口控制信號來訪問I/O端口。8086CPU使用16條地

址線Ai5~A0來作為訪問I/O端口的地址線,可訪問最多64K容

量的8位端口或32K容量的16位端口。

獨立編址的優(yōu)點是I/O端口的地址空間獨立,控制電路和地

址譯碼電路比較簡單,采用專用的I/O指令,使得端口操作

的指令在形式上與存儲器操作指令有明顯區(qū)別,程序編制清

晰,閱讀容易;缺點是輸入/輸出指令類別少,一般只能進

行傳送操作。

1j,L5總線操作及時序

8086CPU的操作是在時鐘CLK統(tǒng)一控制下進行的,以便使

取指令和傳送數(shù)據(jù)能夠協(xié)調地工作。

8086CPU經(jīng)外部總線對存儲器或I/O端口進行一次信息的

輸入或輸出過程,稱為總線操作,執(zhí)行該操作所需要的時間,

稱為總線周期。一個總線周期通常包括T1、丁2、丁3、丁4狀態(tài),

即4個時鐘周期。不同的總線操作需要不同的總線信號,對這

些信號的變化進行時間順序的描述稱為“總線時序”

1.8086總線周期與時鐘周期的概念

通常,計算機執(zhí)行一條指令所需要的時間稱為一個指令

周期。而一個指令周期是由若干個總線周期所組成的,一個

總線周期是CPU通過總線與存儲器或外部設備進行一次數(shù)據(jù)傳

輸所需的時間。

為了保證總線的讀/寫操作,8086的總線周期至少要由4

個時鐘周期組成,每個時鐘周期稱為T狀態(tài)。時鐘周期是CPU

的基本時間計量單位,由主頻決定。對于8086來講,其主頻

為5MHz,故一個時鐘周期為200ns。

2.總線周期序列

典型的8086總線周期序列:

圖2-14

①T1狀態(tài),發(fā)地址信息

②T2狀態(tài),總線的高4位輸出狀態(tài)信息

③T3狀態(tài),高4位狀態(tài)信息,低16位

數(shù)據(jù)

④T3之后,可能插入Tw

⑤在T4狀態(tài),結束。

3.8086的操作和時序

8086的主要操作:

①系統(tǒng)的復位和啟動操作;

②暫停操作;

③總線操作;

④中斷操作;

⑤最小模式下的總線保持;

⑥最大模式下的總線請求/允許。

4.系統(tǒng)的復位和啟動操作

圖2-15

露,6復位時各內部寄存翻值

標志寄存器1等

指令指針(網(wǎng)0000H

CS膏存器FFFFH

DS寄存器0000H

SS寄儲0000H

ES箱詈0000H

指令隊列5

其他鞘器0000H

5.總線操作

(1)最小方式下的總線讀操作

(2)最小方式下的總線寫操作

(3)最大模式下的總線讀操作

(4)最大模式下的總線寫操作

(1)最小方式下的總線讀操作

TTw(l?〃)

T,T2

CLK-

M/TOX高為讀內存低為讀I/O

A"S6-------?_____⑥

Y地址輸狀態(tài)輸出

-A|/Sf1LX_>

63_⑧

BHE/S7儂BHE

%、⑦.?___________

AD-AD,--------〈地址輸出)一<數(shù)據(jù)輸入

15(>

圖2-16

(2)最小方式下的總線寫操作

圖2-17

(3)最大模式下的總線讀操作

1個總線周期---------

0s??s()/無源狀態(tài)'

?A16、BHE

A19/S6-A,6/S3)浮空

XS7?S3

BHE/S7

地址輸入數(shù)據(jù)、

AD]5~AD()(AI5-AOy〈D|5?D0>

*ALE

*MRDC或*10RC

*DT/R

*DEN

圖2-18

(4)最大模式下的總線寫操作

1個總線周期

T.T2T4

當。/無源狀態(tài)\

?S2?So

A~A,BHE

A/S~A/S19I6浮空

196163S~S

73>

BHE/S7

地址

AD]5?AD°)-—(A]5?A()X輸出數(shù)據(jù)—>

*DT/R-------------------------------------------------------

?ALE-----------/\----------------------------------------------

*AMWC或*AIOWC\/

*MWTC或*IOWC\/

*DEN----------------------''-----------

圖2-19

6.中斷操作和中斷系統(tǒng)

(1)8086的中斷分類

硬件中斷(非屏蔽中斷和可屏蔽中斷)

軟件中斷

8086/8088的中斷分類:

INTn指令非屏蔽中斷請求

NM1

中斷控制邏輯

INIR

統(tǒng)

INT3INTO單步除數(shù)為斷

0中斷

指令指令中斷求

(8259A)

軟件中斷

硬件中斷

圖2-20

(2)中斷向量和中斷向量表

溢出4?斷

斷點中斷

非屏蔽中斷

單步中斷

除數(shù)為o中斷

圖2-21

(3)硬件中斷

NMI

INTR

(4)硬件中斷的響應和時序

可屏蔽中斷的響應過程:

①讀取中斷類型碼

②將標志寄存器的值推入堆棧

③把標志寄存器的IF和TF清零

④將斷點保護到堆棧中。

⑤尋找中斷向量,轉入中斷處理程序

結束當前指令

心經(jīng)部中斷嗎?

中斷響應是非屏蔽中斷嗎?

是可屏蔽中斷嗎?

~~

執(zhí)行下一條指令

圖2-22

返回斷點

(5)8086的中斷響應總線周期:

ALE

INTA

中斷類型

AD7-AD0

圖2-23

①非屏蔽中斷和可屏蔽中斷有兩點差別;

②TF是單步中斷標志;

③在中斷響應后,又遇NMI;

④結束時,返回斷點;

⑦等待或串操作時,允許過程中進入中斷。

中斷響應用2個總線周期

第1個總線周期,通知外設,CPU準備響應中斷;

第2個總線周期,外設發(fā)送中斷類型碼

(6)中斷處理子程序

①進一步保護中斷現(xiàn)場

②開放中斷

③中斷處理的具體內容

④彈出堆棧指令

⑤中斷返回指令

(7)軟件中斷

特點:

①用一條指令進入中斷處理子程序,并且,

中斷類型碼由指令提供。

②不執(zhí)行中斷響應總線周期,也不從數(shù)據(jù)總

線讀取中斷類型碼。

③不受中斷允許標志IF的影響

④執(zhí)行過程中可響應外部硬件中斷

⑤軟件中斷沒有隨機性

7.最小模式下的總線保持

M/IO、DEN、DT/R

圖2-24利用HOLD和HLDA信號實現(xiàn)總線保持

8.最大模式下的總線請求/授權

CLKjvwwuwvwwww

峭士授釋

權a

、至v放

RQ/GT國GT

AD]5?ADQ■,“?a二太

一心((

勺/年?勺6§、)------------------------?T

務<

S()、S[、S2

RD>LOCK>BHE/S7

圖2-25利用RQ#/GT#實現(xiàn)總線請求/授權

2.232位微處理器80386

2.2.180386的體系結構

分段部件SU

指令預取部件IPU

邏輯地址一I

16字節(jié)的指令預取隊列

L一線性地址

指線性地址

指令譯碼部件IDU邏分頁部件PU

地線性地址一I

指令譯碼器節(jié)

洋碼指令隊列物理地址

譯好碼的

物理地址

指令

接口

溫馨提示

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

評論

0/150

提交評論