C++ 并发编程指南(11)原子操作 | 11.6、计算机内存结构
文章目录
- 一、计算机内存结构
- 1、内存的基本组成
- 2、内存的类型
- 3、内存的结构层次
- 4、CPU架构
- 5、局部性原理
- 6、总结
前言
在探讨计算机的运行效率和数据处理能力时,内存结构无疑是一个至关重要的部分。内存,作为计算机系统中的关键组件,承担着存储数据和指令以供处理器(CPU)快速访问的重要任务。
一、计算机内存结构
1、内存的基本组成
计算机内存的基本组成单元是存储单元。每个存储单元由一个电容和一个晶体管组成,其中电容用于存储数据,而晶体管则负责控制数据的读取和写入。这种设计使得内存能够在计算机运行时快速、准确地存取数据。
2、内存的类型
- 静态随机存取存储器(SRAM):SRAM使用触发器来存储数据,因此具有较快的读写速度。然而,由于其制造成本较高,SRAM通常被用于高速缓存(Cache)等需要快速访问的场景。
- 动态随机存取存储器(DRAM):DRAM使用电容来存储数据,虽然读写速度稍慢于SRAM,但其制造成本较低,因此被广泛应用于主存储器(内存条)中。DRAM需要周期性地进行刷新以保持数据的稳定性。
3、内存的结构层次
计算机内存结构通常呈现出一种层次化的特点,从高到低依次为:寄存器、高速缓存(Cache)、主存储器(内存条)和辅助存储器(如硬盘、固态硬盘等)。
- 寄存器:寄存器是离CPU最近的存储单元,其读写速度最快。CPU可以直接访问寄存器中的数据,无需经过其他存储层次。寄存器通常用于存储CPU正在处理的数据和指令。
- 高速缓存(Cache):高速缓存位于CPU和主存储器之间,用于缓存主存储器中常用的数据和指令。当CPU需要访问数据时,首先会检查高速缓存中是否存在所需数据。如果存在,则直接从高速缓存中读取数据,从而提高了数据的访问速度。高速缓存通常分为多个层次,如L1 Cache、L2 Cache和L3 Cache等。
- 主存储器(内存条):主存储器是计算机系统中的主要内存,用于存储正在运行的程序和数据。主存储器通常由多个存储体组成,每个存储体中有许多存储单元。每个存储单元可以存储一个二进制数或一串二进制代码(称为存储字)。存储字的长度可以是8位、16位、32位等。主存储器通过地址线、数据线和控制线等接口与CPU相连,实现数据的快速读写。
- 辅助存储器:辅助存储器包括硬盘、固态硬盘等存储介质,用于存储大量数据和程序。与主存储器相比,辅助存储器的读写速度较慢,但容量较大且价格相对较低。辅助存储器中的数据在需要时会被加载到主存储器中供CPU处理。
4、CPU架构
下面是一个的多核CPU架构图,如下:
- Core:每个Core独享SB与L1
- SB(Store Buffer):Store Buffer是一个缓冲区,用于暂存CPU的写操作,它允许CPU把数据先写入Store Buffer,然后继续执行其他操作,而不是等待数据被写入缓存或内存后再进行下一步。这样设计的好处是显著降低了内存写延迟对CPU性能的影响。
- L1 Cache:存储了CPU近期可能访问的数据和指令,且两个L1 Cache独享一个L2 Cache
注意:上面的CPU架构只是部分CPU采用的架构,并不能代表全部。
为什么需要使用Cache?
如果没有Cache,CPU每执行一条指令就要到内存中取数据。执行一条指令只需要几个时钟周期,而取指令需要上百个时钟周期,这就将导致CPU大部分时间都处于等待状态,进而导致执行效率低下,引入了Cache主要解决CPU等待问题。
使用Cache会引入一些新的问题,例如:Cache的一致性、Cache的缺失等,为了解决这些问题,各CPU平台(ARM/X86/IA64)都有自己的解决方案。软件层面(编译器)也会有对应的优化,这导致了CPU执行的程序并不是你写的那个版本,只是从结果上看不出差异而已。
5、局部性原理
在计算机存储结构中,局部性原理是一个重要的概念。局部性原理包括时间局部性和空间局部性两个方面。时间局部性指的是如果一个数据项被访问了,那么它在不久的将来很可能还会被再次访问;空间局部性指的是如果一个数据项被访问了,那么与其相邻的数据项也很可能被访问。基于局部性原理,计算机内存结构通常采用缓存机制来提高数据的访问速度。
6、总结
计算机内存结构是计算机系统中的核心组成部分,其性能直接影响到计算机的运行效率和数据处理能力。通过对内存的基本组成、类型、结构层次以及局部性原理等概念的深入剖析,可以更好地理解计算机内存的工作原理和重要性。
相关文章:

C++ 并发编程指南(11)原子操作 | 11.6、计算机内存结构
文章目录 一、计算机内存结构1、内存的基本组成2、内存的类型3、内存的结构层次4、CPU架构5、局部性原理6、总结 前言 在探讨计算机的运行效率和数据处理能力时,内存结构无疑是一个至关重要的部分。内存,作为计算机系统中的关键组件,承担着存…...

正则表达式教程
正则表达式在线工具网站:https://regexr.com...

