Go...

当前位置: 首页>>职业专区

【系统架构设计师】计算机组成与体系结构 ⑤ ( 主存编址计算

一、主存编址计算1、存储单元存储单元 概念 :

最小存储单位 : 1 bit 是 计算机中最小的 容量单位 , 只能表示 0 或 1 ;存储单元 : 在 存储器 中 , 查找 1 bit 是比较困难的 , 这里 将 比特位 进行分组 , 每组称为一个存储单元 , 最常见的存储单元就是 1 Byte 字节 , 每个字节中包含 8 bit ;内存编址单位 : 存储单元 就是 内存地址 编址的最小单位 , 地址 0x0000 表示 0 地址位置的 1 字节数据空间 , 有 8 位 ;2、内存编址按 字节 进行编址 : 主存 就是 内存 , 内存中的 每个字节 ( 存储单元 ) 都有一个唯一的地址 ;

编址内容 : 内存中 会为 每个字节 进行编址 , 每个地址单位表示 1 Byte = 8 bit 大小的内存空间 , 地址单位增加 1 , 表示 内存空间 中 向前移动了 1 字节 ;字节单位 : 内存以 字节 为单位寻址 , 即 每个 地址 指向 一个字节 ; 例如,地址 0x0000 地址指向 内存中的 第一个字节 , 0x0001 地址 指向 内存中的 第二个字节 ;地址表示 : 内存地址 以 十六进制 数表示 , 如 : 0x0000 到 0xFFFF ;地址空间 : 内存的大小由 地址空间 决定 , 如 : 32 位操作系统的地址空间为 0x00000000 到 0xFFFFFFFF ;偏移量和基址 : 实际编程中 , 使用 偏移量 来访问内存中的特定位置 ; 如 : 在汇编语言中 , 可以使用基址寄存器加上偏移量来计算实际的内存地址 ;按 字 进行编址 : 一个字可能是 8 位、16 位、32 位、64 位 , 一个 字 给一个地址编号 ;

字宽度 : 计算机体系结构 中 定义了 字 的宽度 , 字宽度 影响到 每个地址 访问的数据量 ;3、存储单元个数 和 总容量 计算存储单元个数 计算 :

存储单元个数 = 最大地址 - 最小地址 + 1内存总容量 计算 :

总容量 = 存储单元个数 \times 编址内容编址内容 : 按字节编址 , 一个单位 1 字节 8 比特 ;按 字 编址 , 则一个单位可能是 8 位、16 位、32 位、64 位 大小 ;内存总容量 计算 2 : 内存 由 多个 存储芯片 组成 , 总容量 还受到 每个存储芯片 容量的限制 ;

总容量 = 存储芯片个数 \times 存储芯片容量4、主存编址案例内存 按 " 字节 " 进行编址 , 则 每个内存地址 表示 1 字节大小 ;

存储芯片 容量是 8K x 4bit 大小 ;

如果要 使用上述 存储芯片 构成 0x84000H ~ 0x8FFFFH 的内存 , 需要 多少片 存储芯片 ;

H 通常表示十六进制的结尾标识 ;

1. 首先 , 计算存储单元个数 :

存储单元个数 = 最大地址 - 最小地址 + 1\rm 存储单元个数 = 8FFFFH - 84000H + 1\rm 存储单元个数 = 8FFFFH + 1 - 84000H\rm 存储单元个数 = 90000H - 84000H\rm 存储单元个数 = C000HC000H 值转为十进制 就是

12 \times 16^3 ;

2. 然后 , 计算 总容量 :

总容量 = 存储单元个数 \times 编址内容\rm 总容量 = 12 \times 16^3 \times 8bit3. 再后 , 计算 单位 存储芯片 的容量 :

存储芯片容量是 8K x 4bit , K 表示

2^{10} , 总容量大小是

\rm 8 \times 2^{10} \times 4bit ;

K : 表示 2 的 10 次方 , 即 1024 ; 1K = 1024 字节 ;M : 表示 2 的 20 次方 , 即 1024 的平方 , 即 1,048,576 ; 1M = 1024K = 1,048,576 字节 ;G : 表示 2 的 30 次方 , 即 1024 的立方 , 即 1,073,741,824 ; 1G = 1024M = 1,073,741,824 字节 ;4. 最后 , 计算 需要的存储芯片个数 :

根据如下公式计算 :

总容量 = 存储芯片个数 \times 存储芯片容量存储芯片个数 = 总容量 \div 存储芯片容量\rm 存储芯片个数 = \cfrac{12 \times 16^3 \times 8bit }{8 \times 2^{10} \times 4bit}\rm 存储芯片个数 = \cfrac{12 \times (2^4)^3 \times 8bit }{8 \times 2^{10} \times 4bit}\rm 存储芯片个数 = \cfrac{12 \times 2^{12} \times 8bit }{8 \times 2^{10} \times 4bit} = 12最终 , 需要 12 片 存储芯片 ;