vault backup: 2026-07-04 12:32:07
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
> 📖 本章介绍I/O设备与主机交换信息的三种控制方式:程序查询、中断和DMA。
|
||||
> 🎯 重点理解中断处理过程和DMA工作原理
|
||||
> ⚠️ 期中/期末重点章:中断处理过程、中断屏蔽字、DMA工作方式、三种I/O方式对比都是高频考点
|
||||
> 📝 课后习题重点关注 5.1~5.4、5.27、5.28、5.33~5.35
|
||||
|
||||
---
|
||||
|
||||
@@ -14,6 +16,7 @@
|
||||
- [[#5.5 程序中断方式]]
|
||||
- [[#5.6 DMA方式]]
|
||||
- [[#本章小结]]
|
||||
- [[#📖 真题与作业精选]]
|
||||
- [[#例题与解析]]
|
||||
|
||||
---
|
||||
@@ -179,7 +182,7 @@ graph TB
|
||||
- **优点**:简单,容易实现
|
||||
- **缺点**:CPU要不断查询,效率低
|
||||
|
||||
早期计算机和简单嵌入式系统常用这种方式,CPU要等打印机打印完才能做其他事情。
|
||||
这是三种I/O方式中考查频率最高的一种,考试常以对比题形式出现。早期计算机和简单嵌入式系统常用这种方式,CPU要等打印机打印完才能做其他事情。
|
||||
|
||||
---
|
||||
|
||||
@@ -204,6 +207,8 @@ graph TB
|
||||
|
||||
### 5.5.3 中断处理过程
|
||||
|
||||
> 这是考试高频考点,期中/期末都曾出过简答题或论述题,务必完整背诵七个步骤。
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
A[中断请求] --> B[中断判优]
|
||||
@@ -230,6 +235,15 @@ graph TB
|
||||
|
||||
7. **中断返回**:返回原程序继续执行,开中断允许新的中断
|
||||
|
||||
> [!important] 中断响应过程四步要点(考试常考简答)
|
||||
> 中断响应的具体步骤可以概括为四步:
|
||||
> 1. **关中断** -- 防止新中断打断响应过程
|
||||
> 2. **保存断点** -- 将PC(程序计数器)和PSW(程序状态字)保存到堆栈中
|
||||
> 3. **识别中断源** -- 确定是哪个设备发出的中断
|
||||
> 4. **转入服务程序入口** -- 跳转到对应的中断服务程序
|
||||
>
|
||||
> 注意:断点信息(PC和PSW)通常保存在**堆栈**中,这是考试经常考的细节。
|
||||
|
||||
这就像你正在工作时有人敲门:有人按门铃(中断请求),如果有多个人按门铃决定先开哪个门(中断判优),你决定去开门(中断响应),把正在做的工作记下来(保存现场),去开门处理事情(中断服务),回来看看之前做到哪里了(恢复现场),继续之前的工作(中断返回)。
|
||||
|
||||
当你按键盘时:键盘向CPU发送中断请求,如果有其他中断键盘中断可能优先级较低,CPU响应键盘中断,保存当前程序的状态,执行键盘中断服务程序处理按键,恢复之前保存的状态,返回原程序继续执行。
|
||||
@@ -255,10 +269,20 @@ graph TB
|
||||
|
||||
### 5.5.6 中断屏蔽
|
||||
|
||||
> 中断屏蔽字的设置是考试高频题型,期中/期末均出现过。务必掌握屏蔽字的构造方法:对于n个中断源,屏蔽字为n位,第i位为1表示屏蔽该中断源,为0表示开放。高优先级的中断源会屏蔽所有比自己低的中断源。
|
||||
|
||||
**原理**:通过设置中断屏蔽字,可以禁止某些中断。
|
||||
|
||||
中断屏蔽就像你设置了"请勿打扰",设置了门铃响了你也不去开门;不设置门铃响了你就去开门。CPU正在处理重要任务时屏蔽某些中断,CPU空闲时允许所有中断。
|
||||
|
||||
**屏蔽字构造规则**:
|
||||
- 每个中断源对应一个n位的屏蔽字(n为中断源总数)
|
||||
- 屏蔽字的第i位为1,表示该中断源处理时屏蔽第i个中断源
|
||||
- 为0表示允许(开放)该中断源
|
||||
- 高优先级中断源会屏蔽所有比自己优先级低的中断源
|
||||
|
||||
屏蔽字的构造方法看下面的真题精选部分有详细例题。
|
||||
|
||||
---
|
||||
|
||||
## 5.6 DMA方式
|
||||
@@ -272,6 +296,8 @@ DMA就像直达快递:传统方式你要从A地寄东西到B地必须经过C
|
||||
|
||||
### 5.6.2 DMA的工作方式
|
||||
|
||||
> DMA的三种工作方式是本章核心知识点,考试常以简答或对比题形式出现。
|
||||
|
||||
| 方式 | 特点 | 优点 | 缺点 |
|
||||
|------|------|------|------|
|
||||
| **停止CPU访问** | DMA传送时,CPU停止访问内存 | 简单 | CPU效率低 |
|
||||
@@ -313,6 +339,8 @@ graph TB
|
||||
|
||||
### 5.6.4 DMA与中断的区别
|
||||
|
||||
> DMA与中断的区别是考试必考内容,几乎每年都有相关题目,建议完整记忆下面的对比表。
|
||||
|
||||
| 特性 | DMA | 中断 |
|
||||
|------|-----|------|
|
||||
| **数据传送** | I/O和内存直接传送 | 通过CPU传送 |
|
||||
@@ -356,6 +384,71 @@ DMA像直达快递,东西直接从A地寄到B地不经过C地,速度快C地
|
||||
|
||||
---
|
||||
|
||||
## 📖 真题与作业精选
|
||||
|
||||
> 以下题目来自期中/期末考试真题、作业四及复习资料,覆盖本章高频考点,建议认真做完并理解。
|
||||
|
||||
### 精选1:中断屏蔽字设置(复习资料原题)
|
||||
|
||||
**题目**:设有4个中断源 A、B、C、D,硬件优先级为 A > B > C > D。现需要改变中断处理顺序为 C > A > D > B,请设置各中断源的中断屏蔽字。
|
||||
|
||||
**答案**:
|
||||
|
||||
屏蔽字为4位,从左到右分别对应 A、B、C、D。0 表示开放,1 表示屏蔽。
|
||||
|
||||
| 中断源 | 处理顺序 | 屏蔽字 (A B C D) | 解释 |
|
||||
|--------|----------|-------------------|------|
|
||||
| A | 第2 | **1 1 0 1** | A屏蔽自己和B、D,开放C(C优先级高于A) |
|
||||
| B | 第4 | **0 1 0 0** | B只屏蔽自己,其余全部开放 |
|
||||
| C | 第1 | **1 1 1 1** | C优先级最高,屏蔽所有 |
|
||||
| D | 第3 | **0 1 0 1** | D屏蔽自己和B,开放A和C |
|
||||
|
||||
**构造方法**:对于某个中断源 X,查看期望的处理优先级顺序。X 在处理过程中,所有优先级**低于** X 的中断源都应被屏蔽(对应位设为1),X 自身也被屏蔽,而所有优先级**高于** X 的中断源应被开放(对应位设为0)。
|
||||
|
||||
- C 处理时:C 优先级最高,没有比它更高的,全部屏蔽 -> `1111`
|
||||
- A 处理时:只有 C 比 A 高,所以开放 C,屏蔽 A、B、D -> `1101`
|
||||
- D 处理时:C 和 A 比 D 高,所以开放 C 和 A,屏蔽 D 和 B -> `0101`
|
||||
- B 处理时:A、C、D 都比 B 高,全部开放,只屏蔽 B 自身 -> `0100`
|
||||
|
||||
> 这是中断屏蔽字的经典考法,期中/期末都曾出现。做题关键:先确定期望的优先级顺序,然后对每个中断源,开放所有优先级比自己高的,屏蔽自己和所有优先级比自己低的。
|
||||
|
||||
### 精选2:三种I/O方式对比(作业四原题)
|
||||
|
||||
**题目**:对比程序查询、程序中断和DMA三种I/O控制方式的工作原理和特点。
|
||||
|
||||
**答案**:
|
||||
|
||||
| 对比项 | 程序查询 | 程序中断 | DMA |
|
||||
|--------|----------|----------|-----|
|
||||
| **工作原理** | CPU全程轮询设备状态 | 设备就绪后触发中断通知CPU | 硬件直接在I/O设备和内存间传送数据 |
|
||||
| **CPU参与度** | 全程参与 | 传送时参与 | 仅在初始化和结束时参与 |
|
||||
| **CPU效率** | 最低,CPU被占用 | 较高,但频繁中断有开销 | 最高,CPU基本被解放 |
|
||||
| **实现复杂度** | 最简单 | 中等 | 最复杂,硬件成本高 |
|
||||
| **适用场景** | 简单嵌入式系统 | 中等数据量,如键盘鼠标 | 大量高速数据传送,如硬盘 |
|
||||
|
||||
三种方式的核心区别在于CPU参与程度:程序查询CPU全程轮询效率最低,程序中断由设备就绪触发中断解放了CPU但频繁中断仍有开销,DMA通过专用硬件直接传送速度最快效率最高但硬件成本也最高。
|
||||
|
||||
> 这是三种I/O方式对比的标准答题框架,考试时按这个表格回答即可拿到满分。
|
||||
|
||||
### 精选3:中断响应过程(复习资料原题)
|
||||
|
||||
**题目**:简述CPU中断响应的具体过程。
|
||||
|
||||
**答案**:
|
||||
|
||||
CPU中断响应过程分为四步:
|
||||
|
||||
1. **关中断**:CPU关闭中断允许触发器,防止在响应过程中被新的中断打断
|
||||
2. **保存断点**:将PC(程序计数器)和PSW(程序状态字)压入堆栈保存,确保中断处理完后能正确返回
|
||||
3. **识别中断源**:通过硬件或软件方法确定是哪个设备发出的中断请求
|
||||
4. **转入服务程序入口**:将中断服务程序的入口地址送入PC,开始执行中断服务程序
|
||||
|
||||
注意:断点信息(PC和PSW)通常保存在**堆栈**中。关中断是第一步,因为如果在保存断点之前被新中断打断,断点信息就会丢失或出错。
|
||||
|
||||
> 中断响应过程和中断处理过程是两个不同的概念:中断响应是四步(关中断、保存断点、识别中断源、转入入口),中断处理是七步(请求、判优、响应、保存现场、服务、恢复现场、返回)。考试中注意区分。
|
||||
|
||||
---
|
||||
|
||||
## 🧪 例题与解析
|
||||
|
||||
### 例题1:中断处理过程
|
||||
@@ -410,7 +503,7 @@ DMA的完整工作过程:CPU初始化DMA(设置参数),DMA请求(I/O
|
||||
|
||||
## ⚡ 知识点速记卡
|
||||
|
||||
> 考前快速过一遍,30秒回忆整章核心
|
||||
> 考前快速过一遍,30秒回忆整章核心。本章是期中/期末重点章,常见题型:简答题(中断处理过程、三种I/O对比)、计算/分析题(中断屏蔽字设置)、对比题(DMA vs 中断)。课后习题重点做 5.1~5.4、5.27、5.28、5.33~5.35。
|
||||
|
||||
**三种I/O方式**(CPU参与度从高到低):程序查询(CPU一直等)→ 程序中断(设备准备好通知CPU)→ DMA(I/O和内存直接传,CPU只管开头和结尾)。
|
||||
|
||||
@@ -418,13 +511,17 @@ DMA的完整工作过程:CPU初始化DMA(设置参数),DMA请求(I/O
|
||||
|
||||
**中断处理七步**:中断请求 → 中断判优 → 中断响应(关中断)→ 保存现场 → 中断服务 → 恢复现场 → 中断返回(开中断)。
|
||||
|
||||
**中断响应四步**:关中断 → 保存断点(PC和PSW到堆栈)→ 识别中断源 → 转入服务程序入口。注意区分"中断响应"和"中断处理"两个概念。
|
||||
|
||||
**中断屏蔽字**:n个中断源用n位表示,0开放1屏蔽。高优先级中断源处理时屏蔽所有低优先级中断源。这是考试常考的计算/分析题。
|
||||
|
||||
**中断优先级**:硬件故障 > 软件中断 > I/O中断 > 用户程序。
|
||||
|
||||
**DMA三大要点**:①I/O和内存直接传送,不经过CPU ②CPU只在初始化和结束时参与 ③每个机器周期结束时响应(比中断更快)。
|
||||
|
||||
**DMA三种工作方式**:停止CPU访问(简单但CPU空等)、周期挪用(CPU不访存时DMA传送)、交替访问(效率最高但硬件复杂)。
|
||||
|
||||
**DMA vs 中断**:DMA适合大量数据传送(硬盘),中断适合少量数据(键盘)。DMA在机器周期末响应,中断在指令周期末响应。
|
||||
**DMA vs 中断**:DMA适合大量数据传送(硬盘),中断适合少量数据(键盘)。DMA在机器周期末响应,中断在指令周期末响应。DMA数据不经过CPU,中断数据经CPU中转。
|
||||
|
||||
---
|
||||
|
||||
@@ -438,4 +535,5 @@ DMA的完整工作过程:CPU初始化DMA(设置参数),DMA请求(I/O
|
||||
---
|
||||
|
||||
*本章难度:⭐⭐⭐⭐ 中等*
|
||||
*重要程度:⭐⭐⭐⭐ 重要*
|
||||
*重要程度:⭐⭐⭐⭐⭐ 重点考试章节*
|
||||
*必做习题:5.1~5.4、5.27、5.28、5.33~5.35*
|
||||
|
||||
Reference in New Issue
Block a user