《計(jì)算機(jī)組成與結(jié)構(gòu)》課件第8章總線與輸入輸出系統(tǒng)_第1頁
《計(jì)算機(jī)組成與結(jié)構(gòu)》課件第8章總線與輸入輸出系統(tǒng)_第2頁
《計(jì)算機(jī)組成與結(jié)構(gòu)》課件第8章總線與輸入輸出系統(tǒng)_第3頁
《計(jì)算機(jī)組成與結(jié)構(gòu)》課件第8章總線與輸入輸出系統(tǒng)_第4頁
《計(jì)算機(jī)組成與結(jié)構(gòu)》課件第8章總線與輸入輸出系統(tǒng)_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

修制

衛(wèi)屐

備領(lǐng)

<快

備印

熱他

長印馬

格也w

雷*

*

6技

忸,

8解

8.1總線與輸入輸出系統(tǒng)概述

■一個(gè)計(jì)算機(jī)由CPU、存儲(chǔ)器、I/O設(shè)備三類模

塊組成,它們通過適當(dāng)?shù)耐愤M(jìn)行連接,連接

三類模塊的通路的集合被稱為互連結(jié)構(gòu)(或稱

互連網(wǎng)絡(luò))。

■僅在兩個(gè)部件之間傳遞信息的通路稱為專用通

路。

■在不同時(shí)刻傳遞不同部件之間信息的通路稱為

共享(公用)總線。

■現(xiàn)代計(jì)算機(jī)系統(tǒng)的典型互連結(jié)構(gòu)是總線。

2

8.1總線與輸入輸出系統(tǒng)概述

■任何模塊間的信息(地址、數(shù)據(jù)、控制)都是

通過總線來傳遞的,總線成為了系統(tǒng)的中樞、

圖8.1利用單總線進(jìn)行連接通信的計(jì)算機(jī)系統(tǒng)

3

8.1總線與輸入輸出系統(tǒng)概述

■輸入輸出系統(tǒng)由輸入輸出設(shè)備、輸入輸出接口、

輸入輸出控制器、輸入輸出控制管理軟件等部

分組成。

■輸入輸出系統(tǒng)主要負(fù)責(zé)完成計(jì)算機(jī)系統(tǒng)與輸入

輸出設(shè)備之間的信息交換。

■輸入輸出系統(tǒng)管理的對(duì)象不僅僅是輸入輸出設(shè)

備,還包括外部存儲(chǔ)器。輸入輸出設(shè)備與外部

存儲(chǔ)器統(tǒng)稱為外部設(shè)備。

■為了使計(jì)算機(jī)能夠與各種外設(shè)有效連接并進(jìn)行

信息交換,需要研究多種輸入輸出技術(shù)。

輸入輸出系統(tǒng)概述

■I/O接口:在完成各個(gè)外設(shè)和主機(jī)之間數(shù)據(jù)傳輸過程

中進(jìn)行各種協(xié)調(diào)等工作的邏輯部件。協(xié)調(diào)包括傳輸過

程中的速度和負(fù)載匹配、電平和格式轉(zhuǎn)換、中斷請(qǐng)求

等。

■輸入設(shè)備:用于向計(jì)算機(jī)系統(tǒng)輸入命令或文本、數(shù)據(jù)

等信息的機(jī)械與電子結(jié)合的部件。鍵盤和鼠標(biāo)是最基

本的輸入設(shè)備。

■輸出設(shè)備:用于將計(jì)算機(jī)系統(tǒng)中的信息輸出到計(jì)算機(jī)

夕卜部進(jìn)行顯示、交蕤等作出的機(jī)或與電子結(jié)合前窗件。

顯示器和打印機(jī)是最基本的輸出設(shè)備。

■外存設(shè)備:用于將計(jì)算機(jī)系統(tǒng)與外存儲(chǔ)器交換信息的

機(jī)械、電子與存儲(chǔ)介質(zhì)結(jié)合的部件。硬磁盤、光盤等

是基本的外存設(shè)備。

8.2總線

■總線是計(jì)算機(jī)系統(tǒng)的互連機(jī)構(gòu),是連接兩個(gè)或多個(gè)總線

設(shè)備的公共通信線路,是一組有定義的、可共享的、可

傳遞0、1邏輯信號(hào)的連接線,它由地址總線、數(shù)據(jù)總線、

控制總線組成。

■總線連接同時(shí)具有物理和邏輯兩種連接。

■總線設(shè)備是總線上連接的各種器件、部件、模塊等計(jì)算

