Skip to content

2010年 408 计算机组成原理 第 15 题

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

题目

假定用若干个 2K×4 位的芯片组成一个 8K×8 位的存储器,则地址 0B1FH 所在芯片的最小地址是( )。

错因

A

把"芯片的最小地址"误读成"整个存储器的最小地址",机械答了 0000H。但题目问的是 0B1FH 所在那一片的起始地址——0B1FH 已经过了第 0 组(0x0000–0x07FF),不可能落到 0x0000。

B

可能误把"地址 0B1FH"直接拿来减去某个常数算出 0x0600,或把 0B1FH 错记成 0x0BFF 之类的边界值。0x0600 落在第 0 组(0x0000–0x07FF)范围内,根本就不是 0B1FH 所在组的起始地址。

C

把"片选边界"算成 2K 字 = 0x800,但记成 0x700——可能把 11 位片内地址错按 10 位(0x400 边界)甚至 0x100 边界来切。十六进制下 2K = 0x800,组的起始一定是 0x000、0x800、0x1000、0x1800——0x0700 不可能是组起始。

总解析

第一步:算扩展规模

维度数值
单片容量2K × 4 位
目标存储器8K × 8 位
字方向扩展倍数8K / 2K = 4 组(地址空间分成 4 段)
位方向扩展倍数8 / 4 = 每组 2 片拼接
总芯片数4 × 2 = 8 片

第二步:地址位划分

8K = → 总地址 13 位。其中:

  • 高 2 位 [12:11]:组号(4 组需 2 位 → 00 / 01 / 10 / 11)
  • 低 11 位 [10:0]:片内地址(2K =
1211组号2 bits100片内地址11 bits

第三步:定位 0B1FH 所在组

0B1FH = 0 1011 0001 1111(16 位),取低 13 位 = 0_1011_0001_1111

1211109876543210
0101100011111
  • 组号 = bit[12:11] = 01 → 第 1 组(编号从 0 开始:0 / 1 / 2 / 3)
  • 片内地址 = bit[10:0] = 011 0001 1111

第四步:求该组的最小地址

第 1 组对应地址范围:bit[12:11] = 01 固定,bit[10:0] 从 0 到

  • 最小地址:bit[12:11]=01, bit[10:0]=0 → 0_1000_0000_0000 = 0x0800

也可直接套口诀:4 组的起始分别是 0x0000、0x0800、0x1000、0x1800,0B1FH 落在 [0x0800, 0x0FFF] → 起始 0x0800。

地址范围速查表

组号起始结束
00x00000x07FF
10x08000x0FFF ← 0B1FH 在此组
20x10000x17FF
30x18000x1FFF

最终答案是 D(0800H)

易错提醒

  • 字位同时扩展时,组号位数 = ,不要把位方向扩展也算进选片
  • 16 进制下"2K = 0x800"是高频边界,记牢能秒解此类题

最后更新:

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