计算机组成原理 - I/O(输入输出)系统

一、输入输出系统的发展概括

1、早期阶段

早期的I/O设备种类较少,I/O设备与主存交换信息都必须通过CPU,当时的I/O设备每个都必须具备一套独立的逻辑电路与CPU相连,用来实现I/O设备与主机之间的信息交换;输入输出过程是穿插在CPU执行程序过程之中进行的,当I/O设备与主机交换信息时,CPU不得不停止各种运算。
在这里插入图片描述

2、接口模块和DMA阶段

这个阶段的I/O设备通过接口模块与主机连接,在接口中都设有数据通路和控制通路,数据经过接口既起到缓冲作用,又可完成串-并交换;采用接口技术还可以使多台I/O设备分时占用总线,使多台I/O设备互相之间也可以实现并行工作,可提高整机工作效率。

但在主机与I/O设备交换信息时,CPU要中断运行的程序,并不能做到完全的并行工作。
在这里插入图片描述

为了进一步提高CPU的工作效率,又出现了DMA(Direct Memory Access,直接存储器存取)技术,其特点是I/O设备与主存之间有一条直接数据通路使I/O设备可以与主存直接交换信息。

3、具有通道结构的阶段

在小型和微型计算机中,采用DMA方式可实现高速I/O设备与主机之间组成数据的交换,但在大中型计算机中,I/O设备配置繁多,数据传送频繁,采用DMA方式会出现一系列问题,因此在大型计算机系统中,采用I/O通道的方式来进行数据交换,通道是用来负责管理I/O设备以及实现主存与I/O设备之间交换信息的部件,可以视为一种具有特殊功能的处理器
在这里插入图片描述

4、具有I/O处理机的阶段

I/O处理机又称为外围处理机,它基本独立于主机工作,既可以完成I/O通道要完成的I/O控制,又可以完成码制变换、格式处理、数据块检错、纠错等操作,具有I/O处理机的输入输出系统与CPU工作的并行性更高,具有更大的独立性。

二、输入输出系统的组成

输入输出系统由I/O软件和I/O硬件两部分组成。

1、I/O软件

输入输出系统软件的主要任务包括将用户编制的程序或数据输入主机内,将运算结果输送给用户,实现输入输出系统与主机工作的协调等;

I/O指令

I/O指令是机器指令的一类,是CPU指令系统的一部分,其一般格式为操作码+命令码+设备码,操作码可作为I/O指令与其他指令的判别代码,命令码体现I/O设备的具体操作,设备码是多台I/O设备的选择码;
具体来说就是操作码表明是I/O操作,命令码表明是要进行怎样的I/O操作,输入还是输出,设备码指令本次操作是由哪一个I/O设备执行。

通道指令

通道指令是对具有通道的I/O系统专门设置的指令,一般用以指明参与传送的数据组在主存中的首地址,需要传送的字节数或传送数据组的末地址,指明所选设备的设备码及完成某种操作的命令码;在具有通道结构的计算机中,I/O指令不实现I/O数据传送,主要完成I/O设备的启动停止等

2、I/O硬件

输入输出系统的硬件组成是多种多样的,在带有接口的I/O系统中,一般包括接口模块及I/O设备两大部分。

三、I/O设备与主机的联系方式

I/O设备与主机交换信息和CPU与主存交换信息相比,有许多不同点,例如,CPU如何对I/O设备编址,如何寻找I/O设备号,I/O设备与主机以什么方式进行联络等。

I/O设备编址方式

通常将I/O设备码看做地址码,对I/O地址码的编址可采用两种方式:统一编址或不统一编址。

  • 统一编址就是将I/O地址看做是存储器地址的一部分;
  • 不统一编址就是指I/O地址和存储器地址是分开的,所有对I/O设备的访问必须有专用的I/O指令;不统一编址由于不占用主存空间,故不影响主存容量,但需要设I/O专用指令。

设备寻址

由于每台设备都赋予一个设备号,因此当要启动某一设备时,可由I/O指令的设备码字段直接指出该设备的的设备号,通过接口电路中的设备选择电路,便可选中要交换信息的设备;

传送方式