機(jī)功能部件的統(tǒng)稱,它分為主設(shè)備(Master>和從屬設(shè)

備(Slave)o

■主設(shè)備是總線上的主控器,是得到控制權(quán)發(fā)布控制命令

控制總線運(yùn)行的設(shè)備,典型示例是CPU。每次數(shù)據(jù)傳輸

總是由主設(shè)備啟動(dòng)。

■從設(shè)備是總線上的被主設(shè)備控制或訪問的對(duì)象,是接受

控制命令的設(shè)備,典型示例是存儲(chǔ)器和I/O設(shè)備。

821總線類型與結(jié)構(gòu)一分類

■按照總線連接對(duì)象在計(jì)算機(jī)系統(tǒng)中所處的層次不同

(位置)

□片內(nèi)總線

□系統(tǒng)總線

□通信總線

■按照總線中數(shù)據(jù)線的多少不同(傳送信息)

□并行總線

□串行總線

■按照總線的使用方式不同

□專用總線

□公用(共享)總線

■按照總線的傳輸方式不同(定時(shí))

□同步總線

□異步總線

7

總線的標(biāo)準(zhǔn)化

■為了充分發(fā)揮總線性能、保障兼容性、便于系

統(tǒng)組建,總線需要標(biāo)準(zhǔn)化。

■總線標(biāo)準(zhǔn):正式公布的工業(yè)標(biāo)準(zhǔn)和實(shí)際存在的

工業(yè)標(biāo)準(zhǔn)。符合某種標(biāo)準(zhǔn)的總線稱為標(biāo)準(zhǔn)總線。

■總線的標(biāo)準(zhǔn)化包括:各種特性、數(shù)據(jù)傳輸率、

通信協(xié)議、政策協(xié)議等一系列規(guī)定和約定。

■典型的標(biāo)準(zhǔn)總線:ISA.EISA.PCI.PCI-E.

RS232、USB、1394等。同一標(biāo)準(zhǔn)可有多種版

本。

821總線類型與結(jié)構(gòu)一特性

■機(jī)械特性:規(guī)定了總線的線數(shù),傳輸線采用的材料,

總線插頭、插座的形狀、尺寸和信號(hào)線的排列等要

素。

■電氣特性:規(guī)定了總線中每條信號(hào)線的有效形式、

電流或電壓的變化范圍、信號(hào)傳送的方向(輸入或

輸出)、信號(hào)采用單端或雙端(差動(dòng))表示、信號(hào)

是單向傳輸或雙向傳輸、信號(hào)上拉電阻阻值、驅(qū)動(dòng)

電路等要素。

■功能特性:規(guī)定了總線中每條信號(hào)線的功能及數(shù)據(jù)

傳輸協(xié)議。

■時(shí)間特性:規(guī)定了總線的工作時(shí)序,即在總線上完

成各種操作時(shí),相關(guān)信號(hào)狀態(tài)變化與時(shí)鐘節(jié)拍(時(shí)

間)之間的關(guān)系。

9

821總線類型與結(jié)構(gòu)性能指標(biāo)

■總線帶寬??偩€帶寬定義為總線的最大數(shù)據(jù)傳

輸率,數(shù)據(jù)傳輸率定義為每秒傳輸?shù)淖止?jié)數(shù)。

■總線寬度。指的是總線的線數(shù),它決定了總線

所占的物理空間和成本。(地址線寬度,數(shù)據(jù)

線寬度)

■總線負(fù)載。指連接在總線上的最大設(shè)備數(shù)量。

■總線頻率。

■是否支持猝發(fā)傳送等

總線帶寬=數(shù)據(jù)線寬度X總線頻率

10

821總線類型與結(jié)構(gòu)一性能指標(biāo)

■例8.1PCI總線的時(shí)鐘頻率為33MHz/66MHz,當(dāng)該總

線進(jìn)行32/64位數(shù)據(jù)傳送時(shí),總線帶寬是多少?

■解:假設(shè)一個(gè)總線時(shí)鐘周期T完成一個(gè)數(shù)據(jù)的傳送,

時(shí)鐘頻率為人數(shù)據(jù)位為〃,則總線帶寬B為

8T8

■所以有

時(shí)鐘頻率(MHz)數(shù)據(jù)位總線帶寬(MB/s)

32132

33

64264

32264

66

64528

821總線類型與結(jié)構(gòu)一性能指標(biāo)

■例8.2使用ISA總線的20條地址線時(shí),允許尋

址的內(nèi)存空間有多大?使用PCI總線的32條地

址線時(shí),允許尋址的內(nèi)存空間又有多大?

■解:

ISA總線內(nèi)存空間=22。個(gè)內(nèi)存單元=1M個(gè)內(nèi)存單元

PCI總線內(nèi)存空間=232個(gè)內(nèi)存單元=4G個(gè)內(nèi)存單元

12

8.2.1總線類型與結(jié)構(gòu)一結(jié)構(gòu)

■單總線結(jié)構(gòu),如圖8.1所示。

■多總線結(jié)構(gòu),由兩種以上總線組成的系統(tǒng)互連

結(jié)構(gòu)。支持并行操作。

多條總線“interCameraSuper1/0ControllerSCSIEthernet

圖8.4一個(gè)基于PCI的系統(tǒng)示意圖

