【计算机组成原理教程】总线与输入输出_第1页
【计算机组成原理教程】总线与输入输出_第2页
【计算机组成原理教程】总线与输入输出_第3页
【计算机组成原理教程】总线与输入输出_第4页
【计算机组成原理教程】总线与输入输出_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章总线与输入输出

■本章简要介绍了计算机总线的基本原理、

I/O接口和计算机与外部设备间互联的基本

结构。包括总线概述,总线仲裁,总线操

作与定时,总线标准,I/O接口,主机与

I/O设备间的连接方式等内容。

2

8.1总线概述

■8.L1总线的基本概念

■总线是各子系统间共享的通信链路,是计

算机中多个设备公用的电子通道。在计算

机系统中,各子系统间都必须有彼此相连

的接口。比如存储器与CPU需要通信,

CPU和输入输出设备(也称为I/O设备)同

样也要进行通信。这通常是由总线(bus)

完成的。

3

8.1.1总线的基本概念

■总线的两个主要优点是:

■低费用。由于一组总线可以供多个外部设备共

享,因此价格较低。

■通用性。通过定义一种互连模式,新设备可以

容易地加到总线上去,外部设备(简称外设)

可以在具有通用总线的计算机系统间移动使

用。

■总线的主要缺点是:

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

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

4

8.1.1总线的基本概念

■一次典型的总线操作(bustransaction)包

括两部分:发送地址和接收或发送数据。

■主设备:连在总线上的设备是主动的,能

对总线的数据传输进行初始化。

■初始化指的是指定数据的传送方向、要传送的

数据块的大小以及传送的地址等信息。

■从设备:连在总线上的设备是被动的,只

能等待主设备的启动命令。

5

8.1.1总线的基本概念

■计算机设备输出的二进制信号通常比较

弱,无法驱动总线进行工作,尤其是总线

比较长或者上面的设备比较多时。因此,

多数总线的主设备都要通过一片总线驱动

器芯片和总线相连,该芯片实际上起了一

个放大器的作用。

6

812总线的功能

■总线是一组能为多个部件分时共享的信息

传送线,用来连接多个部件并为之提供信

息交换通路。

■共享性:即总线所连接的部件都可通过它传递

信息。

■分时性:即在某一时刻总线只允许有一个部件

送出数据到总线上。

7

8.1.2总线的功能

■总线不仅是一组传输信号线,从广义上讲,总线

是一组传输线路及与传输相关的总线协议。

■总线协议:为了实现对总线信息传输的分时共享,

必须指定相应的规则,这些规则称为总线协议。

■各个连到总线上的部件必须遵守这些协议,才能有序

地分时共享该总线。总线协议一般包括:信号线定义、

数据格式、时序关系、信号电平、控制逻辑等,它确

定了一个系统使用总线的方法。

8

8.1.3总线的分类

■可以从不同的角度对总线进行分类。

■按总线在系统中所处的地位,可分为内总线和

外总线;

■按数据传送格式,可分为并行总线和串行总线;

■按时序控制方式,可分为同步总线

(synchronousbus)与异步总线

(asynchronousbus)。

9

8.1.3.1内总线和外总线

■按总线在系统中的位置,分为内总线和外总线。

■内总线:是指位于计算机系统内部的总线。

■内总线又可以分为芯片内部总线和内部系统总线。

■芯片内部总线位于CPU芯片内部,它连接了CPU内部的寄存

器与算术逻单元ALU(如图8.1所示)。芯片内部总线则称为

片级总线。

■内部系统总线是CPU与计算机系统内部的各个主要功能部件

之间的连接总线。内部系统总线可以分为主存总线和内部I/O

总线等,如图8.1所示。内部系统总线通常都安放在主板或各

个插件板上,所以也称板级总线。

10

8.1.3.1内总线和外总线

■外总线:是多台计算机系统之间,或计算

机与一些智能设备之间的连接总线。

