主存(DRAM)是什么?

主存(DRAM)详解

主存(Main Memory) 通常由 DRAM(Dynamic Random Access Memory,动态随机存取存储器) 构成,是计算机系统中用于临时存储运行中的程序和数据的核心部件。它是CPU与硬盘/SSD之间的桥梁,直接影响系统性能和响应速度。


📌 DRAM的核心特性

特性说明
易失性断电后数据丢失,需持续刷新(Refresh)维持电荷。
高容量低成本比SRAM容量大(GB级)、成本低,但速度较慢(延迟50~100ns)。
随机访问可直接读写任意地址,但访问时间不固定(受行列地址切换影响)。
动态刷新每隔64ms需刷新所有存储单元(防止电荷泄漏),占用带宽。

⚙️ DRAM的工作原理

1. 存储单元结构

  • 基本单元:1个晶体管(MOSFET) + 1个电容(存储1bit数据)。
    • 电容充电 = 1放电 = 0
    • 电容会缓慢漏电,需周期性刷新(Refresh)。

2. 访问流程

  1. 行选通(Row Activate)
    • 发送行地址(RAS信号),选中整行数据到行缓冲器(Row Buffer)。
  2. 列选通(Column Access)
    • 发送列地址(CAS信号),从行缓冲器读取特定列数据。
  3. 预充电(Precharge)
    • 关闭当前行,准备下一次访问。

延迟组成
tRCD(行到列延迟) + tCAS(列访问时间) + tRP(预充电时间) = 总延迟


🔍 DRAM vs. SRAM vs. NAND Flash

特性DRAMSRAM(缓存)NAND Flash(SSD)
速度较慢(50~100ns)极快(1~10ns)极慢(ms级)
容量GB~TB级KB~MB级GB~TB级
易失性是(需刷新)是(断电丢失)否(持久存储)
成本低($/GB)高($/MB)极低($/GB)
用途主存(运行程序)CPU缓存(L1/L2/L3)长期存储(文件)

🚀 DRAM的技术演进

1. 类型发展

  • SDRAM(同步DRAM):与时钟同步(如PC100、PC133)。
  • DDR(双倍速率)
    • DDR4:1.2V电压,3200Mbps速率。
    • DDR5:1.1V电压,6400Mbps速率,支持片上ECC纠错。
  • LPDDR:低功耗版(用于手机/笔记本),如LPDDR5X。

2. 性能优化

  • Bank分组:多个Bank并行访问(如DDR4有16 Banks)。
  • GDDR:专为显卡设计,高带宽(如GDDR6X 21Gbps)。
  • HBM(高带宽内存):3D堆叠,用于AI芯片(如NVIDIA H100)。

⚠️ DRAM的局限性

  1. 刷新开销
    • 刷新操作占用带宽(约5%~10%),影响性能。
  2. 行缓冲冲突(Row Hammer)
    • 频繁访问某一行可能导致相邻行数据损坏(需ECC纠错)。
  3. 容量瓶颈
    • 受主板插槽限制(普通PC最多128GB),而NAND Flash可轻松数TB。

🌰 实际应用

场景1:程序运行

  • 加载游戏:游戏代码从SSD载入DRAM,CPU直接从DRAM读取指令执行。
  • 浏览器多标签:每个标签页占用独立DRAM空间,切换时无需重新加载。

场景2:数据库处理

  • Redis缓存:将热点数据存放在DRAM,实现微秒级响应。

场景3:AI训练

  • GPU显存(GDDR):大矩阵运算需高带宽DRAM支持(如HBM2e 3.2TB/s)。

🚀主存(DRAM)与日常“电脑内存”的联系与区别

1.核心结论

  • 联系:日常所说的“电脑内存”通常就是指主存(DRAM),例如DDR4/DDR5内存条。
  • 区别
    • “主存”是技术术语,强调其在计算机体系结构中的功能(CPU直接访问的临时存储)。
    • “电脑内存”是通俗说法,可能隐含DRAM模块的物理形态(如内存条)。

2. 详细解析

(1) 本质相同:DRAM即内存的硬件实现

  • 物理实体
  • 用户购买的“内存条”(如金士顿DDR4 16GB)就是由 DRAM芯片 组成的模块。
  • 插在主板内存插槽上,通过内存控制器与CPU通信。
  • 功能角色
  • 作为主存(Main Memory),临时存储运行中的程序和数据,供CPU直接读写。