13

8.2.2總線的信息傳輸方式一總線操作

■在計(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ù)信息是利用共享總線來傳輸?shù)?,?/p>

以在總線上為配合某種功能實(shí)現(xiàn)而進(jìn)行的各種

信息傳輸被稱之為總線操作。

■總線上有兩種基本操作:讀操作和寫操作。通

常用時(shí)序圖描述。

內(nèi)存,I/O

14

8.2.2總線的信息傳輸方式一總線操作

4BUSTRANSACTION>

08.5PCI總線的基本讀操作時(shí)序15

8.2.2總線的信息傳輸方式一總線操作

tee

i??

FRAME#:"A」…——LzJk—

--T

1

1?

1t

11

e(

0A

AD-\-儂XOATA-2)DATA-3二

r1■v?i

e(

i?

1?

??

?▲▲

C/BE#一—(BJSCVaDXBEEX曲夕2X光HZ

:出/

S

IRDY#N'I

:4-t/

a二

Lw

e?

<

H

TRDY#<

C

DEVSEL#

DATA>

P-iASE

BUSTWSACFCN>

圖8.6PCI總線的基本寫操作時(shí)序16

8.2.2總線的信息傳輸方式一總線操作

完成一次總線操作所需的時(shí)間定義為總線周期,一個(gè)

總線周期可以是一個(gè)時(shí)鐘周期(大多數(shù)RISC系統(tǒng)),

也可以是多個(gè)時(shí)鐘周期(大多數(shù)CISC系統(tǒng))。

一個(gè)總線周期通常由一個(gè)地址時(shí)間段和一或多個(gè)數(shù)據(jù)

時(shí)間段組成。

■如果從屬設(shè)備的速度低于主設(shè)備,則在讀/寫總線周期

中可以插入等待周期。

■總線復(fù)用:地址、數(shù)據(jù)在一個(gè)總線周期內(nèi)分時(shí)公用一

組信號(hào)線。減少總線線數(shù),降低設(shè)備成本。

■猝發(fā)傳輸方式(burstmode):在一個(gè)地址時(shí)間段之

后用連續(xù)多個(gè)數(shù)據(jù)時(shí)間段依次傳輸多個(gè)數(shù)據(jù)的方式,

也稱為并發(fā)數(shù)據(jù)傳輸或成組數(shù)據(jù)傳輸方式。

17

8.2.2總線的信息傳輸方式一數(shù)據(jù)傳輸方式

■總線上進(jìn)行一次傳輸?shù)倪^程大致分為5個(gè)階段:傳輸

請(qǐng)求、總線仲裁、部件/設(shè)備尋址、數(shù)據(jù)傳輸和總線

釋放。

■數(shù)據(jù)傳輸?shù)幕痉绞接校?/p>

□并行傳送方式:系統(tǒng)總線

□串行傳送方式:通信總線

□分時(shí)(復(fù)用)傳送方式

□消息(數(shù)據(jù)包)傳送方式

■現(xiàn)代總線支持的總線傳輸(操作)

□讀/寫操作

□塊傳送操作

□寫后讀與讀修改寫操作

□廣播/廣集操作

18

8.2.2總線的信息傳輸方式一通信方式

■在總線上通信需要收發(fā)雙方的時(shí)間配合或控制,這種時(shí)

間配合或控制稱為總線定時(shí)或總線通信,其實(shí)質(zhì)是一種

協(xié)議或規(guī)則。

■它有兩種基本方案:同步(synchronous)和異步

(asynchronous)。

■同步總線包括一個(gè)收發(fā)雙方公用的時(shí)鐘(即總線時(shí)鐘,

在姓制線中)和一個(gè)固定的協(xié)議(protocol),該協(xié)議

用于與時(shí)鐘相關(guān)聯(lián)的通信。如圖8.5所規(guī)定的協(xié)議。

□同步定時(shí)方式不需要應(yīng)答,時(shí)序簡單,實(shí)現(xiàn)方便。

□總線速度以慢速設(shè)備而定,總線不宜過長。

■異步總算不用公共時(shí)鐘定時(shí),總線中沒有時(shí)鐘線,使用

握手協(xié)議(handshakingprotocol)。

□異步定時(shí)方式允許總線周期長度可變,可以支持慢速與快速設(shè)

備在同一總線上連接。

□總線控制復(fù)雜。有3種方式:非互鎖、半互鎖、全互鎖。

19

8.2.2總線的信息傳輸方式一通信方式

固定時(shí)寬

Data數(shù)據(jù)

DATARDY

ACK

Data數(shù)據(jù)

圖8.8由發(fā)送設(shè)備發(fā)起的異步數(shù)據(jù)傳輸握手時(shí)序20

8.2.2總線的信息傳輸方式一通信方式

■在串行異步通信中,采用了一種更為簡單的通

信方式,即在串行異步通信總線中,既不用握