传送方式有并行传送串行传送,并行传送的特点是传送速度较快,但要求数据线多,例如16位信息并行传送需要16根数据线,串行传送的特点是传送速度较慢,但只需一根数据线和一根地线,当I/O设备与主机距离很远时,采用串行传送较为合理;

联络方式

不论是并行传送还是串行传送,I/O设备与主机之间必须相互了解彼此当时所处的状态,如是否可以传送、传送是否已结束等,按I/O设备工作的速度不同,可分为三种联络方式:

  • 立即响应方式:只要CPU的I/O指令一到,I/O设备便立即响应就称为立即响应方式;
  • 异步工作采用应答信号联络:当I/O设备与主机工作速度不匹配时,通常采用异步的方式,这种方式在交换信息之前,I/O设备与CPU各自完成自身的任务,一旦出现联络信号,彼此才准备交换信息,
  • 同步工作采用同步时标联络:同步工作要求I/O设备与CPU的工作速度完全同步,例如在外部数据以2400bps的速率传送至接口,则CPU也必须以1/2400s的速率接收每一位数,这种联络方式需要配有专用电路,产生同步时标来控制同步工作;

I/O设备与主机的连接方式

I/O设备与主机的连接方式通常有辐射式和总线式两种,采用辐射式连接方式时要求每台I/O设备都有一套控制线路和一组信号线,复杂且不灵活,因此这种连接方式大多出现在计算机发展的初级阶段。现代计算机大多采用总线式连接

四、I/O设备与主机信息传送的控制方式

I/O设备与主机交换信息时共有五种控制方式:

  • 程序查询式
    由CPU通过程序不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息;只要I/O设备一启动,CPU便不断查询I/O设备的准备情况,从而终止了原程序的执行,CPU在反复查询过程中,犹如原地踏步,另一方面,I/O设备准备就绪后,CPU要一个字一个字的从I/O设备取出,经CPU送至主存,因此这种方式使CPU和I/O设备处于串行工作状态,CPU的工作效率不高。

  • 程序中断方式
    在启动I/O设备后,CPU不查询I/O设备是否已准备就绪,而是继续执行自身程序,只有当I/O设备准备就绪并向CPU发出中断请求后才予以响应;采用程序中断方式,CPU和I/O接口不仅在硬件方面需增加相应的电路,在软件方面也必须编制中断服务程序。

  • DMA方式
    在程序中断方式中,CPU在响应中断后,必须停止现行程序而转入中断服务,并且为了完成I/O设备与主存交换信息,还必须占用CPU内部的一些寄存器,这同样是对CPU资源的消耗,如果I/O设备能直接与主存交换信息而不占用CPU,CPU的资源利用率又可以进一步提高,也就是DMA,直接存储器存取方式;在DMA方式中,主存与I/O设备之间有一条数据通路,主存与I/O设备交换信息时,无须调用中断服务程序,当出现DMA和CPU同时访问主存,CPU总是将总线占有权让给DMA。

  • I/O通道方式
    通道是用来负责管理I/O设备以及实现主存与I/O设备之间交换信息的部件,可以视为一种具有特殊功能的处理器

  • I/O处理机方式
    I/O处理机又称为外围处理机,它基本独立于主机工作,既可以完成I/O通道要完成的I/O控制,又可以完成码制变换、格式处理、数据块检错、纠错等操作,具有I/O处理机的输入输出系统与CPU工作的并行性更高,具有更大的独立性。

五、I/O设备

I/O设备的组成通常包括设备控制器和机、电、磁、光部件,设备控制器用来控制I/O设备的具体动作,I/O设备的具体结构大致与机、电、磁、光的工作原理有关;

1、I/O设备的类别

  • 人机交互设备:它是实现操作者与计算机之间互相交流信息的设备,如鼠标、键盘、显示器、打印机等;
  • 计算机信息的存储设备
  • 机-机通信设备:用来实现一台计算机与其他计算机或其他系统之间完成通信任务的设备;

2、输入设备

键盘:键盘是应用最普遍的输入设备,按键是由人工操作的,确认按下的是哪一个键可用硬件或软件的方法来实现;采用硬件确认哪个键被按下的方法称为编码键盘法,它由硬件电路形成对应被按键的唯一编码信息,再翻译成ASCII码,由计算机接收;采用软件判断的方法称为非编码键盘法,这种方法利用简单的硬件和一套专用键盘编码程序来判断按键的位置,然后由CPU将位置码经查表程序转换成相应的编码信息;