SEO之为什么研究关键词(二)
初创企业需要建站的朋友看这篇文章,谢谢支持: 我给不会敲代码又想搭建网站的人建议 新手上云 (续上一篇。。。。。) 3、寻找有效流量 排名和流量都不是目的,有效流量带来的转化才是目的。就算公司有足够的实力将一些…...
Mysql 创建索引
1. 在创建表时添加索引 在使用CREATE TABLE语句创建表的同时,可以直接定义索引。例如,创建一个包含索引的表: CREATE TABLE clothes (id INT PRIMARY KEY,c_brand VARCHAR(100),c_type VARCHAR(50),c_size VARCHAR(10),price DECIMAL(10, 2…...

vaspkit 画 Charge-Density Difference
(echo 314;echo $(cat 1))|vaspkit 文件1提前写好使用的CHGCAR路径 SPIN_DW.vasp ../ML2scf/SPIN_DW.vasp ../ML1scf/SPIN_DW.vasp POSite and negative 默认为blue,and 青色 (RGB 30 245 245) 正值:blue 。负值:青色 RGB 30 245 245。 提示&…...
FreeRTOS缩小bss段的处理
bss太大了,有60多M,客户要求处理一下 readelf -s app.elf | grep "OBJECT" 发现有一条 592: 8800dd78 0x4000000 OBJECT LOCAL DEFAULT 15 ucHeap 长度64M,地址8800dd78刚好在bss段里,bss段地址如下ÿ…...

STM32数字示波器+详细注释+上位机程序+硬件
目录 1、设计指标: 2、功能: 3、上位机的程序 4、测试的照片 5、PCB 6、模拟电路板 7、程序 资料下载地址:STM32数字示波器详细注释上位机程序硬件 1、设计指标: 主控: STM32…...

【平衡二叉树】AVL树(双旋)
🎉博主首页: 有趣的中国人 🎉专栏首页: C进阶 🎉其它专栏: C初阶 | Linux | 初阶数据结构 小伙伴们大家好,本片文章将会讲解AVL树的左双选和右双旋的相关内容。 如果看到最后您觉得这篇文章写…...

【保姆级介绍自动化的讲解】
🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…...
【大数据面试题】27 讲下Doris的物化视图
一步一个脚印,一天一道面试题。 物化视图概念 物化视图,顾名思义,是将一个查询的结果预先计算并存储为物理表的形式。这意味着,原本需要在运行时动态执行的复杂查询,现在变成了直接从已经计算好的结果表中读取数据&a…...
kylin 使用心得
Kylin操作系统是一种基于Linux的操作系统,主要在中国使用,由中国国内的开发团队维护。它的目标是为了提供一个稳定、安全、易于使用的操作环境。以下是一些用户可能基于Kylin操作系统的使用心得: 1. **界面友好**:Kylin操作系统通…...

在线音乐系统
文章目录 在线音乐系统一、项目演示二、项目介绍三、部分功能截图四、部分代码展示五、底部获取项目(9.9¥带走) 在线音乐系统 一、项目演示 音乐网站 二、项目介绍 基于springbootvue的前后端分离在线音乐系统 登录角色 : 用户、管理员 用…...

LeetCode算法题:49. 字母异位词分组(Java)
给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs ["eat", "tea", "tan", "ate", "nat", …...

第五课,输入函数、布尔类型、比较运算和if判断
一,输入函数input() 与输出函数print()相对应的,是输入函数input(),前者是把程序中的数据展示给外界(比如电脑屏幕上),而后者是把外界(比如键盘)的数据输入进程序中 input()函数可…...

数学建模——线性回归模型
目录 1.线性回归模型的具体步骤和要点: 1.收集数据: 2.探索性数据分析: 3.选择模型: 4.拟合模型: 5.评估模型: 1.R平方(R-squared): 2.调整R平方(Ad…...

景源畅信:抖音小店比较冷门的品类分享?
在抖音小店的世界里,热门品类总是吸引着众多商家和消费者的目光。然而,就像星空中的繁星,虽不那么耀眼却依然存在的冷门品类同样值得我们关注。它们或许不似服装、美妆那样日进斗金,但正是这些小众市场的存在,为平台带…...

java项目之企业资产管理系统(springboot+vue+mysql)
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的企业资产管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 管理员功能有个人中心&…...

[ardunio ide导入blinker库]
1 blinker库下载地址 https://github.com/blinker-iot/blinker-library2 导入方法一 zip导入 项目 -> 导入库 ->添加.zip库 3 导入方法二...

Llama 3 超级课堂 -笔记
课程文档: https://github.com/SmartFlowAI/Llama3-Tutorial 课程视频:https://space.bilibili.com/3546636263360696/channel/series 1 环境配置 1.1 创建虚拟环境,名为:llama3 conda create -n llama3 python3.10 1.2 下载、安装 pyt…...

Leetcode 第 129 场双周赛题解
Leetcode 第 129 场双周赛题解 Leetcode 第 129 场双周赛题解题目1:3127. 构造相同颜色的正方形思路代码复杂度分析 题目2:3128. 直角三角形思路代码复杂度分析 题目3:3129. 找出所有稳定的二进制数组 I思路代码复杂度分析 题目4:…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...

el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...