【計算機組成原理教程】總線與輸入輸出_第1頁
【計算機組成原理教程】總線與輸入輸出_第2頁
【計算機組成原理教程】總線與輸入輸出_第3頁
【計算機組成原理教程】總線與輸入輸出_第4頁
【計算機組成原理教程】總線與輸入輸出_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章總線與輸入輸出

■本章簡要介紹了計算機總線的基本原理、

I/O接口和計算機與外部設備間互聯(lián)的基本

結(jié)構(gòu)。包括總線概述,總線仲裁,總線操

作與定時,總線標準,I/O接口,主機與

I/O設備間的連接方式等內(nèi)容。

2

8.1總線概述

■8.L1總線的基本概念

■總線是各子系統(tǒng)間共享的通信鏈路,是計

算機中多個設備公用的電子通道。在計算

機系統(tǒng)中,各子系統(tǒng)間都必須有彼此相連

的接口。比如存儲器與CPU需要通信,

CPU和輸入輸出設備(也稱為I/O設備)同

樣也要進行通信。這通常是由總線(bus)

完成的。

3

8.1.1總線的基本概念

■總線的兩個主要優(yōu)點是:

■低費用。由于一組總線可以供多個外部設備共

享,因此價格較低。

■通用性。通過定義一種互連模式,新設備可以

容易地加到總線上去,外部設備(簡稱外設)

可以在具有通用總線的計算機系統(tǒng)間移動使

用。

■總線的主要缺點是:

■性能上的不可擴展性引起通信瓶頸,限制I/O

侵備最大吞吐率。一一一一一

4

8.1.1總線的基本概念

■一次典型的總線操作(bustransaction)包

括兩部分:發(fā)送地址和接收或發(fā)送數(shù)據(jù)。

■主設備:連在總線上的設備是主動的,能

對總線的數(shù)據(jù)傳輸進行初始化。

■初始化指的是指定數(shù)據(jù)的傳送方向、要傳送的

數(shù)據(jù)塊的大小以及傳送的地址等信息。

■從設備:連在總線上的設備是被動的,只

能等待主設備的啟動命令。

5

8.1.1總線的基本概念

■計算機設備輸出的二進制信號通常比較

弱,無法驅(qū)動總線進行工作,尤其是總線

比較長或者上面的設備比較多時。因此,

多數(shù)總線的主設備都要通過一片總線驅(qū)動

器芯片和總線相連,該芯片實際上起了一

個放大器的作用。

6

812總線的功能

■總線是一組能為多個部件分時共享的信息

傳送線,用來連接多個部件并為之提供信

息交換通路。

■共享性:即總線所連接的部件都可通過它傳遞

信息。

■分時性:即在某一時刻總線只允許有一個部件

送出數(shù)據(jù)到總線上。

7

8.1.2總線的功能

■總線不僅是一組傳輸信號線,從廣義上講,總線

是一組傳輸線路及與傳輸相關(guān)的總線協(xié)議。

■總線協(xié)議:為了實現(xiàn)對總線信息傳輸?shù)姆謺r共享,

必須指定相應的規(guī)則,這些規(guī)則稱為總線協(xié)議。

■各個連到總線上的部件必須遵守這些協(xié)議,才能有序

地分時共享該總線。總線協(xié)議一般包括:信號線定義、

數(shù)據(jù)格式、時序關(guān)系、信號電平、控制邏輯等,它確

定了一個系統(tǒng)使用總線的方法。

8

8.1.3總線的分類

■可以從不同的角度對總線進行分類。

■按總線在系統(tǒng)中所處的地位,可分為內(nèi)總線和

外總線;

■按數(shù)據(jù)傳送格式,可分為并行總線和串行總線;

■按時序控制方式,可分為同步總線

(synchronousbus)與異步總線

(asynchronousbus)。

9

8.1.3.1內(nèi)總線和外總線

■按總線在系統(tǒng)中的位置,分為內(nèi)總線和外總線。

■內(nèi)總線:是指位于計算機系統(tǒng)內(nèi)部的總線。

■內(nèi)總線又可以分為芯片內(nèi)部總線和內(nèi)部系統(tǒng)總線。

