I/O 控制方式解决 CPU 与外设之间的数据传输问题,从低效到高效依次为:程序查询方式 → 程序中断方式 → DMA 方式 → 通道方式。
CPU 启动外设后继续执行现行程序,外设准备好后向 CPU 发中断请求,CPU 响应中断后转入中断服务程序完成数据传输。
中断处理过程:
DMA 在外设和主存之间建立直接数据通道,数据传输不经过 CPU,由 DMA 控制器(DMAC)控制。
| 概念 | 定义 |
|---|---|
| 中断 | CPU 暂停现行程序,转去处理突发事件,处理完返回原程序继续执行 |
| 中断向量 | 中断服务程序的入口地址 |
| 中断向量表 | 存放所有中断向量的表格 |
| 中断屏蔽字 | 标识各中断源是否被屏蔽的位串,可动态改变优先级 |
| 中断嵌套 | 高优先级中断打断低优先级中断的处理过程 |
| DMA | 直接存储器访问,外设与主存直接传送数据 |
| 周期挪用 | DMA 利用 CPU 不访存的总线周期传送数据 |
| DMAC | DMA 控制器,管理 DMA 数据传送的硬件 |
| 单字传送 | DMA 每次传送一个字后归还总线 |
| 成组传送 | DMA 连续占用总线直到整个数据块传送完成 |
| 考点 | 说明 |
|---|---|
| 中断处理过程排序 | 给出中断处理步骤,要求正确排序 |
| 中断响应条件 | 判断 CPU 何时能响应中断(中断允许标志、优先级等) |
| 向量地址计算 | 由中断类型号和向量表参数计算向量地址 |
| 中断屏蔽字分析 | 给定屏蔽字矩阵,分析各中断源优先级与嵌套 |
| DMA 传送时间计算 | 计算 DMA 传送数据所需时间 |
| DMA 与 CPU 访存冲突 | 分析周期挪用方式下 CPU 的时间损失 |
| 中断与 DMA 对比 | 比较特点、场景、CPU 开销 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。