輸入輸出結(jié)構(gòu)課件_第1頁
輸入輸出結(jié)構(gòu)課件_第2頁
輸入輸出結(jié)構(gòu)課件_第3頁
輸入輸出結(jié)構(gòu)課件_第4頁
輸入輸出結(jié)構(gòu)課件_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第十章輸入輸出結(jié)構(gòu)

10.1異步數(shù)據(jù)傳輸

10.2可編程I/O

10.3中斷

10.4直接存儲器訪問

10.5I/O處理器

10.6串行通信

10.7實(shí)例:串行通信標(biāo)準(zhǔn)

同濟(jì)大學(xué)軟件學(xué)院

10.1異步數(shù)據(jù)傳輸

輸入/輸出設(shè)備通過系統(tǒng)的地址總線、數(shù)據(jù)總

線、控制總線和CPU相連(如圖10.1)

圖10.1CPU與I/O設(shè)備的連接

1.I/O接口的基本功能

(1)實(shí)現(xiàn)主機(jī)和外設(shè)之間的數(shù)據(jù)傳送控制。

如同步控制、設(shè)備選擇、中斷控制和DMA控制

(2)實(shí)現(xiàn)數(shù)據(jù)緩沖,以達(dá)到主機(jī)與外設(shè)之間的速

_度匹配。

(3)接受主機(jī)的命令,提供設(shè)備接口的狀態(tài),并

按照主機(jī)的命令控制設(shè)備。

2.I/O接口類型

(1)按照數(shù)據(jù)傳送的寬度可分為

并行接口和串行接口

(2)按照數(shù)據(jù)傳送的控制方式可分為

直接程序控制、程序中斷、DMA

通道、外圍處理機(jī)

(3)按照時序控制方式可分為

同步接口和異步接口

3.根據(jù)是源還是目的設(shè)備啟動傳送以及是否用

握手,異步數(shù)據(jù)傳送可分為四種

_?不帶握手的源啟動數(shù)據(jù)傳送

,?不帶握手的目的啟動數(shù)據(jù)傳送

--?帶握手的源啟動數(shù)據(jù)傳送

?帶握手的目的啟動數(shù)據(jù)傳送

10.1.1不帶握手的源啟動數(shù)據(jù)傳送

Data-----VAUD

Datastrobe

(a)

圖10.2不帶握手的源啟動數(shù)據(jù)傳送(a)時序

6

實(shí)現(xiàn)源數(shù)據(jù)傳送更新LED的電路如圖10.2(b)

(b)

圖10.2不帶握手的源啟動數(shù)據(jù)傳送:(b)實(shí)現(xiàn)

V

10.1.2不帶握手的目的啟動的數(shù)據(jù)傳送

設(shè)

據(jù)

數(shù)

目的設(shè)備一段時間后源設(shè)讀源設(shè)備

數(shù)

據(jù)

傳輸選通備使數(shù)據(jù)有效,后停止傳

信號給源并將數(shù)據(jù)穩(wěn)定一號輸有效

設(shè)備段時間無數(shù)據(jù)

Data---〈VALID)------

Datastrobe

(a)

圖10.3不帶握手的目的啟動數(shù)據(jù)傳送(a)時序

8

實(shí)現(xiàn)目的數(shù)據(jù)傳送更新LED的電路如圖10.3(b)

(b)

圖10.3不帶握手的目的啟動數(shù)據(jù)傳送:(b)實(shí)現(xiàn)

9

10.1.3握手

?不帶握手的數(shù)據(jù)傳送無需確認(rèn)數(shù)據(jù)收到,

適合于在規(guī)定的時間內(nèi)傳送。

?當(dāng)每次傳送所花費(fèi)的時間不同時,設(shè)備可

采用握手方式來協(xié)調(diào)數(shù)據(jù)傳送。

?市握手的源啟動數(shù)據(jù)傳送

置數(shù)

設(shè)數(shù)據(jù)穩(wěn)定目的設(shè)備讀

信號

據(jù)

請源設(shè)備停止傳

乘后,目的完數(shù)據(jù),就

高輸有效數(shù)據(jù),

