版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第8章總線與輸入輸出
■本章簡要介紹了計(jì)算機(jī)總線的基本原理、
I/O接口和計(jì)算機(jī)與外部設(shè)備間互聯(lián)的基本
結(jié)構(gòu)。包括總線概述,總線仲裁,總線操
作與定時(shí),總線標(biāo)準(zhǔn),I/O接口,主機(jī)與
I/O設(shè)備間的連接方式等內(nèi)容。
2
8.1總線概述
■8.L1總線的基本概念
■總線是各子系統(tǒng)間共享的通信鏈路,是計(jì)
算機(jī)中多個(gè)設(shè)備公用的電子通道。在計(jì)算
機(jī)系統(tǒng)中,各子系統(tǒng)間都必須有彼此相連
的接口。比如存儲(chǔ)器與CPU需要通信,
CPU和輸入輸出設(shè)備(也稱為I/O設(shè)備)同
樣也要進(jìn)行通信。這通常是由總線(bus)
完成的。
3
8.1.1總線的基本概念
■總線的兩個(gè)主要優(yōu)點(diǎn)是:
■低費(fèi)用。由于一組總線可以供多個(gè)外部設(shè)備共
享,因此價(jià)格較低。
■通用性。通過定義一種互連模式,新設(shè)備可以
容易地加到總線上去,外部設(shè)備(簡稱外設(shè))
可以在具有通用總線的計(jì)算機(jī)系統(tǒng)間移動(dòng)使
用。
■總線的主要缺點(diǎn)是:
■性能上的不可擴(kuò)展性引起通信瓶頸,限制I/O
侵備最大吞吐率。一一一一一
4
8.1.1總線的基本概念
■一次典型的總線操作(bustransaction)包
括兩部分:發(fā)送地址和接收或發(fā)送數(shù)據(jù)。
■主設(shè)備:連在總線上的設(shè)備是主動(dòng)的,能
對(duì)總線的數(shù)據(jù)傳輸進(jìn)行初始化。
■初始化指的是指定數(shù)據(jù)的傳送方向、要傳送的
數(shù)據(jù)塊的大小以及傳送的地址等信息。
■從設(shè)備:連在總線上的設(shè)備是被動(dòng)的,只
能等待主設(shè)備的啟動(dòng)命令。
5
8.1.1總線的基本概念
■計(jì)算機(jī)設(shè)備輸出的二進(jìn)制信號(hào)通常比較
弱,無法驅(qū)動(dòng)總線進(jìn)行工作,尤其是總線
比較長或者上面的設(shè)備比較多時(shí)。因此,
多數(shù)總線的主設(shè)備都要通過一片總線驅(qū)動(dòng)
器芯片和總線相連,該芯片實(shí)際上起了一
個(gè)放大器的作用。
6
812總線的功能
■總線是一組能為多個(gè)部件分時(shí)共享的信息
傳送線,用來連接多個(gè)部件并為之提供信
息交換通路。
■共享性:即總線所連接的部件都可通過它傳遞
信息。
■分時(shí)性:即在某一時(shí)刻總線只允許有一個(gè)部件
送出數(shù)據(jù)到總線上。
7
8.1.2總線的功能
■總線不僅是一組傳輸信號(hào)線,從廣義上講,總線
是一組傳輸線路及與傳輸相關(guān)的總線協(xié)議。
■總線協(xié)議:為了實(shí)現(xiàn)對(duì)總線信息傳輸?shù)姆謺r(shí)共享,
必須指定相應(yīng)的規(guī)則,這些規(guī)則稱為總線協(xié)議。
■各個(gè)連到總線上的部件必須遵守這些協(xié)議,才能有序
地分時(shí)共享該總線??偩€協(xié)議一般包括:信號(hào)線定義、
數(shù)據(jù)格式、時(shí)序關(guān)系、信號(hào)電平、控制邏輯等,它確
定了一個(gè)系統(tǒng)使用總線的方法。
8
8.1.3總線的分類
■可以從不同的角度對(duì)總線進(jìn)行分類。
■按總線在系統(tǒng)中所處的地位,可分為內(nèi)總線和
外總線;
■按數(shù)據(jù)傳送格式,可分為并行總線和串行總線;
■按時(shí)序控制方式,可分為同步總線
(synchronousbus)與異步總線
(asynchronousbus)。
9
8.1.3.1內(nèi)總線和外總線
■按總線在系統(tǒng)中的位置,分為內(nèi)總線和外總線。
■內(nèi)總線:是指位于計(jì)算機(jī)系統(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)部總線則稱為
片級(jí)總線。
■內(nèi)部系統(tǒng)總線是CPU與計(jì)算機(jī)系統(tǒng)內(nèi)部的各個(gè)主要功能部件
之間的連接總線。內(nèi)部系統(tǒng)總線可以分為主存總線和內(nèi)部I/O
總線等,如圖8.1所示。內(nèi)部系統(tǒng)總線通常都安放在主板或各
個(gè)插件板上,所以也稱板級(jí)總線。
10
8.1.3.1內(nèi)總線和外總線
■外總線:是多臺(tái)計(jì)算機(jī)系統(tǒng)之間,或計(jì)算
機(jī)與一些智能設(shè)備之間的連接總線。
11
8.1.3.1內(nèi)總線和外總線
■內(nèi)總線一般包括地址、數(shù)據(jù)和控制信號(hào)三類傳輸
線,分別稱為地址總線、數(shù)據(jù)總線和控制總線。
■數(shù)據(jù)總線:各功能部件之間傳輸數(shù)據(jù)信息的連接
總殘。
■為了保證數(shù)據(jù)能夠在兩個(gè)部件A與B之間彼此傳送,要
求數(shù)據(jù)總線既能夠?qū)?shù)據(jù)由部件A傳送到部件B,又能
夠?qū)?shù)據(jù)由部件B傳送到部件A,即總線能夠兩個(gè)方向
傳送數(shù)據(jù),這種總線稱為雙向總線。
■若目標(biāo)部件僅僅作為從設(shè)備,則地址總線只需要提供
源到目標(biāo)的單向傳送通路,稱為單向總線。
12
8.1.3.1內(nèi)總線和外總線
■數(shù)據(jù)總線寬度:數(shù)據(jù)總線的位數(shù)稱為數(shù)據(jù)
總線寬度。
■總線寬度的確定是一個(gè)值得關(guān)注的問題。若設(shè)
計(jì)的不合理,將會(huì)影響計(jì)算機(jī)系統(tǒng)的效率。例
如,如果主存數(shù)據(jù)總線的寬度為"位,CPU內(nèi)
部的寄存器字長為2〃位,則CPU必須兩次訪問
主存才能存取一個(gè)寄存器字。
■地址總線:各個(gè)功能部件之間傳送地址信
號(hào)的總線稱為地址總線。
13
8.1.3.1內(nèi)總線和外總線
■地址線的位數(shù)與目標(biāo)部件的存儲(chǔ)容量有
關(guān)。如地址線為〃根,則對(duì)應(yīng)的目標(biāo)部件的
存儲(chǔ)容量為2%
■這里要注意存儲(chǔ)粒度,若存儲(chǔ)粒度是字,貝胸
根地址線可以訪問2〃個(gè)字,若存儲(chǔ)粒度是字
節(jié),則〃根地址線可以訪問2〃個(gè)字節(jié)。
14
8.1.3.1內(nèi)總線和外總線
■控制總線:各個(gè)功能部件之間傳送控制信
號(hào)的總線稱為地址總線。
■由于總線是一組能為多個(gè)部件分時(shí)共享的信息
傳送線,用來連接多個(gè)部件并為之提供信息交
換通路,所以數(shù)據(jù)總線、地址總線都是被連接
在總線上的所有部件所分時(shí)共享的。通過控制
總線產(chǎn)生有關(guān)的控制信號(hào),可以使總線上的各
個(gè)部件能在不同時(shí)刻占有總線使用權(quán)。
15
8.1.3.2并行總線和串行總線
■按數(shù)據(jù)傳送格式,可分為并行總線和串行
總、殯。
■并行總線:有多根數(shù)據(jù)線,可并行傳送多
個(gè)二進(jìn)制位,一般為一個(gè)字節(jié)或多個(gè)字節(jié),
其位數(shù)稱為該并行總線的數(shù)據(jù)路徑寬度
(或數(shù)據(jù)通路寬度)。
■串行總線:只有一根數(shù)據(jù)線,只能串行地
逐位傳送數(shù)據(jù)。
16
8.1.3.3同步總線和異步總線
■按時(shí)序控制方式,可分為同步總線(synchronous
bus)與異步總線(asynchronousbus)。
■同步總線:在進(jìn)行數(shù)據(jù)傳送時(shí),有著嚴(yán)格的時(shí)鐘
周期來定時(shí),一般設(shè)置有同步定時(shí)信號(hào),如時(shí)鐘
同步、讀/寫信號(hào)等。
■異步總線:在數(shù)據(jù)傳送時(shí),沒有固定的時(shí)鐘周期
定時(shí),而采用應(yīng)答方式工作,操作時(shí)間根據(jù)需要
可長可短。
17
8.1.4總線的組成及其性能指標(biāo)
■8.L4.1總線的組成
■從物理角度來看,總線的一種實(shí)現(xiàn)形式是由許多條導(dǎo)線組
成的連接線,這些連接線延伸到各個(gè)部件。
■為了保證總線在不同設(shè)備之間的可靠連接,必須規(guī)定其機(jī)
械特性。
■機(jī)械特性是總線在機(jī)械連接方式上的一些性能,如插頭與插座使
用的標(biāo)準(zhǔn),它們的幾何尺寸、形狀、引腳的個(gè)數(shù)以及排列的順序,
接頭處的可靠接觸等。
■僅僅有可靠的機(jī)械連接還不夠,為了確??偩€能夠正確工
作,必須規(guī)定其電氣特性。
■電氣特性是指總線上信號(hào)的有效電平的范圍、傳輸方向等。
18
8.1.4.2總線性能指標(biāo)
■常用的總線性能指標(biāo)如下。
■總線寬度:指總線中線路的根數(shù)。
■總線寬度用位(bit)表示,如8位、16位、32
位、64位等。
■地址總線設(shè)計(jì)時(shí)要考慮的一個(gè)問題就是在尋址
空間的可擴(kuò)展性和系統(tǒng)成本之間進(jìn)行權(quán)衡。
19
8.1.4.2總線性能指標(biāo)
■總線帶寬:總線的數(shù)據(jù)傳輸速率,即單位
時(shí)間內(nèi)總線上傳輸數(shù)據(jù)的位數(shù)。
■總線帶寬的常用單位是字節(jié)/秒(B/S)或兆字
節(jié)/秒(MB/S)o
■總線偏離(busskew):總線中不同信號(hào)
線的傳輸速度之間的差別。
20
8.1.4.2總線性能指標(biāo)
■總線復(fù)用(multiplexedbus):總線上分時(shí)
傳送不同種類的多種信號(hào)的工作方式。
■總線的驅(qū)動(dòng)能力(負(fù)載能力):指當(dāng)總線
接上負(fù)載后,總線輸入輸出的邏輯電平保
持在正常的額定范圍之內(nèi)的能力。
21
8.2總線仲裁
■如果兩個(gè)或多個(gè)設(shè)備同時(shí)想要成為總線的
主設(shè)備時(shí),就會(huì)出現(xiàn)爭用總線的現(xiàn)象,稱
為總線沖突。為防止總線沖突,就必須采
用一些總線仲裁(busarbitration)機(jī)制。
仲裁機(jī)制一般可分為集中式和分布式(競
爭式)兩種方式。
22
8.2.1集中式仲裁方式
■集中式仲裁方式指的是由一個(gè)單獨(dú)的總線仲裁器
來決定下一次該哪個(gè)設(shè)備使用總線。在總線仲裁
器是一個(gè)硬件設(shè)備,它用來分配總線時(shí)間。
■圖旦2(a)中給出了一種典型的集中式仲裁方式。許
多CPU內(nèi)部都包含有仲裁器,但有時(shí)也需要單獨(dú)
的一片芯片。總線中含有一條“線或”的總線請(qǐng)
耒(busrequest)信號(hào),它能使一個(gè)或8個(gè)總統(tǒng)
設(shè)備在任何時(shí)間發(fā)出請(qǐng)求信號(hào)??偩€仲裁器無法
判斷出有多少個(gè)總線設(shè)備發(fā)出了總線請(qǐng)求,它只
能區(qū)分出有請(qǐng)求和無請(qǐng)求兩種狀態(tài)。
23
8.2.1集中式仲裁方式
■當(dāng)總線仲裁器發(fā)現(xiàn)總線請(qǐng)求后,它發(fā)出一個(gè)總線授權(quán)信號(hào)。
這個(gè)信號(hào)被串聯(lián)到所有的輸入輸出設(shè)備上。當(dāng)物理上離仲
裁器最近的那個(gè)輸入輸出設(shè)備得到授權(quán)信號(hào)時(shí),由這個(gè)設(shè)
備來檢查是否它發(fā)出了總線請(qǐng)求信號(hào)。如果是,則由它接
管總線,并停止授權(quán)信號(hào)繼續(xù)往下傳播。若該設(shè)備沒有發(fā)
出總線請(qǐng)求,則將授權(quán)信號(hào)繼續(xù)傳送到下一個(gè)設(shè)備,這個(gè)
設(shè)備再重復(fù)上述動(dòng)作,直到有一個(gè)設(shè)備接管總線為止。這
種方式被稱為菊鏈法(daisychaining)o它的特點(diǎn)是設(shè)
備使用總線的優(yōu)先級(jí)由它離總線仲裁器的距離決定,最近
的優(yōu)先級(jí)最高,最遠(yuǎn)的優(yōu)先級(jí)最低。
24
8.2.1集中式仲裁方式
■為了克服設(shè)備的優(yōu)先級(jí)由其與總線仲裁器的距離
來決定這個(gè)不足,許多總線設(shè)置了多級(jí)仲裁。每
一級(jí)都有各自的總線請(qǐng)求信號(hào)和總線授權(quán)信號(hào)。
圖&2(b)所示的有兩級(jí)仲裁器:1級(jí)和2級(jí)(實(shí)際
的總線常常有4、8或者16級(jí))。每個(gè)設(shè)備都接在
總線的某一級(jí)仲裁線上,時(shí)間急迫的設(shè)備連接的
仲裁線的優(yōu)先級(jí)較高。在圖8.2(b)中,設(shè)備1、2和
4連在優(yōu)先級(jí)為1的仲裁線上,而設(shè)備3和設(shè)備5連
在優(yōu)先級(jí)為2的仲裁線上。
25
8.2.2分布式仲裁方式
■分布式(競爭式)仲裁方式:在每個(gè)設(shè)備模塊中包含訪問
控制邏輯,這些設(shè)備模塊共同作用,分享總線。
■例如,某臺(tái)計(jì)算機(jī)可以有16個(gè)優(yōu)先級(jí)的總線請(qǐng)求信號(hào)。當(dāng)
它的一個(gè)設(shè)備需要使用總線時(shí),就發(fā)出與它相對(duì)應(yīng)的總線
請(qǐng)求信號(hào)。所有的設(shè)備都監(jiān)聽著所有的總線請(qǐng)求信號(hào),這
樣,到每個(gè)總線周期結(jié)束時(shí),每個(gè)設(shè)備都能知道自己是否
是優(yōu)先級(jí)最高的總線請(qǐng)求者,以及能否在下一個(gè)總線周期
使用總線。與集中式總線仲裁相比,這種總線仲裁方式要
求的總線信號(hào)更多,但防止了總線潛在的浪費(fèi)。它還要求
總線上設(shè)備的個(gè)數(shù)不能超過總線請(qǐng)求信號(hào)線的條數(shù)。
26
822分布式仲裁方式
■圖8.3給出了另一種競爭式的總線仲裁方式,
它不管總線上有多少設(shè)備,都只需要三條
信號(hào)線。
■第一條是各設(shè)備的總線請(qǐng)求信號(hào)的線或;
■第二條為“總線忙”信號(hào),是由當(dāng)前使用總線
的主設(shè)備發(fā)出的;
■第三條信號(hào)線用于總線仲裁,它將總線的所有
設(shè)備串行連接在一起,其中一頭接在5V的電源
±o
27
8.2.2分布式仲裁方式
■當(dāng)沒有設(shè)備申請(qǐng)使用總線時(shí),電平為高的總線仲裁信號(hào)被
傳輸?shù)剿械脑O(shè)備。要得到總線的使用權(quán),設(shè)備首先要檢
查總線是否空閑,并檢查它得到的總線仲裁信號(hào)(即
IN)是否為高電平。見圖8.3。
■如果IN已經(jīng)是低電平,則該設(shè)備不能成為總線的主設(shè)
備,還要把它的OUT端置為低。但是,如果IN是高電
平,則該設(shè)備還是要將其OUT端置為低。這就使得它下
游的鄰居的IN為低,并因此也把OUT置為低。當(dāng)一切就
緒后,只會(huì)有一個(gè)設(shè)備的IN為高,而OUT為低。這個(gè)設(shè)
備就成為總線的主設(shè)備,發(fā)出BUSY信號(hào)和OUT信號(hào),然
后開始傳送數(shù)據(jù)。見圖8.3。
28
8.3總線操作與定時(shí)
■總線可以根據(jù)其時(shí)鐘類型分為同步總線和異步總
線兩大類。
■同步總線(synchronousbus)有一條由晶振驅(qū)動(dòng)
的方波信號(hào)線??偩€的所有操作都將占用其中的
幾個(gè)完整的方波,把一個(gè)方波的時(shí)間稱為總線周
期(buscycle)。
■異步總線(asynchronousbus)中不存在一個(gè)起
控制作用的時(shí)鐘。它的總線周期可以是總線操作
所需的任意長度,并不要求其上面的所有設(shè)備都
保持一致。下面分別對(duì)它們進(jìn)行討論。
29
8.3.1同步定時(shí)方式
■對(duì)于同步總線而言,其控制線路包含一個(gè)時(shí)鐘和
一個(gè)固定的與時(shí)鐘有關(guān)的地址和數(shù)據(jù)發(fā)送協(xié)議。
由于需要很少或根本不需要其他邏輯來決定下一
步該做什么,因此同步總線速度較快而且費(fèi)用
低。CPU—主存總線是典型的同步總線。
■缺點(diǎn):
■由于總線偏離問題,總線長度一般很短,并且總線上
所有的設(shè)備必須有相同的時(shí)鐘頻率。
■某些總線可以連接不同速度的設(shè)備,但它們的工作速
度和速度最慢的設(shè)備相等。
30
8.3.1同步定時(shí)方式
■下面以圖8.4為例來說明同步總線的工作原
理。
■圖g4中使用的是40MHz的時(shí)鐘信號(hào),相應(yīng)的
總線周期為25ns??偩€頻率一般用要比CPU的
主頻低很多,總線頻率較低的主要原因是總線
偏離和向后兼容的要求。
31
8.3.1同步定時(shí)方式
■在本例中,再進(jìn)一步假設(shè)主存讀在地址建立后還
需要4011s的時(shí)間。有了這個(gè)參數(shù),馬上可以得出,
從主存中讀取一個(gè)字需要三個(gè)總線周期。第一個(gè)
周期從“的上升沿開始,第三個(gè)周期在心的上升
沿結(jié)束,如圖8.4所示。
■值得注意的是,圖8.4中沒有任何一個(gè)上升沿或者下降
沿是垂直的,因?yàn)闆]有哪個(gè)電平信號(hào)能在零時(shí)間內(nèi)將
其電平降為零。本例中假設(shè)電平變化的時(shí)間是1ns。
32
8.3.1同步定時(shí)方式
■表8」對(duì)時(shí)序圖中出現(xiàn)的8個(gè)符號(hào)做了進(jìn)一步
的區(qū)分。
■例如,“D是從北的上升沿開始到地址建立好時(shí)
的地址建立時(shí)間。根據(jù)時(shí)序規(guī)格要求,
TAD<llnSo這就是說,CPU生產(chǎn)商保證,在任
何一個(gè)讀周期中,CPU都將在儲(chǔ)的上升沿的中
點(diǎn)開始的11ns內(nèi)輸出要讀的數(shù)據(jù)的地址。
33
8.3.1同步定時(shí)方式
■時(shí)序規(guī)格同時(shí)也要求,數(shù)據(jù)應(yīng)至少在,3的下降沿
之前7%(5ns)時(shí)間內(nèi)在數(shù)據(jù)線上準(zhǔn)備好,使其
在CPU連通數(shù)據(jù)線之前有足夠的時(shí)間能穩(wěn)定下來o
,AD和TDS這兩項(xiàng)約束組合起來,就意味著在最壞
的信況下,在地址出現(xiàn)在地址信號(hào)線上以后,主
存芯片只有62.5-11?5=46?511§的時(shí)間,就必須將數(shù)
據(jù)讀出并送到數(shù)據(jù)信號(hào)線上。這樣,4011s的芯片
就可以滿足這條總線的要求,即使在最壞的情況
下,它也能在4周期內(nèi)給出數(shù)據(jù)。如果使用的是
5011s的芯片,虱么,就需要插入第二個(gè)等待狀態(tài),
并只能在,4周期得到響應(yīng)。見圖8.4和衣8.1。
34
8.3.2異步定時(shí)方式
■雖然由于使用同一個(gè)時(shí)鐘信號(hào),同步總線的工作
原理相對(duì)簡單,但它也存在以下一些問題。
■1.時(shí)間效率問題。它要求所有事件必須在一個(gè)或多個(gè)
完整的時(shí)鐘周期內(nèi)完成。
■2.難以采用新技術(shù)帶來的好處。例如,假定在圖8.4所
示的總線系統(tǒng)生產(chǎn)幾年后,出現(xiàn)了訪問時(shí)間只有20ns
的主存芯片,可以用來取代現(xiàn)有的40ns的主存芯片。
這時(shí),可以去掉插入的等待狀態(tài),提高機(jī)器的速度。
如果再有了訪問時(shí)間只有10ns的主存芯片,就無法使
用現(xiàn)有總線來提高性能了,因?yàn)樵摽偩€設(shè)計(jì)的讀操作
就是兩個(gè)周期。
35
832異步定時(shí)方式
■將這種情況稍微變一個(gè)說法,若一條同步
總線上接有多個(gè)不同的設(shè)備,這些設(shè)備的
數(shù)據(jù)傳輸速度有快有慢,那么,總線周期
就必須設(shè)計(jì)得能滿足最慢的設(shè)備,而快速
設(shè)備就不可能滿負(fù)荷地運(yùn)行。
36
832異步定時(shí)方式
■異步總線無固定的時(shí)鐘,接收端和發(fā)送端
通過自身時(shí)鐘控制的握手協(xié)議
(handshakingprotocol)來保證數(shù)據(jù)的正
確接收和發(fā)送。
■源:數(shù)據(jù)發(fā)送方稱為源。
■源數(shù)據(jù):源產(chǎn)生的數(shù)據(jù)成為源數(shù)據(jù)。
■目標(biāo):數(shù)據(jù)接收方稱為目標(biāo)。
■目標(biāo)數(shù)據(jù):目標(biāo)接收的數(shù)據(jù)成為目標(biāo)數(shù)據(jù)。
37
832.1單向選通
■單向選通(strobe)控制是由通信的一方提
供選通信號(hào),這里的一方可以是源,如圖
8.5(a)所示,也可以是目標(biāo),如圖8.5
(b)所示。
38
832.1單向選通
■在圖8.5(a)中,數(shù)據(jù)的發(fā)送方(源)送出
數(shù)據(jù)及選通信號(hào)(strobe)。發(fā)送方(源)
的選通信號(hào)在經(jīng)過一段時(shí)間之后主動(dòng)結(jié)束,
接收方(目標(biāo))可以利用發(fā)送方的選通信
號(hào)的下降沿接收數(shù)據(jù)。這種方式實(shí)現(xiàn)起來
簡單,但是所帶來的問題是數(shù)據(jù)的發(fā)送方
(源)不管接收方(目標(biāo))有無能力接收,
按照自己的時(shí)序結(jié)束工作。
39
832.1單向選通
■圖8.5(b)示出的是首先由數(shù)據(jù)的接收方
(目標(biāo))發(fā)出選通信號(hào),要求數(shù)據(jù)的發(fā)送
方(源)送出數(shù)據(jù)。接收方使用自己發(fā)出
的選通信號(hào)的下降沿接收數(shù)據(jù)。在圖8.5(b)
中,不管發(fā)送方(源)有無能力提供數(shù)據(jù),
接收方(目標(biāo))在發(fā)出請(qǐng)求信號(hào)后,都按
照接收方(目標(biāo))自己的時(shí)序接收數(shù)據(jù)。
40
832.1單向選通
■圖8.5(a)和圖8.5(b)所存在的共同問題
就是源所發(fā)送的數(shù)據(jù)并不能保證被目標(biāo)正
確接收,這種情況稱為源與目標(biāo)不同步
(應(yīng)該注意的是這里的同步概念與前面提
到的同步總線的概念不同)。這顯然是一
個(gè)嚴(yán)重的問題,任何有意義的通信,都希
望源與目標(biāo)同步,即源發(fā)送的數(shù)據(jù)能夠被
目標(biāo)正確接收,所以需要認(rèn)真研究,解決
源與目標(biāo)同步的問題。
41
832.2雙向握手
■從前面的討論知道,無論是源還是目標(biāo)都可以是
主動(dòng)發(fā)起通信的一方,也可以是被動(dòng)接受通信的
一方。將主動(dòng)發(fā)起通信的一方(源或目標(biāo))稱為
主動(dòng)方;而將被動(dòng)接受通信的一方(源或目標(biāo))
稱為被動(dòng)方。
■前面討論的選通方法的缺點(diǎn)是主動(dòng)方(源或目標(biāo))沒
有辦法知道被動(dòng)方(源或目標(biāo))是否已經(jīng)準(zhǔn)備就緒,
即是否已經(jīng)正確地接收了數(shù)據(jù)或者是否已經(jīng)正確提供
了數(shù)據(jù)。可見,解決源與目標(biāo)同步的問題關(guān)鍵在于讓
對(duì)方知道自己的工作狀態(tài)。一種解決方法是通過設(shè)定
請(qǐng)求與應(yīng)答信號(hào)來通知對(duì)方自己的工作狀態(tài)。
8.322雙向握手
■雙向握手(handshaking)信號(hào):為了實(shí)現(xiàn)
源與目標(biāo)同步,在通信的雙方建立的請(qǐng)求
與應(yīng)答信號(hào)稱為雙向握手信號(hào),簡稱為握
手信號(hào)。
■“握手”是一個(gè)形象的術(shù)語,表示主動(dòng)方和被
動(dòng)方各“伸出一只手”,即主動(dòng)方和被動(dòng)方各
發(fā)出一個(gè)控制信號(hào),把本方的狀況通知對(duì)方。
43
8.322雙向握手
■圖8.6給出了雙向握手的說明,這里假設(shè)圖8.6中的
被動(dòng)方空閑。在圖8.6(a)中,源是主動(dòng)方。
■主動(dòng)方(源)送出有效數(shù)據(jù),并向被動(dòng)方(目標(biāo))發(fā)
W.索值號(hào)(數(shù)據(jù)有效信號(hào)),請(qǐng)求被動(dòng)方(目標(biāo))
?“乂發(fā)義“古o
■被動(dòng)方(旦標(biāo))把數(shù)據(jù)接收完成以后,并發(fā)出廖登信
號(hào)(收到信號(hào)),通知主動(dòng)方(源)數(shù)據(jù)已被接收。
■主動(dòng)方(源)收到應(yīng)答信號(hào)(收到信號(hào))后,撤銷數(shù)
據(jù)及詰求信號(hào)(數(shù)據(jù)有效信號(hào))。
■被動(dòng)方(目標(biāo))在主動(dòng)方(源)撤銷請(qǐng)求信號(hào)(數(shù)據(jù)
有效值號(hào))之后,也把應(yīng)答信號(hào)(收到信號(hào))撤銷,
此時(shí)宥女?dāng)?shù)據(jù)也被撤清。
44
832.2雙向握手
■再來看圖8.6(b)o
■被動(dòng)方(目標(biāo))主動(dòng)發(fā)出通信請(qǐng)求信號(hào)(準(zhǔn)備好),
請(qǐng)求主動(dòng)方(源)送來數(shù)據(jù)。
■主動(dòng)方(源)收到請(qǐng)求信號(hào)之后,把數(shù)據(jù)送上數(shù)據(jù)總
線,并發(fā)出應(yīng)答信號(hào)(數(shù)據(jù)有效信號(hào)),通知被動(dòng)方
(目標(biāo))數(shù)據(jù)已經(jīng)準(zhǔn)備好。
■被動(dòng)方(目標(biāo))把數(shù)據(jù)接收完成之后,撤銷請(qǐng)求信號(hào),
■主動(dòng)方(源)也撤銷應(yīng)答信號(hào)(數(shù)據(jù)有效信號(hào)),此
時(shí)有效數(shù)據(jù)也被撤消。
45
832.2雙向握手
■如果I/O設(shè)備出現(xiàn)故障,處理器發(fā)出請(qǐng)求后,始終
得不到I/O設(shè)備的響應(yīng)時(shí),不會(huì)一直等下去,采用
的一種策略是:處理器發(fā)出請(qǐng)求后,啟動(dòng)一個(gè)計(jì)
時(shí)器。若經(jīng)過一定的時(shí)間后,仍得不到響應(yīng),則
計(jì)時(shí)器發(fā)出“超時(shí)”(timeout)中斷信號(hào),強(qiáng)迫
處理器停止I/O訪問操作。
■很明顯,雙向握手方式和時(shí)序無關(guān)。每個(gè)事件都
由前一個(gè)事件引起,而不是由時(shí)鐘脈沖控制。
46
8,4總線標(biāo)準(zhǔn)
■總線標(biāo)準(zhǔn):設(shè)備應(yīng)該如何連接到計(jì)算機(jī)的
規(guī)范或規(guī)定。
■總線標(biāo)準(zhǔn)可以使計(jì)算機(jī)設(shè)計(jì)者和I/O設(shè)備設(shè)計(jì)
者獨(dú)立進(jìn)行開發(fā),因此非常重要。
■只要計(jì)算機(jī)設(shè)計(jì)者和I/O設(shè)備設(shè)計(jì)者都遵循總
線標(biāo)準(zhǔn),則設(shè)計(jì)出來的任何I/O設(shè)備都可以連
到任何計(jì)算機(jī)上??偩€標(biāo)準(zhǔn)定義了I/O設(shè)備應(yīng)
該如何連接到計(jì)算機(jī)。
47
8.5I/O接口
■8.5.1概述
■從最頂層看,計(jì)算機(jī)系統(tǒng)包含CPU、存儲(chǔ)器和I/O
等部件,每種類型有一個(gè)或多個(gè)模塊。這些部件
以某種方式互相連接,實(shí)現(xiàn)計(jì)算機(jī)的基本功能,
即執(zhí)行程序,并實(shí)現(xiàn)人機(jī)交互。因此,可以采用
以下兩種方法來描述計(jì)算機(jī)系統(tǒng):
■L描述每個(gè)部件的外部操作,即它與其他部件之
間交換的數(shù)據(jù)和控制信號(hào)。
■2.描述互連結(jié)構(gòu)。
48
851概述
■計(jì)算機(jī)系統(tǒng)的主要部件(處理器、主存、
I/O模塊)等為了交換數(shù)據(jù)和控制信號(hào),需
要進(jìn)行互連。
■最普通的互連方式是使用多條線組成共享總線,
將計(jì)算機(jī)的各個(gè)部件連接起來。
■由于電參數(shù)、機(jī)械參數(shù)的不匹配,總線通常不
能直接與計(jì)算機(jī)系統(tǒng)的I/O設(shè)備相互連接,而
需要通過接口將總線與計(jì)算機(jī)系統(tǒng)的各個(gè)部件
連接起來。
49
852I/O接口概念
■I/O設(shè)備一般不能夠直接與連接CPU和主存的總線
相連。因?yàn)镮/O設(shè)備的本質(zhì)與CPU和主存的本質(zhì)不
同,I/O設(shè)備都是些機(jī)電、磁性或光學(xué)設(shè)備,而
CPU和主存是電子設(shè)備。
■與CPU和主存相比I/O設(shè)備的操作速度要慢得多。
因此必須要有中介來處理這種差異,I/O設(shè)備是通
過一種被稱為I/O接口電路,簡稱為I/O接口(也
稱為I/O控制器)的器件連接到總線上的。圖8.7
表明了它們?nèi)咧g的關(guān)系。
50
852I/O接口概念
■I/O接口可以是串行或并行接口。
■串行接口只有一根線連接到設(shè)備上。
■并行接口有數(shù)根線連接到設(shè)備上,使得一次能
同時(shí)傳送多個(gè)位。
■從廣義上講,接口是指兩個(gè)相對(duì)獨(dú)立的子
系統(tǒng)之間的相連部分。
51
852I/O接口概念
■軟件接口:指一個(gè)程序模塊或子程序在調(diào)用和返
回時(shí)所必須遵守的傳遞參數(shù)規(guī)則或約定。
■硬件接口:指兩個(gè)硬件設(shè)備之間的連接邏輯及信
號(hào)傳遞協(xié)議。
■軟硬接口:指軟件對(duì)某個(gè)硬件電路進(jìn)行控制,或
者硬件要傳遞一些信息給軟件,彼此間也有著共
同遵守的協(xié)議。
■人機(jī)接口:指軟件與其使用者(人)的聯(lián)系部
分。
52
853I/O接口的功能和基本結(jié)構(gòu)
■I/O接口并非僅僅完成物理上的連接,一般來講,
它具有下述主要功能。
■i.識(shí)別地址碼,即地址譯碼功能。
■2.在主機(jī)與I/O設(shè)備之間交換數(shù)據(jù)、控制命令及狀態(tài)
信息等。
■3.支持主機(jī)采取程序查詢、中斷、DMA等方式。
■4.提供主機(jī)和I/O設(shè)備所需的緩沖、暫存、驅(qū)動(dòng)能
力,滿足一定的負(fù)載要求和時(shí)序要求。
■5.進(jìn)行數(shù)據(jù)類型、格式等方面的轉(zhuǎn)換。
53
853I/O接口的功能和基本結(jié)構(gòu)
■從不同的角度出發(fā),I/O接口可分為若干類
型。
■L按主機(jī)訪問I/O設(shè)備的控制方式,可分為程
序查詢接口、中斷接口、DMA接口,以及更復(fù)
雜一些的通道控制器、I/O處理機(jī)。
■2.按時(shí)序控制方式可分為:同步接口、異步
接口。
■3.按數(shù)據(jù)傳送的格式可分為串行接口、并行
接口。
54
853I/O接口的功能和基本結(jié)構(gòu)
■一種簡單的I/O接口部件的例例如圖8.8所示。
■它包括兩個(gè)數(shù)據(jù)寄存器(端口A寄存器和端口B寄存器)、
一個(gè)控制寄存器、一個(gè)狀態(tài)寄存器、一個(gè)數(shù)據(jù)緩沖寄
存器和一個(gè)時(shí)序控制電路。
■I/O接口與CPU的通信通過數(shù)據(jù)總線進(jìn)行。
■片選信號(hào)用于指明該接口是否被選中。被選中時(shí),寄
存器選擇信號(hào)選擇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ù)前面的討論知道,計(jì)算機(jī)系統(tǒng)通常有
多個(gè)I/O接口,每一個(gè)I/O接口內(nèi)部通常又
有多個(gè)寄存器,這些I/O接口內(nèi)部的寄存器
稱為I/O端口。CPU為了能夠訪問這些端口,
就必須對(duì)它們進(jìn)行唯一的身份標(biāo)識(shí),即對(duì)
每一個(gè)端口賦以一個(gè)唯一的地址。于是就
帶來一個(gè)問題,這些端口的地址與存儲(chǔ)器
的地址究竟是什么關(guān)系?應(yīng)該如何編址?
56
854I/O接口的編址
■一種方式是將存儲(chǔ)器和i/o端口統(tǒng)一編址,即在存
儲(chǔ)器空間中劃分出一段地址空間作為訪問I/O端口
的地址空間。這種方式使用訪問存儲(chǔ)器的指令來
實(shí)現(xiàn)對(duì)I/O端口的讀寫。這種方式稱為存儲(chǔ)器映像
的I/O端口。
■優(yōu)點(diǎn):不用單獨(dú)設(shè)置I/O端口訪問指令,而是使用存儲(chǔ)
器訪問指令來訪問I/O端口,因此可以充分利用存儲(chǔ)器
訪問指令的強(qiáng)大功能,編寫程序比較方便。
■缺點(diǎn):是程序員必須知道I/O端口的地址在存儲(chǔ)器地址
空間中的分配情況。
57
854I/O接口的編址
■另外一種方式是將存儲(chǔ)器和I/O端口分開編
址,即存儲(chǔ)器和I/O端口的地址彼此獨(dú)立,
例如,他們可以各自從0開始編址。CPU有
專門的I/O端口訪問指令和存儲(chǔ)器訪問指
令。
■優(yōu)點(diǎn):程序員無須知道I/O端口的地址在存儲(chǔ)
器地址空間中的分配情況。
■缺點(diǎn):無法充分利用存儲(chǔ)器訪問指令的強(qiáng)大功
△*匕編寫程序要復(fù)雜一些。
58
55I/O方式一輸入/輸出的基本控制方式
■通常,輸入輸出的基本控制方式(簡稱為
I/O方式)有以下幾種:
■程序查詢方式;
■程序中斷方式;
■直接存儲(chǔ)器訪問(directmemoryaccess,DMA)
方式;
■通道方式。
59
8.551程序查詢方式
■程序查詢方式:CPU直接通過I/O指令對(duì)
I/O接口進(jìn)行操作訪問,主機(jī)與外部設(shè)備交
換信息的每一過程均在程序中表示出來。
如果接口尚未準(zhǔn)備好,CPU就等待,如果
已作好準(zhǔn)備,CPU才能執(zhí)行I/O指令。
60
8.551程序查詢方式
■在相應(yīng)的I/O程序中須進(jìn)行下列幾步操作,
其接口和軟件模型如圖8.9所示。
■1.讀取外部設(shè)備狀態(tài)信息。
■2.判斷是否可進(jìn)行新的操作,例如判斷鍵盤
是否有新的鍵被按下,或打印機(jī)是否準(zhǔn)備好接
收新數(shù)據(jù)。如果設(shè)備尚未準(zhǔn)備好,則返回第一
步;若已準(zhǔn)備好,就進(jìn)行下一步。
■3.執(zhí)行所需的I/O操作,例如從鍵盤接口讀數(shù),
或送出打印信息到打印機(jī)接口。
61
8.552程序中斷方式
■1.基本概念
■程序中斷(interrupt)方式:CPU首先對(duì)I/O接口
及一個(gè)中斷控制器排行初始化,然后去執(zhí)行CPU
自己的程序(用戶程序)。當(dāng)I/O數(shù)據(jù)準(zhǔn)備好時(shí),
由中斷控制器向CPU發(fā)出中斷請(qǐng)求。CPU在收至U
中斷請(qǐng)求后,若能夠響應(yīng)中斷,則暫時(shí)停止當(dāng)前
正在執(zhí)行的程序(用戶程序),轉(zhuǎn)去執(zhí)行中斷服
務(wù)(處理)程序,然后再返回被中斷的程序(用
斷方式省去了、
需配曾甄i席篋)間,因此提高
了效率。
62
8.552程序中斷方式
序
中
序
原
被
的
稱
為
點(diǎn)
程
斷
程
地
址
斷
用
位
置1>.
,
中
事
處
斷
服
序
稱
為
務(wù)
的
序
件
程
理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林省長春市九臺(tái)區(qū)2024-2025學(xué)年部編版七年級(jí)歷史上學(xué)期期中測(cè)試題(含答案)
- 2024年度云南省高校教師資格證之高等教育法規(guī)通關(guān)題庫(附帶答案)
- 2024年度云南省高校教師資格證之高等教育學(xué)提升訓(xùn)練試卷A卷附答案
- 贛南師范大學(xué)《地圖學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 阜陽師范大學(xué)《音樂學(xué)科課程標(biāo)準(zhǔn)與教材分析》2021-2022學(xué)年第一學(xué)期期末試卷
- 阜陽師范大學(xué)《體育保健學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 阜陽師范大學(xué)《高數(shù)二》2021-2022學(xué)年第一學(xué)期期末試卷
- 大象版四年級(jí)(下)全冊(cè)科學(xué)教案
- 福建師范大學(xué)《音樂美學(xué)基礎(chǔ)》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024年廣東新高考化學(xué)試卷試題真題答案詳解(精校打印版)
- 2024年2024年離婚協(xié)議書模板
- 應(yīng)急第一響應(yīng)人理論考試試卷(含答案)
- MOOC 跨文化交際通識(shí)通論-揚(yáng)州大學(xué) 中國大學(xué)慕課答案
- EDA實(shí)驗(yàn)報(bào)告1組合邏輯電路的設(shè)計(jì)
- 整式的乘法與因式分解所有知識(shí)點(diǎn)總結(jié)
- 《運(yùn)動(dòng)生理學(xué)》教案
- 陳春花管理學(xué)著作精華解讀之《管理的常識(shí)》
- 鉆孔灌注樁試樁施工方案
- 外貿(mào)銷售合同
- 混凝土地面施工方案
- 2020學(xué)校食堂自查自糾報(bào)告3篇
評(píng)論
0/150
提交評(píng)論