作者:Gakki
CPU 与 I/O 设备交换数据所用的控制方式。
- 当 I/O 接口准备好接收数据或传送数据时,就发出中断信号通知 CPU。对中断信号进行确认后,CPU 保存正在执行的程序的现场,转而执行提前设置好的 I/O 中断服务程序,完成一次数据传送的处理。这样,CPU 就不需要主动查询外设的状态,在等待数据期间可以执行其他程序,从而提高了 CPU 的利用率。采用中断方式管理 I/O 设备,CPU 和外设可以并行地工作。
- 直接存储器存取(Direct Memory Access, DMA)方式的基本思想是:通过硬件控制实现主存与 I/O 设备间的直接数据传送,数据的传送过程由 DMA 控制器(DMAC) 进行控制,不需要 CPU 的干预。 在 DMA 方式下,由 CPU 启动传送过程,即向设备发出“传送一块数据”的命令,在传送过程结束时,DMAC 通过中断方式通知 CPU 进行一些后续处理工作。 DMA 方式简化了 CPU 对数据传送的控制,提高了主机与外设并行工作的程度,实现了快速外设和主存之间成批的数据传送,使系统的效率明显提高。
中断流程图中断原理。
- 中断:指 CPU 在正常运行程序时,由于程序的预先安排或内外部事件,引起 CPU 中断正在运行的程序,转到发生中断事件程序中。
- 中断源:引起程序中断的事件称为中断源。
- 中断向量:中断源的识别标志,中断服务程序的入口地址。
- 中断向量表:按照中断类型号从小到大的顺序存储对应的中断向量,总共存储 256 个中断向量。
- 中断响应:CPU 在执行当前指令的最后一个时钟周期去查询有无中断请求信号,有则响应。
- 关中断:在保护现场和恢复现场过程中都要先关闭中断,避免堆栈错误。
- 保护断点:是保存程序当前执行的位置。
- 保护现场:是保存程序当前断点执行所需的寄存器及相关数据。
- 中断服务程序:识别中断源,获取到中断向量,就能进- 入中断服务程序,开始处理中断。
- 中断返回:返回中断前的断点,继续执行原来的程序。
中断响应时间指的是从发出中断请求到开始进入中断处理程序;中断处理时间指的是从中断处
理开始到中断处理结束。中断向量提供中断服务程序的入口地址。多级中断嵌套,使用堆栈来保护
断点和现场。
外部中断与内部中断。
- 在CPU执行程序的过程中,由于某一个外部的或CPU内部事件的发生,使CPU暂时中止正在执行的程序,转去处理这一事件,当事件处理完毕后又回到原先被中止的程序,接着中止前的状态继续向下执行。这一过程就称为中断。
- 引起中断的事件就称为中断源。若中断是由CPU内部发生的事件引起的,这类中断源就称为内部中断源;若中断是由CPU外部的事件引起的,则称为外部中断源。
- 中断包括软件中断(不可屏蔽)和硬件中断。
- 软中断为内核触发机制引起,模拟硬件中断。
- 硬件中断又分为外部中断(可屏蔽)和内部中断(不可屏蔽)。外部中断为一般外设请求;内部中断包括硬件出错(掉电、校验、传输)和运算出错(非法数据、地址、越界、溢出等)。 打印机中断属于可屏蔽的外部中断。
嵌入式操作系统的基本概念。
- 嵌入式操作系统的主要特点包括微型化、可定制、实时性、可靠性和易移植性。
- 可定制是指从减少成本和缩短研发周期考虑,要求嵌入式操作系统能运行在不同的微处理器平台上,能针对硬件变化进行结构与功能上的配置,以满足不同应用需要。
- 实时性:嵌入式设备通常需要快速响应输入输出请求以及其他事件,嵌入式操作系统需要提供足够高的实时性能
- 可裁剪性:嵌入式设备往往具有资源受限的特点,因此嵌入式操作系统需要支持根据项目需求进行功能裁剪
- 低功耗:很多嵌入式设备无法直接提供大量电量供应,因此嵌入式操作系统需要具有较低的功耗需求,在满足项目需求的同时尽量降低电力消耗
- 可移植性:嵌入式设备通常有不同的硬件平台,嵌入式操作系统需要支持跨平台移植,以便在不同的设备上复用实现
- 支持多任务:嵌入式设备通常需要同时处理多个事件和请求,因此嵌入式操作系统需要支持多任务机制,确保程序可以并发运行
浮点数计算。
- 在机器中表示一个浮点数时,一是要给出尾数,用定点小数形式表示,尾数部分给出有效数字的位数,因而决定了浮点数的表示精度。二是要给出指数,用整数形式表示,常称为阶码,阶码指明小数点在数据中的位置,因而决定了浮点数的表示范围。 - 例如,浮点数X=1101.0101,Y=10.0111,按照浮点格式(忽略标准格式要求)表示为 X=0.11010101 * 2^4, Y=0.100111 * 2^2。
- 若进行加减运算,需要先对阶,也就是在阶码一致的情况下对尾数部分进行加减运算;
- 若进行乘除运算,则不要求阶码一致。相乘时阶码部分为两个浮点数的阶码相加,尾数部分直接相乘,之后再按照规格化等要求进行处理。
网友评论