Skip to content

2014年 408 计算机组成原理 第 21 题

计算机组成原理2014年选择题2分

题目

下列有关 I/O 接口的叙述中,错误的是( )。

错因

A

A 是正确叙述,被误判成错。状态字段(标记设备忙/闲、错误等)和控制字段(触发启动、复位等)经常合用一个寄存器的不同位——节省接口寄存器数。"合用同一个寄存器"指的是不同位段共用一个物理寄存器,并不意味着"端口数变成一个"。

B

B 是正确叙述。I/O 端口的标准定义就是"I/O 接口中 CPU 可寻址、可读写的寄存器",包括数据端口、状态端口、控制端口三类。把这条当作错的人,多半是和"端口 = 物理插座"这种生活语义混了。

C

C 是正确叙述。独立编址意味着 I/O 地址空间和主存地址空间完全独立——CPU 用专门的 I/O 指令(如 x86 的 IN/OUT)访问 I/O 端口,用 load/store 指令访问主存。地址值即使相同,因走的是不同地址译码通路,不会冲突。所以"地址可能相同"是合法的。

总解析

逐项判断

内容要点判定
A状态/控制端口可合用同一个寄存器(不同位段)✓ 正确
BI/O 端口 = I/O 接口中 CPU 可访问的寄存器✓ 正确(是定义)
C独立编址下 I/O 地址与主存地址可相同(空间独立)✓ 正确
D统一编址下 CPU 不能用访存指令访问 I/O 端口✗ 错误

D 为什么错——这是把"统一编址"的定义反着记了:

统一编址(Memory-Mapped I/O,内存映射 I/O):把 I/O 端口映射到主存地址空间的某个区域,CPU 用普通的 load/store(访存)指令直接读写 I/O 端口。这正是"统一"两个字的精髓——不需要专门的 I/O 指令。

独立编址(Port-Mapped I/O):I/O 地址空间与主存地址空间分开,CPU 用专门的 I/O 指令(如 IN OUT)访问 I/O 端口,访存指令只能访问主存。

对照表

编址方式地址空间访问 I/O 用什么指令?代表架构
统一编址I/O 与主存共享同一空间访存指令(load/store)RISC-V、ARM、MIPS
独立编址I/O 单独空间专门的 I/O 指令(IN/OUT)x86 早期(保留至今)

D 选项把"统一编址"和"独立编址"对访问指令的要求完全弄反——统一编址恰恰是用访存指令访问 I/O 端口,所以"不能"二字是错的。

最终答案是 D(这是叙述错误的项)

审题提醒:题面说"错误的是"——多选题里出现这种反向措辞("错误的""不正确的""不能"),命题人通常会同时埋一两个让人差点漏看的"正确叙述"诱饵(如本题 A 那种细节),考生顺着读以为都对就栽了。先把每条标 ✓ / ✗,再选,不要边读边下结论。

最后更新:

⚠️ 这道题暂未配可视化,欢迎在 CodeBrick 反馈区告诉我们你想看哪道题