■芯片內(nèi)部總線位于CPU芯片內(nèi)部,它連接了CPU內(nèi)部的寄存

器與算術(shù)邏單元ALU(如圖8.1所示)。芯片內(nèi)部總線則稱為

片級總線。

■內(nèi)部系統(tǒng)總線是CPU與計算機系統(tǒng)內(nèi)部的各個主要功能部件

之間的連接總線。內(nèi)部系統(tǒng)總線可以分為主存總線和內(nèi)部I/O

總線等,如圖8.1所示。內(nèi)部系統(tǒng)總線通常都安放在主板或各

個插件板上,所以也稱板級總線。

10

8.1.3.1內(nèi)總線和外總線

■外總線:是多臺計算機系統(tǒng)之間,或計算

機與一些智能設備之間的連接總線。

11

8.1.3.1內(nèi)總線和外總線

■內(nèi)總線一般包括地址、數(shù)據(jù)和控制信號三類傳輸

線,分別稱為地址總線、數(shù)據(jù)總線和控制總線。

■數(shù)據(jù)總線:各功能部件之間傳輸數(shù)據(jù)信息的連接

總殘。

■為了保證數(shù)據(jù)能夠在兩個部件A與B之間彼此傳送,要

求數(shù)據(jù)總線既能夠?qū)?shù)據(jù)由部件A傳送到部件B,又能

夠?qū)?shù)據(jù)由部件B傳送到部件A,即總線能夠兩個方向

傳送數(shù)據(jù),這種總線稱為雙向總線。

■若目標部件僅僅作為從設備,則地址總線只需要提供

源到目標的單向傳送通路,稱為單向總線。

12

8.1.3.1內(nèi)總線和外總線

■數(shù)據(jù)總線寬度:數(shù)據(jù)總線的位數(shù)稱為數(shù)據(jù)

總線寬度。

■總線寬度的確定是一個值得關(guān)注的問題。若設

計的不合理,將會影響計算機系統(tǒng)的效率。例

如,如果主存數(shù)據(jù)總線的寬度為"位,CPU內(nèi)

部的寄存器字長為2〃位,則CPU必須兩次訪問

主存才能存取一個寄存器字。

■地址總線:各個功能部件之間傳送地址信

號的總線稱為地址總線。

13

8.1.3.1內(nèi)總線和外總線

■地址線的位數(shù)與目標部件的存儲容量有

關(guān)。如地址線為〃根,則對應的目標部件的

存儲容量為2%

■這里要注意存儲粒度,若存儲粒度是字,貝胸

根地址線可以訪問2〃個字,若存儲粒度是字

節(jié),則〃根地址線可以訪問2〃個字節(jié)。

14

8.1.3.1內(nèi)總線和外總線

■控制總線:各個功能部件之間傳送控制信

號的總線稱為地址總線。

■由于總線是一組能為多個部件分時共享的信息

傳送線,用來連接多個部件并為之提供信息交

換通路,所以數(shù)據(jù)總線、地址總線都是被連接

在總線上的所有部件所分時共享的。通過控制

總線產(chǎn)生有關(guān)的控制信號,可以使總線上的各

個部件能在不同時刻占有總線使用權(quán)。

15

8.1.3.2并行總線和串行總線

■按數(shù)據(jù)傳送格式,可分為并行總線和串行

總、殯。

■并行總線:有多根數(shù)據(jù)線,可并行傳送多

個二進制位,一般為一個字節(jié)或多個字節(jié),

其位數(shù)稱為該并行總線的數(shù)據(jù)路徑寬度

(或數(shù)據(jù)通路寬度)。

■串行總線:只有一根數(shù)據(jù)線,只能串行地

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

16

8.1.3.3同步總線和異步總線

■按時序控制方式,可分為同步總線(synchronous

bus)與異步總線(asynchronousbus)。

■同步總線:在進行數(shù)據(jù)傳送時,有著嚴格的時鐘

周期來定時,一般設置有同步定時信號,如時鐘

同步、讀/寫信號等。

■異步總線:在數(shù)據(jù)傳送時,沒有固定的時鐘周期

定時,而采用應答方式工作,操作時間根據(jù)需要

可長可短。

17

8.1.4總線的組成及其性能指標

■8.L4.1總線的組成