鼠标:

触摸屏:

3、输出设备

显示屏:显示屏种类繁多,按显示器件划分可分为阴极射线管(CRT)显示器,液晶显示器和等离子显示器等;

CRT是目前应用最广泛得显示器件,即可作为字符显示器又可显示图像;CRT是一个漏斗形的电真空器件,由电子枪、荧光屏和偏转装置组成;分辨率和灰度等级是CRT的两个重要技术指标,分辨率是指显示屏能表示的像素点数,分辨率越高图像越清晰,灰度等级是指显示像素点相对亮暗的级差,在彩色显示器中它还表现为色彩的差别。

在这里插入图片描述

CRT荧光屏发光是由电子束轰击荧光粉产生的,其发光亮度一般只能维持几十毫秒,为了使人眼能看到稳定的图像,电子束必须在图像变化前不断地进行整个屏幕的重复扫描,这个过程称为刷新,每秒刷新的次数称为刷新频率;

字符显示器
字符显示器是计算机系统中最基本的输出设备,它通常由CRT控制器和显示器组成
在这里插入图片描述

  • 显示存储器VRAM:显示存储器存放欲显示字符的ASCII码,其容量与显示屏能显示的字符个数有关,如显示屏上能显示80列*25行=2000个字符,则显示存储器的容量应为2000×8(字符编码7位,闪烁1位),每个字符所在存储单元的地址与字符在荧光屏上的位置一一对应;

  • 字符发生器:由于荧光屏上的字符由光点组成,而显示存储器存放的是ASCII码,因此必须有一个部件能将每个ASCII字符码转换转变为一组一组的光点矩阵信息,具有这种变换功能的部件就称为字符发生器
    在这里插入图片描述
    如上图“C”的9个单元中,所存储的9组光点代码分别为011111110、100000001、100000000等等,设1代表两点,0代表暗点;

  • CRT控制器:CRT控制器通常都做成专用芯片,它可用来接收来自CPU的数据和控制信号,并给出访问显示存储器的地址和访问字符发生器的光栅地址等。

图形显示器

图形显示器是用点、线、面组合成平面或立体图形的显示设备,利用CRT显示器产生图形有两种方法,一种是随机扫描法,另一种是光栅扫描法;

随机扫描法在随机扫描时,电子束产生图形的过程和人用笔在纸上画图的过程相似,任何图形的线条都被认为是由许多微小的首尾相接的线段来逼近的,这些微小的线段称为矢量,故这种方法又称为矢量法;与此法相对应的显示器称为随机扫描图形显示器,其缺点是在显示复杂图形时,会出现闪烁现象;

与光栅扫描法对应的显示器称为光栅扫描图形显示器,其特点是把对应于屏幕上的每个像素信息都存储在刷新存储器中,光栅扫描时,读出这些像素来调制CRT的灰度,以便控制屏幕上像素的亮度,同样也需要不断地对屏幕进行刷新,使图形稳定显示;

图像显示器

图像显示器所显示的图像通常来自客观世界,即遥感图像、自然景物等,图像显示器是把由计算机处理后的图像以点阵的形式显示出来,通常采用光栅扫描方式;

汉字的处理设备

