第六章 I/O系统

I/O系统基本概念

I/O指令:操作码 + 指令码 + 设备码

通道指令:通道控制字,通道用于执行I/O操作的指令,放在主存中存放

I/O硬件:通道处理器、设备控制器、I/O设备、接口模块等

发展历史:

(1)程序查询方式

(2)中断查询方式和DMA方式

(3)通道结构

(4)I/O处理器

外部设备

(1)输入设备

常见的输入设备有键盘,鼠标等等

(2)输出设备

常见的输出设备有显示器,打印机等等

<1>显示器

阴极射线管(CRT)显示器:可分为光栅扫描和随机扫描;或者分为高分辨率和低分辨率

分辨率:显示器所能表示的像素个数

灰度级:黑白显示器中所显示的像素点的亮暗程度,彩色显示器中表示颜色的不同

CRT刷新:电子束不断的扫描屏幕,保证荧光粉的发光亮度

刷新存储器:存储图像信息,提高刷新图像的信号程度

刷新存储器的存储容量由图像分辨率和灰度级决定

例题:假设分辨率为1024 * 1024,256级灰度的图像,则刷新存储器的容量是()

<2>打印机

按印字原理分类:击打式和非击打式

按工作方式分类:串行打印机和行式打印机

I/O接口

I/O接口与I/O端口的区别:I/O接口是主机和外部设备之间传输信息的中间部件,I/O端口是I/O接口中一些存放数据、命令和状态信息的寄存器;I/O接口可能有多个地址,I/O端口只有一个对应的地址。

I/O接口的组成:数据缓冲寄存器DBR,设备选择电路,设备状态标记,命令寄存器和命令译码器,控制逻辑电路等

I/O接口作用:

<1>速度缓冲;

<2>设备的选择;

<3>数据串——并格式的转换。

I/O接口的线路:

数据线:双向,传输数据

设备选择线:单向,传送设备码

命令线:单向,传输CPU向设备发出的命令

状态线:单向,向主机汇报I/O设备的状态

I/O端口(重点)

可以由CPU进行读写操作的寄存器

端口中存放的是数据信息,控制信息和状态信息

I/O端口编址:

(1)统一编址:I/O地址码和主存的地址码统一;占用了存储空间,不过不需要专用的I/O指令

(2)不统一编址(独立编址):I/O地址和主存地址分开编址,有专门的I/O指令;不占用主存存储容量

I/O方式(重点)

(1)程序查询方式

每时每刻一直在查询I/O设备是否准备就绪,可以开始传送数据了

执行过程:

<1>将CPU存在寄存器的重要内容保存起来;

<2>给出I/O设备与CPU交换数据的计数值,确定数据的传输块数;

<3>给出传送数据的主存缓冲区首地址;

<4>启动I/O设备;

<5>CPU取设备状态,测试I/O设备是否准备就绪;

<6>CPU执行I/O指令,进行读/写操作,修改接口中的状态标记位;

<7>修改主存地址;

<8>修改计数值;

<9>判断计数值是否为0 ,为0停止传送,不为0继续传送数据;

<10>传送结束,停止I/O传送,继续执行现行程序。

例题:程序查询方式下,不考虑处理时间,假如每一个查询操作需要100个时钟周期,CPU时钟频率为50MHz。对鼠标和硬盘两个设备进行查询,CPU必须每秒对鼠标查询30次,硬盘以32bit字长为单位传输数据,每32bit被CPU查询一次,传输速率2MB/s。求CPU对这两个设备查询花费的时间比率。

(2)程序中断方式

采用中断系统实现I/O设备的数据传输

I/O设备准备就绪时,向CPU提出中断请求,CPU保存断点后转去执行中断服务程序;中断结束后,CPU再去执行原程序。

中断过程:

<1>中断请求;

<2>中断判优;

<3>中断响应;

<4>中断服务;

<5>中断返回。

I/O接口电路中的硬件:中断请求触发器、中断屏蔽触发器、排队器和中断向量地址形成部件等。

设备选择电路:判别对应的接到总线上的设备

数据缓冲寄存器:暂存来往的读/写数据

设备状态标记:接口中的标志触发器D、B,标志设备的工作状态

D触发器:完成触发器,1表示设备准备就绪,0表示设备还没有准备好

B触发器:工作触发器,1表示启动设备,0表示停止设备