■從物理角度來看,總線的一種實現(xiàn)形式是由許多條導線組

成的連接線,這些連接線延伸到各個部件。

■為了保證總線在不同設備之間的可靠連接,必須規(guī)定其機

械特性。

■機械特性是總線在機械連接方式上的一些性能,如插頭與插座使

用的標準,它們的幾何尺寸、形狀、引腳的個數(shù)以及排列的順序,

接頭處的可靠接觸等。

■僅僅有可靠的機械連接還不夠,為了確??偩€能夠正確工

作,必須規(guī)定其電氣特性。

■電氣特性是指總線上信號的有效電平的范圍、傳輸方向等。

18

8.1.4.2總線性能指標

■常用的總線性能指標如下。

■總線寬度:指總線中線路的根數(shù)。

■總線寬度用位(bit)表示,如8位、16位、32

位、64位等。

■地址總線設計時要考慮的一個問題就是在尋址

空間的可擴展性和系統(tǒng)成本之間進行權(quán)衡。

19

8.1.4.2總線性能指標

■總線帶寬:總線的數(shù)據(jù)傳輸速率,即單位

時間內(nèi)總線上傳輸數(shù)據(jù)的位數(shù)。

■總線帶寬的常用單位是字節(jié)/秒(B/S)或兆字

節(jié)/秒(MB/S)o

■總線偏離(busskew):總線中不同信號

線的傳輸速度之間的差別。

20

8.1.4.2總線性能指標

■總線復用(multiplexedbus):總線上分時

傳送不同種類的多種信號的工作方式。

■總線的驅(qū)動能力(負載能力):指當總線

接上負載后,總線輸入輸出的邏輯電平保

持在正常的額定范圍之內(nèi)的能力。

21

8.2總線仲裁

■如果兩個或多個設備同時想要成為總線的

主設備時,就會出現(xiàn)爭用總線的現(xiàn)象,稱

為總線沖突。為防止總線沖突,就必須采

用一些總線仲裁(busarbitration)機制。

仲裁機制一般可分為集中式和分布式(競

爭式)兩種方式。

22

8.2.1集中式仲裁方式

■集中式仲裁方式指的是由一個單獨的總線仲裁器

來決定下一次該哪個設備使用總線。在總線仲裁

器是一個硬件設備,它用來分配總線時間。

■圖旦2(a)中給出了一種典型的集中式仲裁方式。許

多CPU內(nèi)部都包含有仲裁器,但有時也需要單獨

的一片芯片??偩€中含有一條“線或”的總線請

耒(busrequest)信號,它能使一個或8個總統(tǒng)

設備在任何時間發(fā)出請求信號。總線仲裁器無法

判斷出有多少個總線設備發(fā)出了總線請求,它只

能區(qū)分出有請求和無請求兩種狀態(tài)。

23

8.2.1集中式仲裁方式

■當總線仲裁器發(fā)現(xiàn)總線請求后,它發(fā)出一個總線授權(quán)信號。

這個信號被串聯(lián)到所有的輸入輸出設備上。當物理上離仲

裁器最近的那個輸入輸出設備得到授權(quán)信號時,由這個設

備來檢查是否它發(fā)出了總線請求信號。如果是,則由它接

管總線,并停止授權(quán)信號繼續(xù)往下傳播。若該設備沒有發(fā)

出總線請求,則將授權(quán)信號繼續(xù)傳送到下一個設備,這個

設備再重復上述動作,直到有一個設備接管總線為止。這

種方式被稱為菊鏈法(daisychaining)o它的特點是設

備使用總線的優(yōu)先級由它離總線仲裁器的距離決定,最近

的優(yōu)先級最高,最遠的優(yōu)先級最低。

24

8.2.1集中式仲裁方式

■為了克服設備的優(yōu)先級由其與總線仲裁器的距離

來決定這個不足,許多總線設置了多級仲裁。每

一級都有各自的總線請求信號和總線授權(quán)信號。

圖&2(b)所示的有兩級仲裁器:1級和2級(實際

的總線常常有4、8或者16級)。每個設備都接在

總線的某一級仲裁線上,時間急迫的設備連接的

仲裁線的優(yōu)先級較高。在圖8.2(b)中,設備1、2和