计算机进行汉字信息处理时,必须将汉字代码化,即对汉字进行编码,汉字编码可分为输入码、内码和字形码三大类,输入码是解决汉字的输入识别问题的,内码是由输入码转换而成的,只有内码才能在计算机内进行加工处理,字形码能显示或打印输出;

  • 汉字的输入:汉字编码方法主要有数字编码、拼音编码和字形编码三类,数字编码就是用数字代表一个汉字的输入,常用的是国标区位码,使用区位码输入汉字时,必须根据国标GB2313,先查出汉字对应的代码,然后才能输入,这种编码输入的优点是无重码,而且输入码和内码的转换比较方便,但每个汉字的编码都是一串等长的数字,难以记忆;拼音码是以汉字拼音为基础进行编码;字形编码是以汉字现状确定的,由于汉字都是一笔一画构成的,而笔画又是有限的,而且汉字的结构也可以归结为几类,因此把汉字的笔画和部件用字母和数字编码后,再按笔画书写顺序依次输入,就能表示出一个汉字,如五笔编码;
  • 汉字的存储:汉字的存储包括汉字内码存储和字形码的存储,汉字内码是汉字信息在机内存储、交换、检索等过程中所要使用的机内代码,通常用两个字节表示,而英文字符的机内码是7位ASCII码,字节的最高位为0,而汉字内码的两个字节最高位均为1;
  • 汉字的输出:汉字输出有打印输出和显示输出两种形式,汉字显示可用通用显示器,在主机内由汉字显示控制板或通用的图形显示板形成点阵码,再将点阵码送至显示设备,只要设备具有输出点阵的能力,就可以输出汉字。

六、I/O接口

1、接口概述

I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其相应的软件控制。不同的I/O设备都有其相应的设备控制器,而它们往往都是通过I/O接口与主机取得联系的,之所以要在主机与I/O设备之间设置接口,是因为:

  • 一台机器通常配有多台I/O设备,它们各自有其设备号,通过接口可实现I/O设备的选中;
  • I/O设备种类繁多,速度不一,与CPU速度相差可能很大,通过接口可实现数据缓冲,达到速度匹配;
  • 有些I/O设备可能串行传送数据,而CPU一般为并行传送,通过接口可实现数据串-并格式的转换;
  • I/O设备的输入输出电平可能与输入输出电平不同,通过接口可实现电平转换;
  • CPU启动I/O设备工作,要向I/O设备发各种控制信号,通过接口可传送控制命令;
  • I/O设备需将其工作状态及时向CPU报告,通过接口可监视设备的工作状态,并可保存状态信息,共CPU查询。

接口的基本组成
在这里插入图片描述

2、接口的功能和组成

(1)总线连接方式的I/O接口电路

在总线结构的计算机中,每一台I/O设备都是通过I/O接口挂到系统总线上的,I/O总线包括数据线、设备选择线、命令线和状态线。
在这里插入图片描述
数据线是I/O设备与主机之间数据代码的传送线,其根数一般等于存储字长的位数或字符的位数,通常是双向的,但也可以是单向的。

设备选择线是用来传送设备码的,它的根数取决于I/O指令中设备码的位数,如果把设备码看做是地址号,那么设备选择线又可称为地址线。

命令线主要用以传输CPU向I/O设备发出的各种命令信号,它是一组单向总线,其根数与命令信号多少有关。

状态线是将I/O设备的状态向主机报告的信号线,是一组单向总线。

(2)接口的功能

  • 选址功能:I/O总线与所有设备的接口电路相连,但CPU究竟选择哪台设备还得通过设备选择线上的设备码来确定;该设备码将送至所有设备的接口,当设备选择线上的设备码与本设备码相符时,就发出设备选中的信号SEL,这种功能可通过接口内的设备选择电路来实现。
  • 传送命令的功能:当CPU向I/O设备发出命令时,要求I/O设备能做出响应,故通常在I/O接口中设有存放命令的命令寄存器以及命令译码器;命令寄存器用来存放I/O指令中的命令码,它受设备选中信号控制,只有被选中设备的SEL信号有效,命令寄存器才可接受命令线上的命令码。
  • 传送数据的功能:接口处于主机与I/O设备之间,这就要求接口中具有数据通路,完成数据传送。这种数据通路还应具有缓冲能力,即能将数据暂存在接口内。
  • 反映I/O设备工作状态的功能:为了使CPU能及时了解各I/O设备的工作状态,接口内必须设置一些反映设备工作状态的触发器。

(3)接口类型

I/O接口按不同方式分类有以下几种:

  • 按数据传送方式分类,有并行接口和串行接口两类,由于接口与主机之间是按字节或字并行传送,因此对串行接口而言,其内部还必须设有串-并转换装置;
  • 按功能选择的灵活性分类,有可编程接口和不可编程接口两种;可编程接口的功能及操作方式可用程序来改变或选择,不可编程接口不能由程序来改变其功能,但可通过硬连线逻辑来实现不同的功能;
  • 按通用性分类有通用接口和专用接口,通用接口可供多种I/O设备使用,专用接口是为某种用途专门设计的;
  • 按数据传送的控制方式分类,有程序型接口和DMA型接口,程序型接口用于连接速度较慢的I/O设备,如显示终端、键盘、打印机;DMA型接口 用于连接高速I/O设备,如磁盘。

