vault backup: 2026-06-28 14:53:55
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
---
|
||||
tags:
|
||||
- 接口与通讯技术
|
||||
- 接口分层
|
||||
- 总线接口
|
||||
- 重点复习
|
||||
create time: 2026-06-28 15:00
|
||||
---
|
||||
|
||||
# 接口分层结构
|
||||
|
||||
## 概述
|
||||
|
||||
现代微机系统由于总线结构的改变,接口在硬件上被分为**设备接口**和**总线接口**两个层次。这一分层模型是理解接口工作原理的基础,在 3 套试卷中均有考查。两个层次的信息传递方式不同:设备接口直接传递硬件信号,总线接口通过地址映射间接传递信息。
|
||||
|
||||
## 正文
|
||||
|
||||
### 1. 接口为什么需要分层?
|
||||
|
||||
早期微机系统中,CPU 直接通过专用线路连接外设。随着总线技术的发展,总线成为所有部件共享的通信通道,接口自然分化为两个层次:
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
CPU["CPU"] --> Bus["系统总线"]
|
||||
Bus --> Bridge["总线接口<br/>(桥 Bridge)"]
|
||||
Bridge --> DeviceIF["设备接口"]
|
||||
DeviceIF --> Peripheral["外部设备"]
|
||||
style Bridge fill:#f9f,stroke:#333
|
||||
style DeviceIF fill:#bbf,stroke:#333
|
||||
```
|
||||
|
||||
> [!question] 思考题
|
||||
> 为什么要分层?直接用一层接口不行吗?
|
||||
>
|
||||
> 答:分层的好处在于:
|
||||
> 1. **标准化**:总线接口遵循总线协议标准(如 PCI、USB),设备接口遵循外设协议标准
|
||||
> 2. **灵活性**:不同总线标准的设备可以通过"桥"芯片接入系统
|
||||
> 3. **复用性**:一个总线接口可以服务多种设备接口
|
||||
|
||||
### 2. 两个层次的对比
|
||||
|
||||
| 层次 | 名称 | 信息传递方式 | 特点 | 类比 |
|
||||
|-----|------|------------|------|------|
|
||||
| 下层 | **设备接口** | **直接传递** | 与具体外设直接相连,信号通过硬件线路直接传输,时序和电平由硬件决定 | 如同"翻译官",直接与外国人对话 |
|
||||
| 上层 | **总线接口**(桥) | **间接传递**(映射关系) | 面向系统总线,设备寄存器映射到总线地址空间,CPU 通过地址读写实现间接通信 | 如同"邮政系统",通过地址投递信息 |
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
A["CPU 读写指令"] --> B["总线地址"]
|
||||
B --> C["总线接口<br/>地址映射"]
|
||||
C --> D["设备接口<br/>硬件信号转换"]
|
||||
D --> E["外设物理操作"]
|
||||
style C fill:#f9f,stroke:#333,color:#000
|
||||
style D fill:#bbf,stroke:#333,color:#000
|
||||
```
|
||||
|
||||
### 3. 设备接口 — 直接传递
|
||||
|
||||
设备接口负责与具体外设之间的信号匹配:
|
||||
|
||||
- **信号电平转换**:如 TTL 电平 ↔ RS-232 电平
|
||||
- **时序协调**:匹配 CPU 总线时序与外设响应速度
|
||||
- **数据格式转换**:并行 ↔ 串行、编码转换等
|
||||
- 信息通过**硬件线路直接传递**,两端的信号是物理对应的
|
||||
|
||||
> [!example] 实例
|
||||
> 打印机接口(LPT):CPU 输出的并行数据通过设备接口直接送到打印机的数据引脚,信号是一一对应的。
|
||||
|
||||
### 4. 总线接口(桥)— 间接传递(映射)
|
||||
|
||||
总线接口将设备功能"映射"为总线地址空间中的寄存器:
|
||||
|
||||
- CPU 对某个地址的读写操作,实际上是在操作远端设备的寄存器
|
||||
- 两端的信息是一种**映射关系**,而非直接的物理信号对应
|
||||
- 典型的"桥"芯片:PCI 桥、USB 主机控制器等
|
||||
|
||||
> [!example] 实例
|
||||
> 内存映射 I/O(MMIO):CPU 写入地址 0xFEC00000,实际上是在向网卡的控制寄存器发送命令。CPU 并不知道这个地址背后是网卡——它只是"映射"过去的。
|
||||
|
||||
### 5. 并行与串行传输方式
|
||||
|
||||
接口与**外部设备**之间的信息传送方式分为两种:
|
||||
|
||||
| 传输方式 | 数据线数量 | 传输特点 | 适用场景 | 典型接口 |
|
||||
|---------|-----------|---------|---------|---------|
|
||||
| **并行传输** | 多根(8/16/32 位) | 多位同时传输,速度快 | 近距离、高速设备 | LPT 打印机接口 |
|
||||
| **串行传输** | 1 根 | 逐位依次传输,距离远 | 远距离、低速设备 | RS-232、USB |
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
subgraph 并行传输
|
||||
A1["D0"] --> B1["D0"]
|
||||
A2["D1"] --> B2["D1"]
|
||||
A3["D2"] --> B3["D2"]
|
||||
A4["D3"] --> B4["D3"]
|
||||
A5["D4"] --> B5["D4"]
|
||||
A6["D5"] --> B6["D5"]
|
||||
A7["D6"] --> B7["D6"]
|
||||
A8["D7"] --> B8["D7"]
|
||||
end
|
||||
subgraph 串行传输
|
||||
C["接口"] -- "1根线逐位传输" --> D["外部设备"]
|
||||
end
|
||||
```
|
||||
|
||||
> [!info] 并行接口的定义
|
||||
> **并行接口**是指接口电路与**I/O 设备(外部设备)**之间采用多根数据线并行传输数据的接口。
|
||||
|
||||
### 6. 真题回顾
|
||||
|
||||
> [!example] 【真题】现代微机系统,总线结构的改变,使得接口在连接设备时,在硬件上分为设备接口和\_\_\_\_\_\_两个层次。
|
||||
>
|
||||
> **答案**:总线接口(桥)
|
||||
|
||||
> [!example] 【真题】现代微机中接口分为两个层次:设备接口和总线接口,它们传递信息的方式不同,其中\_\_\_\_\_\_是直接传递信息,两端的信息通过硬件传递;\_\_\_\_\_\_是间接传递信息,两端的信息是一种映射关系。
|
||||
>
|
||||
> **答案**:设备接口、总线接口
|
||||
|
||||
> [!example] 【真题】接口与\_\_\_\_\_\_之间的信息传送方式可分为并行和串行两种。
|
||||
>
|
||||
> **答案**:外部设备
|
||||
|
||||
> [!example] 【真题】并行接口,是指接口电路与\_\_\_\_\_\_之间采用多根数据线并行传输数据。
|
||||
>
|
||||
> **答案**:I/O 设备(外部设备)
|
||||
|
||||
## 关联笔记
|
||||
|
||||
- [[IO端口编址方式]]
|
||||
- [[接口分层结构]]
|
||||
- [[串行通信基础]]
|
||||
- [[接口与通讯技术/试题册/index|试题册索引]]
|
||||
Reference in New Issue
Block a user