将用户编制的程序(或数据)输入主机内
将运算结果输出给用户
实现输入输出系统与主机工作的协调
完成计算机内部二进制信息与外部多种信息形式间的交流
保证CPU能正确选择I/O设备并实现对其控制,传输大量数据,避免数据出错
利用数据缓冲,选择合适的数据传送方式等,实现主机与外设间速度的匹配
异步性
外设的工作速度和CPU相差甚远,外围设备相对于处理机通常是异步工作
实时性
输入输出的操作必须按各设备实际工作速度,控制信息流量和信息交换的时刻
设备无关性
输入输出与具体设备无关,具有独立性
一种为主机和外设之间传送信息而设置的硬件线路。在系统总线和外设之间传输信号,提供缓冲作用,以满足接口两边的时序要求。
主要部件:
操作码
命令码
设备码
判别代码
I/O设备的具体操作
设备的地址
I/O指令是机器指令的一类,其指令格式与其他指令既有相似之处,又有所不同。
优点
缺点
不需要专门的I/O指令,CPU访问I/O操作更灵活、更方便
端口占用了存储器地址
还可使端口有较大的编址空间
数据I/O操作执行速度较慢
优点
缺点
I/O指令和存储器指令区别明显,程序编址清晰,便于理解
I/O指令少,一般只能对端口进行传送操作
需要CPU增加 M/IO*信号,增加了控制的复杂性
选择输入设备
CPU把一个地址放在AB
CPU等候输入设备的数据成为有效
CPU从DB读入数据,放入寄存器
选择输出设备
CPU把一个地址放在AB
CPU把数据放在DB
输出设备认为数据有效,取走数据
CPU默认外设始终准备就绪,不检查I/O的状态就进行数据的传输
优点
缺点
硬件接口电路和软件控制程序都比较简单
一般的外设难以满足要求
CPU通过程序不断查询I/O设备是否做好准备,从而控制I/O设备与主机交换信息
优点
缺点
主机和外设之间能同步,接口设计简单,设备量少
CPU花费大量时间查询和等待,效率低下
CPU启动I/O设备之和,不查询设备是否准备好,继续执行自身程序,当I/O设备准备就绪并向CPU发出中断请求之和才予以响应。
中断的定义:CPU正常运行程序时,出现异常或特殊请求,CPU中断正在运行的程序,转到中断事件服务程序,服务完毕,再回到原程序的过程。
中断作用:
中断的分类:
中断
内部中断
外部中断
自愿中断
指令中断
强迫中断
硬件故障
软件中断
可屏蔽 INTR
不可屏蔽 NMI
既可用硬件排队,也可用软件排队
多个中断源提出请求,处理器在一个时刻只能响应一个请求,按优先级予以响应
一般速度较快的I/O设备优先级较高
程序查询法:
当有中断请求时,CPU转向固定的中断查询程序入口,按照优先级依次检查所有设备。适用于低速和中速设备。
优点
缺点
程序可以任意改变设备优先级
速度慢
硬件向量法:
中断号:系统分配给每个中断源的代号,便于识别和处理。
编码电路根据排队器的输出信号产生一个预定的地址码,称为中断号。中断号0~255。每项4个字节。构成了中断向量表。中断向量表在主存中00000H-003FFH共1KB的空间,存放了中断处理子程序的入口地址信息。
00000H
子程序所在段的段偏移
00001H
子程序所在段的段偏移
00002H
子程序所在段的段首址
00003H
子程序所在段的段首址
高地址内容送入CS,低地址内容送入IP
开中断
关中断
EINT置1
EINT置0
处理某个中断时又来了新的中断请求,中断当前服务程序的执行,转去执行新的中断处理。一般等级高的中断打断等级低的中断,等级相同或低的不能打断等级高的中断。
INTR可以进行中断嵌套,NMI不能进行中断嵌套
单级中断:执行中断服务程序时对新的中断不予理睬
Created with Raphaël 2.2.0
单级中断
关中断
识别中断源
设置新的屏蔽字
中断服务
恢复现场和屏蔽字
开中断
中断返回 恢复断点
关中断
EINT置0,CPU专心保存或恢复现场,即使有更高级中断请求也不响应
保护现场
1. 保存程序断点 2. 除了PC和PSW,如果中断服务程序要动用哪些寄存器,就把这些寄存器原来的内容压入堆栈
设置新屏蔽字
封锁优先级相同或比较低的请求,让CPU不用去判断是否响应
恢复现场和屏蔽字
将保存在堆栈中的信息送回原来的寄存器中
中断返回
回到原程序的断点处
多级中断:在保护现场后开中断,可以执行中断嵌套
Created with Raphaël 2.2.0
多级中断
关中断
识别中断源
设置新的屏蔽字
开中断
中断服务
关中断
恢复现场和屏蔽字
开中断
中断返回 恢复断点
DMA控制器获得总线的控制权,数据交换不经过CPU,而直接在内存和设备之间进行。适用于高速大批量数据传送的系统中,比如磁盘和主存之间。
DMA控制器的工作状态
被动态
未去掉总线控制权,受CPU的控制
主动态
接管并取得总线控制权,取代CPU而成为系统的主控者
Address Register
存放主存中需要交换的数据的地址
Word Counter
用于记录传送数据的总字数,当WC溢出(全0),表示一批数据交换完毕
Buffer Register
用于暂存每次传送的数据
DMA控制逻辑
负责管理DMA的传送过程,由控制电路、时序电路及命令状态控制寄存器组成
中断机构
WC溢出时,溢出信号通过中断机构向CPU提出中断请求,请求CPU作DMA操作后处理
Device Address Register
存放I/O设备的设备码或表示设备信息存储区的寻址信息
Created with Raphaël 2.2.0
预处理
提出占用总线请求
CPU按优先级响应请求
数据传输
后处理
预处理:
数据输入:
数据输出:
后处理:CPU进入中断,为DMA收尾。
优点
缺点
适用于数据传输速率很高的设备进行成组传送(磁盘)
DMAC访存过程中,内存的效能够没有充分发挥
停止CPU访存方式下,相当一部分内存工作周期是空闲的。因为传送两个数据之间的间隔一般总是大于内存存储周期,即使高速I/O设备也是如此。
优点
缺点
既实现了I/O传送,又较好地发挥了内存和CPU的效率
每次周期挪用都要申请,建立,归还总线控制权
周期挪用方式适用于I/O设备读写周期大于内存存储周期的情况。
优点
缺点
不需要频繁重复总线使用权申请,建立,归还的过程。
CPU的系统周期比存储周期长得多,相应硬件逻辑更复杂
通道是一个特殊功能的处理器,有自己的指令和程序专门负责数据输入输出的传输控制
CPU将“传输控制”的功能下放给通道。通道与CPU分时使用内存,实现了CPU内部运算和I/O设备的并行工作。
Created with Raphaël 2.2.0
按下一个键
查出按下的是哪个键
把该键翻译成ASCII码
发送给主机
未按键时:扫描随计数器的循环计数而反复进行
按下某键时:键盘通过单稳电路产生一个脉冲信号。
RD信号用途:
- 可以用来作为读出ROM的片选信号
- 经过一段延迟后,可以用来清除中断请求触发器,并重新启动计数器
消抖电路:按键时出现的机械抖动容易造成误动
采用奇偶校验来提高传输的可靠性
由简单的硬件和专用软件识别按键的位置,提供位置码,然后由CPU执行查表程序,将位置码转换成ASCII码
手机扫一扫
移动阅读更方便
你可能感兴趣的文章