七、程序查询方式

1、程序查询流程

程序查询方式的核心问题在于每时每刻需不断查询I/O设备是否准备就绪。当I/O设备较多时,CPU需按各个I/O设备在系统中的优先级进行逐级查询,为了正确完成这种查询,通常要执行以下3条指令:

  • 测试指令,用来查询I/O设备是否准备就绪;
  • 传送指令,当I/O设备已准备就绪时,执行传送指令;
  • 转移指令,若I/O设备未准备就绪,执行转移指令,转至测试指令,继续测试I/O设备的状态。

在这里插入图片描述
图中设备的优先序按1到N降序排列。

2、程序查询方式的接口电路

在这里插入图片描述
图中设备选择电路用以识别本设备地址,当地址线上的设备号与本设备号相符,SEL有效时,可接收命令;数据缓冲寄存器用于存放欲传送的数据;D是完成触发器;B是工作触发器。
以输入设备为例,该接口的工作过程如下:

  1. 当CPU通过I/O指令启动输入设备时,指令的设备码字段通过地址线送至设备选择电路;
  2. 若该接口的设备码与地址线上的代码吻合,其输出SEL有效;
  3. I/O指令的启动命令经过“与非”门将工作触发器B置为1,将完成触发器D置为0;
  4. 由B触发器启动设备工作;
  5. 输入设备将数据传送至数据缓冲寄存器;
  6. 由设备发设备工作结束信号,将D置为1,B置为0,表示外设准备就绪;
  7. D触发器以准备就绪状态通知CPU,表示数据缓冲慢;
  8. CPU执行输入指令,将数据缓冲寄存器中的数据送至CPU的通用寄存器,再存入主存相关单元。

八、程序中断方式

计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处,继续执行原程序,这就是中断。通常把实现这种功能所需的软硬件基数统称为中断技术。

1、I/O中断的产生

在I/O设备与主机交换信息时,由于设备本身机电特性的影响,其工作速度较低,与CPU无法匹配,因此CPU启动设备后往往需要等待一段时间才能实现主机与I/O设备之间的信息交换。如果在设备准备的同时,CPU不做无谓的等待,而继续执行现行程序,只有当I/O设备准备就绪向CPU提出请求后,再暂时中断CPU现行程序转入I/O服务程序,这便产生了I/O中断。

中断技术不仅仅应用于I/O设备工作速度低的问题,当计算机遇到突然掉电这种异常情况,若能在突然掉电的瞬间立即启动另一个备份电源,并迅速进行一些必要的处理,将有用信息送至存储系统内,待电源恢复后再接着使用,避免信息丢失,这种基数也要应用中断技术来实现。又如,在实时控制领域,要求CPU能即时响应外来信号的请求,并能完成相应的操作,也都需要采用中断技术。

2、程序中断方式的接口电路

为处理I/O中断,在I/O接口电路中必须配置相关的硬件线路。

中断请求触发器和中断屏蔽触发器

每台外部设备都必须配置一个中断请求触发器INTR,当其为1时,表示该设备向CPU提出中断请求,但是当设备想提出中断请求时,设备本身比逊是准备就绪的,即接口内的完成触发器D的状态必须为1。

由于计算机应用的范围越来越广泛,向CPU提出中断请求的原因也越来越多,为此,把凡是能向CPU提出中断请求的各种因素统称为中断源,当多个中断源向CPU提出中断请求时,CPU在任何瞬间只能接受一个中断源的请求。所以CPU必须对各中断源的请求进行排队,且优先接受级别最高的中断源的请求。这样,在I/O接口中需设置一个屏蔽触发器MASK,当其为1时,表示被屏蔽,即封锁其中断源的请求。

在这里插入图片描述
由此可见,仅当设备准备就绪(D=1),且该设备未被屏蔽(MASK=0)时,CPU的中断查询信号可将中断请求触发器置为1。

