当前位置: 首页 > news >正文

键盘是如何使用中断机制的?当打印一串字符到显示屏上时发生了什么???

当在键盘上按下一个键时会进行一下操作:

1.当按下任意一个键时,键盘编码器监控会来判断按下的键是哪个

2.键盘控制器用将解码,将键盘的数据保存到键盘控制器里数据寄存器里面

3.此时发送一个中断请求给中断控制器,中断控制器获取到中断号发送给CPU

4.cpu通过中断向量表(在操作系统初始化形成)来找到键盘服务程序的内存地址,此时cpu的程序计数器直接跳转到键盘中断程序。

5.在进行新程序时需要保存上个程序寄存器的一些值,以便于下次继续进行以前的操作

6.键盘中断服务程序一定存在于操作系统程序中,因为会进行in或者out等内核操作。

7.IN EAX  0x03FA    将0x03FA对应的键盘控制器的寄存器的值读取到CPU的 EAX中, OUT   0x06B1    EAX  将EAX的值写到显示控制器中0X06B1对应的寄存器中从而显示到屏幕上。

 当打印完后需要响应一次中断,之后CPU还需要将内存的打印字符再送到打印机的寄存器中,会极大浪费cpu的开销。此时加入一个DMA机制来缓解CPU的的开销,将数据移动的任务交给DMA,只需要在所有打印任务完成之后触发一次中断,最后恢复应用程序1的后续操作即可。如下两图

 

 

http://www.lryc.cn/news/405551.html

相关文章:

  • Spring Boot 接口访问频率限制的实现详解
  • 前端页面:用户交互持续时间跟踪(duration)user-interaction-tracker
  • 中文分词库 jieba 详细使用方法与案例演示
  • EXO-helper解释
  • Qt开发网络嗅探器01
  • mysql面试(三)
  • 阿里云公共DNS免费版自9月30日开始限速 企业或商业场景需使用付费版
  • 捷配生产笔记-一文搞懂阻焊层基本知识
  • html 常用css样式及排布问题
  • 【SpingCloud】客户端与服务端负载均衡机制,微服务负载均衡NacosLoadBalancer, 拓展:OSI七层网络模型
  • 【Elasticsearch】Elasticsearch 中的节点角色
  • pip install与apt install区别
  • 分表分库是一种数据库架构的优化策略,用于处理大规模数据和高并发请求,提高数据库的性能和可扩展性。
  • 【ffmpeg命令入门】获取音视频信息
  • 【IoTDB 线上小课 05】时序数据文件 TsFile 三问“解密”!
  • python-爬虫实例(4):获取b站的章若楠的视频
  • C# yaml 配置文件的用法(一)
  • 人工智能与机器学习原理精解【4】
  • Go channel实现原理详解(源码解读)
  • 数据结构-C语言-排序(4)
  • 灰色关联分析【系统分析+综合评价】
  • linux 部署flask项目
  • ES6 数值的扩展(十八)
  • 面试知识储备-redis和redission
  • 【5本可选】保证知网检索,现在投稿可在8月见刊,对文科领域友好
  • SpringBoot入门:如何新建SpringBoot项目(保姆级教程)
  • 数据恢复篇:适用于 Android 视频恢复的 6 个工具
  • Android笔试面试题AI答之控件Views(6)
  • 扭蛋机潮玩小程序搭建,扭蛋机行业的创新
  • supOS赋能千行百业