Skip to content

2022年 408 计算机组成原理 第 17 题

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

题目

某内存条包含 8 个 8192×8192×8 位的 DRAM 芯片,按字节编址,支持突发传送方式,对应存储器总线宽度为 64 位,每个 DRAM 芯片内有一个行缓冲区。下列关于该内存条的叙述中,不正确的是( )。

错因

A

A 是正确叙述。单芯片容量 = ;内存条总容量 = 。把 A 当成错误一般是把单元位数(×8 bit)当成"已经按字节算"漏算了一倍,或把 8192 错认成 8K 而未能正确处理 M。

B

B 是正确叙述。8 个 8 位宽的 DRAM 芯片并联输出 64 位数据 → 总线一次取出 8 个相邻字节,按字节编址下相当于"按字节交叉访问"——每个芯片专门负责"地址低 3 位为 0/1/.../7"那一类字节地址。这是典型的多模块(多体)交叉编址结构。把 B 选为错误是混淆了"位扩展"和"多体交叉编址"——这里两者实际指同一个物理结构。

D

D 是正确叙述。DRAM 一行的内容 = 该行所有列的位之和。本芯片 8192 列,每列单元 8 位 → 行缓冲区位数 = 位。把 D 选为错误的人可能把行缓冲区当作"一个 8 位寄存器"或"一个字",没意识到 DRAM 整行打开后所有列的内容一起进入行缓冲区。

总解析

题面问"不正确的"。逐项判定:

选项内容判定推导
A内存条容量 512 MB正确单片 64 MB × 8 片 = 512 MB
B多模块交叉编址正确8 片 × 8 位并联 → 一次寻址同时取 8 字节,按字节交叉编址
C芯片地址引脚 26 位错误DRAM 地址引脚复用——同一组引脚分两次发送行地址和列地址
D行缓冲区 8192 × 8 位正确一行 = 8192 列,每列 8 位 → 行缓冲 = 65536 位

为什么 C 错——DRAM 行列地址复用

DRAM 内部存储阵列 = 行 × 列。8192 行需要 13 位行地址(),8192 列需要 13 位列地址。如果不复用,引脚需要 13 + 13 = 26 个——这正是 C 选项给出的"诱饵数字"。

但 DRAM 物理上只有 13 根地址引脚,通过 RAS(行选通)和 CAS(列选通)信号分两次时序复用:

  1. RAS 拉低时,引脚送出行地址(13 位)→ 芯片把整行送入行缓冲
  2. CAS 拉低时,引脚送出列地址(13 位)→ 从行缓冲取对应列

突发传送就是利用"行已经在缓冲里"的特性,通过连续切换 CAS 列地址,从同一行依次取出多个字节,无需重复打开行——这是 DRAM 高吞吐的关键。

字段位数引脚数
行地址13}共用
列地址13}13 根(复用)
不复用所需2626
实际所需13

故 C "26 位" 错误

最终答案是 C

关键易错点

  1. DRAM 地址引脚复用——和 SRAM 不同,DRAM 同一组引脚先后送行 / 列地址,引脚数 = 行 / 列地址位数(取较大者,本题相等都是 13)
  2. 8 个 1 字节宽芯片并联的 64 位总线 = 多体(多模块)按字节交叉编址,不是简单"位扩展"——也是 408 高频考点
  3. 行缓冲区 = 一整行的所有列(不是单字 / 单字节),是突发传送的硬件基础

单片容量速算:$\text{行} \times \text{列} \times \text{位宽} \div 8 = $ 字节数(按字节编址下)。本题 MB。

最后更新:

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