11

8.1.3.1内总线和外总线

■内总线一般包括地址、数据和控制信号三类传输

线,分别称为地址总线、数据总线和控制总线。

■数据总线:各功能部件之间传输数据信息的连接

总残。

■为了保证数据能够在两个部件A与B之间彼此传送,要

求数据总线既能够将数据由部件A传送到部件B,又能

够将数据由部件B传送到部件A,即总线能够两个方向

传送数据,这种总线称为双向总线。

■若目标部件仅仅作为从设备,则地址总线只需要提供

源到目标的单向传送通路,称为单向总线。

12

8.1.3.1内总线和外总线

■数据总线宽度:数据总线的位数称为数据

总线宽度。

■总线宽度的确定是一个值得关注的问题。若设

计的不合理,将会影响计算机系统的效率。例

如,如果主存数据总线的宽度为"位,CPU内

部的寄存器字长为2〃位,则CPU必须两次访问

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

■地址总线:各个功能部件之间传送地址信

号的总线称为地址总线。

13

8.1.3.1内总线和外总线

■地址线的位数与目标部件的存储容量有

关。如地址线为〃根,则对应的目标部件的

存储容量为2%

■这里要注意存储粒度,若存储粒度是字,贝胸

根地址线可以访问2〃个字,若存储粒度是字

节,则〃根地址线可以访问2〃个字节。

14

8.1.3.1内总线和外总线

■控制总线:各个功能部件之间传送控制信

号的总线称为地址总线。

■由于总线是一组能为多个部件分时共享的信息

传送线,用来连接多个部件并为之提供信息交

换通路,所以数据总线、地址总线都是被连接

在总线上的所有部件所分时共享的。通过控制

总线产生有关的控制信号,可以使总线上的各

个部件能在不同时刻占有总线使用权。

15

8.1.3.2并行总线和串行总线

■按数据传送格式,可分为并行总线和串行

总、殡。

■并行总线:有多根数据线,可并行传送多

个二进制位,一般为一个字节或多个字节,

其位数称为该并行总线的数据路径宽度

(或数据通路宽度)。

■串行总线:只有一根数据线,只能串行地

逐位传送数据。

16

8.1.3.3同步总线和异步总线

■按时序控制方式,可分为同步总线(synchronous

bus)与异步总线(asynchronousbus)。

■同步总线:在进行数据传送时,有着严格的时钟

周期来定时,一般设置有同步定时信号,如时钟

同步、读/写信号等。

■异步总线:在数据传送时,没有固定的时钟周期

定时,而采用应答方式工作,操作时间根据需要

可长可短。

17

8.1.4总线的组成及其性能指标

■8.L4.1总线的组成

■从物理角度来看,总线的一种实现形式是由许多条导线组

成的连接线,这些连接线延伸到各个部件。

■为了保证总线在不同设备之间的可靠连接,必须规定其机

械特性。

■机械特性是总线在机械连接方式上的一些性能,如插头与插座使

用的标准,它们的几何尺寸、形状、引脚的个数以及排列的顺序,

接头处的可靠接触等。

■仅仅有可靠的机械连接还不够,为了确保总线能够正确工

作,必须规定其电气特性。

■电气特性是指总线上信号的有效电平的范围、传输方向等。

18

8.1.4.2总线性能指标

■常用的总线性能指标如下。

■总线宽度:指总线中线路的根数。

■总线宽度用位(bit)表示,如8位、16位、32

位、64位等。

■地址总线设计时要考虑的一个问题就是在寻址

空间的可扩展性和系统成本之间进行权衡。

19

8.1.4.2总线性能指标

■总线带宽:总线的数据传输速率,即单位

时间内总线上传输数据的位数。

■总线带宽的常用单位是字节/秒(B/S)或兆字

节/秒(MB/S)o

■总线偏离(busskew):总线中不同信号

线的传输速度之间的差别。

20

8.1.4.2总线性能指标