手信號(hào),也沒有時(shí)鐘線,它利用收、發(fā)雙方事

先約定的數(shù)據(jù)傳輸格式和傳輸速率來協(xié)調(diào)數(shù)據(jù)

的傳輸。

■例如,RS232串行異步通信總線。

起便停止

1數(shù)據(jù)⑸6聯(lián)位)I(1/L5/2位)

DOD1

數(shù)據(jù)線

A

圖8.10串行異步通信數(shù)據(jù)格式

21

8.2.3總線仲裁

■在共享總線上,允許連接多個(gè)總線主設(shè)備和從

設(shè)備,有可能出現(xiàn)多個(gè)主設(shè)備同時(shí)要求使用總

線的情形。

■總線操作都是由主設(shè)備發(fā)起或控制的,為了防

止總線競(jìng)爭,共享總線上某時(shí)刻只允許一個(gè)主

設(shè)備使用總線,并實(shí)施對(duì)總線的控制。

?哪個(gè)主設(shè)備可以使用總線的選擇機(jī)制稱為總線

仲裁(busarbitration)。

■仲裁依據(jù)是主設(shè)備使用總線的優(yōu)先級(jí),仲裁機(jī)

制可分為集中式和分布式兩類方式。

22

8.2.3總線仲裁一集中式仲裁

■集中式仲裁采用一個(gè)中央總線仲裁器(也稱之

為總線控制器),由它來決定總線上同時(shí)提出

使用請(qǐng)求的主設(shè)備誰可以獲得總線使用權(quán)。

□菊花鏈(daisychaining)

□輪詢(polling)/計(jì)數(shù)查詢/定時(shí)器查詢

□獨(dú)立請(qǐng)求(independentrequesting)

■菊花鏈結(jié)構(gòu)簡單,優(yōu)先級(jí)固定

■輪詢和獨(dú)立請(qǐng)求方式優(yōu)先級(jí)設(shè)置較靈活

■獨(dú)立請(qǐng)求方式響應(yīng)速度快,結(jié)構(gòu)較復(fù)雜,連線

23

8.2.3.1集中式仲裁一菊花鏈

■菊花鏈仲裁邏輯可表示為(假設(shè)BR、BG、BB高有效):

BR=BR1,+BR2.TFBRn

BB=BB]+BB°H—?+BB

總線仲裁邏輯BG=BR?麗

設(shè)備相關(guān)信號(hào)產(chǎn)生邏輯|BBj=BGi叫呼—

<BGin,=BG,BGout=BBj-BGin^BGinjd=BGoutj

if(BB,=1)thenBR,-0

24

8.2.3.1集中式仲裁一輪詢/計(jì)數(shù)

■輪詢仲裁邏輯可表示為(假設(shè)BR、BG、BB高有效):

BR=BR1,+BR2.TFBRn

BB=BB]+BB°H—?+BB

總線仲裁邏輯if(BR-BB=1)then{輸出poll_count?poll_count=poll_count+1

設(shè)備相關(guān)信號(hào)產(chǎn)生邏輯n/RR....RR1

if((Addj=poll_count)*(BRj=l))thenBBj=1

[if(BBj=1)thenBRj=0

8.2.3.1集中式仲裁一獨(dú)立請(qǐng)求

■獨(dú)立請(qǐng)求仲裁邏輯可表示為(假設(shè)BR、BG、BB高有效):

BB=BB1+BB?+…+BBn

總線仲裁邏輯if((D是當(dāng)前請(qǐng)求設(shè)備中優(yōu)麒最高者)?(BB=O))thenBG1=1

設(shè)備相關(guān)信號(hào)產(chǎn)生邏輯if(BGj=l)then{BRj=O,BB^l)

圖8.13獨(dú)立請(qǐng)求仲裁方式26

8.2.3.2分布式仲裁

分布式仲裁不需要中央仲裁器,仲裁邏輯分布在

各個(gè)主設(shè)備中。

■假設(shè)圖8.14中設(shè)備的優(yōu)先級(jí)從高到低排序?yàn)镈R2…D「,則

設(shè)備仲裁邏輯可表示為:

BB=BB]+BB2HFBBn

|if((BB=O)-(BR,=l))then{BR,=O,BB,=1}

<if((BR]+…+BRj=O)?(BB=O)?(BRj=l))then{BRj=O,2<j<n

圖8.14自舉分布式仲裁方式27

8.2.3.2分布式仲裁

圖8.15示意的是一種鏈?zhǔn)椒植际街俨梅桨福藳]有中央

仲裁器外,與菊花鏈仲裁方式十分相似。它的仲裁邏輯為:

1-

BR=BR1.+BR29TBRn

BB=BB1+BB2t1-BBn

BBj=BGinj-BRj?麗

<BGin]=1,BGout:=BB〕?BGin『BGinj+l=BGoutj

if(BBj=1)thenBR1二0

圖8.15鏈?zhǔn)椒植际街俨梅绞?/p>