,設(shè)備讀取

據(jù)

數(shù)發(fā)送一個數(shù)

使

效此數(shù)據(jù)目的設(shè)備復(fù)位

用據(jù)確認(rèn)信號

給源設(shè)備數(shù)據(jù)確認(rèn)信號

<VALID)

Data

Datarequest

Dataacknowledge

(a)

圖10.4帶握手的源啟動數(shù)據(jù)傳送(a)時序

w

11

圖10.4帶握手的源啟動數(shù)據(jù)傳送:(b)實(shí)現(xiàn)

(b)

12

?帶握手的目的啟動數(shù)據(jù)傳送

目的設(shè)備讀

目的設(shè)備傳源設(shè)備停止傳

數(shù)據(jù)穩(wěn)定完數(shù)據(jù),就

輸一個數(shù)據(jù)輸有效數(shù)據(jù),

后,目的發(fā)送一個數(shù)

選通信號,目的設(shè)備復(fù)位

設(shè)備讀取據(jù)準(zhǔn)備就緒

源設(shè)備使有

此數(shù)據(jù)信號給源設(shè)數(shù)據(jù)準(zhǔn)備就緒

效數(shù)據(jù)可用

備信號

Data<VAUD>

Datarequest

Dataready

(a)

圖10.5帶握手的目的啟動數(shù)據(jù)傳送(a)時序

13

圖10.5帶握手的目的啟動數(shù)據(jù)傳送:(a)時序和(b)實(shí)現(xiàn)

10.2可編程I/O

?可編程I/O(programmedI/O)

用指令編程來控制CPU輸入或輸出數(shù)據(jù)。

?可編程I/O的特點(diǎn)

?何時何地進(jìn)行輸入/輸出完全受CPU控制;

--?數(shù)據(jù)的輸入輸出都要經(jīng)過CPU;

_?用于連接低速外圍設(shè)備。_

?可編程I/0的編址方式

?獨(dú)立編址

有專門的指令訪問I/O端口。

_?存儲器編址

一.把I/O端口視為存儲器的一個單元,采用

存儲器存取指令即可訪問它們。

相對簡單CPU,其結(jié)構(gòu)不能采用獨(dú)立的I/O方式,

但可利用存儲器編址I/O方式。

例:執(zhí)行指令LDACFFFF

為了實(shí)現(xiàn)此I/O端口,設(shè)計硬件如圖10.6。

當(dāng)?shù)刂房偩€上的值為FFFFH,控制信號

DatafromREAD=1時,三態(tài)緩沖器才選通

inputport

Fromaddressbus

—READ(fromcontrolbus)

圖10.6地址為FFFFH的輸入端口

17

修改相對簡單CPU以支持獨(dú)立的I/O方式:

?必須在CPU指令集中增加輸入、輸出指令;

?產(chǎn)生必要的新控制信號;

?在狀態(tài)圖中增加新狀態(tài);

?開發(fā)RTL代碼支持新狀態(tài);

?修改寄存器、ALU和控制單元硬件來支持新的指令。

1.增加兩條新指令

一條輸入數(shù)據(jù)

一條輸出數(shù)據(jù)

指令指令碼操作

INPToolooooorAC—輸入端口V

OTPTooiooooir輸出端口r-AC

表10.1相對簡單CPU的獨(dú)立I/O指令

19

2.增加一個新控制信號10

10=1時為I/O操作,10=0時為存儲器操作

3.新狀態(tài)與RTL代碼

INPT1:DR-M,PC-PC+1,

AR-AR+1

INPT2:TR-DR,DR-M,

PC-PC+1

INPT3:AR-DR,TR

INPT4:DR-輸入端口

INPT5:AC-DR

圖10.8實(shí)現(xiàn)INPT指令執(zhí)行周期的狀態(tài)

20

4.硬件的修改

(1)修改寄存器

一(2)修改ALU一

(3)修改控制單元

N

PT

0

1-2nINPT1

Decoder

〃INPT2

/R"

?7INPT3

/R

?6"

INPT4

/R

■5務(wù)

/R

?4

/R

?3

/R

?2

/R