程序中断方式流程(输入):

<1>CPU发出启动I/O设备命令;

<2>接口启动输入工作;

<3>输入设备将数据送入数据缓冲寄存器;

<4>数据传输结束时,向接口发出设备工作结束信号,即设备准备就绪;

<5>当设备准备就绪且未被屏蔽时,由CPU发出中断查询信号;

<6>中断判优;

<7>满足中断条件时,进入中断响应阶段;

<8>向量地址送到PC,作为下一条指令的地址;

<9>执行中断服务程序;

<10>中断服务程序结束,中断返回到原程序的断点处。

(3)DMA方式

完全由硬件进行信息成组传送的控制方式,主存与高速I/O设备直接进行数据交换而不经过CPU,称为直接存储器存取方式,硬件开销较大。

DMA方式同时访存:

<1>停止CPU访问主存

冲突时,DMA发送一个信号给CPU,要求CPU放弃总线控制权,由DMA开始进行数据传输;DMA传输结束后,再通知CPU并交还总线控制权给CPU。

优点:控制简单,适用于高速I/O设备成组传送

缺点:访存阶段,主存的效率降低

<2>周期挪用

CPU不访存时,DMA直接取得总线控制权;

CPU正在访存时,必须等待存储周期结束后,DMA再获得总线控制权;

CPU和DMA同时需要访存时,CPU暂时放弃总线控制权,由I/O设备挪用一个或几个存储周期。

挪用过程:

a、申请总线控制权

b、建立总线控制权

c、归还总线控制权

<3>DMA和CPU交替访问

适用于CPU工作周期 > 主存存取周期的情况

CPU和DMA交替获取总线控制权

DMA功能:

<1>向CPU申请DMA传送;

<2>处理总线控制权的交接;

<3>DMA期间管理总线,控制数据传送;

<4>确定数据传输的起始长度;

<5>数据块传送结束,发出操作完成信号。

DMA组成:

<1>AR:存放数据块首地址,有计数功能

<2>WC:字计数器,存放交换数据的字数

<3>DAR:设备地址寄存器,存放设备号

<4>BR:数据缓冲寄存器,存放主存和设备之间交换的数据字

<5>DMA控制逻辑:管理DMA传送数据的过程

<6>中断逻辑:中断数据传输,向CPU提出后处理请求

DMA传送过程:

<1>预处理

a、指明数据传输方向;

b、确定具体是哪一个设备进行I/O数据传输;

c、发送数据字的首地址;

d、WC确定字的个数;

<2>数据传送(输入)

DMA数据传送以数据块为单位进行传输

这个阶段CPU继续执行现行程序,DMA完成数据传送过程

a、设备准备就绪,数据字读到DMA的数据缓冲寄存器BR中;

b、设备向DMA接口发送DREQ请求;

c、DMA接口向CPU申请总线控制权HRQ;

d、CPU给出HLDA信号,允许总线控制权交给DMA接口;

e、DMA主存地址寄存器中的主存地址传送给地址总线;

f、DMA控制逻辑通知I/O设备准备传输下一个字;

g、DMA数据缓冲寄存器中的数据字传送到数据总线中;

h、主存将传来的数据放在地址总线指定的主存地址中去;

i、修改主存地址和字计数值;

j、判断是否结束数据传输,未结束则继续,结束则发出中断请求,表示数据块传输结束。

<3>后处理

响应DMA的中断请求后,CPU停止执行原程序,转去执行中断服务程序,进行DMA的后处理工作。

功能:

<1>校验数据传输的准确性;

<2>是否继续使用DMA方式传输数据;

<3>测试传送过程中是否发生错误。

DMA特点:

<1>硬件传送数据;

<2>DMA可在指令周期内的任意存储周期结束时响应;

<3>DMA适用于大批量数据的传输;

<4>DMA只有在后处理中用到中断;

<5>DMA优先级大于程序中断;

<6>数据传输不占用CPU时间。

例题:DMA接口采用周期窃取方式将字符送到存储器,支持的最大批量为400B.假设存取周期是0.2微秒,每次处理中断需要5微秒,现有的字符设备的传输速率是9600bit/s。若字符间的传输无间隙,则:

<1>DMA方式每秒因数据传输占用处理器多少时间?

<2>完全采用中断方式时,需要占用处理器多少时间(忽略预处理)?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值