4連在優(yōu)先級為1的仲裁線上,而設備3和設備5連

在優(yōu)先級為2的仲裁線上。

25

8.2.2分布式仲裁方式

■分布式(競爭式)仲裁方式:在每個設備模塊中包含訪問

控制邏輯,這些設備模塊共同作用,分享總線。

■例如,某臺計算機可以有16個優(yōu)先級的總線請求信號。當

它的一個設備需要使用總線時,就發(fā)出與它相對應的總線

請求信號。所有的設備都監(jiān)聽著所有的總線請求信號,這

樣,到每個總線周期結(jié)束時,每個設備都能知道自己是否

是優(yōu)先級最高的總線請求者,以及能否在下一個總線周期

使用總線。與集中式總線仲裁相比,這種總線仲裁方式要

求的總線信號更多,但防止了總線潛在的浪費。它還要求

總線上設備的個數(shù)不能超過總線請求信號線的條數(shù)。

26

822分布式仲裁方式

■圖8.3給出了另一種競爭式的總線仲裁方式,

它不管總線上有多少設備,都只需要三條

信號線。

■第一條是各設備的總線請求信號的線或;

■第二條為“總線忙”信號,是由當前使用總線

的主設備發(fā)出的;

■第三條信號線用于總線仲裁,它將總線的所有

設備串行連接在一起,其中一頭接在5V的電源

±o

27

8.2.2分布式仲裁方式

■當沒有設備申請使用總線時,電平為高的總線仲裁信號被

傳輸?shù)剿械脑O備。要得到總線的使用權(quán),設備首先要檢

查總線是否空閑,并檢查它得到的總線仲裁信號(即

IN)是否為高電平。見圖8.3。

■如果IN已經(jīng)是低電平,則該設備不能成為總線的主設

備,還要把它的OUT端置為低。但是,如果IN是高電

平,則該設備還是要將其OUT端置為低。這就使得它下

游的鄰居的IN為低,并因此也把OUT置為低。當一切就

緒后,只會有一個設備的IN為高,而OUT為低。這個設

備就成為總線的主設備,發(fā)出BUSY信號和OUT信號,然

后開始傳送數(shù)據(jù)。見圖8.3。

28

8.3總線操作與定時

■總線可以根據(jù)其時鐘類型分為同步總線和異步總

線兩大類。

■同步總線(synchronousbus)有一條由晶振驅(qū)動

的方波信號線??偩€的所有操作都將占用其中的

幾個完整的方波,把一個方波的時間稱為總線周

期(buscycle)。

■異步總線(asynchronousbus)中不存在一個起

控制作用的時鐘。它的總線周期可以是總線操作

所需的任意長度,并不要求其上面的所有設備都

保持一致。下面分別對它們進行討論。

29

8.3.1同步定時方式

■對于同步總線而言,其控制線路包含一個時鐘和

一個固定的與時鐘有關(guān)的地址和數(shù)據(jù)發(fā)送協(xié)議。

由于需要很少或根本不需要其他邏輯來決定下一

步該做什么,因此同步總線速度較快而且費用

低。CPU—主存總線是典型的同步總線。

■缺點:

■由于總線偏離問題,總線長度一般很短,并且總線上

所有的設備必須有相同的時鐘頻率。

■某些總線可以連接不同速度的設備,但它們的工作速

度和速度最慢的設備相等。

30

8.3.1同步定時方式

■下面以圖8.4為例來說明同步總線的工作原

理。

■圖g4中使用的是40MHz的時鐘信號,相應的

總線周期為25ns??偩€頻率一般用要比CPU的

主頻低很多,總線頻率較低的主要原因是總線

偏離和向后兼容的要求。

31

8.3.1同步定時方式

■在本例中,再進一步假設主存讀在地址建立后還

需要4011s的時間。有了這個參數(shù),馬上可以得出,

從主存中讀取一個字需要三個總線周期。第一個

周期從“的上升沿開始,第三個周期在心的上升

沿結(jié)束,如圖8.4所示。

■值得注意的是,圖8.4中沒有任何一個上升沿或者下降

沿是垂直的,因為沒有哪個電平信號能在零時間內(nèi)將

