CPU输入输出机制与中断原理详解
1. 引言
在计算机系统中,CPU的诸多方面并非直接与指令集相关。像中断和内存管理等机制,对于CPU与其他系统元素的交互至关重要。同时,除了功能方面,CPU的性能和功耗也是程序的重要属性,它们与程序所使用的指令仅存在间接关联。
2. 输入输出编程基础
2.1 输入输出设备
输入输出设备通常包含模拟或非电子组件,如磁盘驱动器有旋转磁盘和模拟读写电子元件。但与CPU紧密相连的设备数字逻辑,和常见计算机系统中的逻辑非常相似。
CPU与设备内部(如磁盘驱动器的旋转磁盘和读写电子元件)通过一组寄存器进行交互。设备一般有以下几种寄存器:
- 数据寄存器 :存储设备视为数据的值,如磁盘读写的数据。
- 状态寄存器 :提供设备操作信息,如当前事务是否完成。
部分寄存器可能是只读的,如指示设备完成状态的状态寄存器;其他寄存器则可读可写。
以8251 UART(通用异步接收器/发送器)为例,它是用于串行通信的经典设备,如今其功能通常被更大的芯片集成,但仍使用8251定义的基本编程接口。UART可对多种传输和接收参数进行编程,传输的基本格式为每个字符以起始位(0)开始,以停止位(1)结束。数据位以统一速率作为高低电压发送,该速率称为波特率,1位的周期是波特率的倒数。
在传输或接收数据前,CPU需设置UART的模式寄存器以匹配数据线特性,相关参数如下表所示:
| 参数 | 取值及含义 |
| — | — |
| mode[1:0] | 00
超级会员免费看
订阅专栏 解锁全文
1024

被折叠的 条评论
为什么被折叠?



