做100个网站挂广告联盟,建筑工程人才网,二道江网站建设,做网站好赚钱吗当在键盘上按下一个键时会进行一下操作#xff1a; 1.当按下任意一个键时#xff0c;键盘编码器监控会来判断按下的键是哪个 2.键盘控制器用将解码,将键盘的数据保存到键盘控制器里数据寄存器里面 3.此时发送一个中断请求给中断控制器#xff0c;中断控制器获取到中断号发送… 当在键盘上按下一个键时会进行一下操作 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的后续操作即可。如下两图