/—

圖10.9產(chǎn)生INPT執(zhí)行周期的狀態(tài)信號的硬件

21

?計數(shù)器控制信號修改

INC=(INC原有值)VINPT1VINPT2V

INPT3VINPT4

CLR=(CLR原有值)VINPT5

?組合INPT1狀態(tài)所需進(jìn)行的修改

DRLOAD=(DRLOAD原有值)VINPT1

MEMBUS=(MEMBUS原有值)VINPT1

PCINC=(PCINC原有值)VINPT1

ARINC=(ARINC原有值)VINPT1

?設(shè)定為IOINPT4存儲器讀=1(£人口A10

22

直接程序控制方式可分為兩種傳送方式:

(1)直接傳送方式

CPU在控制與外設(shè)之間的數(shù)據(jù)傳送之前,不需了解

外設(shè)的工作狀態(tài),即可直接執(zhí)行I/O指令,實(shí)現(xiàn)數(shù)據(jù)傳

-送。

直接傳送方式無需查詢設(shè)備的任何狀態(tài),也無需

一考慮同步問題。也稱為無條件傳送方式。多用于I/O操

作時間固定且已知的情況下。

(2)程序查詢方式

?CPU向I/O設(shè)備發(fā)傳送數(shù)據(jù)的請求信號。

?I/O設(shè)備處理該請求,當(dāng)其準(zhǔn)備傳送數(shù)據(jù)時,

就置位設(shè)備準(zhǔn)備就緒信號。

?CPU通過另一個I/O地址讀此信號并檢查其值。

;如果信號置位,CPU執(zhí)行數(shù)據(jù)傳送。如果未置

位,則循環(huán)等待,繼續(xù)讀取并檢查設(shè)備準(zhǔn)備就

緒信號的值。

例:考察相對簡單CPU的一個輸入設(shè)備

(1)輸入/輸出指令

INPT(AC-INPUTPORTr)

OTPT(OUTPORTT-AC)

-(2)設(shè)備有三個I/O端口:兩個輸入、一個輸出。

輸出端口:1001H中輸出01H值,啟動一個請求。

一輸入端口:1002H(查詢該端口直至其最低位置1)

1000H(從中讀取數(shù)據(jù))

25

e

ic6

v2

e

d

O)

I/

。1

件求

硬請

的個

口一

端動

O至)

/啟

I直據(jù)

現(xiàn),

口數(shù)

實(shí)值

H端取

式1

0該讀

方出詢中

詢輸查從