排队器
就I/O中断而言,速度越高的I/O设备,优先级越高,因为若CPU不及时响应高速I/O的请求,其信息可能会丢失。

设备优先权的处理可采用硬件方法,也可采用软件方法。硬件排队器的实现方法很多,即可在CPU内部设置一个统一的排队器,对现有中断源进行排队,也可在接口电路内分别设置各个设备的排队器。

设备编码器
CPU一旦响应了I/O中断,就要暂停现行程序,转去执行该设备的中断服务程序。不同的设备有不同的中断服务程序,每个服务程序都有一个入口地址,CPU必须找到这个入口地址。

入口地址的寻找也可使用硬件或软件的方法来完成。例如硬件向量法,所谓硬件向量法,就是通过向量地址来寻找设备的中断服务程序入口的地址,而且向量地址是由硬件电路产生的。

3、I/O中断处理过程

CPU响应中断的条件和时间
CPU响应I/O设备提出中断请求的条件是必须满足CPU中的允许中断触发器EINT为1。CPU是在统一的时刻(每条指令执行阶段结束前)向接口发出中断查询信号,以获取I/O的中断请求,因此CPU响应中断的时间一定是在每条指令执行阶段的结束时刻。

在这里插入图片描述
以输入设备为例,结合上图,说明I/O中断处理的全过程,当CPU通过I/O指令的地址码选中某设备后,则
(1)由CPU发启动I/O设备命令,将接口中的B置为1,D置为0;
(2)接口启动输入设备开始工作;
(3)输入设备将数据送入数据缓冲寄存器;
(4)输入设备向接口发出设备工作结束信号,将D置为1,B置为0,标志设备准备就绪;
(5)当设备准备就绪(D=1),且本设备未被屏蔽(MASK=0)时,在指令执行阶段的结束时刻,由CPU发出中断查询信号;
(6)设备中断请求触发器INTR被置为1,标志设备向CPU提出中断请求。与此同时INTR送至排队器,进行中断判优;
(7)若CPU允许中断(EINT=1),设备又被排队选中,即进入中断响应阶段,由中断响应信号INTA将排队器输出送至编码器形成向量地址;
(8)向量地址送至PC,作为下一条指令的地址;
(9)由于向量地址中存放的是下一条无条件转移指令,故这条指令执行结束后,即无条件转至该设备的服务程序入口地址,开始执行中断服务程序,进入中断服务阶段,通过输入指令将数据缓冲寄存器的输入数据送至CPU的通用寄存器,再存入主存相关单元;
(10)中断服务程序的最后一条指令是中断返回指令,当其执行结束时,即中断返回至原程序的断点处。

可将一次中断处理过程简单地归纳为中断请求、中断判优、中断响应、中断服务和中断返回5个阶段。

4、中断服务程序的流程

一般中断服务程序的流程分为四大部分:保护现场、中断服务、恢复现场和中断返回:

  • 保护现场
    保护现场其一是保存程序的断点,其二是保存通用寄存器和状态寄存器的内容。
  • 中断服务
    这是中断服务程序的主体部分,对于不同的中断请求源,其中断服务操作内容是不同的。例如显示设备要求CPU将需要显示的一屏字符代码通过接口送入显示器的显示存储器中。
  • 恢复现场
    这是中断服务程序的结尾部分,要求在退出服务程序前,将原程序中断时的现场恢复到原来的寄存器中。
  • 中断返回
    中断服务程序的最后一条指令通常是一条中断返回指令,使其返回到原程序的断点处,以便继续执行原程序。

计算机在处理中断的过程中,有可能出现新的中断请求,此时如果CPU暂停现行的中断服务程序,转去处理新的中断请求,这种现象称为中断嵌套或多重中断。

九、DMA方式

由于主存和DMA接口之间有一条数据通路,因此主存和设备交换信息时,不通过CPU,也不需要CPU暂停现行程序为设备服务,省去了保护现场和恢复现场,因此工作速度比程序中断方式的工作速度高。
在这里插入图片描述
在DMA方式中,由于DMA接口与CPU共享主存,这就有可能出现两者争用主存的冲突。为了有效地分时使用主存,通常DMA与主存交换数据时采用如下三种方式:

  1. 停止CPU访问主存
    在这里插入图片描述

  2. 周期挪用
    在这里插入图片描述

  3. DMA与CPU交替访问
    在这里插入图片描述