其電平降為零。本例中假設電平變化的時間是1ns。

32

8.3.1同步定時方式

■表8」對時序圖中出現(xiàn)的8個符號做了進一步

的區(qū)分。

■例如,“D是從北的上升沿開始到地址建立好時

的地址建立時間。根據(jù)時序規(guī)格要求,

TAD<llnSo這就是說,CPU生產(chǎn)商保證,在任

何一個讀周期中,CPU都將在儲的上升沿的中

點開始的11ns內(nèi)輸出要讀的數(shù)據(jù)的地址。

33

8.3.1同步定時方式

■時序規(guī)格同時也要求,數(shù)據(jù)應至少在,3的下降沿

之前7%(5ns)時間內(nèi)在數(shù)據(jù)線上準備好,使其

在CPU連通數(shù)據(jù)線之前有足夠的時間能穩(wěn)定下來o

,AD和TDS這兩項約束組合起來,就意味著在最壞

的信況下,在地址出現(xiàn)在地址信號線上以后,主

存芯片只有62.5-11?5=46?511§的時間,就必須將數(shù)

據(jù)讀出并送到數(shù)據(jù)信號線上。這樣,4011s的芯片

就可以滿足這條總線的要求,即使在最壞的情況

下,它也能在4周期內(nèi)給出數(shù)據(jù)。如果使用的是

5011s的芯片,虱么,就需要插入第二個等待狀態(tài),

并只能在,4周期得到響應。見圖8.4和衣8.1。

34

8.3.2異步定時方式

■雖然由于使用同一個時鐘信號,同步總線的工作

原理相對簡單,但它也存在以下一些問題。

■1.時間效率問題。它要求所有事件必須在一個或多個

完整的時鐘周期內(nèi)完成。

■2.難以采用新技術(shù)帶來的好處。例如,假定在圖8.4所

示的總線系統(tǒng)生產(chǎn)幾年后,出現(xiàn)了訪問時間只有20ns

的主存芯片,可以用來取代現(xiàn)有的40ns的主存芯片。

這時,可以去掉插入的等待狀態(tài),提高機器的速度。

如果再有了訪問時間只有10ns的主存芯片,就無法使

用現(xiàn)有總線來提高性能了,因為該總線設計的讀操作

就是兩個周期。

35

832異步定時方式

■將這種情況稍微變一個說法,若一條同步

總線上接有多個不同的設備,這些設備的

數(shù)據(jù)傳輸速度有快有慢,那么,總線周期

就必須設計得能滿足最慢的設備,而快速

設備就不可能滿負荷地運行。

36

832異步定時方式

■異步總線無固定的時鐘,接收端和發(fā)送端

通過自身時鐘控制的握手協(xié)議

(handshakingprotocol)來保證數(shù)據(jù)的正

確接收和發(fā)送。

■源:數(shù)據(jù)發(fā)送方稱為源。

■源數(shù)據(jù):源產(chǎn)生的數(shù)據(jù)成為源數(shù)據(jù)。

■目標:數(shù)據(jù)接收方稱為目標。

■目標數(shù)據(jù):目標接收的數(shù)據(jù)成為目標數(shù)據(jù)。

37

832.1單向選通

■單向選通(strobe)控制是由通信的一方提

供選通信號,這里的一方可以是源,如圖

8.5(a)所示,也可以是目標,如圖8.5

(b)所示。

38

832.1單向選通

■在圖8.5(a)中,數(shù)據(jù)的發(fā)送方(源)送出

數(shù)據(jù)及選通信號(strobe)。發(fā)送方(源)

的選通信號在經(jīng)過一段時間之后主動結(jié)束,

接收方(目標)可以利用發(fā)送方的選通信

號的下降沿接收數(shù)據(jù)。這種方式實現(xiàn)起來

簡單,但是所帶來的問題是數(shù)據(jù)的發(fā)送方

(源)不管接收方(目標)有無能力接收,

按照自己的時序結(jié)束工作。

39

832.1單向選通

■圖8.5(b)示出的是首先由數(shù)據(jù)的接收方

(目標)發(fā)出選通信號,要求數(shù)據(jù)的發(fā)送

方(源)送出數(shù)據(jù)。接收方使用自己發(fā)出

