当前位置: 首页 > news >正文

主存编址是什么

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。
😊 座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!👍

计算机怎么知道去哪里找关键的信息,通过这篇文章您将彻底了解。

文章目录

  • 主存编址概念
    • 主存是什么
  • 编址的对象是什么
    • 编址方式的演变
    • 为什么需要编址
  • 高效访问:随机存取的威力

主存编址概念

邮递员(CPU)需要根据邮件上的地址编号,准确找到对应的邮箱投递或取出信件。这正是主存编址的基本概念:为计算机主存储器(内存)的每一个存储单元分配一个唯一有序的地址编号,以便CPU能够根据地址准确地找到并访问(读/写)其中的数据。

主存是什么

主存是计算机中用于存放当前正在运行的程序和所需数据的硬件,通常是DRAM(动态随机存取存储器)。它在逻辑上被看作一个巨大的“一维线性地址空间”,像一排排连续编号的邮箱或房间,从地址0开始,按顺序延伸到最大地址。

编址的对象是什么

编址方式的演变

计算机内存编址经历了从简单到复杂的发展过程。早期的计算机系统主要采用按字编址的方式,每个“字”(Word,其长度由计算机字长决定,如32位机的字长为4字节)拥有一个独立地址。这种方式简化了硬件设计,但带来了内存利用效率的问题。例如,在32位按字编址的机器上,地址0对应第1-4个字节,地址1对应第5-8个字节,即使程序只需要1字节数据,也必须访问整个4字节单元。

现代计算机系统几乎全部采用按字节编址的方式,每个字节(8位)拥有独立的地址。这种方式极大地提高了内存使用的灵活性,允许程序以最精细的粒度使用内存。地址0x0000存放第1个字节,地址0x0001存放第2个字节,以此类推,形成了连续、均匀的地址空间。

  • 按字节编址(最普遍的方式):每个字节(8位)拥有一个独立的地址。这是现代计算机的绝对主流方式。
    • 例如:地址0x0000存放第1个字节,地址0x0001存放第2个字节,以此类推。
    • 1字节(B)是8个比特位(bit)
  • 按字编址:每个“字”(Word,字的长度由计算机字长决定,如32位机字长是4字节)拥有一个独立地址。这种方式现在很少见。
    • 例如:在32位按字编址的机器上,地址0对应第1-4个字节,地址1对应第5-8个字节。

为什么需要编址

  • 精确寻址:CPU通过地址总线发送一个地址码,内存控制器就能像“GPS坐标”一样,定位到确切的存储单元。
  • 有序管理:操作系统和程序可以系统化地使用内存,知道数据存放在哪里,不会混乱。
  • 高效访问:支持随机访问,访问任何地址所花的时间相同(与顺序访问的磁带不同)。

高效访问:随机存取的威力

随机访问是内存区别于磁带等顺序存储设备的核心特性。在编址系统中,访问任何地址所需的时间基本相同,这使得CPU能够快速跳转到任意内存位置读取数据或指令。这一特性对程序执行效率至关重要,特别是当程序需要频繁访问分散在内存不同位置的数据时。

随机访问的实现依赖于内存的物理结构。DRAM芯片内部组织成行和列的矩阵,通过行地址和列地址共同确定具体存储单元。当CPU发送完整地址时,内存控制器首先激活对应行(行选通),然后选择该行中的特定列(列选通),最终读取或写入目标单元。

需要注意的是

  • 存储单元个数 = 最大地址 - 最小地址 + 1
  • 总容量 = 存储单元个数 * 编址内容
  • 根据存储器所要求的容量和选定的存储芯片的容量,就可以计算出所需要芯片的总数:总片数 = 总容量/每片的容量

牛刀小试

内存按字节编址,利用 8K x 4bit的存储器芯片构成84000H到8FFFF H的内存,共需(12)片

存储单元个数 = 最大地址 - 最小地址 + 1 = 8FFFFH + 1 - 84000H = 90000H-84000H=C000H
(十六进制)= 12 * 16^3

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

每片的容量 = 8K x 4bit = 8*2^10 * 4bit

总片数 = 总容量/每片的容量 = 12 * 16^3 * 8bit/( 8*2^10 * 4bit) = 12

另外:

CPU能够访问的最大内存范围,由地址总线的宽度决定。

  • 例如,如果地址总线有32根,那么CPU能产生的不同地址有 2³² 个,对应4GB(2³²字节)的地址空间。这是32位系统的内存上限。
  • 64位系统地址总线更宽,地址空间巨大(理论16EB),远超物理内存实际容量。

懒惰受到的惩罚不仅仅是自己的失败,还有别人的成功。
――朱尔・勒 泊桑

http://www.cnnetsun.cn/news/95665.html

相关文章:

  • Python 整合 Redis 哨兵(Sentinel)与集群(Cluster)实战指南
  • HLS技术的局限性说明
  • 水文监测站:水资源管理的“千里眼”与“顺风耳”
  • 白银波动幅度大于黄金的原因:市场规模与属性差异深度解析
  • 【2026版】Spring Boot面试题
  • 办公小程序开发----提高工作效率
  • Jmeter 命令行压测生成HTML测试报告
  • AI编程系列——mcp与skill
  • 技术文章大纲:当云原生遇见VMware
  • AI Agent开发全攻略:2025年核心技术栈与学习资源,从新手到专家的蜕变之路!
  • LobeChat实体抽取能力在CRM中的应用
  • Java毕设项目:基于springboot天气预报查询系统(源码+文档,讲解、调试运行,定制等)
  • Netcode for GameObjects Boss Room 多人RPG战斗(6)
  • Java毕设项目:基于JavaWeb的心聘求职平台的设计与实现(源码+文档,讲解、调试运行,定制等)
  • Java毕设项目:基于JavaEE的电子印章管理系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • 5分钟梳理银行测试,文末附带实战项目,0经验入行so easy
  • 数据库基础
  • 基于单片机的家居净化器设计与实现
  • LeetCode 热题 100——图论——实现 Trie (前缀树)
  • 揭秘Java:深度解析线程调度算法!
  • 三大电商API应用对比:淘宝京东拼多多谁能笑到最后?
  • 2025年亲测7个降a率工具:AIGC率90%怎么降低ai?(附免费降AI1000字数)
  • ACL实验报告
  • 别再熬夜赶论文?6款AI工具帮你告别恐惧写作无压力!
  • 一键导入书签,首页替代神器!批量去重、自动备份,维护不再头疼
  • 土著刷题新功能解锁:跳题作答
  • Yolo模型TensorRT-C++推理实战指南
  • LobeChat能否支持暗能量建模?宇宙加速膨胀机制理论推演
  • 用python写一个简单的ros话题发布
  • 基于Java Swing的排序算法可视化器(1)