■总线复用(multiplexedbus):总线上分时

传送不同种类的多种信号的工作方式。

■总线的驱动能力(负载能力):指当总线

接上负载后,总线输入输出的逻辑电平保

持在正常的额定范围之内的能力。

21

8.2总线仲裁

■如果两个或多个设备同时想要成为总线的

主设备时,就会出现争用总线的现象,称

为总线冲突。为防止总线冲突,就必须采

用一些总线仲裁(busarbitration)机制。

仲裁机制一般可分为集中式和分布式(竞

争式)两种方式。

22

8.2.1集中式仲裁方式

■集中式仲裁方式指的是由一个单独的总线仲裁器

来决定下一次该哪个设备使用总线。在总线仲裁

器是一个硬件设备,它用来分配总线时间。

■图旦2(a)中给出了一种典型的集中式仲裁方式。许

多CPU内部都包含有仲裁器,但有时也需要单独

的一片芯片。总线中含有一条“线或”的总线请

耒(busrequest)信号,它能使一个或8个总统

设备在任何时间发出请求信号。总线仲裁器无法

判断出有多少个总线设备发出了总线请求,它只

能区分出有请求和无请求两种状态。

23

8.2.1集中式仲裁方式

■当总线仲裁器发现总线请求后,它发出一个总线授权信号。

这个信号被串联到所有的输入输出设备上。当物理上离仲

裁器最近的那个输入输出设备得到授权信号时,由这个设

备来检查是否它发出了总线请求信号。如果是,则由它接

管总线,并停止授权信号继续往下传播。若该设备没有发

出总线请求,则将授权信号继续传送到下一个设备,这个

设备再重复上述动作,直到有一个设备接管总线为止。这

种方式被称为菊链法(daisychaining)o它的特点是设

备使用总线的优先级由它离总线仲裁器的距离决定,最近

的优先级最高,最远的优先级最低。

24

8.2.1集中式仲裁方式

■为了克服设备的优先级由其与总线仲裁器的距离

来决定这个不足,许多总线设置了多级仲裁。每

一级都有各自的总线请求信号和总线授权信号。

图&2(b)所示的有两级仲裁器:1级和2级(实际

的总线常常有4、8或者16级)。每个设备都接在

总线的某一级仲裁线上,时间急迫的设备连接的

仲裁线的优先级较高。在图8.2(b)中,设备1、2和

4连在优先级为1的仲裁线上,而设备3和设备5连

在优先级为2的仲裁线上。

25

8.2.2分布式仲裁方式

■分布式(竞争式)仲裁方式:在每个设备模块中包含访问

控制逻辑,这些设备模块共同作用,分享总线。

■例如,某台计算机可以有16个优先级的总线请求信号。当

它的一个设备需要使用总线时,就发出与它相对应的总线

请求信号。所有的设备都监听着所有的总线请求信号,这

样,到每个总线周期结束时,每个设备都能知道自己是否

是优先级最高的总线请求者,以及能否在下一个总线周期

使用总线。与集中式总线仲裁相比,这种总线仲裁方式要

求的总线信号更多,但防止了总线潜在的浪费。它还要求

总线上设备的个数不能超过总线请求信号线的条数。

26

822分布式仲裁方式

■图8.3给出了另一种竞争式的总线仲裁方式,

它不管总线上有多少设备,都只需要三条

信号线。

■第一条是各设备的总线请求信号的线或;

■第二条为“总线忙”信号,是由当前使用总线

的主设备发出的;

■第三条信号线用于总线仲裁,它将总线的所有

设备串行连接在一起,其中一头接在5V的电源

±o

27

8.2.2分布式仲裁方式

■当没有设备申请使用总线时,电平为高的总线仲裁信号被

传输到所有的设备。要得到总线的使用权,设备首先要检

查总线是否空闲,并检查它得到的总线仲裁信号(即

IN)是否为高电平。见图8.3。

