前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【系统架构设计师】计算机组成与体系结构 ⑤ ( 主存编址计算 | 存储单元 | 内存编址 | 存储单元个数 和 总容量 计算 )

【系统架构设计师】计算机组成与体系结构 ⑤ ( 主存编址计算 | 存储单元 | 内存编址 | 存储单元个数 和 总容量 计算 )

作者头像
韩曙亮
发布2024-07-14 08:18:53
570
发布2024-07-14 08:18:53
举报
文章被收录于专栏:韩曙亮的移动开发专栏

一、主存编址计算


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 存储单元个数 = C000H

C000H 值转为十进制 就是

12 \times 16^3

;

2. 然后 , 计算 总容量 :

总容量 = 存储单元个数 \times 编址内容
\rm 总容量 = 12 \times 16^3 \times 8bit

3. 再后 , 计算 单位 存储芯片 的容量 :

存储芯片容量是 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 片 存储芯片 ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、主存编址计算
    • 1、存储单元
      • 2、内存编址
        • 3、存储单元个数 和 总容量 计算
          • 4、主存编址案例
          相关产品与服务
          对象存储
          对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档