文章目录[隐藏]
CPU除了能够处理指令以外,还应该能够对外部设备进行控制,接收他们的输入,向他们进行输入。
要及时处理外设的输入,CPU需要解决两个问题:
1.外设的输入随时可能发生,CPU如何得知
2.CPU从何处得到外设的输入
接口芯片和端口
PC系统的接口卡和主板上有各种接口芯片,这些外设接口芯片中存在若干寄存器,CPU把这些寄存器当作端口来访问。
因此这里可以回答第二个问题,即CPU从端口得到外设的数据。
外设的输入不直接送入内存和CPU,而是送入相关的接口芯片的端口中;CPU向外设的输出也不是直接送入外设,而是先送入端口中,再由相关的芯片送到外设。CPU还可以向外设输出控制命令,而这些控制命令也是先送到相关芯片的端口中,然后再由相关的芯片根据命令对外设实施控制。
可见,CPU通过端口和外部设备进行联系。
外中断信息
现在来回答第一个问题,当CPU的外部有需要处理的事情发生时,比如说外设的输入到达,相关芯片将向CPU发出相应的中断信息。CPU在执行完当前指令后,可以检测到发送过来的中断信息,引发中断过程,处理外设的输入。
可屏蔽中断
可屏蔽中断是CPU可以不响应的中断,当标识位IF=1,则响应,反之不响应。
不可屏蔽中断
不可屏蔽中断是CPU必须相应的中断,当CPU检测到不可屏蔽中断信息时,则在执行完当前指令后,立即响应,引发中断过程。
PC机键盘的处理过程
1.键盘输入:按下或松开一个键时,会向主板上相关芯片上的60h端口发送扫描码
2.引发9号中断:扫描码到达端口后,相关的芯片就会向CPU发送9号可屏蔽中断信息
3.执行中断:BIOS提供了9号中断例程。
端口和中断机制,是CPU进行IO的基础。
版权声明:本文为CSDN博主「EJoft」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/EJoft/article/details/122548692
CPU除了能够处理指令以外,还应该能够对外部设备进行控制,接收他们的输入,向他们进行输入。
要及时处理外设的输入,CPU需要解决两个问题:
1.外设的输入随时可能发生,CPU如何得知
2.CPU从何处得到外设的输入
接口芯片和端口
PC系统的接口卡和主板上有各种接口芯片,这些外设接口芯片中存在若干寄存器,CPU把这些寄存器当作端口来访问。
因此这里可以回答第二个问题,即CPU从端口得到外设的数据。
外设的输入不直接送入内存和CPU,而是送入相关的接口芯片的端口中;CPU向外设的输出也不是直接送入外设,而是先送入端口中,再由相关的芯片送到外设。CPU还可以向外设输出控制命令,而这些控制命令也是先送到相关芯片的端口中,然后再由相关的芯片根据命令对外设实施控制。
可见,CPU通过端口和外部设备进行联系。
外中断信息
现在来回答第一个问题,当CPU的外部有需要处理的事情发生时,比如说外设的输入到达,相关芯片将向CPU发出相应的中断信息。CPU在执行完当前指令后,可以检测到发送过来的中断信息,引发中断过程,处理外设的输入。
可屏蔽中断
可屏蔽中断是CPU可以不响应的中断,当标识位IF=1,则响应,反之不响应。
不可屏蔽中断
不可屏蔽中断是CPU必须相应的中断,当CPU检测到不可屏蔽中断信息时,则在执行完当前指令后,立即响应,引发中断过程。
PC机键盘的处理过程
1.键盘输入:按下或松开一个键时,会向主板上相关芯片上的60h端口发送扫描码
2.引发9号中断:扫描码到达端口后,相关的芯片就会向CPU发送9号可屏蔽中断信息
3.执行中断:BIOS提供了9号中断例程。
端口和中断机制,是CPU进行IO的基础。
版权声明:本文为CSDN博主「EJoft」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/EJoft/article/details/122548692
暂无评论