■如果IN已经是低电平,则该设备不能成为总线的主设

备,还要把它的OUT端置为低。但是,如果IN是高电

平,则该设备还是要将其OUT端置为低。这就使得它下

游的邻居的IN为低,并因此也把OUT置为低。当一切就

绪后,只会有一个设备的IN为高,而OUT为低。这个设

备就成为总线的主设备,发出BUSY信号和OUT信号,然

后开始传送数据。见图8.3。

28

8.3总线操作与定时

■总线可以根据其时钟类型分为同步总线和异步总

线两大类。

■同步总线(synchronousbus)有一条由晶振驱动

的方波信号线。总线的所有操作都将占用其中的

几个完整的方波,把一个方波的时间称为总线周

期(buscycle)。

■异步总线(asynchronousbus)中不存在一个起

控制作用的时钟。它的总线周期可以是总线操作

所需的任意长度,并不要求其上面的所有设备都

保持一致。下面分别对它们进行讨论。

29

8.3.1同步定时方式

■对于同步总线而言,其控制线路包含一个时钟和

一个固定的与时钟有关的地址和数据发送协议。

由于需要很少或根本不需要其他逻辑来决定下一

步该做什么,因此同步总线速度较快而且费用

低。CPU—主存总线是典型的同步总线。

■缺点:

■由于总线偏离问题,总线长度一般很短,并且总线上

所有的设备必须有相同的时钟频率。

■某些总线可以连接不同速度的设备,但它们的工作速

度和速度最慢的设备相等。

30

8.3.1同步定时方式

■下面以图8.4为例来说明同步总线的工作原

理。

■图g4中使用的是40MHz的时钟信号,相应的

总线周期为25ns。总线频率一般用要比CPU的

主频低很多,总线频率较低的主要原因是总线

偏离和向后兼容的要求。

31

8.3.1同步定时方式

■在本例中,再进一步假设主存读在地址建立后还

需要4011s的时间。有了这个参数,马上可以得出,

从主存中读取一个字需要三个总线周期。第一个

周期从“的上升沿开始,第三个周期在心的上升

沿结束,如图8.4所示。

■值得注意的是,图8.4中没有任何一个上升沿或者下降

沿是垂直的,因为没有哪个电平信号能在零时间内将

其电平降为零。本例中假设电平变化的时间是1ns。

32

8.3.1同步定时方式

■表8」对时序图中出现的8个符号做了进一步

的区分。

■例如,“D是从北的上升沿开始到地址建立好时

的地址建立时间。根据时序规格要求,

TAD<llnSo这就是说,CPU生产商保证,在任

何一个读周期中,CPU都将在储的上升沿的中

点开始的11ns内输出要读的数据的地址。

33

8.3.1同步定时方式

■时序规格同时也要求,数据应至少在,3的下降沿

之前7%(5ns)时间内在数据线上准备好,使其

在CPU连通数据线之前有足够的时间能稳定下来o

,AD和TDS这两项约束组合起来,就意味着在最坏

的信况下,在地址出现在地址信号线上以后,主

存芯片只有62.5-11・5=46・511§的时间,就必须将数

据读出并送到数据信号线上。这样,4011s的芯片

就可以满足这条总线的要求,即使在最坏的情况

下,它也能在4周期内给出数据。如果使用的是

5011s的芯片,虱么,就需要插入第二个等待状态,

并只能在,4周期得到响应。见图8.4和衣8.1。

34

8.3.2异步定时方式

■虽然由于使用同一个时钟信号,同步总线的工作

原理相对简单,但它也存在以下一些问题。

■1.时间效率问题。它要求所有事件必须在一个或多个

完整的时钟周期内完成。

■2.难以采用新技术带来的好处。例如,假定在图8.4所

示的总线系统生产几年后,出现了访问时间只有20ns

的主存芯片,可以用来取代现有的40ns的主存芯片。