查((

用HHH

120

采000

000

111

10::

.

0口口

1端端

出入

輸輸

nd。4dE一sA&>1B_BH

CLAC

INAC(Ad)

MOVR(RI)

OTPT1001H(01H一address1001H)

LOOP:INPT1002H(Checkwhetherthedeviceisready)

AND(AC=1andZ=Oifdeviceisready)

JMPZLOOP

(Ifdevicenotready,AC=0andZ=l,loopback)

INPT1000H(Deviceisready,inputdata)

27

10.3中斷

10.3.1CPU和I/O設(shè)備之間的數(shù)據(jù)傳送

1.解決I/O設(shè)備變化延遲

?查詢

_?中斷

中斷是由I/O設(shè)備或其他非預(yù)期的急需處

理的事件引起的,它使CPU暫時中斷現(xiàn)在正在

執(zhí)行的程序,而轉(zhuǎn)至另一服務(wù)程序去處理這

些事件。處理完后再返回原程序。-

28

2.中斷輸入輸出方式的特點(diǎn)

(1)CPU與I/O并行工作;

⑵硬件故障處理;

⑶實(shí)現(xiàn)人機(jī)對話;

(4)實(shí)現(xiàn)多道程序和分時操作;

(5)實(shí)現(xiàn)實(shí)時處理;

(6)實(shí)現(xiàn)應(yīng)用程序和操作系統(tǒng)的聯(lián)系;

(7)多處理機(jī)系統(tǒng)各處理機(jī)間的聯(lián)系。

29

10.3.2中斷類型

?外部中斷

CPU采用外部中斷與輸入/輸出設(shè)備進(jìn)行交互。

?內(nèi)部中斷

內(nèi)部中斷完全發(fā)生在CPU內(nèi)部,沒有任何

輸入/輸出設(shè)備介入。

二?軟中斷

由CPU指令集中的特定中斷指令產(chǎn)生。

10.3.3中斷處理

1.中斷源

引起中斷的事件或者發(fā)出中斷請求的來源。

2.中斷源如何提出請求?

_(1)中斷請求信號的建立

??中斷觸發(fā)器

每個中斷源對應(yīng)有一個中斷觸發(fā)器。

?多個中斷觸發(fā)器構(gòu)成中斷寄存器,其內(nèi)容稱

為中斷字或中斷碼。

31

⑵中斷請求信號的傳送

三種方案:

?單獨(dú)設(shè)置中斷請求線

快速響應(yīng)、中斷請求線數(shù)目有限

,?一根公共中斷請求線

-?兼有公共請求線與獨(dú)立請求線

圈中斷源分級或分組

(3)中斷響應(yīng)信號

32

3.中斷的優(yōu)先級

設(shè)計中斷系統(tǒng)時,應(yīng)將全部中斷源按中斷

性質(zhì)和處理的輕重緩急進(jìn)行排隊并給以優(yōu)先級。

(1)優(yōu)先級

指多個中斷發(fā)生時,對中斷響應(yīng)的次序。

⑵判優(yōu)的實(shí)現(xiàn)

?軟件查詢

一?中斷排隊邏輯_一

4.中斷的允許與禁止

一?中斷允許一

中斷源有中斷請求信號就可使其對應(yīng)的

中斷觸發(fā)器置“1”狀態(tài)或參加排隊判優(yōu)。

?中斷禁止

中斷源即使有中斷請求信號也不能使其

.對應(yīng)中斷觸發(fā)器置“1”狀態(tài)或不允許參加排

隊判優(yōu)。

5.中斷服務(wù)程序:處理中斷工作的服務(wù)軟件。

34

6.中斷處理過程(中斷響應(yīng)與中斷處理)

-從某一個中斷源發(fā)出中斷服務(wù)請求,到這個

請求全部處理完成所經(jīng)過的主要過程。

(1)中斷查詢

CPU在一條指令周期內(nèi)要查詢一次是否有中

?斷產(chǎn)生。

(2)中斷響應(yīng)

?關(guān)中斷

?保存斷點(diǎn)-

?轉(zhuǎn)入中斷服務(wù)程序

35

獲取中斷服務(wù)程序地址:

?向量中斷

中斷向量:中斷服務(wù)程序的人口地址以及

程序狀態(tài)字的合稱。

程序狀態(tài)字PSW:用來表征處理機(jī)運(yùn)行程序的狀態(tài)。

一般應(yīng)包含如下內(nèi)容:

程序屏敝碼程序運(yùn)行狀態(tài)條件碼中斷碼指令計數(shù)器

36

?非向量中斷

CPU在響應(yīng)中斷時只產(chǎn)生一個固定的地址,該

地址是中斷查詢程序的入口地址,CPU轉(zhuǎn)去執(zhí)行查

.詢程序,通過軟件查詢確定中斷源,然后執(zhí)行相應(yīng)

的中斷服務(wù)程序。

查詢程序:又稱中斷總服務(wù)程序。

(3)執(zhí)行中斷服務(wù)程序

?保存現(xiàn)場

?開CPU中斷

?執(zhí)行中斷服務(wù)程序

?關(guān)CPU中斷

?恢復(fù)現(xiàn)場

:?恢復(fù)屏蔽碼

?恢復(fù)PSW、PC

?開CPU中斷

?返回斷點(diǎn)

39

10.3.4中斷硬件和優(yōu)先級

1.單個設(shè)備的簡單系統(tǒng)

?非向量中斷

圖10.11單個設(shè)備

的非向量中斷

(a)硬件

根Q

(b)時序

IACK

Data---〈VALID〉--

(b)

V40

?向量中斷

InterruptRequest

依QY------------------------

InterruptAcknowledge

CPUIACK------------------------?Device

InterruptVector

Data-<-----------/-------------

(a)圖10.12單個設(shè)備的

向量中斷

IRQ--------------------------------

(a)硬件(b)時序

IACK--------------------------------------

Vector------------〈VALID〉----

(b)

2.多個設(shè)備的系統(tǒng)

?非向量中斷

?每個設(shè)備均有自

己的IRQ和IACK

信號

?他們的優(yōu)先級是

預(yù)定的,IRQn優(yōu)

先級最高

?CPU首先響應(yīng)和服

務(wù)優(yōu)先級最高的

中斷

圖10.13多個非向量中斷的硬件

42

?向量中斷

菊花鏈:用于多中斷優(yōu)先權(quán)排隊的一種方法。

?簡單易實(shí)現(xiàn)

?便于擴(kuò)充

?延遲大

圖10.14菊花鏈

43

菊花鏈將引起硬件延遲,特別是當(dāng)鏈較長

時,延遲就更大。

并行優(yōu)先權(quán)排隊

-通過一個優(yōu)先權(quán)編碼器采用并行優(yōu)先權(quán)排

隊(parallelpriority)方式實(shí)現(xiàn)向量中斷,

減少延遲。

擴(kuò)展困難。

44

防止干

圖10.15并行方式實(shí)現(xiàn)優(yōu)先級中斷

45

10.3.5多重中斷處理

一多重中斷是指在處理某一中斷過程中又發(fā)生了

新的中斷,從而中斷該服務(wù)程序的執(zhí)行,又轉(zhuǎn)去進(jìn)

行新的中斷處理。這種重疊處理中斷的現(xiàn)象又稱中

斷嵌套。

?中斷響應(yīng)次序與中斷處理次序

_中斷響應(yīng)次序是由硬件排隊判優(yōu)線路決定的,

不能改變,而中斷處理次序可由屏蔽碼決定,是可

以改變的。

中斷處理次序可以不同于中斷響應(yīng)次序。

三級中斷二級中斷一級中斷

目的程序處鈕程序處理程序處理程序

47

例如:某計算機(jī)的中斷系統(tǒng)有4級中斷優(yōu)先級,每

級對應(yīng)一個屏蔽碼,下表為程序級別和屏蔽碼的關(guān)

系,中斷響應(yīng)次序和處理次序一致,均為:

1一2一3一4

48

按照這一次序可以看到CPU運(yùn)動的軌跡,如下圖。

中斷服務(wù)①..

程序I—[

@I」

?'j

50

中斷處理次序改為:143一2

屏蔽碼

程序級別

1級2級3級4級

第1級0000

第2級1011

第3級1001

第4級1000

51

中斷服務(wù)①.,

程序;―[

②I4

一一丁-----.rn

)'

41

-r

—.

正常程序

52

10.3.6CPU內(nèi)部實(shí)現(xiàn)中斷

傷]:相對簡單CPU處理中斷的過程

?添加一個IRQ輸入引腳,其響應(yīng)信號傳至

IACK輸出引腳

?添加新指令

?識別中斷并訪問此中斷處理的狀態(tài)

_?訪問中斷服務(wù)程序

IE:中斷允許觸發(fā)器

一IP:中斷觸發(fā)器

5才,

指令指令碼操作

LDSP1ooooooorSP-「

SP-SPT;

CALL10000010rM[SP]*-PC[15..8],SP*-SP-1;

M[SP]-PC[7..O],PC-「

PC[7..0]-M[SP],SP*-SP+1;

RET10000011

PC[15..8]-M[SP],SP-SP+1

SP-SPT;

PUSHAC10000100

M[SP]—AC

POPAC10000101AC-M[SP],SP-SP+1

SP-SPT;

PUSHR10000110

M[SP]-R

POPR10000111R-M[SP],SP-SP+1

IESET01000000IE-1

IERST01000001IE-0

IPRST01000010IP-0

表10.3相對簡單CPU的新指令

54

1.識別中斷并訪問此中斷處理的狀態(tài)

FETCH】)

executeexecute

(FETCH1)

方法一■routinesroutines

INT1)