(2) 术语差异:技术视角 vs. 用户视角

视角主存(DRAM)电脑内存
定义重点计算机架构中的一级存储用户可见的物理硬件(内存条)
技术属性易失性、需刷新、随机访问容量(GB)、频率(MHz)、品牌
扩展含义包括嵌入式DRAM、HBM等形态通常仅指DIMM/SO-DIMM内存条

(3) 特殊场景的区分

  • 集成显卡共享内存
  • 部分DRAM会被划为显存(如Intel核显),此时“内存”既承担主存功能,又服务GPU。
  • 非易失性主存
  • 如Intel Optane持久内存(基于3D XPoint),技术上是主存,但用户不称其为“电脑内存”。

💡 总结

  • DRAM是计算机的“工作台”,存放当前运行的代码和数据,平衡速度与容量。
  • 核心优势:随机访问、高容量、低成本。
  • 核心挑战:刷新机制、延迟较高、易失性。

📌 用户建议

  • 升级DRAM容量可显著改善多任务性能(如16GB→32GB)。
  • 高频DDR5内存对游戏/视频编辑有提升,但需主板和CPU支持。
  • 服务器/工作站需配备ECC内存(Error-Correcting Code Memory),防止数据错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/913555.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/913555.shtml
英文地址,请注明出处:http://en.pswp.cn/news/913555.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 机器学习核心入门与实战进阶 Day 6 - 模型保存与加载(joblib / pickle)

✅ 今日目标 掌握如何将训练好的模型持久化保存到文件熟悉两种主流保存方式:joblib 和 pickle加载模型并应用于新数据预测实现完整的“训练 → 保存 → 加载 → 预测”流程为后续部署做准备(如 Flask、FastAPI)🧰 一、模型保存工具…

【SigNoz部署安装】Ubuntu环境部署SigNoz:Docker容器化监控的全流程指南

文章目录前言1.关于SigNoz2.本地部署SigNoz3.SigNoz简单使用4. 安装内网穿透5.配置SigNoz公网地址6. 配置固定公网地址前言 在分布式架构主导的现代运维体系中,系统性能监控正面临范式变革的关键转折。当微服务架构遭遇服务雪崩、无服务器架构出现冷启动延迟等复杂…

NV298NV312美光固态闪存NW639NW640

美光固态闪存技术全景解析:从NV298到NW640的深度探索近年来,美光科技凭借其在3D NAND闪存技术上的持续突破,推出了多款备受市场关注的固态硬盘产品。本文将从技术评测、产品对比、市场趋势、用户反馈及应用场景等多个维度,深入剖析…

2025.07.04【服务器】|使用万兆网卡提升服务器间互联速度,实现快速数据传输

文章目录1. **万兆网卡概述**2. **为什么选择万兆网卡**3. **万兆网卡配置与安装**3.1 **安装网卡**3.2 **安装驱动程序**3.3 **检查网卡状态**4. **配置网络接口**4.1 **Linux 系统配置**4.2 **Windows 系统配置**5. **优化性能**5.1 **使用多线程传输**5.2 **开启 TCP/UDP 窗…

光伏发电量精准估算,提升投资效益

在光伏产业规模化发展进程中,准确估算光伏发电量是提升项目投资效益的关键环节。科学的发电量预测不仅能为项目可行性研究提供依据,更能在电站全生命周期内优化运营策略,实现投资回报最大化。基于多维度数据整合与智能算法构建的精准预测体系…

Linux的互斥锁、Linux的POSIX信号量(二值、计数)、RTOS的二值信号量

锁和信号量最大的区别就是:锁严格要求 “谁占用谁释放”,而信号量允许 “一个任务 / 线程释放,另一个任务 / 线程获取”。 特性互斥锁(Mutex)POSIX 信号量(Semaphore)初始状态初始为 “锁定”(PTHREAD_MUTEX_INITIALIZER),需显式获取(pthread_mutex_lock)。初始值可…

基于Java+SpringBoot 协同过滤算法私人诊所管理系统

源码编号:S607源码名称:基于SpringBoot5的协同过滤算法的私人诊所管理系统用户类型:双角色,患者、医生、管理员数据库表数量:15 张表主要技术:Java、Vue、ElementUl 、SpringBoot、Maven运行环境&#xff1…

什么是DINO?

DINO 是一个由 Meta AI (当时的 Facebook AI) 在 2021 年提出的自监督学习框架,其全称是 “self-DIstillation with NO labels”,直译为“无标签的自我蒸馏”。这个名字精准地概括了它的核心思想。 DINO 的出现是一个里程碑,因为它首次有力地…