这时,可以去掉插入的等待状态,提高机器的速度。

如果再有了访问时间只有10ns的主存芯片,就无法使

用现有总线来提高性能了,因为该总线设计的读操作

就是两个周期。

35

832异步定时方式

■将这种情况稍微变一个说法,若一条同步

总线上接有多个不同的设备,这些设备的

数据传输速度有快有慢,那么,总线周期

就必须设计得能满足最慢的设备,而快速

设备就不可能满负荷地运行。

36

832异步定时方式

■异步总线无固定的时钟,接收端和发送端

通过自身时钟控制的握手协议

(handshakingprotocol)来保证数据的正

确接收和发送。

■源:数据发送方称为源。

■源数据:源产生的数据成为源数据。

■目标:数据接收方称为目标。

■目标数据:目标接收的数据成为目标数据。

37

832.1单向选通

■单向选通(strobe)控制是由通信的一方提

供选通信号,这里的一方可以是源,如图

8.5(a)所示,也可以是目标,如图8.5

(b)所示。

38

832.1单向选通

■在图8.5(a)中,数据的发送方(源)送出

数据及选通信号(strobe)。发送方(源)

的选通信号在经过一段时间之后主动结束,

接收方(目标)可以利用发送方的选通信

号的下降沿接收数据。这种方式实现起来

简单,但是所带来的问题是数据的发送方

(源)不管接收方(目标)有无能力接收,

按照自己的时序结束工作。

39

832.1单向选通

■图8.5(b)示出的是首先由数据的接收方

(目标)发出选通信号,要求数据的发送

方(源)送出数据。接收方使用自己发出

的选通信号的下降沿接收数据。在图8.5(b)

中,不管发送方(源)有无能力提供数据,

接收方(目标)在发出请求信号后,都按

照接收方(目标)自己的时序接收数据。

40

832.1单向选通

■图8.5(a)和图8.5(b)所存在的共同问题

就是源所发送的数据并不能保证被目标正

确接收,这种情况称为源与目标不同步

(应该注意的是这里的同步概念与前面提

到的同步总线的概念不同)。这显然是一

个严重的问题,任何有意义的通信,都希

望源与目标同步,即源发送的数据能够被

目标正确接收,所以需要认真研究,解决

源与目标同步的问题。

41

832.2双向握手

■从前面的讨论知道,无论是源还是目标都可以是

主动发起通信的一方,也可以是被动接受通信的

一方。将主动发起通信的一方(源或目标)称为

主动方;而将被动接受通信的一方(源或目标)

称为被动方。

■前面讨论的选通方法的缺点是主动方(源或目标)没

有办法知道被动方(源或目标)是否已经准备就绪,

即是否已经正确地接收了数据或者是否已经正确提供

了数据。可见,解决源与目标同步的问题关键在于让

对方知道自己的工作状态。一种解决方法是通过设定

请求与应答信号来通知对方自己的工作状态。

8.322双向握手

■双向握手(handshaking)信号:为了实现

源与目标同步,在通信的双方建立的请求

与应答信号称为双向握手信号,简称为握

手信号。

■“握手”是一个形象的术语,表示主动方和被

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

发出一个控制信号,把本方的状况通知对方。

43

8.322双向握手

■图8.6给出了双向握手的说明,这里假设图8.6中的

被动方空闲。在图8.6(a)中,源是主动方。

■主动方(源)送出有效数据,并向被动方(目标)发

W.索值号(数据有效信号),请求被动方(目标)

♦“乂发义“古o

■被动方(旦标)把数据接收完成以后,并发出廖登信

号(收到信号),通知主动方(源)数据已被接收。

■主动方(源)收到应答信号(收到信号)后,撤销数

据及诘求信号(数据有效信号)。

■被动方(目标)在主动方(源)撤销请求信号(数据

有效值号)之后,也把应答信号(收到信号)撤销,

此时宥女数据也被撤清。

44