(a)采用分離的FETCH1狀態(tài)和INTI狀態(tài)

FETCH2j

Modified

(FETCH1)——FETCH2

方法二FETCH1

INT2)

(IErVIP)AFETCHl

IEAIPAFETCH1

(b)

圖10.16兩種訪問中斷服務(wù)程序的方法(b)修改FETCH1支持中斷

55

2.訪問中斷服務(wù)程序(部分)

返回地址壓入堆棧

INTI:AR—SP

INT2:DR-PC[15??8],SP<-SP-1

INT3:M—DR,AR-AR?1,SP-SP4

INT4:DR-PC[7??0]

INT5:M—DR

二一INT6:DR一(數(shù)據(jù)總線來的向量)

INT7:PC-1111,DR,0000,IP-0

10.4直接存儲器訪問

DMA是高速I/0設(shè)備與主存之間由硬件組成的直

接數(shù)據(jù)通路,能成組傳送數(shù)據(jù)。

數(shù)據(jù)傳送是在DMAC控制下進(jìn)行的,在數(shù)據(jù)傳送

前和結(jié)束后要通過程序或中斷方式進(jìn)行預(yù)處理和后

處理。

10.4.1將直接存儲器訪問DMA納入計算機(jī)系統(tǒng)

57

置BR=1,發(fā)送總線請求