28

8.2.4典型的總線及應(yīng)用

Core2

■PCI總線Processor

■USB總線[PSB

x16PCIExp「籥JDDR2

FXRootComplexSDRAM

(MCH955)

DDR2

DMI/x4PCIExpreSMBu?SDRAM

向&SerialAT,

卜+2,x1P,lExpress

IOControllerHub

一8,USB2.0」

(ICH7)'Cloc峪.PowerManagement

一LPCJ沁丁,靠飛

1

AC97/J

BootGPIOs

軍ROMIntelHDAJdio

CCM0T1

LAN

ModeAudio

mCode

Cc

圖采用芯片組的機(jī)系統(tǒng)

8.16Intel955PC29

8.3輸入輸出接口

■CPU或I/O處理器、總線、I/O接口、I/O設(shè)備、

I/O管理控制軟件等構(gòu)成了輸入輸出系統(tǒng)。

■該系統(tǒng)的任務(wù)是對(duì)I/O設(shè)備的各種信息進(jìn)行輸入

或輸出到計(jì)算機(jī)系統(tǒng)的控制。

對(duì)輸入輸出系統(tǒng)的研究涉及兩個(gè)方面:一是如

何將I/O設(shè)備與計(jì)算機(jī)相連接,二是如何快速、

有效地使I/O設(shè)備與計(jì)算機(jī)進(jìn)行信息交換。

30

8.3輸入輸出接口

■I/O設(shè)備種類繁多,功能、操作方式、速度、

信號(hào)等差異巨大,一種普遍采用的有效的連接

方式是利用I/O接口,如圖8.17所示,該模型

也適用于硬盤、光盤存儲(chǔ)設(shè)備等外存與系統(tǒng)總

線的連接。

總線

I

DO接口1I/O接口11

H

DO設(shè)備1I/O設(shè)備n

圖8.17I/O設(shè)備與總線連接的一般模型

31

8.3輸入輸出接口

1.I/O接口作用及模型

■傳遞數(shù)據(jù)、設(shè)備選擇、I/O接口

設(shè)備控制、信號(hào)形式

轉(zhuǎn)換、速度匹配、數(shù)

據(jù)緩存、錯(cuò)誤檢測(cè)、

負(fù)載匹配、支持中斷系

統(tǒng)

■i/o接口有并行與串行2

之分

■對(duì)于某些復(fù)雜的外設(shè),

I/O接口還應(yīng)是具有

“智能”的控制器。圖8.18I/O接口模型

32

8.3輸入輸出接口

■I/O接口對(duì)內(nèi)與系統(tǒng)總線相連,對(duì)外通過接口

電纜與外設(shè)相連。

■簡單I/O接口和智能I/O接口在硬件邏輯的復(fù)雜

性上相差很大。

■從程序員的角度來看,所有I/O接口可以隱藏

外設(shè)的定時(shí)、機(jī)電、數(shù)據(jù)格式等細(xì)節(jié),它們的

差別僅僅在于接口內(nèi)部可讀寫的寄存器或緩沖

器的數(shù)量不同而已。

33

8.3輸入輸出接口

2.I/O地址編址方式

■為使CPU能選擇設(shè)備并進(jìn)行數(shù)據(jù)傳送,接口中

有一些通過軟件或指令訪問的寄存器或電路,

即I/O端口(Port)。

■對(duì)端口寄存器采用地址加以識(shí)別,這個(gè)識(shí)別過

程稱作I/O尋址;每個(gè)端口寄存器有唯一的地

址編在,這一危址編碼稱作端口地址/接口地

址/I/O地址。

■I/O地址有兩種編碼方式:存儲(chǔ)器映射(統(tǒng)一

編址)方式和I/O映射(獨(dú)立編址)方式。獨(dú)

立編址時(shí),有專用的I/O指令對(duì)端口訪問。

34

8.3輸入輸出接口

3.I/O接口設(shè)計(jì)

■對(duì)于簡單的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)。

■采用接口芯片設(shè)計(jì)I/O接口電路時(shí),地址譯碼

器設(shè)計(jì)是I/O接口設(shè)計(jì)的重要內(nèi)容之一。

35

8.4輸入輸出技術(shù)

■面對(duì)復(fù)雜的I/O設(shè)備,應(yīng)采用不同的輸入輸出技術(shù)加以

應(yīng)對(duì),才能滿足各種I/O設(shè)備與計(jì)算機(jī)進(jìn)行信息交換的

要求。

■目前可以采用的輸入輸出控制技術(shù)有:

□程序查詢(programmedI/O)方式

□中斷(interrupt-drivenI/O)方式

□直接存儲(chǔ)器存取(directmemoryaccess,DMA)方式

□I/O通道(I/Ochannel)方式。

■選擇I/O技術(shù)的基本原則是:一、能滿足用戶的數(shù)據(jù)傳

