输入输出系统

1. 外围设备的速度分级与信息交换方式

  • 1.1 外围设备的速度分级
    根据外设的工作速度,CPU与外设的定时方式有以下3种:
    ① 速度极慢或简单的外围设备,CPU直接接收或发送数据。如:机械开关、发光二极管
    ② 慢速或中速的外围设备,采用异步定时方式,或称为应答式数据交换,CPU与外设之间通过两个相互的联络信号(应答信号,询问信号)来决定开始数据传送的时间。 如:键盘、显示器
    ③ 高速的外围设备,采用同步定时方式,CPU以等间隔的速率(由时钟脉冲控制)执行输入/输出指令。 如:主存、辅存

  • 1.2 信息交换方式
    程序查询方式:早期计算机中使用的一种方式,效率低
    程序中断方式:适用于随机出现的服务。
    直接内存访问(DMA)方式:适用于内存和高速外围设备之间大批数据交换的场合。
    通道方式:增加一个具有特殊功能的处理器—通道,将CPU的输入输出权力下放。
    外围处理机方式(PPU):是通道方式的进一步发展。

信息交换方式工作过程特点适用场合
程序查询方式CPU传送数据之前先检查外设的状态,若没有准备好,则继续查询等待,直至外设就绪即进行数据传送硬件要求,该方式只需接口电路的状态、数据口,不需增加其他控制电路。CPU主动查询,程序控制数据传送过程,简单易行;每次查询之后只能传送一个字或一个字节的数据,数据传输率不高,CPU时间浪费较多CPU不太忙且对传送速度要求不高的系统。
程序中断方式CPU有传送要求时,启动外设C后可处理其他事件,当外设准就绪后,通过中断的方式和CPU完成数据传送工作硬件要求,工作时需要附加的中断控制电路。一定程度上实现了CPU和外设的并行工作;中断操作过程增加了软硬件的开销,且每次数据传送只能传送一个字或一个字节的数据,数据传送效率低。CPU与慢速外设之间的数据传送。
直接内存访问(DMA)方式CPU分配总线使用权之后,在硬件DMA控制器(DMAc)的控制下完成存储器与高速外设之间的大量数据的传送。需要相应的DMA控制器及数据通路,电路结构复杂,硬件开销大特点数据传送不需要经过CPU,直接由硬件控制;外设与存储器之间的数据传送量大。包含有高速外设的系统中。
通道方式CPU将IO控制的权利下放给通道,由通道统一管理所有的输入输出操作硬件要求,需要IO通道(也称O处理器,IOP);通道是一个具有特殊功能的处理器。硬件代价较高;传送的效率高,并且减轻了CPU的工作负担高性能要求的系统中。

2. 程序查询方式

在这里插入图片描述
数据的输入输出完全由程序控制!

1、设备编址

编址方式优点缺点样例
统一编址方式 (将MO系统与主存系统作为一个整体进行编址)访问MO端口可使用访存指令,操作类型多样使用灵活,MO端口有较大的编址空间;占用主存空间,使实际主存容量减小,MO访问的指令字长较长,执行速度慢。在这里插入图片描述20位主存地址、16位I/0地址
独立编址方式 (将MO系统与主存系统分别编址;)I/O端口地址不占用主存空间,使用专用的I/O指令,指令字长短执行速度快; 与主存空间区分容易。在这里插入图片描述20位主存地址、16位I/0地址

2、输入输出指令

  • IO指令
    输入指令: IN AL/AX, DX/PORT
    从指定端口读入一个字节/字数据到累加器;
    输出指令: OUT DX/PORT,ALAX
    将累加器中的一个字节/字数据送到指定端口输出
    IO指令一般的功能

  • CPU向接口发命令字;
    ①对o接口的控制触发器置1或0,控制其进行某些操作;②测试设备的某些状态;
    CPU读取IO接口的状态字;
    ①②以数据形式传送控制、状态信息
    ③输入或输出数据;
    CPU与IO接口之间的数据传送

3、程序查询方式的接口

CPU通过地址信号选中某设备接口,CPU通过向该接口发送命令字的方式,启动外设
外设开始工作后,设置当前“忙”状态;CPU与外设通过接口内部的数据缓冲器传送数据;

在这里插入图片描述
4、程序查询输入/输出方式
程序执行动作如下:
①CPU请求数据传送
②CPU从MO接口读入状态字
③检查状态字中的标志
④未就绪,则重复②、③步直到设备就绪为止。
⑤CPU输入或输出数据,同时
复位接口中的状态标志。
特点:

可通过改变查询顺序修改设备的优先权,CPU工作效率低;
在这里插入图片描述

程序中断方式

中断的基本概念:
在这里插入代码片中断是指CPU正常运行程序时,由系统内外部非预期事件或程序中预先安排好的指令性事件引起的,CPU暂停当前程序的执行,转去为该事件服务的程序中执行,服务完毕后,再返回原程序继续执行的过程。
注意:
中断是一个CPU执行程序的变化过程;所有能引起中断的事件均称为中断源;处理中断事件的中断服务程序是预先设置好的;结束中断返回原程序时,要以原状态返回暂停处继续执行。

中断过程示意图:
在这里插入图片描述
有关中断:
①:中断处理过程是由硬件和软件结合来完成的
②:为什么要使用中断?
解决速度问题,使CPU和IO并行工作;对意外情况(如磁盘损坏、运算溢出等)能够及时处理。在实时控制领域中,及时响应外来信号的请求。

CPU的中断处理流程:

  • 1.中断请求
    CPU在结束一个指令周期后,检测中断请求信号(第一个问题:CPU公操作时检测保存中断请求信号的寄存器)
  • 2.中断响应
    关中断;由硬件自动完成(第三个同题:避免再次中断影响当前中断响应,屏蔽中断源;可实现中断优先权管理)
    保护断点现场;由软硬件共同完成(第二个问题为保证CPU能够正常返回主程序)
    判断中断源,获取中断向量
    根据中断向量转入中断服务程序进行(第四个问题中断处理过程由软硬件结合完成)
  • 3.中断服务
    保护CPU现场;对cPU内部寄存器的保护措施
    执行中断服务程序
    开中断(由软件完成)
    恢复CPU现场;
  • 4.中断返回
    恢复断点现场,返回主程序继续执行;

中断向量;

  • 中断服务程序的入口地址,包括段地址和段内偏移地址,共4个字节的内容;
    CPU响应中断时,将中断源对应的中断向量送入CS、P寄存器中,以跟踪中断服务程序的执行中断向量表:
  • 集中存放系统中所有中断向量的存储区。
    8086PC机中,将存储器物理地址为0~3FFH的1024个单元作为中断向量表,每个向量占用4个字节,可容纳256个中断向量。

中断处理流程:
在这里插入图片描述
中断处理过程中的问题:
第一个问题:
CPU只有在一条指令执行完毕转入公操作时时,才能处理外设的中断请求。
第二个问题:
中断返回时再恢复断点状态,为了保证中断服务程序执行完毕后,能够正确地返回到原断
点位置,则必须保存PC和当前CPU的状态到堆栈中。
第三个问题:
对中断源的优先权管理,CPU在中断响应期间,还可能有新的中断请求。为了不致于
造成混乱,中断管理部件中必须有中断屏蔽触发器,在中断响应期间屏蔽其他中断源。
第四个问题:
中断处理过程是由硬件和软件结合来完成的;中断周期由硬件实现,中断处理程序由机器指令序列实现。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙源lll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值