DMA控制器置BG=I,發(fā)送總線允許CPU

一.

1.DMA內(nèi)部結(jié)構(gòu)

AddressbusDatabus

圖10.18DMA控制器的內(nèi)部結(jié)構(gòu)

2.DMA控制器內(nèi)的寄存器組

?DMA地址寄存器

存貯數(shù)據(jù)傳輸過程中需用到的存儲器地址

?DMA計數(shù)寄存器

保存?zhèn)鬏敂?shù)據(jù)的字節(jié)數(shù)

?DMA控制寄存器

從CPU中接受命令

?狀態(tài)寄存器

向CPU提供信息

3.DMA控制邏輯

?完成DMA的初始化

?接收設(shè)備送來的DMA請求信號

_?向設(shè)備控制器回答DMA允許信號

?向系統(tǒng)申請總線

—?控制總線實(shí)現(xiàn)DMA傳輸控制

?中斷控制邏輯

-9

10.4.2DMA傳輸方式

?突發(fā)方式

在突發(fā)方式中,整個數(shù)據(jù)塊連續(xù)傳輸。

?控制簡單,適合高速外設(shè)的成批數(shù)據(jù)傳送

?CPU較長時間不能訪存

CPU使用內(nèi)存CPUCPU

DMA使用內(nèi)存DMA操作

內(nèi)存工作時間

?周期竊取方式

一連續(xù)地獲取和放棄系統(tǒng)總線控制權(quán)來傳輸。

?充分發(fā)揮CPU和I/O設(shè)備的利用率

?判優(yōu)操作和總線切換操作頻繁,

花費(fèi)的時間開銷大。

CPU使用內(nèi)存CPUCPUCPU:CPUCPU

DMA使用內(nèi)存DMADMA:DMA

內(nèi)存工作時間

?透明方式

一DMA利用空閑時間傳輸數(shù)據(jù)。一

?CPU不停止執(zhí)行程序

?系統(tǒng)總線的硬件復(fù)雜、昂貴

CPU不需要訪存

CPU使用內(nèi)存CPUCPUCPUCPUCPU

DMA使用內(nèi)存DMADMADMA

內(nèi)存工作時間

10.4.3DMA控制方式下的數(shù)據(jù)傳送過程

三個階段

?DMA傳送前預(yù)處理

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

?傳送后處理

1.DMA傳送前預(yù)處理

在進(jìn)行DMA數(shù)據(jù)傳送之前要用程序做一些

必要的準(zhǔn)備工作。

?DMA控制器初始化

?I/O設(shè)備控制器初始化

?啟動設(shè)備

2.數(shù)據(jù)傳送

DMA控制器控制完成數(shù)據(jù)傳送工作,傳送

,結(jié)束向CPU發(fā)中斷請求信號。

3.傳送后處理