1、DMA接口的功能和组成

DMA接口的功能

  • 向CPU申请DMA传送
  • 在CPU允许DMA工作时,处理总线控制权的转交,避免因进入DMA工作而影响CPU正常活动或引起总线竞争
  • 在DMA期间管理系统总线,控制数据传送
  • 确定数据传送的起始地址和数据长度,修正数据传送过程中的数据地址和数据长度
  • 在数据块传送结束时,给出DMA操作完成的信号

DMA接口的基本组成

在这里插入图片描述

  • 主存地址寄存器AR
    AR用于存放主存中需要交换数据的地址,在DMA传送数据前,必须通过程序将数据在主存中的首地址送到主存地址寄存器。
  • 字计数器WC
    WC用于记录传送数据的总字节,通常以交换字数的补码值预置。
  • 数据缓冲寄存器BR
    BR用于暂存每次传送的数据。
  • DMA控制逻辑
    DMA控制逻辑负责管理DMA的传送过程,由控制电路、时序电路及命令状态控制寄存器等组成。
  • 中断机构
    当字计数器溢出(全0)时,表示一批数据交换完毕,由溢出信号通过中断机构向CPU提出中断请求,请求CPU作DMA操作的后处理。
  • 设备地址寄存器DAR
    DAR存放I/O设备的设备码或表示设备信息存储区的寻址信息,如磁盘数据所在的区号、盘面号和柱面号。

2、DMA的工作过程

(1)DMA传送过程
DMA的数据传送过程分为预处理、数据传送和后处理三个阶段

(2)DMA接口与系统的连接方式
DMA接口与系统的连接方式有两种,一是具有公共请求线的DMA请求,
在这里插入图片描述

二是独立的DMA请求
在这里插入图片描述
(3)DMA小结
与程序中断方式相比,DMA方式有如下特点:

  • 从数据传送看,程序中断方式靠程序传送,DMA方式靠硬件传送;
  • 从CPU响应时间看,程序中断方式是在一条指令执行结束时响应,而DMA方式可在指令周期内的任一存取周期结束时响应;
  • 程序中断方式有处理异常事件的能力,DMA方式没有这种能力,主要用于大批数据的传送。
  • 程序中断方式需要中断现行程序,故需要保护现场,而DMA方式不中断现行程序。
  • DMA的优先级比程序中断的优先级高。

4、DMA接口的类型

现代集成电路制造技术已将DMA接口制成芯片,通常有选择型和多路型两类。