送速度要求且不丟失數(shù)據(jù),二、系統(tǒng)開銷盡量小,三、

能充分發(fā)揮硬件資源的能力(使I/O設(shè)備與CPU盡可能

并行工作)O

36

8.4.1程序查詢方式

■這是最簡單的輸入輸出技術(shù),

每個(gè)計(jì)算機(jī)都具備。利用程

序查詢I/O,可以實(shí)現(xiàn)處理獲取I/O設(shè)備狀態(tài)

器(通過接口)與I/O設(shè)備

之間的數(shù)據(jù)交換。

■程序查詢方式的實(shí)現(xiàn)不是僅

有軟件(程序)就可以了,

它必須有硬件的支持(數(shù)據(jù)完成I/O操作

寄存器和狀態(tài)寄存器)O

圖程序查詢流程

■程序查詢方式要求所有的8.20I/O

I/O操作必須在CPU的直接

控制下完成。

37

8.4.1程序查詢方式

■若有多個(gè)I/O設(shè)備以程序查詢方式與CPU進(jìn)行

信息交換,則CPU輪流查詢I/O設(shè)備,輪詢到

且準(zhǔn)備就緒的I/O設(shè)備可以與CPU交換數(shù)據(jù)。

■輪詢的順序決定了I/O設(shè)備被CPU服務(wù)的優(yōu)先

順序(即優(yōu)先級(jí))。

■程序查詢方式實(shí)現(xiàn)簡單,當(dāng)CPU的工作任務(wù)比

較辛一時(shí),中、低速I/O設(shè)備與CPU的信息交

換可以選用程序查詢方式。

38

8.4.2中斷方式

■程序查詢方式主要有以下限制:

□I/O數(shù)據(jù)傳輸速率低。

□CPU工作效率較低。

□不能保證及時(shí)響應(yīng)I/O設(shè)備的I/O服務(wù)請(qǐng)求。

■中斷是解決上述問題的有效方式之一,是I/O

設(shè)備獲得CPU服務(wù)的主要方式。

■中斷可以改善計(jì)算機(jī)的I/O特性。

■中斷可以實(shí)現(xiàn)主機(jī)與多臺(tái)外設(shè)的并行工作。

■中斷可以實(shí)現(xiàn)故障診斷與處理、對(duì)于隨機(jī)事件

展規(guī)定時(shí)間內(nèi)做出實(shí)時(shí)響應(yīng)與處理。

39

8.4.2中斷方式

■中斷是指,中斷源在需要CPU服務(wù)時(shí),請(qǐng)求CPU暫

?,F(xiàn)行工作轉(zhuǎn)向?yàn)橹袛嘣捶?wù),服務(wù)完成后,再讓

CPU回到原工作狀態(tài)繼續(xù)完成被打斷的工作。

■從程序運(yùn)行角度看,中斷是程序控制流的變化。

CPU現(xiàn)行程序中斷源i處理程序

N

斷點(diǎn):N+m