CPU響應(yīng)中斷,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,

進(jìn)行結(jié)束處理工作。

-

67

10.4.4修改CPU使其與DMA共處

1.為了使CPU能與DMA控制器共同工作

?增加控制輸入信號BR和控制輸出信號BG

?產(chǎn)生BG的邏輯電路

2.CPU允許在以下狀態(tài)接受DMA的請求

一取指令后、譯碼后、取操作數(shù)后、

指令執(zhí)行完后、結(jié)果保存后

68

3.修改相對簡單CPU

在取指令周期開始處理DMA請求

(1)對BG的操作

BRAFETCH1:BG-1

BR5AFETCH1:BG-O,(FETCH1的微操作)

,兩條合并:

FETCH1:BG-BR

BR,AFETCH1:(FETCH1的微操作)

(2)實(shí)現(xiàn)BG的硬件

(3)狀態(tài)圖所需的修改

69

BRBG

圖10.19BG的硬件實(shí)現(xiàn)

BR

J

[FETCH1FETCH2)Modified*仃.2)

>FETCH1

圖10.20修改狀態(tài)圖接納BR和BG

70

10.5I/O處理器

I/O處理器

與CPU交互,處理由I/O設(shè)備讀出后數(shù)據(jù)

可連接多個I/O設(shè)備

I/O設(shè)備連接至I/O總線上,而不是系統(tǒng)總

線上

6

72

CPU向I/O處理器發(fā)送一系列I/O指令,而不

象處理DMA那樣將值存于寄存器中,指令分

為三類:

1.塊傳送命令

傳輸數(shù)據(jù)塊,類似于DMA數(shù)據(jù)塊傳輸

2.執(zhí)行算術(shù)、邏輯、和分支操作的命令

--有助于處理數(shù)據(jù)以便使數(shù)據(jù)能為CPU所用

3.控制命令

通常是硬件相關(guān)并對計算機(jī)系統(tǒng)功能的

正確發(fā)揮十分關(guān)鍵

一個I/O處理器的系列命令能執(zhí)行許多連續(xù)的I/O傳送,考慮以

下任務(wù):

1、從端口地址9000H的磁盤驅(qū)動器處讀取247字節(jié)的數(shù)據(jù),寫入

起始地址為1OOOH的存儲器中;

2、從地址為9001H的輸入端口讀取1字節(jié)數(shù)據(jù)寫入CPU的累加器

中;

3、將內(nèi)存單元2000H至207FH的內(nèi)容寫至I/O地址為9002H的打

印機(jī)上。

帶DMA控制器而沒有I/O處理器的系統(tǒng)首先將數(shù)據(jù)寫入DMA

控制器的寄存器中,并啟動傳輸,等待它完成。然后它從地

址為9001H的I/O端口輸入1字節(jié)數(shù)據(jù)。最后為打印數(shù)據(jù)塊啟

動第二個DMA傳送。

而在帶I/O處理器的系統(tǒng)中,CPU將執(zhí)行三個任務(wù)所需的命

令寫入存儲器的一個連續(xù)塊中,并將塊的指針給I/O處理器,

從而減少了建立傳輸?shù)拈_銷。f

74

并行通信:同一時間內(nèi)傳輸多位數(shù)據(jù)

DMA控制器和/O處理器都采用并行通信

串行通信:在給定的時間內(nèi)不能傳輸多位數(shù)

據(jù),傳輸數(shù)據(jù)要通過并串轉(zhuǎn)換

打印機(jī)、MODEM等通過串口與CPU通信

異步串行通信:連接的設(shè)備不共用同一時鐘

并且需同時傳輸數(shù)據(jù)

同步串行傳輸:以幀(frame)的形式傳輸數(shù)

據(jù)塊,幀中包括傳輸信息頭、數(shù)據(jù)和傳輸

信息尾、

75

1061串行通信原理

兩個設(shè)備采用異步串行傳輸通信時,他

們不共用同一時鐘。必須采用許多措施

同步數(shù)據(jù)流因而事先就一些傳輸參數(shù)達(dá)

成一致

速度:比特/秒-

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論