计组第五章学习笔记

输入输出系统

  • I/O设备与主机信息传送的控制方式
    • 程序查询方式

      • 在IO设备准备阶段,CPU一直在等待阶段,没有执行其他指令或者其他工作,CPU效率极低
        在这里插入图片描述
    • 程序中断方式

      • CPU被一定程度的从输入输出中解放出来
      • 在IO进行准备时,CPU不进行查询,只有当外部设备开始进行信息交换时,CPU会暂停现行程序,为输入输出进行服务
      • 外部设备准备好接收或者输入设备后,会向cpu提出中断请求
        在这里插入图片描述
        在这里插入图片描述
    • DMA 方式

      • 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等等
        • 中断服务
          • 执行中断处理小程序
        • 恢复现场
          • 出栈指令
        • 中断返回
          • 中断返回指令
      • 单重中断和多重中断
        • 单重:不允许中断现行的中断服务程序
        • 多重:允许级别更高的中断源中断现行的中断服务程序(中断的嵌套)
          在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

寂寞烟火~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值