①(PSW)一堆棧(SP)②((SP)+j尸N+m一PC

(PC尸N+m一堆棧(SP)+j((SP))一PSW

Handler-i^PC

圖8.22中斷過程示意圖40

8.4.2中斷方式

■中斷源就是引起中斷發(fā)生的源頭。

■由內(nèi)部中斷源引發(fā)的中斷稱為內(nèi)中斷或軟件中

斷。

■由外部中斷源引發(fā)的中斷稱為外中斷或硬件中

斷。

■通常,內(nèi)中斷是不可屏蔽的,而外中斷分為可

屏蔽和非屏蔽兩類。

41

8.4.2中斷方式中斷過程

■一個(gè)典型的中斷處理過程如下(參見圖8.22):

(1)中斷請(qǐng)求

(2)中斷檢測(cè)

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

(4)斷點(diǎn)保護(hù)

(5)(識(shí)別中斷源)

(6)中斷處理

(7)斷點(diǎn)恢復(fù)

(8)中斷返回

■過程中的步驟⑴?(4)/(5)由硬件實(shí)現(xiàn),步驟(5)/(6)?(8)

由軟件(中斷處理程序)實(shí)現(xiàn)。

■由于中斷發(fā)生的時(shí)刻是任意的,不可預(yù)期的,所以,

斷點(diǎn)信息的保護(hù)十分重要。

42

8.4.2中斷方式中斷源的選擇與識(shí)別

■當(dāng)系統(tǒng)中有多個(gè)中斷源時(shí),解決中斷源選擇的方法

是采用中航優(yōu)免級(jí)(Interruptprioritylevels,IPL)

□當(dāng)多個(gè)中斷源同時(shí)提出中斷請(qǐng)求時(shí),只有優(yōu)先級(jí)最高

的中斷源的請(qǐng)求被選擇,并被CPU處理;

□當(dāng)高優(yōu)先級(jí)中斷正被CPU服務(wù)時(shí),所有低優(yōu)先級(jí)中斷

被禁止;高優(yōu)先級(jí)中斷請(qǐng)求可以打斷低優(yōu)先級(jí)中斷服

務(wù),即允辭中斷嵌套(Interruptnesting)或多重中斷。

■中斷處理程序/中斷服務(wù)程序(serviceroutine)

中斷源

■中斷優(yōu)先權(quán)仲裁與總線仲裁極為相似,也可以采用

類似菊花鏈、查詢、獨(dú)立請(qǐng)求等仲裁方案,可以軟

件、硬件、軟硬件結(jié)合來實(shí)現(xiàn)。

43

8.4.2中斷方式硬件仲裁

(a)菊花鏈

INTR1

(b)分組獨(dú)立請(qǐng)求

圖8.23基本中斷優(yōu)先級(jí)硬件仲裁方案

8.4.2中斷方式軟件仲裁

INT-REQ<>>

中斷請(qǐng)求寄存器

D

n1

系■

D

統(tǒng)n

總DB

D1

Do

AB譯

器12n

n-

圖824單中斷請(qǐng)求線、軟件查詢的中斷優(yōu)先權(quán)仲裁邏輯

45

8.4.2中斷方式向量中斷

■由k確定中斷處理程序人口地址。

■增加中斷屏蔽寄存器,達(dá)到封鎖某中斷源或適度、動(dòng)態(tài)改變

中斷源優(yōu)先級(jí)的目的。

■在中斷處理程序人口地址處放置無條件跳轉(zhuǎn)指令。

INTR*

JUMProutine_1中

有效請(qǐng)求

中斷請(qǐng)求寄存器斷

JUMProutine_2向

INT-REQO

加入PC&dD。<量

優(yōu)先級(jí)INT-REQ1

地址k位D<斷

編碼/比較器&1

源JUMProutine_n

INT-REQn-1

&De卜

D。routine1中斷源1處理程序

Di

routine_2中斷源2處理程序

U-i

k位n

中斷屏蔽寄存器routine_n中斷源n處理程序

中斷向量

(a)硬件邏輯

圖8.25向量中斷優(yōu)先權(quán)仲裁邏輯(b)中斷處理程序在內(nèi)存中的位置

例題

■例8.5某計(jì)算機(jī)系統(tǒng)內(nèi)存地址32位,無條件跳

轉(zhuǎn)指令由5字節(jié)組成,中斷系統(tǒng)有12個(gè)中斷源,

優(yōu)先級(jí)仲裁采用圖825方集,試為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)存地iit空間進(jìn)行訪問。中斷響應(yīng)時(shí),

可耗如圖8.26所示方式生成中斷向量。此*,

f斷向量表空間為最小,占12x8字節(jié)內(nèi)存單

兀Jo

47

中斷源k位地址

32位中斷向量設(shè)xx…x=00...0

編號(hào)編碼

中斷向量—>PC_00000000HJUMProutine_0

00000xx...x000000000000008HJUMProutine1

10001xx...x0001000

20010xx...x0010000

00000058HJUMProutine_11

30011xx...x0011000

40100xx...x0100000

50101xx...x0101000routine_0中斷源0處理程序

60110xx...x0110000

70111xx...x0111000

routine_1中斷源1處理程序

81000xx...x1000000

91001xx...x1001000

101010xx...x1010000routine_11中斷源11處理程序

111011xx...x1011000

注:中斷向量空間在內(nèi)存中的位置取決于

XX…X的不同編碼組合。

圖826中斷向量生成方式之一

48

中斷方式多重中斷

■多重中斷:指有多個(gè)中斷源的計(jì)算機(jī)系統(tǒng)中,按照各

自的優(yōu)先叔并以靛套方式工作M中斷。

中斷優(yōu)先級(jí)的設(shè)置與調(diào)整

□設(shè)置:在多重中斷系統(tǒng)中,優(yōu)先級(jí)根據(jù)中斷事件的輕、重、

緩、急程度而分成的若干級(jí)別,且給每一中斷源分配一個(gè)優(yōu)

先級(jí)。CPU先響應(yīng)高級(jí)中斷的請(qǐng)求。

□中斷屏蔽:給每個(gè)中斷源配置一位屏蔽觸發(fā)器,1表示阻止

該中斷源的請(qǐng)求,0表示可以正常申請(qǐng),并將所有的觸發(fā)器

組成一個(gè)中斷屏蔽寄存器。

□調(diào)整:用指令設(shè)置和修改中斷屏蔽寄存器,可以靈活改變?cè)?/p>

有優(yōu)先順序。

多重中斷的響應(yīng)過程:關(guān)中斷、保存現(xiàn)場(chǎng)、識(shí)別中斷、

形成服務(wù)程序入口地址、開中斷、執(zhí)行服務(wù)程序、關(guān)

中斷、恢復(fù)現(xiàn)場(chǎng)、開中斷、中斷返回。

