第七章 输入/输出系统
I/O控制方式
1、程序查询方式:由CPU通过程序不断查询I/O设备是否已做好准备,从而控制I/O设备与主机交换信息
2、程序中断方式:只在I/O设备准备就绪并向CPU发出中断请求时才予以响应
3、DMA方式:主存和I/O设备之间有一条数据通路,当主存和I/O设备交换信息时,无需调用中断服务程序
4、通道方式:在系统中设有通道控制部件(微型CPU),每个通道都挂接若干外设,主机在执行I/O命令时,只需启动有关通道,通道将执行通道程序,从而完成I/O操作
I/O系统基本组成
1、I/O软件:包括驱动程序、用户程序、管理程序、升级补丁等
通常采用I/O指令和通道指令实现CPU和I/O设备的信息交换
①、I/O指令:CPU指令的一部分,因而需要操作码字段进行识别
操作码只用来指出该指令时I/O指令
命令码指出做什么操作
设备码指出对哪个设备进行操作
②、通道指令:通道自身的一部分,不属于CPU指令
指出数据的首地址、传送字数、操作命令
通道指令放在主存中
由CPU执行启动I/O设备的指令,由通道代替CPU对I/O设备进行管理
2、I/O硬件 包括外部设备、设备控制器和接口、I/O总线等
接口:在各个外设与主机之间传输数据时进行各种协调工作的逻辑部件
设备控制器:将电信号翻译成对I/O设备的具体的动作
外部设备:是除了主机(主存+CPU)以外的、能直接或间接与计算机交换信息的装置
输入设备:用于向计算机系统输入命令和文本、数据等信息的部件。键盘和鼠标是最基本的输入设备
输出设备:用于将计算机系统中的信息输出到计算机外部进行显示、交换等的部件。显示器和打印机是最基本的输出设备
外存设备:是指除计算机内存及CPU缓存等以外的存储器。硬磁盘、光盘等是最基本的外存设备
外存储器:
又称为辅助存储器,目前主要使用磁表面存储器
磁表面存储,是指把某些磁性材料薄薄地涂在金属铝或塑料表面上作为载磁体来存储信息。
优点:存储容量大,位价格低;记录介质可重复使用;记录信息可长期保存而不丢失;非破坏性读出,读出时不需要再生
缺点:存取速度慢,机械结构复杂
磁盘设备的组成
1、存储区域
一块磁盘含有若干个记录面,每个记录面划分为若干条磁道(一圈一圈的圆),而每条磁道有划分为若干个扇区,扇区(圆弧,也称块)是磁盘读写的最小单位,也就是说磁盘按块存取
磁头数:即记录面数,表示磁盘共有多少个磁头,一个记录面对应一个磁头
柱面数:表示硬盘每一面盘片上有多少条磁道。在一个盘组中,不同记录面的相同编号(位置)的诸磁道构成一个圆柱面
扇区数:表示每一条磁道上有多少个扇区(扇区是圆弧,图示不符)
2、硬盘存储器
由磁盘驱动器、磁盘控制器和盘片构成
磁盘的性能指标
1、磁盘的容量:一个磁盘所能存储的字节总数成为磁盘容量
2、记录密度:盘片单位面积上记录的二进制的信息量
道密度:沿着磁盘半径方向单位长度上的磁道数
位密度:磁道单位长度上能记录的二进制代码位数
面密度:位密度和道密度的乘积
每个磁道记录的信息相等,所以每个磁道的位密度都不同
3、平均存取时间 = 寻道时间(磁头移动到目的磁道)+ 旋转延迟时间(磁头定位到所在扇区)+ 传输时间(传输数据所花费的时间)
4、数据传输率:磁盘存储器单位时间内向主机传送数据的字节数
假设磁盘转数为r(转 / 秒),每条磁道容量为N个字节,则数据传输率Dr = rN
I/O接口
接口是主机与外设之间的交接界面,通过接口可以实现主机和外设之间的信息交换
功能(要解决的问题):
1、实现主机和外设的通信联络控制
2、进行地址译码和控制选择
3、实现数据缓冲
4、信息格式的转换
5、传送控制命令和状态信息
功能(具体操作):
1、设备选址
2、传送命令
3、传送数据
4、反映I/O设备工作状态
内部接口:与系统总线相连,只能并行传输,实质上是与CPU、内存相连
外部接口:通过接口电缆和外设相连,数据传输可串行可并行
I/O端口
I/O端口是指接口电路中可以被CPU直接访问你的寄存器,主要有数据端口、状态端口和控制端口,若干端口加上相应的控制逻辑电路组成接口
I/O端口要想被CPU访问,必须要有端口地址,每一个端口对应一个端口地址
1、统一编址:把I/O端口当做存储器的单元进行地址分配,用统一的访存指令就可以访问I/O端口,又称存储器映射方式
靠不同的地址码区分内存和I/O设备,I/O地址要求相对固定在地址的某部分
2、独立编址:又称I/O映射方式,是指I/O端口地址与存储器地址无关,独立编址CPU需要设置专门的输入/输出指令访问端口
靠不同的指令区分内存和I/O设备
I/O方式
1、程序查询方式
特点:CPU有“踏步”等待现象,CPU与I/O串行工作
优点:接口设计简单,设备最少
缺点:CPU在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低
流程:
1、CPU执行初始化程序,并预置传送参数
2、向I/O接口发送命令字,启动I/O设备
3、CPU从接口读取设备状态信息
4、CPU不断查询I/O设备状态,直至外设准备就绪
CPU一旦启动I/O,必须停止现行程序的运行,并在现行程序中插入一段程序
5、传送一次数据
6、修改地址和计数器参数
7、判断传送是否结束,若未结束则转到第三步,直至计数器为0
2、程序中断方式
**中断:**程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序
中断的工作流程:
①、中断请求:中断源向CPU发送中断请求信号
②、中断响应:响应中断的条件
中断判优:多个中断源同时提出请求时通过中断判优逻辑响应一个中断源
③、中断处理:中断隐指令、中断服务程序
内中断(异常、例外、陷入):在处理器和内部产生的中断,与当前执行的指令有关
外中断(中断):来自处理器和内存以外的部件引起的中断,包括I/O设备发出的I/O中断、外部信号中断,以及各种定时器引起的时钟中断等,与当前执行的指令无关
非屏蔽中断:关中断(中断标志位IF=0)时也会被响应
可屏蔽中断:关中断时不会被响应
中断请求标记
为了记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器INTR,档期状态为1时,表示中断源有请求
这些触发器可组成中断请求标记触发器,该寄存器可集中在CPU中,也可分散在各中断源中
对于外中断,CPU是在统一的时刻即每条指令执行阶段结束前向接口发出中断查询信号,以获取I/O的中断请求,即CPU响应中断的时间是在每条指令执行阶段的结束时刻
CPU响应中断必须满足三个条件:
①、中断源有中断请求
②、CPU允许中断即开中断
③、一条指令执行完毕,且没有更紧迫的任务
中断判优既可以用硬件实现,也可用软件实现
硬件实现:硬件排队器
软件实现:查询程序
①、硬件故障中断属于最高级,其次是软件中断
②、非屏蔽中断优于可屏蔽中断
③、DMA请求优于I/O设备传送的中断请求
④、高速设备优于低速设备
⑤、输入设备优于输出设备
⑥、实时设备优于普通设备
中断隐指令
软件无法完成保存PC的任务,应由硬件实现:中断隐指令
主要任务:
①、关中断:在中断服务程序中,为了保护中断现场(即CPU主要寄存器中的内容)期间不被新的中断所打断,必须关中断,从而保证被中断的程序在中断服务程序执行完毕后能接着正确执行下去
②、保存断点:为了保证中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(即程序计数器PC 的内容)保存起来。可以存入堆栈或者指定单元
③、引出中断服务程序。引出中断服务程序的实质是取出中断服务程序的入口地址并传送给程序计数器PC
中断向量:中断服务程序的入口地址,每个中断服务程序都有一个中断向量
中断向量地址:中断服务程序的入口地址的地址
CPU响应中断后,中断硬件会自动将中断向量地址传送到CPU中,由CPU实现程序的切换
中断服务程序的主要任务
①、保存现场
一是保存程序断点PC,这已由中断隐指令完成
二是保存通用寄存器和状态寄存器的内容,由中断服务程序完成,可以使用堆栈或者特定存储单元
②、中断服务(设备服务)
主体服务,如通过程序控制需打印的字符代码送入打印机的缓冲存储器中
③、恢复现场
通过出栈指令或取数指令把之前保存的信息送回寄存器中
④、中断返回
通过中断返回指令回到原程序断点处
中断处理过程
中断屏蔽技术——应用于多重中断
①、在中断服务程序中提前设置开中断指令
②、优先级别高的中断源有权中断优先级低的中断源
每个中断源都有一个屏蔽触发器,1表示屏蔽该中断源的请求,0表示可以正常申请,所有屏蔽触发器组合在一起构成一个屏蔽字寄存器,屏蔽字寄存器的内容成为屏蔽字
程序中断方式工作图示
3、DMA方式
在DMA方式中,当I/O设备需要进行数据传送时,通过DMA控制器(DMA接口)向CPU提出DMA传送请求,CPU响应后将让出系统总线,由DMA控制器接管总线进行数据传送
主要功能(①、②传送前,③、④传送时,⑤传送后):
①、接收外设发出的DMA请求,并向CPU发出总线请求
②、CPU响应此总线请求,发出总线响应信号,接管总线控制权,进入DMA操作周期
③、确定传送数据的主存单元地址及长度,并能自动修改主存地址计数和传送长度计数
④、规定数据在主存和外设间的传送方向,发出读写控制信号,执行数据传送操作
⑤、向CPU报告DMA操作的结束
在DMA传送过程中,DMA控制器将接管CPU的地址总线、数据总线和控制总线,CPU的主存控制信号被禁止使用。当DMA传送结束后,将恢复CPU的一切权利并开始执行其操作。
DMA与中断方式对比