




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章總線與輸入/輸出系統(tǒng)8.1概述8.2總線8.3輸入/輸出接口8.4輸入/輸出技術(shù)8.5輸入/輸出設(shè)備
8.1概述
一個(gè)計(jì)算機(jī)由CPU、存儲(chǔ)器、I/O設(shè)備三類模塊組成,
它們通過(guò)適當(dāng)?shù)耐愤M(jìn)行連接,連接三類模塊的通路的集合被稱為互連結(jié)構(gòu)(或稱互連網(wǎng)絡(luò))。僅在兩個(gè)部件之間傳遞信息的通路稱為專用通路,而在不同時(shí)刻傳遞不同部件之間信息的通路稱為共享(公用)總線。更廣義地講,總線就是計(jì)算機(jī)系統(tǒng)中多個(gè)部件或設(shè)備共用的傳遞信息的數(shù)據(jù)通路(電子
通道)。圖8.1利用單總線進(jìn)行連接通信的計(jì)算機(jī)系統(tǒng)
8.2總線
8.2.1總線類型與結(jié)構(gòu)
1.總線類型
1)按連接層次劃分
按照總線連接對(duì)象在計(jì)算機(jī)系統(tǒng)中所處的層次不同,總線可分為:
(1)片內(nèi)總線:連接CPU內(nèi)部各寄存器、運(yùn)算器等功能部件的公共連接線。
(2)系統(tǒng)總線:連接計(jì)算機(jī)內(nèi)部CPU、內(nèi)存、I/O接口等各功能模塊的公共連接線。
(3)通信總線:計(jì)算機(jī)之間、計(jì)算機(jī)與外設(shè)之間進(jìn)行連接的連接線。
2)按數(shù)據(jù)位數(shù)劃分
按照總線中數(shù)據(jù)線的多少不同,總線可分為:
(1)并行總線:含有多條雙向數(shù)據(jù)線的總線。
(2)串行總線:只含有一條雙向數(shù)據(jù)線或兩條單向數(shù)據(jù)線的總線。
3)按用法劃分
按照總線的使用方式不同,總線可分為:
(1)專用總線:只連接一對(duì)功能部件的總線。
(2)公用(共享)總線:多個(gè)部件、模塊、設(shè)備共用的互連線。
2.總線特性
1)總線的特性
(1)機(jī)械特性:
(2)電氣特性:
(3)功能特性:
(4)時(shí)間特性:
2)總線的性能指標(biāo)
(1)總線帶寬:
例8.1
PCI總線的時(shí)鐘頻率為33MHz/66MHz,當(dāng)該總線進(jìn)行32/64位數(shù)據(jù)傳送時(shí),總線帶寬是多少?
解假設(shè)一個(gè)總線時(shí)鐘周期T完成一個(gè)數(shù)據(jù)的傳送,時(shí)鐘頻率為f,數(shù)據(jù)位為n,則總線帶寬B為
(8-1)所以有
(2)總線寬度:總線的線數(shù),它決定了總線所占的物理空間和成本。圖8.2
USB包格式
例8.2使用ISA總線的20條地址線時(shí),允許尋址的內(nèi)存空間有多大?使用PCI總線的32條地址線時(shí),允許尋址的內(nèi)存空間又有多大?
解
ISA總線內(nèi)存空間=220個(gè)內(nèi)存單元=1M個(gè)內(nèi)存單元
PCI總線內(nèi)存空間=232個(gè)內(nèi)存單元=4G個(gè)內(nèi)存單元
(3)總線負(fù)載:連接在總線上的最大設(shè)備數(shù)量。
3.總線結(jié)構(gòu)
在早期的計(jì)算機(jī)系統(tǒng)中,總線只有一個(gè),稱為單總線結(jié)構(gòu),如圖8.1所示。
多總線結(jié)構(gòu)就是由兩種以上總線組成的系統(tǒng)互連結(jié)構(gòu)。多總線結(jié)構(gòu)可以有多種結(jié)構(gòu)形式,如圖8.3所示的是其中一種。圖
8.3多總線結(jié)構(gòu)示例圖8.4一個(gè)基于PCI的系統(tǒng)示意圖8.2.2總線的信息傳輸方式
1.總線操作
在計(jì)算機(jī)系統(tǒng)中,所有功能的實(shí)現(xiàn)基本上是由兩類操作相互配合而達(dá)成的,其一是數(shù)據(jù)在功能部件內(nèi)部進(jìn)行加工處理,其二是數(shù)據(jù)在功能部件之間進(jìn)行有效傳輸。在總線結(jié)構(gòu)
的計(jì)算機(jī)系統(tǒng)中,各功能部件(總線設(shè)備)之間為實(shí)現(xiàn)各種功能所需要的控制、狀態(tài)、數(shù)據(jù)信息是利用共享總線來(lái)傳輸?shù)?,所以在總線上為配合某種功能實(shí)現(xiàn)而進(jìn)行的各種信息傳
輸被稱為總線操作。圖8.5
PCI總線的基本讀操作時(shí)序圖8.6
PCI總線的基本寫操作時(shí)序圖8.7
PCI總線的中斷響應(yīng)時(shí)序
2.數(shù)據(jù)傳輸方式
1)并行傳送方式
2)串行傳送方式
3)分時(shí)傳送方式
4)消息傳送方式
3.總線通信方式
1)同步通信方式
2)異步通信方式圖8.8由發(fā)送設(shè)備發(fā)起的異步數(shù)據(jù)傳輸握手時(shí)序圖8.9由接收設(shè)備發(fā)起的異步數(shù)據(jù)傳輸握手時(shí)序(全互鎖)圖8.10串行異步通信數(shù)據(jù)格式8.2.3總線仲裁
1.集中式仲裁
1)菊花鏈
圖8.11說(shuō)明了菊花鏈仲裁方式。圖8.11菊花鏈仲裁方式菊花鏈仲裁邏輯可表示為(假設(shè)BR、BG、BB均為高有效):
BR=BR1+BR2+…+BRn
BB=BB1+BB2+…+BBn
總線仲裁邏輯BG=BR·BB
2)輪詢
在輪詢(也稱計(jì)數(shù)查詢)仲裁方式中,先為每一個(gè)參與仲裁的設(shè)備分配唯一的設(shè)備地址,所有的設(shè)備地址是連續(xù)的,然后利用一組與所有設(shè)備直接連接的輪詢計(jì)數(shù)(Poll-count)
線替代菊花鏈的BG線,如圖8.12所示。圖8.12輪詢仲裁方式輪詢仲裁邏輯可表示為:
其中,Addj為設(shè)備Dj的設(shè)備地址,poll_count為仲裁器輸出的輪詢計(jì)數(shù)值。
3)獨(dú)立請(qǐng)求
獨(dú)立請(qǐng)求方式要求共享總線的每個(gè)設(shè)備有獨(dú)立的BR線和BG線,如圖8.13所示。圖8.13獨(dú)立請(qǐng)求仲裁方式獨(dú)立請(qǐng)求仲裁邏輯可表示為:
獨(dú)立請(qǐng)求方式的主要缺陷是,為了控制n個(gè)設(shè)備需要2n條BR線和BG線連接到仲裁器上。相比較而言,菊花鏈僅需2條線,輪詢需(lbn+2)條線。
2.分布式仲裁
分布式仲裁不需要中央仲裁器,仲裁邏輯分布在各個(gè)設(shè)備中。
圖8.14示意的是自舉分布式仲裁方案,所有設(shè)備的忙信號(hào)采用線或方式連在一起,所有設(shè)備可以監(jiān)聽總線忙BB和比它優(yōu)先級(jí)高的設(shè)備發(fā)出的總線請(qǐng)求BRi,各設(shè)備僅在總線不忙且沒(méi)有高優(yōu)先級(jí)設(shè)備請(qǐng)求的情況下,獲得總線使用權(quán)。圖8.14自舉分布式仲裁方式假設(shè)圖8.14中設(shè)備的優(yōu)先級(jí)從高到低排序?yàn)镈1D2…Dn,則設(shè)備仲裁邏輯可表示為:圖8.15示意的是一種鏈?zhǔn)椒植际街俨梅桨?,它除了沒(méi)有中央仲裁器外,與菊花鏈仲裁方式十分相似。它的仲裁邏
輯為:圖8.15鏈?zhǔn)椒植际街俨梅绞?.2.4典型的總線
1.PCI總線
由于圖形界面及高速音頻、視頻數(shù)據(jù)傳輸?shù)男枨?,Intel公司于1991年首先提出了PCI總線的概念。
2.USB總線
USB(UniversalSerialBus)是由Compaq、Hewlett-Packard、Intel、Lucent、Microsoft、NEC、Philips這7家公司聯(lián)合開發(fā)的通用串行總線,其總線規(guī)范幾經(jīng)修訂,形成了現(xiàn)在廣泛使用的2.0版本,而最新發(fā)布的是3.0版本。在USB2.0規(guī)范中,USB允許以三種速率傳輸數(shù)據(jù):
(1)高速(High-speed),傳輸位速率為480Mb/s;
(2)全速(Full-speed),傳輸位速率為12Mb/s;
(3)低速(Low-speed),傳輸位速率為1.5Mb/s。
USB總線具有如下特征:
(1)性能優(yōu)良。
(2)即插即用。
(3)適用范圍寬。
(4)支持實(shí)時(shí)數(shù)據(jù)操作。
(5)靈活。
(6)健壯。
(7)與PC工業(yè)有協(xié)同作用。
(8)提供低成本實(shí)現(xiàn)方案。
(9)USB結(jié)構(gòu)可以升級(jí)為在一個(gè)系統(tǒng)中支持多個(gè)USB主機(jī)控制器。
3.總線的應(yīng)用
作為總線應(yīng)用的一個(gè)示例,圖8.16給出的是采用Intel955芯片組的PC機(jī)系統(tǒng)。圖8.16采用Intel955芯片組的PC機(jī)系統(tǒng)
8.3輸入/輸出接口
I/O設(shè)備種類繁多,功能、操作方式、速度、信號(hào)等差異巨大,當(dāng)它們要連接到公共總線上時(shí),顯然它們中的絕大多數(shù)是與總線信號(hào)、速度等不相符而不能直接與總線相連接的。
一種普遍采用的有效的連接方式是利用I/O接口,如圖8.17所示,該模型也適用于硬盤、光盤存儲(chǔ)設(shè)備等外存與系統(tǒng)總線的連接。圖8.17
I/O設(shè)備與總線連接的一般模型
1.I/O接口作用及模型
I/O接口不是I/O設(shè)備與總線之間的一組簡(jiǎn)單的連接線,它除在I/O設(shè)備與總線之間提供基本的信息傳輸通道傳遞數(shù)據(jù)之外,還要負(fù)責(zé)I/O設(shè)備與總線之間的設(shè)備選擇、設(shè)備控制、
信號(hào)形式轉(zhuǎn)換、速度匹配、數(shù)據(jù)緩存、錯(cuò)誤檢測(cè)、負(fù)載匹配、支持中斷等功能的實(shí)現(xiàn),甚至對(duì)于某些復(fù)雜的外設(shè),I/O接口還應(yīng)是具有“智能”的控制器。圖8.18
I/O接口模型
2.I/O地址編址方式
對(duì)端口寄存器采用地址加以識(shí)別,這個(gè)識(shí)別過(guò)程稱作
I/O尋址;每個(gè)端口寄存器有唯一的地址編碼,這一地址編碼稱作端口地址。因端口在接口內(nèi)部,故端口地址也稱作接口地址;又因每個(gè)接口面向特定的I/O設(shè)備,故接口地址也稱作I/O地址。I/O地址有兩種編碼方式:存儲(chǔ)器映射方式和I/O映射方式。
3.I/O接口設(shè)計(jì)
I/O接口設(shè)計(jì)是輸入/輸出系統(tǒng)硬件設(shè)計(jì)的重要一環(huán)。由于I/O設(shè)備不同,其接口電路有很大的差別。對(duì)于簡(jiǎn)單的I/O設(shè)備,可以使用芯片廠家提供的某些接口芯片(如三態(tài)緩沖
器、鎖存器、可編程并行接口芯片、可編程串行接口芯片等)設(shè)計(jì)滿足接口要求的I/O接口電路。對(duì)于復(fù)雜的I/O設(shè)備,可以利用芯片廠家提供的單片機(jī)、微控制器(MCU)、嵌入式處理器等設(shè)計(jì)滿足接口要求的I/O控制器,I/O控制器實(shí)質(zhì)就是一個(gè)微小型的計(jì)算機(jī)系統(tǒng)。
例8.3發(fā)光二極管是一種非常簡(jiǎn)單且常用的外設(shè),假設(shè)將發(fā)光二極管連接在計(jì)算機(jī)系統(tǒng)中的ISA總線上,且為該外設(shè)分配的I/O地址為8820H,試設(shè)計(jì)發(fā)光二極管的接口電路。
解利用鎖存器作為接口芯片可以非常方便地將發(fā)光二極管接入到計(jì)算機(jī)系統(tǒng)總線上。鎖存器有多種型號(hào),在此選用74LS273。
發(fā)光二極管的接口電路如圖8.19所示,譯碼器對(duì)I/O地址8820H進(jìn)行譯碼。圖8.19發(fā)光二極管的接口電路執(zhí)行如下Intel80x86指令,可使兩個(gè)發(fā)光二極管發(fā)亮:
MOVDX,8820H
MOVAL,81H
OUTDX,AL
執(zhí)行如下Intel80x86指令,可使發(fā)光二極管不亮:
MOVDX,8820H
MOVAL,00H
OUTDX,AL
8.4輸入/輸出技術(shù)
8.4.1程序查詢方式
程序查詢技術(shù)是最簡(jiǎn)單的輸入/輸出技術(shù),每個(gè)計(jì)算機(jī)都具備。利用程序查詢I/O,可以實(shí)現(xiàn)處理器(通過(guò)接口)與I/O設(shè)備之間的數(shù)據(jù)交換。圖8.20程序查詢I/O流程
例8.4某外設(shè)與80386DX微機(jī)系統(tǒng)的連接電路如圖8.21所示,當(dāng)外設(shè)不忙(BUSY=0)時(shí),可以從外設(shè)獲取數(shù)據(jù);當(dāng)外設(shè)忙(正在準(zhǔn)備新數(shù)據(jù))時(shí),不可以操作外設(shè)。請(qǐng)利用程序查詢方式,編寫從外設(shè)獲取1000個(gè)數(shù)據(jù)并存于BUFFER為首地址的內(nèi)存區(qū)域的程序段。圖8.21程序查詢I/O操作示例
解圖中74LS244為三態(tài)緩沖器,是外設(shè)與80386DX微機(jī)系統(tǒng)總線之間的輸入接口器件,上邊的74LS244為8位數(shù)據(jù)輸入端口寄存器,端口地址為7CH,下邊的74LS244為狀態(tài)端口寄存器,端口地址為7DH。80386DX微機(jī)的32位I/O系統(tǒng)的地址空間分為4組(Bank)區(qū)域,每個(gè)組支持8位數(shù)據(jù)的輸入/輸出,分別用選擇。利用程序查詢完成指定任務(wù)的程序段如下:8.4.2中斷方式
程序查詢方式主要有以下限制:
(1)I/O數(shù)據(jù)傳輸速率低。
(2)CPU工作效率較低。
(3)不能保證及時(shí)響應(yīng)I/O設(shè)備的I/O服務(wù)請(qǐng)求。圖8.22中斷過(guò)程示意圖
1.中斷過(guò)程
一旦中斷事件發(fā)生,中斷源首先要利用INT-REQ信號(hào)向CPU提出中斷請(qǐng)求,該請(qǐng)求被記錄在CPU內(nèi)部寄存器中,CPU在每條指令執(zhí)行結(jié)束時(shí)檢測(cè)中斷請(qǐng)求是否有效,當(dāng)有效
的中斷請(qǐng)求被識(shí)別后,CPU便執(zhí)行一個(gè)特定的中斷處理程序(Interrupt-handlingRoutine),以此實(shí)現(xiàn)對(duì)中斷源的服務(wù)。
2.中斷源的選擇與識(shí)別
1)基本原則
當(dāng)系統(tǒng)中有多個(gè)中斷源時(shí),有兩種情況會(huì)發(fā)生:
(1)多個(gè)中斷源同時(shí)提出中斷請(qǐng)求,CPU先選擇哪個(gè)中斷請(qǐng)求進(jìn)行響應(yīng)?
(2)當(dāng)CPU正在進(jìn)行中斷處理時(shí),又有新的中斷源提出請(qǐng)求,CPU是否選擇對(duì)新的中斷請(qǐng)求進(jìn)行服務(wù)?解決中斷源選擇的方法是采用中斷優(yōu)先級(jí)(InterruptPriorityLevels,IPL)。首先,根據(jù)中斷事件的重要性及響應(yīng)的實(shí)時(shí)性為每個(gè)中斷源分配不同級(jí)別的優(yōu)先級(jí),重要的、需及時(shí)響應(yīng)的中斷源優(yōu)先級(jí)高,重要性低、慢速的中斷源優(yōu)先級(jí)低,內(nèi)部中斷(或異常)優(yōu)先級(jí)高于外部中斷,非屏蔽中斷優(yōu)先級(jí)高于可屏蔽中斷。然后,設(shè)計(jì)中斷優(yōu)先級(jí)仲裁邏輯,使得:
(1)當(dāng)多個(gè)中斷源同時(shí)提出中斷請(qǐng)求時(shí),只有優(yōu)先級(jí)最高的中斷源的請(qǐng)求被選擇,并被CPU處理。
(2)當(dāng)高優(yōu)先級(jí)中斷正被CPU服務(wù)時(shí),所有低優(yōu)先級(jí)中斷被禁止;高優(yōu)先級(jí)中斷請(qǐng)求可以打斷低優(yōu)先級(jí)中斷服務(wù),即允許中斷嵌套(InterruptNesting)或多重中斷。
2)一般方法
中斷優(yōu)先級(jí)控制分為軟件和硬件兩大類方案。軟件仲裁方案簡(jiǎn)單,可以靈活地修改中斷源的優(yōu)先級(jí)別,但查詢、判優(yōu)完全靠程序?qū)崿F(xiàn),占用CPU時(shí)間,判優(yōu)速度慢。硬件仲裁方案能自動(dòng)封鎖優(yōu)先級(jí)低的中斷請(qǐng)求處理,判優(yōu)速度快,節(jié)省CPU時(shí)間,但是成本較高,一旦設(shè)計(jì)完成,將難以改變其優(yōu)先級(jí)別。圖8.23基本中斷優(yōu)先級(jí)硬件仲裁方案圖8.24單中斷請(qǐng)求線、軟件查詢的中斷優(yōu)先權(quán)仲裁邏輯圖8.25向量中斷優(yōu)先權(quán)仲裁邏輯
例8.5某計(jì)算機(jī)系統(tǒng)內(nèi)存地址為32位,無(wú)條件跳轉(zhuǎn)指令由5字節(jié)組成,中斷系統(tǒng)有12個(gè)中斷源,優(yōu)先級(jí)仲裁采用圖8.25所示的方案,試為12個(gè)中斷源設(shè)計(jì)其中斷向量,使中斷向量表空間最小。
解
12個(gè)中斷源需要優(yōu)先級(jí)編碼/比較器有12條中斷請(qǐng)求輸入線,經(jīng)編碼、比較產(chǎn)生k=4位地址輸出。當(dāng)程序計(jì)數(shù)器PC為32位時(shí)可以實(shí)現(xiàn)對(duì)32位內(nèi)存地址空間進(jìn)行訪問(wèn)。中斷
響應(yīng)時(shí),可按圖8.26所示的方式生成中斷向量。此時(shí),中斷向量表空間為最小,占12×8字節(jié)內(nèi)存單元。圖8.26中斷向量生成方式之一
例8.6某計(jì)算機(jī)系統(tǒng)有5級(jí)中斷:L0、L1、L2、L3、L4,硬件優(yōu)先級(jí)由高至低順序?yàn)長(zhǎng)0→L1→L2→L3→L4?,F(xiàn)希望設(shè)置屏蔽字將中斷響應(yīng)優(yōu)先順序改為L(zhǎng)3→L1→L4→L0→L2。
(1)試給出各級(jí)中斷在屏蔽寄存器中設(shè)置的屏蔽字(假設(shè)“1”表示屏蔽);
(2)首先L0、L1級(jí)中斷源發(fā)出中斷請(qǐng)求,在CPU處理L1級(jí)中斷時(shí),L2、L3、L4級(jí)中斷源又提出了中斷請(qǐng)求,試畫出優(yōu)先級(jí)修改前、后的中斷響應(yīng)以及處理過(guò)程程序運(yùn)行軌跡示意圖。
解
(1)各級(jí)中斷屏蔽字設(shè)置如下:
(2)優(yōu)先級(jí)修改前中斷響應(yīng)、處理過(guò)程的程序運(yùn)行軌跡如圖8.27所示。優(yōu)先級(jí)修改后中斷響應(yīng)、處理過(guò)程的程序運(yùn)行軌跡如圖8.28所示。圖8.27優(yōu)先級(jí)修改前程序運(yùn)行軌跡圖8.28優(yōu)先級(jí)修改后程序運(yùn)行軌跡
3)可編程中斷控制器PIC
另一種更靈活、更通用的向量中斷方案是用一個(gè)功能
更強(qiáng)的可編程中斷控制器(ProgrammableInterruptController,PIC)取代優(yōu)先級(jí)編碼/比較器。圖8.29是一個(gè)采用PIC的系統(tǒng)
結(jié)構(gòu)。圖8.29采用PIC的系統(tǒng)結(jié)構(gòu)圖8.30是82C59A的內(nèi)部結(jié)構(gòu)。82C59A能夠管理多達(dá)8個(gè)中斷源(IR0~IR7),在不附加電路的情況下可通過(guò)級(jí)聯(lián)擴(kuò)充至64個(gè)中斷源。圖8.30
82C59A優(yōu)先權(quán)中斷控制器
82C59A的優(yōu)先權(quán)控制功能很強(qiáng),它允許用戶對(duì)中斷屏蔽寄存器(IMR)進(jìn)行編程,按需要屏蔽各個(gè)中斷源;編程操作命令寄存器2(OCW2)為每個(gè)中斷源配置優(yōu)先級(jí)。優(yōu)先級(jí)配置方案包括:
(1)固定優(yōu)先級(jí):
(2)自動(dòng)循環(huán)優(yōu)先級(jí):
(3)特殊循環(huán)優(yōu)先級(jí):
3.中斷方式的實(shí)現(xiàn)
中斷方式由中斷系統(tǒng)或中斷機(jī)構(gòu)實(shí)現(xiàn),它包括硬件和軟件兩部分,與程序查詢方式相比要復(fù)雜許多。圖8.31基本框架
例8.7某中斷系統(tǒng)響應(yīng)中斷需要50ns,執(zhí)行中斷處理程序至少需要150ns,其中有60ns用于軟件額外開銷。那么,該系統(tǒng)的中斷頻率最大是多少?中斷額外開銷時(shí)間占
中斷時(shí)間的比例是多少?有一個(gè)字節(jié)設(shè)備,數(shù)據(jù)傳輸率為
10MB/s,如果以中斷方式且每次中斷傳送一個(gè)數(shù)據(jù),那么
該系統(tǒng)能實(shí)現(xiàn)這個(gè)傳輸要求嗎?
解因?yàn)?/p>
最短的中斷間隔時(shí)間=最短的中斷時(shí)間
=50+150=200ns=0.2μs
所以
因?yàn)樵O(shè)備數(shù)據(jù)傳輸率為10MB/s,即傳輸數(shù)據(jù)的間隔時(shí)間=0.1μs<最短的中斷間隔時(shí)間,所以該系統(tǒng)不能實(shí)現(xiàn)這個(gè)傳輸要求。8.4.3直接存儲(chǔ)器存取方式
1.DMA過(guò)程
DMA方式主要實(shí)現(xiàn)計(jì)算機(jī)主存與I/O設(shè)備間的高速數(shù)據(jù)傳輸,實(shí)現(xiàn)DMA方式需要DMAC。圖8.32
DMAC內(nèi)部邏輯及與系統(tǒng)連接圖8.33中斷和DMA響應(yīng)時(shí)刻
2.DMA工作機(jī)制
1)DMAC與CPU的總線控制權(quán)交換方式
DMAC與CPU同為總線主設(shè)備,在共享系統(tǒng)總線上,CPU和DMAC的沖突主要發(fā)生在同時(shí)爭(zhēng)用總線、訪問(wèn)主存時(shí)。引入Cache,使Cache-CPU和I/O-MM訪問(wèn)通路相互獨(dú)立(如采用圖8.4所示的系統(tǒng)),可以減少?zèng)_突。但在Cache失效時(shí),如果CPU恰好與DMAC同時(shí)訪問(wèn)主存,則沖突仍然會(huì)發(fā)生。解決沖突的方法就是使CPU和DMAC分時(shí)使用總線。
(1)周期挪用(竊取)方式(CycleStealingMode)。在常規(guī)程序運(yùn)行中,CPU要花費(fèi)很多時(shí)間執(zhí)行內(nèi)部CPU指令(例如ADDR0,R1),在這些指令執(zhí)行期間,CPU不需要對(duì)總線控制,也不訪問(wèn)內(nèi)存。周期挪用方式利用CPU做內(nèi)部操作或指令譯碼等未使用總線的時(shí)間,由DMAC迅速“竊取”一個(gè)總線周期的總線控制權(quán),做一個(gè)數(shù)據(jù)的傳輸,然后立即將總線控制權(quán)交還給CPU,如圖8.34(a)所示。此狀況不會(huì)延誤CPU時(shí)間,效率很高,亦稱為隱藏周期DMA(HiddenCycleDMA)。圖8.34周期挪用方式
(2)存儲(chǔ)器分時(shí)方式。此方式又稱為交替訪存方式,它是把原來(lái)的一個(gè)存取周期分成兩個(gè)時(shí)間片,一片分給CPU,一片分給DMAC,使CPU和DMAC交替地訪問(wèn)主存,如圖8.35所示。圖8.35存儲(chǔ)器分時(shí)法
(3)停止CPU方式(StopCPUMethod)。此方式可在一次DMA周期中傳輸一個(gè)數(shù)據(jù)或一塊數(shù)據(jù),塊數(shù)據(jù)傳輸方式又叫突發(fā)或猝發(fā)方式(BurstMode)。當(dāng)I/O設(shè)備需要DMA服務(wù)時(shí),DMAC與CPU以總線仲裁方式來(lái)協(xié)調(diào)使用總線的時(shí)機(jī),在CPU允許且釋放總線后,DMAC占用總線,開始連續(xù)若干個(gè)總線周期(存取周期)的全速數(shù)據(jù)傳輸,直到數(shù)據(jù)傳輸完畢后總線控制權(quán)才交回CPU,所以這種方式又稱為獨(dú)占總線方式。圖8.36是此方式的示意圖,在DMA期間,CPU完全處于停止?fàn)顟B(tài)。圖8.36停止CPU方式
(4)擴(kuò)展時(shí)鐘周期方式(StretchPeriodMethod)。此方式利用一組時(shí)鐘控制電路(如圖8.37(a)所示)將系統(tǒng)時(shí)鐘拉長(zhǎng),以“欺騙”CPU的方式在這段延長(zhǎng)時(shí)間里使用總線做DMA操作,操作時(shí)序如圖8.37(b)所示。圖8.37擴(kuò)展時(shí)鐘周期方式
2)DMAC的數(shù)據(jù)傳輸模式
(1)字節(jié)傳輸模式。
(2)數(shù)據(jù)塊傳輸模式。
(3)請(qǐng)求傳輸模式。
例8.8一般要求DMA連接的I/O設(shè)備應(yīng)是快速的,如視頻接收器和硬盤。已知視頻接收器在(1/50)s接收512×512個(gè)字節(jié),硬盤的位密度為50Kb/in、轉(zhuǎn)速為7200r/min、磁道半徑(內(nèi)道)為0.9in,試計(jì)算視頻接收器和硬盤的數(shù)據(jù)傳輸率。
解
8.4.4
I/O通道方式
將DMAC功能進(jìn)一步提升,使它擁有自己的指令系統(tǒng),就形成了專用于輸入/輸出控制的I/O處理器。利用專用的I/O處理器控制I/O操作的方式就是I/O通道(I/OChannel)方式。
1.通道過(guò)程
I/O通道工作過(guò)程如下(見圖8.38)。
1)CPU啟動(dòng)通道工作
2)數(shù)據(jù)傳輸
3)傳輸后處理圖8.38通道工作過(guò)程
2.通道結(jié)構(gòu)與類型
圖8.39示意了I/O通道的基本結(jié)構(gòu)。通道與兩類總線連接,存儲(chǔ)總線承擔(dān)通道與內(nèi)存、CPU與內(nèi)存間的數(shù)據(jù)傳輸任務(wù),IOP和CPU通過(guò)存儲(chǔ)總線共享對(duì)公共內(nèi)存的訪問(wèn),通道
(I/O)總線承擔(dān)外設(shè)與通道間的數(shù)據(jù)傳輸任務(wù)。由于I/O通道的加入,使計(jì)算機(jī)系統(tǒng)對(duì)I/O的控制形成了四層邏輯結(jié)構(gòu),即
CPU與內(nèi)存←→I/O通道←→設(shè)備控制器←→外圍設(shè)備圖8.39
I/O通道結(jié)構(gòu)
I/O通道有三種類型,如圖8.39所示。
1)選擇通道(SelectorChannel)
2)數(shù)組多路通道(BlockMultiplexorChannel)
3)字節(jié)多路通道(ByteMultiplexorChannel)
3.通道流量
通道流量是指通道在數(shù)據(jù)傳送期內(nèi),單位時(shí)間內(nèi)傳送的字節(jié)數(shù)。通道流量能達(dá)到的最大流量稱為通道極限流量。一個(gè)通道能達(dá)到的極限流量與其工作方式、數(shù)據(jù)傳送期內(nèi)一次選擇設(shè)備的時(shí)間TS和傳送一個(gè)字節(jié)的時(shí)間TD的長(zhǎng)短有關(guān)。選擇通道每選擇一臺(tái)設(shè)備就把N個(gè)字節(jié)全部傳送完,其通道極限流量為
(8-2)
數(shù)組多路通道每選擇一臺(tái)設(shè)備只傳送K個(gè)字節(jié),如果要傳送N個(gè)字節(jié),須經(jīng)過(guò)次傳送才能完成,每次都要花去一次選擇設(shè)備的時(shí)間TS,所以,其通道極限流量為
(8-3)字節(jié)多路通道每選擇一臺(tái)設(shè)備只傳送一個(gè)字節(jié),故其通道極限流量為
(8-4)
顯然,若通道的TS、TD一定,且N>K時(shí),按字節(jié)多路方式工作時(shí)所能達(dá)到的極限流量最小,按數(shù)組多路方式工作的居中,按選擇方式工作的最大。由通道工作原理可知,對(duì)于采用字節(jié)交叉方式工作的字節(jié)多路通道而言,設(shè)備要求的通道實(shí)際最大流量應(yīng)為該通道所接各設(shè)備的字節(jié)傳送速率之和,即
(8-5)而對(duì)于其他兩種類型的通道應(yīng)為所接各設(shè)備的字節(jié)傳送速率中之最大者,即
(8-6)
(8-7)
式中,j為通道的編號(hào),fi,j為第j通道上所接的第i臺(tái)設(shè)備的字節(jié)傳送速率,pj為第j號(hào)通道中所接設(shè)備的臺(tái)數(shù)。為了保證第j號(hào)通道上所接的設(shè)備在滿負(fù)荷的最壞情況下都不丟失信息,必須滿足設(shè)備要求的通道實(shí)際最大流量不超過(guò)通道所能達(dá)到的極限流量這一基本原則。因此,對(duì)上述三種類型的通道應(yīng)分別滿足下述關(guān)系式:如果I/O系統(tǒng)有m個(gè)通道,其中1至m1為字節(jié)多路通道,m1+1至m2為數(shù)組多路通道,m2+1至m為選擇通道,則該I/O系統(tǒng)工作時(shí)的極限流量將為
(8-8)
必然滿足
(8-9)可以用上式左右兩邊的差值大小來(lái)衡量I/O系統(tǒng)流量利用率的高低:差值越小,利用率越高,設(shè)計(jì)越合理。
例8.9設(shè)字節(jié)多路通道接有4個(gè)I/O設(shè)備,數(shù)據(jù)傳輸率小于200字符/秒;數(shù)組多路通道接有一臺(tái)打印機(jī)、一臺(tái)調(diào)制解調(diào)器和一臺(tái)繪圖機(jī),假定打印機(jī)速度為20頁(yè)/分鐘,每頁(yè)40行,每行80字符;調(diào)制解調(diào)器傳輸率為5600字符/秒;繪圖機(jī)傳輸率為2400字符/秒。試確定字節(jié)多路通道、數(shù)組多路通道的流量以及I/O系統(tǒng)工作時(shí)的極限流量。
解字節(jié)多路通道的流量為
數(shù)組多路通道的流量為
I/O系統(tǒng)工作時(shí)的極限流量
根據(jù)流量設(shè)計(jì)的基本條件,該I/O系統(tǒng)的極限流量設(shè)計(jì)為大于6400字符/秒即可。8.4.5操作系統(tǒng)的支持
操作系統(tǒng)(OS)在處理I/O中起到重要的作用,它是I/O硬件和I/O程序的接口。設(shè)備驅(qū)動(dòng)程序完成以下的功能:
(1)對(duì)設(shè)備初始化和釋放;
(2)把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù);
(3)讀取用戶程序傳送給設(shè)備文件的數(shù)據(jù)和回送用戶程序請(qǐng)求的數(shù)據(jù);
(4)檢測(cè)和處理設(shè)備出現(xiàn)的錯(cuò)誤。圖8.40
I/O管理器功能示意圖
8.5輸入/輸出設(shè)備
8.5.1輸入設(shè)備
輸入設(shè)備有多種,下面僅介紹最常用的鼠標(biāo)和鍵盤。
1.鼠標(biāo)
“鼠標(biāo)”因形似老鼠而得名,發(fā)明于20世紀(jì)60年代,80年代以后獲得了廣泛的應(yīng)用。
1)分類
(1)機(jī)械鼠標(biāo)與光機(jī)鼠標(biāo)。
(2)光電鼠標(biāo)。
(3)光學(xué)鼠標(biāo)。
(4)激光鼠標(biāo)。
(5)軌跡球鼠標(biāo)。
(6)感應(yīng)鼠標(biāo)。
(7)無(wú)線鼠標(biāo)。
(8)3D鼠標(biāo)。
3D振動(dòng)鼠標(biāo)是一種新型的鼠標(biāo)器,它不僅可以當(dāng)做普通的鼠標(biāo)使用,而且具有如下特點(diǎn):
①具有全方位立體控制能力。它具有前、后、左、右、上、下六個(gè)移動(dòng)方向,而且可以組合出前右、左下等多種移動(dòng)方向。
②外形和普通鼠標(biāo)不同。一般由一個(gè)扇形的底座和一個(gè)能夠活動(dòng)的控制器構(gòu)成。
③
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- (2025年標(biāo)準(zhǔn))股票分紅協(xié)議書
- (2025年標(biāo)準(zhǔn))承包鋤草協(xié)議書
- (2025年標(biāo)準(zhǔn))車位賣賣協(xié)議書
- (2025年標(biāo)準(zhǔn))拆遷包干協(xié)議書
- (2025年標(biāo)準(zhǔn))草藥購(gòu)銷協(xié)議書
- (2025年標(biāo)準(zhǔn))蔬菜代收協(xié)議書
- (2025年標(biāo)準(zhǔn))稅務(wù)扣稅協(xié)議書
- (2025年標(biāo)準(zhǔn))妻子生育協(xié)議書
- (2025年標(biāo)準(zhǔn))拆遷風(fēng)險(xiǎn)協(xié)議書
- (2025年標(biāo)準(zhǔn))飼料代理協(xié)議書
- 活體快遞免責(zé)協(xié)議書
- 保潔部安全培訓(xùn)課件
- ISO27001:2022信息安全管理體系全套文件+表單
- 弱電行業(yè)公司簡(jiǎn)介
- 2025年成都市錦江投資發(fā)展集團(tuán)有限責(zé)任公司招聘筆試參考題庫(kù)附帶答案詳解
- 2025年牛副產(chǎn)品供應(yīng)鏈合同
- 2025年山東大運(yùn)河控股集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 設(shè)置醫(yī)療機(jī)構(gòu)申請(qǐng)書表
- 漆膜鉛筆硬度培訓(xùn)
- 招標(biāo)代理服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- GB/T 45079-2024人工智能深度學(xué)習(xí)框架多硬件平臺(tái)適配技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論