49

■例8.6某計(jì)算機(jī)系統(tǒng)有5級(jí)中斷:LO、L1、L2、L3、L4,硬

件優(yōu)先級(jí)由高至低順序?yàn)長0-L1-L2一L3一L4?,F(xiàn)希望設(shè)

置屏蔽字將中斷響應(yīng)優(yōu)先順序改為L3—L1—L4—L0—L2,

(1)試給出各中斷級(jí)在屏蔽寄存器中設(shè)置的屏蔽字(假設(shè)“1”

表示屏蔽);

(2)首先LO、L1級(jí)中斷源發(fā)出中斷請(qǐng)求,在CPU處理L1級(jí)中

斷時(shí),L2、L3、L4級(jí)中斷又提出了中斷請(qǐng)求,試畫出優(yōu)先

級(jí)修改前、后的中斷響應(yīng)、處理過程程序運(yùn)行軌跡示意圖。

■解:(1)各中斷級(jí)屏蔽字設(shè)置為

L0L1L2L3L4說明

L010100允許優(yōu)先級(jí)高于L0的L1、L3、L4級(jí)中斷

L111101允許優(yōu)先級(jí)高于L1的L3級(jí)中斷

L200100允許優(yōu)先級(jí)高于L2的L0、L1、L3、L4級(jí)中斷

L311111L3優(yōu)先級(jí)最高,禁止所有級(jí)別中斷

L410101允許優(yōu)先級(jí)高于L4的L1、L3級(jí)中斷

50

解:(2)優(yōu)先級(jí)修改前中斷響應(yīng)、處理過程的程序運(yùn)行軌

跡示意如圖8.27。優(yōu)先級(jí)修改后中斷響應(yīng)、處理過程的程序

運(yùn)行軌跡示意如圖8.28。

主程序L0級(jí)中斷L1級(jí)中斷L2級(jí)中斷L3級(jí)中斷L4級(jí)中斷

中斷響應(yīng)順序:L0—L1-L2一L3一L4

圖827優(yōu)先級(jí)修改前程序運(yùn)行軌跡

51

圖8.28優(yōu)先級(jí)修改后程序運(yùn)行軌跡

52

8.4.2中斷方式可編程中斷控制器PIC

■另一種更靈活、更通用的向量中斷方案是用一個(gè)功能

更強(qiáng)的可編程中斷控制器(ProgrammableInterrupt

Controller,PIC)取代優(yōu)先級(jí)編碼/比較器。

■PIC在中斷系統(tǒng)中起著一個(gè)全面管理者的作用。

□接受來自外部設(shè)備的請(qǐng)求,確定哪個(gè)請(qǐng)求是最重要(最高優(yōu)

先權(quán))的,查明收到的請(qǐng)求是否比當(dāng)前正被服務(wù)的請(qǐng)求有更

高的優(yōu)先級(jí)別,并且基于這些判斷向CPU發(fā)出中斷信號(hào)。

□P1C向CPU發(fā)出中斷信號(hào)后,必須設(shè)法給CPU提供信息,該

信息能使程序計(jì)數(shù)器PC,指向”與請(qǐng)求設(shè)備相關(guān)的服務(wù)程序O

這個(gè)“指示器”是一個(gè)在向量表中的地址,經(jīng)常作為向量數(shù)

據(jù)(vectoringdata)。

■PIC的典型范例是可編程82c59A。Intersi182c59A是

IntersilAmericasInc.生產(chǎn)的一個(gè)高性能CMOS優(yōu)先

權(quán)中斷控制器,由先進(jìn)的2RIICMOS工藝制造。

53

8.4.2中斷方式實(shí)現(xiàn)中斷處理程序

■中斷方式由中斷系統(tǒng)或中斷機(jī)構(gòu)實(shí)

現(xiàn),它包括硬件和軟件兩部分,與

程序查詢方式相比要復(fù)雜許多。

■硬件設(shè)計(jì)包括三部分邏輯:中斷控

制邏輯、中斷請(qǐng)求與優(yōu)先級(jí)仲裁邏

輯、I/O接口。

■軟件設(shè)計(jì)包括初始化程序、中斷處

理程序的編寫。

□每個(gè)中斷源必須有自己的中斷處理程序

□中斷處理程序與子程序

圖8.31基本框架

54

8.4.2中斷方式實(shí)現(xiàn)

■中斷具有快速響應(yīng)特性,但中斷仍需時(shí)間。

■一次中斷過程需要有響應(yīng)時(shí)間、信息保護(hù)與恢

復(fù)時(shí)間,也許還需要中斷源識(shí)別時(shí)間(非向量

中斷),這些非實(shí)質(zhì)中斷處理時(shí)間統(tǒng)稱為中斷

額外開銷時(shí)間。

■一次中斷過程所需的完整時(shí)間是對(duì)中斷源實(shí)質(zhì)

的處理時(shí)間與中斷

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論