Skip to content
难度中等(★★)
建议时长75分钟
本课难点
  • 地址范围计算要“+1”(端点包含),最容易漏
  • 十六进制地址必须先统一进制再做减法(不要直接按十进制脑算)
  • K/KB/MB 在存储题默认按 210、220(不要按 1000)
  • 芯片容量 64K×8 的含义:行数×位宽;换算到 Byte 容易错

1.7.4 主存编址计算

本课核心知识点手绘速记(SVG)

📝 学习目标

  • 掌握主存编址的两个核心量:
    • 存储单元个数(行数)
    • 编址内容(每个单元多少 bit/Byte)
  • 会用“最大地址-最小地址+1”求地址空间大小
  • 能在十六进制地址范围题里正确做进制/单位换算
  • 能计算“用多少片 64K×8 芯片拼装出目标容量”

🎯 知识点

1) 两个基础概念

  • 存储单元(memory cell / addressable unit):内存按某个粒度分组,每组有一个地址
  • 编址内容(addressing unit size):每个存储单元包含多少位

课堂提醒:

  • 题干不说明时,常默认 按字节编址(1 个地址对应 1 Byte = 8 bit)。

2) 核心公式(必背)

若地址范围为 [Amin, Amax](包含端点),则:

存储单元个数 = Amax - Amin + 1

若按字节编址,则“存储单元个数=字节数”。

3) 单位换算(软设常考坑)

在存储容量语境中:

  • 1KB = 210 Byte = 1024 Byte
  • 1MB = 220 Byte

课堂提醒:别把 1KB 当 1000B(厂商标称可能这么算,但考试通常按 1024)。

4) 芯片容量表示法

  • 64K×8 表示:
    • 有 64K 个存储单元(行)
    • 每个单元 8 bit(= 1 Byte)
    • 总容量 = 64K Byte

芯片拼装常用:

总片数 = 总容量 / 单片容量

🧠 难点与易错点

  • 易错1:忘了“+1”(地址是包含端点的)
  • 易错2:十六进制地址直接当十进制减
  • 易错3:K 的含义(存储容量里 K=210

🔑 关键词解释

  • 字长(word length):CPU 一次处理的位数(16/32/64)。
  • 字节(Byte):固定 8 bit;题干说“字节编址”时必须按 8 bit/单元。

🔍 联想扩展(常见题型组合)

  • 题型1:给地址范围(十六进制),求容量(KB/MB)
  • 题型2:给总容量 + 单片容量,求芯片片数
  • 题型3:给芯片拼装方式(扩位/扩字),求最终容量(更偏硬件,可选了解)

🧪 例题(按难度)

简单(3题)

单选
地址范围为 `[Amin, Amax]`(包含端点),其可编址的存储单元个数应为:
单选
存储芯片规格 `64K×8` 表示该芯片总容量为:
单选
软考存储容量换算中,通常采用:

中级(3题)

例题1(地址范围求容量:课堂例)

单选
内存按字节编址,地址范围从 `A0000H` 到 `CFFFFH`。该地址空间大小约为:

例题2(芯片拼装:课堂例)

单选
若要存储上一题的地址空间(按字节编址),采用 `64K×8` 的存储芯片,需要至少多少片?
单选
字节编址,地址范围从 `0000H` 到 `7FFFH`,该地址空间大小约为:

困难(1题)

单选
要组成 256KB 的主存(字节编址),若使用 `16K×8` 存储芯片(每片容量 16KB),至少需要多少片?

📚 本课小结

  • 单元个数 = 最大地址 - 最小地址 + 1
  • 默认字节编址:单元个数就是字节数
  • 1KB=1024B
  • 芯片片数=总容量/单片容量