832.2双向握手

■再来看图8.6(b)o

■被动方(目标)主动发出通信请求信号(准备好),

请求主动方(源)送来数据。

■主动方(源)收到请求信号之后,把数据送上数据总

线,并发出应答信号(数据有效信号),通知被动方

(目标)数据已经准备好。

■被动方(目标)把数据接收完成之后,撤销请求信号,

■主动方(源)也撤销应答信号(数据有效信号),此

时有效数据也被撤消。

45

832.2双向握手

■如果I/O设备出现故障,处理器发出请求后,始终

得不到I/O设备的响应时,不会一直等下去,采用

的一种策略是:处理器发出请求后,启动一个计

时器。若经过一定的时间后,仍得不到响应,则

计时器发出“超时”(timeout)中断信号,强迫

处理器停止I/O访问操作。

■很明显,双向握手方式和时序无关。每个事件都

由前一个事件引起,而不是由时钟脉冲控制。

46

8,4总线标准

■总线标准:设备应该如何连接到计算机的

规范或规定。

■总线标准可以使计算机设计者和I/O设备设计

者独立进行开发,因此非常重要。

■只要计算机设计者和I/O设备设计者都遵循总

线标准,则设计出来的任何I/O设备都可以连

到任何计算机上。总线标准定义了I/O设备应

该如何连接到计算机。

47

8.5I/O接口

■8.5.1概述

■从最顶层看,计算机系统包含CPU、存储器和I/O

等部件,每种类型有一个或多个模块。这些部件

以某种方式互相连接,实现计算机的基本功能,

即执行程序,并实现人机交互。因此,可以采用

以下两种方法来描述计算机系统:

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

间交换的数据和控制信号。

■2.描述互连结构。

48

851概述

■计算机系统的主要部件(处理器、主存、

I/O模块)等为了交换数据和控制信号,需

要进行互连。

■最普通的互连方式是使用多条线组成共享总线,

将计算机的各个部件连接起来。

■由于电参数、机械参数的不匹配,总线通常不

能直接与计算机系统的I/O设备相互连接,而

需要通过接口将总线与计算机系统的各个部件

连接起来。

49

852I/O接口概念

■I/O设备一般不能够直接与连接CPU和主存的总线

相连。因为I/O设备的本质与CPU和主存的本质不

同,I/O设备都是些机电、磁性或光学设备,而

CPU和主存是电子设备。

■与CPU和主存相比I/O设备的操作速度要慢得多。

因此必须要有中介来处理这种差异,I/O设备是通

过一种被称为I/O接口电路,简称为I/O接口(也

称为I/O控制器)的器件连接到总线上的。图8.7

表明了它们三者之间的关系。

50

852I/O接口概念

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

■串行接口只有一根线连接到设备上。

■并行接口有数根线连接到设备上,使得一次能

同时传送多个位。

■从广义上讲,接口是指两个相对独立的子

系统之间的相连部分。

51

852I/O接口概念

■软件接口:指一个程序模块或子程序在调用和返

回时所必须遵守的传递参数规则或约定。

■硬件接口:指两个硬件设备之间的连接逻辑及信

号传递协议。

■软硬接口:指软件对某个硬件电路进行控制,或

者硬件要传递一些信息给软件,彼此间也有着共

同遵守的协议。

■人机接口:指软件与其使用者(人)的联系部

分。

52

853I/O接口的功能和基本结构

■I/O接口并非仅仅完成物理上的连接,一般来讲,

它具有下述主要功能。

■i.识别地址码,即地址译码功能。

■2.在主机与I/O设备之间交换数据、控制命令及状态

信息等。

■3.支持主机采取程序查询、中断、DMA等方式。

■4.提供主机和I/O设备所需的缓冲、暂存、驱动能

力,满足一定的负载要求和时序要求。

■5.进行数据类型、格式等方面的转换。

53

853I/O接口的功能和基本结构

