计组第五章学习笔记
输入输出系统
- I/O设备与主机信息传送的控制方式
-
程序查询方式
- 在IO设备准备阶段,CPU一直在等待阶段,没有执行其他指令或者其他工作,CPU效率极低
- 在IO设备准备阶段,CPU一直在等待阶段,没有执行其他指令或者其他工作,CPU效率极低
-
程序中断方式
- CPU被一定程度的从输入输出中解放出来
- 在IO进行准备时,CPU不进行查询,只有当外部设备开始进行信息交换时,CPU会暂停现行程序,为输入输出进行服务
- 外部设备准备好接收或者输入设备后,会向cpu提出中断请求
-
DMA 方式
- CPU发出启动IO指令,IO设备在DMA控制器的控制下完成数据准备,当数据准备好后,由DMA控制器发出DMA请求,占用总线使用权,占用一个存取周期,进行外部设备和内存的数据交换,在这一个周期中CPU不能使用总线对内存进行访问
- CPU发出启动IO指令,IO设备在DMA控制器的控制下完成数据准备,当数据准备好后,由DMA控制器发出DMA请求,占用总线使用权,占用一个存取周期,进行外部设备和内存的数据交换,在这一个周期中CPU不能使用总线对内存进行访问
-
三种方式的CPU工作效率的比较
-
- 键盘
- 键盘防抖动(震颤)的方法
- 软件:汇编语言,加延迟delay,delay的时间非常小
- 硬件:基本RS触发器
- 如何判断键盘哪个键被按下?
- 将键盘编码,把键翻译成ASCII码值
- 两个键被按下,哪个被认为真正按下的?
- 根据按下时间来判断
- 键盘防抖动(震颤)的方法
- IO接口
- IO接口的基本组成
- 程序查询的接口电路
- CPU通过地址线给出外部设备地址,设备选择电路把自己的设备地址和地址线上的地址进行比较,如果相同,说明启动的是连接在接口电路上的设备,SEL有效,启动命令也有效,对两个状态标记进行置位或者复位
- cpu发出命令,设备还没开始工作,则D为0,B为1,表示设备开始工作,处于忙的状态
- 设备接收到B的标记信号后以及启动命令后,开始工作,通过数据线保存到DBR中,此时设备工作结束,通过状态线向接口电路送入工作结束信号
- 此时D为1,表示数据已经准备就绪,B为0,设备工作已结束
- CPU通过数据线把数据进行读入
- 程序中断的接口电路
- 配置中断请求触发器和中断屏蔽触发器
- 如果INTR输出端为1,表示有中断请求,并且可以通过中断请求线告诉cpu外部设备有中断请求
- MASK的Q输出为1表示这个中断会被屏蔽,为0不会被屏蔽掉
- 中断排队器:硬件的话是链式排队器
- 中断向量地址形成部件
- 中断向量和子程序入口地址区别
- 子程序入口地址存放在向量地址空间中
- 由硬件产生向量地址,再用向量地址找到入口地址
- 中断向量和子程序入口地址区别
- 配置中断请求触发器和中断屏蔽触发器
- 中断服务程序流程
- 中断服务程序流程
- 保护现场
- 程序断点的保护(进栈指令 保护pc) 中断隐指令完成
- 寄存器内容的保护 进栈指令,保护ax,bx,cx等等
- 中断服务
- 执行中断处理小程序
- 恢复现场
- 出栈指令
- 中断返回
- 中断返回指令
- 保护现场
- 单重中断和多重中断
- 单重:不允许中断现行的中断服务程序
- 多重:允许级别更高的中断源中断现行的中断服务程序(中断的嵌套)
- 中断服务程序流程
- IO接口的基本组成