的選通信號的下降沿接收數(shù)據(jù)。在圖8.5(b)

中,不管發(fā)送方(源)有無能力提供數(shù)據(jù),

接收方(目標)在發(fā)出請求信號后,都按

照接收方(目標)自己的時序接收數(shù)據(jù)。

40

832.1單向選通

■圖8.5(a)和圖8.5(b)所存在的共同問題

就是源所發(fā)送的數(shù)據(jù)并不能保證被目標正

確接收,這種情況稱為源與目標不同步

(應該注意的是這里的同步概念與前面提

到的同步總線的概念不同)。這顯然是一

個嚴重的問題,任何有意義的通信,都希

望源與目標同步,即源發(fā)送的數(shù)據(jù)能夠被

目標正確接收,所以需要認真研究,解決

源與目標同步的問題。

41

832.2雙向握手

■從前面的討論知道,無論是源還是目標都可以是

主動發(fā)起通信的一方,也可以是被動接受通信的

一方。將主動發(fā)起通信的一方(源或目標)稱為

主動方;而將被動接受通信的一方(源或目標)

稱為被動方。

■前面討論的選通方法的缺點是主動方(源或目標)沒

有辦法知道被動方(源或目標)是否已經(jīng)準備就緒,

即是否已經(jīng)正確地接收了數(shù)據(jù)或者是否已經(jīng)正確提供

了數(shù)據(jù)。可見,解決源與目標同步的問題關(guān)鍵在于讓

對方知道自己的工作狀態(tài)。一種解決方法是通過設定

請求與應答信號來通知對方自己的工作狀態(tài)。

8.322雙向握手

■雙向握手(handshaking)信號:為了實現(xiàn)

源與目標同步,在通信的雙方建立的請求

與應答信號稱為雙向握手信號,簡稱為握

手信號。

■“握手”是一個形象的術(shù)語,表示主動方和被

動方各“伸出一只手”,即主動方和被動方各

發(fā)出一個控制信號,把本方的狀況通知對方。

43

8.322雙向握手

■圖8.6給出了雙向握手的說明,這里假設圖8.6中的

被動方空閑。在圖8.6(a)中,源是主動方。

■主動方(源)送出有效數(shù)據(jù),并向被動方(目標)發(fā)

W.索值號(數(shù)據(jù)有效信號),請求被動方(目標)

?“乂發(fā)義“古o

■被動方(旦標)把數(shù)據(jù)接收完成以后,并發(fā)出廖登信

號(收到信號),通知主動方(源)數(shù)據(jù)已被接收。

■主動方(源)收到應答信號(收到信號)后,撤銷數(shù)

據(jù)及詰求信號(數(shù)據(jù)有效信號)。

■被動方(目標)在主動方(源)撤銷請求信號(數(shù)據(jù)

有效值號)之后,也把應答信號(收到信號)撤銷,

此時宥女數(shù)據(jù)也被撤清。

44

832.2雙向握手

■再來看圖8.6(b)o

■被動方(目標)主動發(fā)出通信請求信號(準備好),

請求主動方(源)送來數(shù)據(jù)。

■主動方(源)收到請求信號之后,把數(shù)據(jù)送上數(shù)據(jù)總

線,并發(fā)出應答信號(數(shù)據(jù)有效信號),通知被動方

(目標)數(shù)據(jù)已經(jīng)準備好。

■被動方(目標)把數(shù)據(jù)接收完成之后,撤銷請求信號,

■主動方(源)也撤銷應答信號(數(shù)據(jù)有效信號),此

時有效數(shù)據(jù)也被撤消。

45

832.2雙向握手

■如果I/O設備出現(xiàn)故障,處理器發(fā)出請求后,始終

得不到I/O設備的響應時,不會一直等下去,采用

的一種策略是:處理器發(fā)出請求后,啟動一個計

時器。若經(jīng)過一定的時間后,仍得不到響應,則

計時器發(fā)出“超時”(timeout)中斷信號,強迫

處理器停止I/O訪問操作。

■很明顯,雙向握手方式和時序無關(guān)。每個事件都

由前一個事件引起,而不是由時鐘脈沖控制。

46

8,4總線標準

■總線標準:設備應該如何連接到計算機的