■从不同的角度出发,I/O接口可分为若干类

型。

■L按主机访问I/O设备的控制方式,可分为程

序查询接口、中断接口、DMA接口,以及更复

杂一些的通道控制器、I/O处理机。

■2.按时序控制方式可分为:同步接口、异步

接口。

■3.按数据传送的格式可分为串行接口、并行

接口。

54

853I/O接口的功能和基本结构

■一种简单的I/O接口部件的例例如图8.8所示。

■它包括两个数据寄存器(端口A寄存器和端口B寄存器)、

一个控制寄存器、一个状态寄存器、一个数据缓冲寄

存器和一个时序控制电路。

■I/O接口与CPU的通信通过数据总线进行。

■片选信号用于指明该接口是否被选中。被选中时,寄

存器选择信号选择I/O接口内部的寄存器。

■I/O读和I/O写控制数据的传输方向,其中的“读”意

味着数据从I/O传输到CPU,“写”意味着数据从CPU

传输到I/O。

55

8.5.4I/O接口的编址

■根据前面的讨论知道,计算机系统通常有

多个I/O接口,每一个I/O接口内部通常又

有多个寄存器,这些I/O接口内部的寄存器

称为I/O端口。CPU为了能够访问这些端口,

就必须对它们进行唯一的身份标识,即对

每一个端口赋以一个唯一的地址。于是就

带来一个问题,这些端口的地址与存储器

的地址究竟是什么关系?应该如何编址?

56

854I/O接口的编址

■一种方式是将存储器和i/o端口统一编址,即在存

储器空间中划分出一段地址空间作为访问I/O端口

的地址空间。这种方式使用访问存储器的指令来

实现对I/O端口的读写。这种方式称为存储器映像

的I/O端口。

■优点:不用单独设置I/O端口访问指令,而是使用存储

器访问指令来访问I/O端口,因此可以充分利用存储器

访问指令的强大功能,编写程序比较方便。

■缺点:是程序员必须知道I/O端口的地址在存储器地址

空间中的分配情况。

57

854I/O接口的编址

■另外一种方式是将存储器和I/O端口分开编

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

例如,他们可以各自从0开始编址。CPU有

专门的I/O端口访问指令和存储器访问指

令。

■优点:程序员无须知道I/O端口的地址在存储

器地址空间中的分配情况。

■缺点:无法充分利用存储器访问指令的强大功

△*匕编写程序要复杂一些。

58

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

■通常,输入输出的基本控制方式(简称为

I/O方式)有以下几种:

■程序查询方式;

■程序中断方式;

■直接存储器访问(directmemoryaccess,DMA)

方式;

■通道方式。

59

8.551程序查询方式

■程序查询方式:CPU直接通过I/O指令对

I/O接口进行操作访问,主机与外部设备交

换信息的每一过程均在程序中表示出来。

如果接口尚未准备好,CPU就等待,如果

已作好准备,CPU才能执行I/O指令。

60

8.551程序查询方式

■在相应的I/O程序中须进行下列几步操作,

其接口和软件模型如图8.9所示。

■1.读取外部设备状态信息。

■2.判断是否可进行新的操作,例如判断键盘

是否有新的键被按下,或打印机是否准备好接

收新数据。如果设备尚未准备好,则返回第一

步;若已准备好,就进行下一步。

■3.执行所需的I/O操作,例如从键盘接口读数,

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

61

8.552程序中断方式

■1.基本概念

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

及一个中断控制器排行初始化,然后去执行CPU

自己的程序(用户程序)。当I/O数据准备好时,

由中断控制器向CPU发出中断请求。CPU在收至U

中断请求后,若能够响应中断,则暂时停止当前

正在执行的程序(用户程序),转去执行中断服

务(处理)程序,然后再返回被中断的程序(用

断方式省去了、

需配曾甄i席箧)间,因此提高

了效率。

62

8.552程序中断方式

置1>.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论