如何在 Android Framework层面控制高通(Qualcomm)芯片的 CPU 和 GPU。

如何在 Android Framework层面控制高通(Qualcomm)芯片的 CPU 和 GPU。 参考:https://blog.csdn.net/YoungHong1992/article/details/117047839?utm_source%20%20uc_fansmsg 作为一名 Framework 开发者,您拥有系统级的权限&#…

程序员在线接单

十年Java全栈工程师在线接单Java程序代做,兼职接单,系统代做,二次开发,网站开发部署,项目合作,商业项目承包 全栈开发,支持定制各种管理系统、小程序 商用或个人使用等项目都接 服务二: Java调试…

Python 异步爬虫(aiohttp)高效抓取新闻数据

一、异步爬虫的优势 在传统的同步爬虫中,爬虫在发送请求后会阻塞等待服务器响应,直到收到响应后才会继续执行后续操作。这种模式在面对大量请求时,会导致大量的时间浪费在等待响应上,爬取效率较低。而异步爬虫则等待可以在服务器…

Jenkins Pipeline(二)

1.Pipeline 变量 在 Jenkins 管道(Pipeline)中,变量是一种非常有用的功能,它们可以帮助你在构建过程中存储和传递数据。Jenkins 管道支持多种方式来定义和使用变量,包括环境变量、脚本变量以及全局变量。 1.2 脚本变…

springsecurity02

提前打开Redis1)通过内置的用户名和密码登录spring-boot-starter-security.jar2)使用自定义用户名和密码登录UserDetailService自定义类实现UserDetailService接口,重写loadUserByUsername方法class UserDetailServiceImpl implements UserDe…

Apache组件遭大规模攻击:Tomcat与Camel高危RCE漏洞引发数千次利用尝试

漏洞态势分析帕洛阿尔托网络公司Unit 42团队最新研究报告显示,针对Apache Tomcat和Apache Camel关键漏洞的网络攻击正在全球激增。2025年3月披露的这三个远程代码执行(RCE, Remote Code Execution)漏洞——CVE-2025-24813(Tomcat&…

Odoo 中国特色高级工作流审批模块研发

本文旨在为基于Odoo 18平台开发一款符合中国用户习惯的、功能强大的通用工作流审批模块提供一份全面的技术实现与产品设计方案。该模块的核心特性包括:为最终用户设计的图形化流程设计器、对任意Odoo模型的普适性、复杂的审批节点逻辑(如会签、条件分支、…

unplugin-vue-components 最佳实践手册

🎨 unplugin-vue-components 最佳实践手册 整理不易,收藏、点赞、关注支持下!本文详细介绍了 unplugin-vue-components 插件的作用、配置方法、常用场景及与 unplugin-auto-import 配合使用的实战技巧,特别适合 Vue 3 Vite 项目。…

⿻ Java 学习日志 01

Java 运行机制: 原文件>编译器>字节码(class后缀)>JVM虚拟机>操作系统既有编译的过程也有解释的过程。JVM:Java Virture Machine/执行字节码的虚拟机,是实现跨平台——Java核心机制的核心。 JRE&…

基于Flutter的web登录设计

基于Flutter的web登录设计 1. 概述 本文档详细介绍了基于Flutter Web的智能家居系统登录模块的设计与实现。登录模块作为系统的入口,不仅提供了用户身份验证功能,还包括注册新用户的能力,确保系统安全性的同时提供良好的用户体验。 本文档…

Maven继承:多模块项目高效管理秘笈

Maven继承是Maven项目管理中的核心机制,允许子模块共享并统一管理父模块的配置信息(尤其是依赖关系),其核心原理与Java中的类继承类似。以下是关键要点解析:一、核心概念与作用消除配置冗余 多个子模块共享相同依赖&am…

关于系统无法找到 arm-linux-gcc 命令,这表明你的环境中尚未安装 ARM 交叉编译工具链。以下是详细的解决方案:(DIY机器人工房)

1. 错误原因分析 错误信息:无法将“arm-linux-gcc”项识别为 cmdlet/函数/程序 这说明 Windows 或 Cygwin 环境中没有安装 ARM 交叉编译工具,或者工具路径未添加到系统 PATH 中。当前环境: 你之前使用的是 Cygwin 环境下的 x86_64 架构 GCC&…