Appearance
题目
下列有关总线定时的叙述中,错误的是( )。
错因
A
误以为"全互锁不是最慢的那种"——可能记忆模糊:异步三种协议(不互锁 / 半互锁 / 全互锁)中,全互锁要求主从双方都完成 Request 和 Acknowledge 的双向确认,每次传输等于"主 → 从握手 + 从 → 主握手"两轮等待,所以速度最慢、可靠性最高。判定 A "错误"的人多半是把"最慢"和"最差"混淆了。
B
误以为"非互锁可靠性高"——非互锁是主设备发完请求不等回应直接进入下一阶段,从设备也不需要确认就接收。这种方式速度最快,但完全没有"确认机制",最易丢数据——可靠性是三种里最差的。把它和"快"等同了的人多半没区分"快" vs "可靠"。
D
误以为半同步通信的握手信号是"自由触发"。半同步的核心特征就是:保留同步时钟统一节拍,但又引入握手(WAIT 等)信号应对慢速从设备。握手信号本身是异步事件,但采样时刻仍受同步时钟控制——CPU 在每个时钟边沿检查 WAIT 是否有效,决定是否插入等待状态。挑 D 的人没把握"半同步 = 同步时钟 + 异步握手"这一双特征。
总解析
题目要求"错误的",先把每种总线定时方式的核心特征列清,再逐项检查。
三类总线定时方式特征对比
| 方式 | 同步时钟 | 是否需要握手 | 速度 | 可靠性 | 适用场景 |
|---|---|---|---|---|---|
| 同步 | 由总线控制器/中央时钟统一提供 | 不需要 | 快、固定节拍 | 取决于设备速度匹配 | 设备速度差小、距离短 |
| 异步 | 无 | 需要(请求/应答) | 看协议(不互锁 > 半互锁 > 全互锁) | 看协议(全互锁 > 半互锁 > 不互锁) | 设备速度差大 |
| 半同步 | 统一时钟 + 握手信号 | 需要(WAIT 等) | 折中 | 折中 | 同步基础上兼容慢设备 |
异步通信的三种握手协议
| 协议 | 主→从 | 从→主 | 速度 | 可靠性 |
|---|---|---|---|---|
| 不互锁 | 发请求后立即撤销 | 发应答后立即撤销 | 最快 | 最差(无任何确认) |
| 半互锁 | 发请求后等到从应答才撤销 | 发应答后立即撤销 | 中 | 中 |
| 全互锁 | 等从撤销应答后才撤销请求 | 等主撤销请求后才撤销应答 | 最慢 | 最高 |
逐项判定
A. 异步全互锁最慢 —— ✓ 正确(见上表,全互锁双向都要等到对方撤销才能动作)
B. 异步非互锁可靠性最差 —— ✓ 正确(无任何确认机制,最易出错)
C. 同步通信中,同步时钟信号可由各设备提供 —— ✗ 错误
同步通信的核心约定就是:所有设备共用同一个时钟源——这个时钟由总线控制器(或者说中央时钟源)统一发出,所有设备都按这个时钟边沿采样信号。要是允许"各设备各自提供时钟",那就退化成各设备时钟相互独立,根本无法保证统一节拍——这就不是同步通信了。
D. 半同步通信中,握手信号的采样由同步时钟控制 —— ✓ 正确
半同步的本质:同步的时钟节拍 + 异步的握手信号。握手信号(如 WAIT)本身是从设备异步发出的,但 CPU 在每个时钟边沿采样它,决定要不要插入一个等待时钟周期。
最终答案是 C(同步通信方式中,同步时钟信号可由各设备提供)。
速记:
- 同步:统一时钟源,所有设备共享 → 各设备只能接收,不能提供时钟
- 异步三协议:速度递减、可靠性递增——不互锁 → 半互锁 → 全互锁
- 半同步:同步时钟 + 异步握手,握手信号被同步时钟采样