(1)选择型DMA接口
这种类型的DMA接口的特点是在物理上可连接多个设备,在逻辑上只允许连接一个设备,即在某一段时间内,DMA接口只能为一个设备服务。特别适用于数据传输率很高的设备。
在这里插入图片描述
(2)多路型DMA接口
多路型DMA接口不仅在物理上可以连接多个设备,而且在逻辑上也允许多个设备同时工作,各个设备采用字节交叉的方式通过DMA接口进行数据传送。特别适用于同时为多个数据传输率不十分高的设备服务。
在这里插入图片描述

  • 11
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作业八:输入输出设备输入输出系统 简答题 (从下面挑选5道题答题) 什么是系统总线?为什么要用总线传送信息?说明总线的分类和特点。 解:总线是CPU与各个部件交换数据共享的通信线路。总线的特点是各个设备使用总线时必须是分时共享。 使用总线必须制定一套规则,规定总线的功能特性连接方法,通信及控制方式等。 采用总线方式的主要优点是简化计算机的结构设计,减少设备间通信线路,便于系统的扩充和子系统的设计修改。 CPU与存储器和外围设备通信的一组总线称为系统总线,系统总线包括数据总线、地址总线和控制总线三类。这种结构称为单总线结构,特点是结构简单,扩充容易。缺点是每一个时刻只允许一个设备占有总线,向总线上发送数据,往往成为计箅机传送数据的瓶颈。 为了提高数据传输率,提高数据传输的并行性,在要求较高的机器中可采用双总线结构或多总线结构。 双总线结构把CPU与主存储器的通信总线称为存储总线或CPU总线。另外把CPU与I/O设备的通信总线称为I/O总线,两组总线可以独立工作。 什么是同步总线和异步总线?它们各有什么特点? 解:1、同步总线 收发双方使用总线传送数据时,使用统一的时钟信号,按照约定的固定时间周期发送数据和接收数据,设备之间不需要应答信号。时序关系简单?实现也比较简单,但若设备速度偶然变化,将影响传输数据的可靠性。 同步总线适用于系统中各种设备操作的速度固定而且一致的场合,同步总线的长度不能太长。因为传送数据时不需要应答信号,同步传送的速度较快、效率较高。 异步总线 收发双方使用总线传送数据时,没有固定的收发时间,不能使用统一的固定的时钟来控制收发数据。 收发双方为了在总线上传送数据,必须提供专门发送信号和接收信号,才能可猫地完成数据传送工作。这种总线,称为异步总线。 异步总线的操作时间不是固定的,操作的每一个步骤都需要有专门的应答信号来表示。 在非互锁异步传送方式中,发送设备把数据放在总线上,然后向对方发"就绪"(ready)信号,告诉对方数据已在总线上。接收设备根据收到的ready信号,从总线上接收数据,并向发送方发"应答"(acknowledge)信号作为回答,通知发送方数据已经收到了。发送方收到接收方的"应答"信号后从总线上撤消数据,如此双方完成一次数据传送。 在全互锁异步传送方式中,使用四边沿协议,进行数据传送,工作更可猫。可适合各种速度U0设备传送数据。发送设备把数据放到总线上后。向接收设备发"就绪"(ready)信号,接收设备接收数据后向发送方发"应答"信号,发送设备收到接收方的"应答"信号后S位"就绪"信号,"就绪"信号复位后接收设备才复位"应答"信号。 好步总线工作可猫,可以适应各种速度的设备传送数据,缺点是传送过程S杂,传送速度较慢。 说明RS-232串行接口四个应答信号的作用。 解:M:RS-232C是一种串行总线,通过调制解调器支持通过电话线进行远程通信。 RS-232C用于实现CPU与一台设备串行传输数据,该接口有25个引脚。其中: RXD用来接收串行输入的数据。 TXD用于向接收设备发送输出的数据。 RTS用于向接收设备发出请求,发送方请求接收设备接收数据,这个信号简称请求发送,是输出信号。是主方请求发送数据给对方。 CTS称允许发送。接收方收到请求发送信号RTS后,准备接收数据,向发送方发出回答信号,允许发送CTS.对发送设备说是输入信号。 DTR数据终端准备好,表示接收设备(主方)请求对方发送数据,是输出信号。 DSR表示数据准备就绪,表示发送设备准备好数据,是发送设备对接收设备发出的DTR请求的回答信号,表示发送设备可以发送,是输入信号。 四个握手信号都是高电平有效(RS-232C规定+3V?+25V为髙电平逻辑"0",而-3V?-25V为逻辑"1"电平),这种规定与TTL电路不同,因此RS-232C与主机连接时还要进行电平转换。 4、说明外设总线SCSI的特点和用途。 解:SCSI是小型计算机系统接口的英文名称缩写,是一种系统级的输入输出总线。 SCSI-1定义了总线时钟5MHz,8bit宽度的总线,最多可接8个设备,各个设备可并行操作。是一种速度快、灵活性好的并行总线,可用于磁盘、磁带、光盘等设备主机通信。 主机通过SCSI适配器与SCSI总线相连。这种称为SCSI主设备的SCSI总线控制接口,包括微处理器、数据缓冲存储器RAM,以及DMA控制器、协议控制器等。微处理器负责解释主机送来的命令和SCSI送来的信息,负责主机与SCSI缓存,缓存与SCSI总线间数据传送控制,控制DMA操作。 SCSI总线可以在同步方式下工作,同步方式传输率为5MBps,SCSI-3型可达320MBPSo也可以异步工作。信号线50根,8条数据线和一位校验线,可以单端方式工作,其连线长度小于6米。也可作差分方式连接

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值