学习目标:
1.理解程序在访问输入/输出(I/O)设备时的性能挑战
2.理解两种不同的访问外设机制:轮询和中断
3.理解中断的工作过程
4.理解中断如何提升程序性能
5.了解指令集体系结构中的特权指令系统
6.了解异常和进程的概念
一、内存映射I/O主要结构
二、程序访问I/O设备的机制:轮询(Polling)
I/O设备提供一个状态寄存器,告诉处理器是否达到就绪状态,处理器反复读取I/O设备的状态寄存器,从而了解到“新数据数否准备就绪”;当处理器完成数据读取或数据写入,I/O设备重置状态寄存器。
我们可以通过使用Logisim电路开源软件进行实践,观察轮询机制开销:
三、程序访问I/O设备的机制:中断
中断是指某种非程序预期的事件,使得CPU暂停当前程序,转向为改时间服务的中断处理程序,并在事件处理完毕后,再次恢复执行原来被暂停的程序。
在中断机制中的软硬件协同:
学习小结:
1.在轮训机制开销实践中,电路两次点击间隔时间越长,轮询消耗时间越多
2.硬件在中断发生时,会保存中断指令的地址,帮助加载中断服务程序,恢复中断位置,写断电至PC内
3.启动始终模拟后,程序将不在轮询外设的状态,从而节省轮询中断机制的开销。