規(guī)范或規(guī)定。

■總線標準可以使計算機設計者和I/O設備設計

者獨立進行開發(fā),因此非常重要。

■只要計算機設計者和I/O設備設計者都遵循總

線標準,則設計出來的任何I/O設備都可以連

到任何計算機上。總線標準定義了I/O設備應

該如何連接到計算機。

47

8.5I/O接口

■8.5.1概述

■從最頂層看,計算機系統(tǒng)包含CPU、存儲器和I/O

等部件,每種類型有一個或多個模塊。這些部件

以某種方式互相連接,實現(xiàn)計算機的基本功能,

即執(zhí)行程序,并實現(xiàn)人機交互。因此,可以采用

以下兩種方法來描述計算機系統(tǒng):

■L描述每個部件的外部操作,即它與其他部件之

間交換的數(shù)據(jù)和控制信號。

■2.描述互連結(jié)構(gòu)。

48

851概述

■計算機系統(tǒng)的主要部件(處理器、主存、

I/O模塊)等為了交換數(shù)據(jù)和控制信號,需

要進行互連。

■最普通的互連方式是使用多條線組成共享總線,

將計算機的各個部件連接起來。

■由于電參數(shù)、機械參數(shù)的不匹配,總線通常不

能直接與計算機系統(tǒng)的I/O設備相互連接,而

需要通過接口將總線與計算機系統(tǒng)的各個部件

連接起來。

49

852I/O接口概念

■I/O設備一般不能夠直接與連接CPU和主存的總線

相連。因為I/O設備的本質(zhì)與CPU和主存的本質(zhì)不

同,I/O設備都是些機電、磁性或光學設備,而

CPU和主存是電子設備。

■與CPU和主存相比I/O設備的操作速度要慢得多。

因此必須要有中介來處理這種差異,I/O設備是通

過一種被稱為I/O接口電路,簡稱為I/O接口(也

稱為I/O控制器)的器件連接到總線上的。圖8.7

表明了它們?nèi)咧g的關(guān)系。

50

852I/O接口概念

■I/O接口可以是串行或并行接口。

■串行接口只有一根線連接到設備上。

■并行接口有數(shù)根線連接到設備上,使得一次能

同時傳送多個位。

■從廣義上講,接口是指兩個相對獨立的子

系統(tǒng)之間的相連部分。

51

852I/O接口概念

■軟件接口:指一個程序模塊或子程序在調(diào)用和返

回時所必須遵守的傳遞參數(shù)規(guī)則或約定。

■硬件接口:指兩個硬件設備之間的連接邏輯及信

號傳遞協(xié)議。

■軟硬接口:指軟件對某個硬件電路進行控制,或

者硬件要傳遞一些信息給軟件,彼此間也有著共

同遵守的協(xié)議。

■人機接口:指軟件與其使用者(人)的聯(lián)系部

分。

52

853I/O接口的功能和基本結(jié)構(gòu)

■I/O接口并非僅僅完成物理上的連接,一般來講,

它具有下述主要功能。

■i.識別地址碼,即地址譯碼功能。

■2.在主機與I/O設備之間交換數(shù)據(jù)、控制命令及狀態(tài)

信息等。

■3.支持主機采取程序查詢、中斷、DMA等方式。

■4.提供主機和I/O設備所需的緩沖、暫存、驅(qū)動能

力,滿足一定的負載要求和時序要求。

■5.進行數(shù)據(jù)類型、格式等方面的轉(zhuǎn)換。

53

853I/O接口的功能和基本結(jié)構(gòu)

■從不同的角度出發(fā),I/O接口可分為若干類

型。

■L按主機訪問I/O設備的控制方式,可分為程

序查詢接口、中斷接口、DMA接口,以及更復

雜一些的通道控制器、I/O處理機。

■2.按時序控制方式可分為:同步接口、異步

接口。

■3.按數(shù)據(jù)傳送的格式可分為串行接口、并行

接口。

54

853I/O接口的功能和基本結(jié)構(gòu)

■一種簡單的I/O接口部件的例例如圖8.8所示。

■它包括兩個數(shù)據(jù)寄存器(端口A寄存器和端口B寄存器)、

一個控制寄存器、一個狀態(tài)寄存器、一個數(shù)據(jù)緩沖寄

存器和一個時序控制電路。

■I/O接口與CPU的通信通過數(shù)據(jù)總線進行。

■片選信號用于指明該接口是否被選中。被選中時,寄

存器選擇信號選擇I/O接口內(nèi)部的寄存器。

■I/O讀和I/O寫控制數(shù)據(jù)的傳輸方向,其中的“讀”意

味著數(shù)據(jù)從I/O傳輸?shù)紺PU,“寫”意味著數(shù)據(jù)從CPU

傳輸?shù)絀/O。

55

8.5.4I/O接口的編址

■根據(jù)前面的討論知道,計算機系統(tǒng)通常有

多個I/O接口,每一個I/O接口內(nèi)部通常又

有多個寄存器,這些I/O接口內(nèi)部的寄存器

稱為I/O端口。CPU為了能夠訪問這些端口,

就必須對它們進行唯一的身份標識,即對

每一個端口賦以一個唯一的地址。于是就

帶來一個問題,這些端口的地址與存儲器

的地址究竟是什么關(guān)系?應該如何編址?

56

854I/O接口的編址

■一種方式是將存儲器和i/o端口統(tǒng)一編址,即在存

儲器空間中劃分出一段地址空間作為訪問I/O端口

的地址空間。這種方式使用訪問存儲器的指令來

實現(xiàn)對I/O端口的讀寫。這種方式稱為存儲器映像

的I/O端口。

■優(yōu)點:不用單獨設置I/O端口訪問指令,而是使用存儲

器訪問指令來訪問I/O端口,因此可以充分利用存儲器

訪問指令的強大功能,編寫程序比較方便。

■缺點:是程序員必須知道I/O端口的地址在存儲器地址

空間中的分配情況。

57

854I/O接口的編址

■另外一種方式是將存儲器和I/O端口分開編

址,即存儲器和I/O端口的地址彼此獨立,

例如,他們可以各自從0開始編址。CPU有

專門的I/O端口訪問指令和存儲器訪問指

令。

■優(yōu)點:程序員無須知道I/O端口的地址在存儲

器地址空間中的分配情況。

■缺點:無法充分利用存儲器訪問指令的強大功

△*匕編寫程序要復雜一些。

58

55I/O方式一輸入/輸出的基本控制方式

■通常,輸入輸出的基本控制方式(簡稱為

I/O方式)有以下幾種:

■程序查詢方式;

■程序中斷方式;

■直接存儲器訪問(directmemoryaccess,DMA)

方式;

■通道方式。

59

8.551程序查詢方式

■程序查詢方式:CPU直接通過I/O指令對

I/O接口進行操作訪問,主機與外部設備交

換信息的每一過程均在程序中表示出來。

如果接口尚未準備好,CPU就等待,如果

已作好準備,CPU才能執(zhí)行I/O指令。

60

8.551程序查詢方式

■在相應的I/O程序中須進行下列幾步操作,

其接口和軟件模型如圖8.9所示。

■1.讀取外部設備狀態(tài)信息。

■2.判斷是否可進行新的操作,例如判斷鍵盤

是否有新的鍵被按下,或打印機是否準備好接

收新數(shù)據(jù)。如果設備尚未準備好,則返回第一

步;若已準備好,就進行下一步。

■3.執(zhí)行所需的I/O操作,例如從鍵盤接口讀數(shù),

或送出打印信息到打印機接口。

61

8.552程序中斷方式

■1.基本概念

■程序中斷(interrupt)方式:CPU首先對I/O接口

及一個中斷控制器排行初始化,然后去執(zhí)行CPU

自己的程序(用戶程序)。當I/O數(shù)據(jù)準備好時,

由中斷控制器向CPU發(fā)出中斷請求。CPU在收至U

中斷請求后,若能夠響應中斷,則暫時停止當前

正在執(zhí)行的程序(用戶程序),轉(zhuǎn)去執(zhí)行中斷服

務(處理)程序,然后再返回被中斷的程序(用

斷方式省去了、

需配曾甄i席篋)間,因此提高

了效率。

62

8.552程序中斷方式

置1>.

,

溫馨提示

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

評論

0/150

提交評論