`

硬件内存模型

 
阅读更多
理解JVM 的内存模型之前,有必要理解一些硬件的内存架构,因为JVM的内存模型也是为了解决系统和硬件间内存交互的问题,才构建的一种虚拟的内存模型,这样就可以通过JVM来屏蔽硬件和系统的差异,达到统一的内存交互方式(如volatile,就可以达到volatile变量到主内存的更新,但是正在的硬件的内存架构,是通过缓存一致性的协议,将CPU缓存区向主内存的更新不同的,这个是根据协议的不同,更新的时间点也不一样),这也是JVM存在的价值之一,
硬件的内存架构图如下:(http://tutorials.jenkov.com/java-concurrency/java-memory-model.html)


每个CPU都包含CPU 内存和一组CPU寄存器,寄存器本身又很强的存取能力,用来帮助CPU的计算

CPU是很昂贵的系统资源,速度很快,但是很小,只能容纳很小数据,更多的数据都存放在主内存中,大部分时间需要CPU和主内存进行交互,如数据读取,存储运算结果等,期间的I/O操作很难消除(没有办法仅靠寄存器来完成),因此现代的计算机会引入一种读写速度尽量接近处理器运算速度的高速缓存,作为主内存与CPU之间的缓冲:将运算结果放入缓存中,可以尽量的快速运行,当运算结束后,从缓存同步到内存中,

3者之间的顺序时这样的,当CPU读取数据时,
CPU读到主内存的数据,会将数据读到高速缓存区和寄存器中,当CPU需要把数据写到主内存时,会先将此CPU下的高速缓存的和寄存器数据先flush,然后再在某个点上回写到主内存中

这个时候又会出现一个新的问题,缓存一致性,每个CPU都有自己的高速缓存,他们又共享一个主内存,当不同的CPU运算完之后,要回写到主内存时,以谁的为准,这个时候强大的协议就要现身了:缓存一致性协议,这个协议可以告诉CPU,要回写到主内存的点,到底时什么,类似协议的花有:MSI,MESI,MOSI等等

自此硬件层面的内存架构就到这里了!!
  • 大小: 10.8 KB
  • 大小: 10.8 KB
分享到:
评论

相关推荐

    solaris spark内存模型

    包括soalris的硬件内存模型和软件内存模型,是不可多的珍贵资料

    深度剖析java内存模型

    深度剖析java内存模型深度剖析java内存模型深度剖析java内存模型

    《深入理解JAVA内存模型》PDF

    局部变量(Local variables),方法定义参数(java语言规范称之为formal method parameters)和异常处理器参数(exception handler parameters)不会在线程之间共享,它们不会有内存可见性问题,也不受内存模型的...

    什么是Java内存模型.docx

    介绍Java内存模型之前,先来看一下到底什么是计算机内存模型,然后再来看Java内存模型在计算机内存模型的基础上做了哪些事情。要说计算机的内存模型,就要说一下一段古老的历史,看一下为什么要有内存模型。 内存...

    Java 内存模型.docx

    虚拟机,顾名思义就是虚拟的机器,这不是真实存在的硬件,但是却可以和不同的底层平台进行交互。而且 Java 虚拟机模拟的还比较全面,它想象了自己拥有硬件,处理器,寄存器和堆栈等,还具有相应的指令系统,以此来...

    Python基于图像的手语识别系统研究项目源码+模型文件,OpenPose人体姿态开源模型+YOLOv3自训练手部模型

    一个基于人体姿态研究的手语图像识别系统。根据OpenPose人体姿态开源模型和YOLOv3自训练手部模型检测视频和图像,再把数字特征进行分类器模型预测...(3)内存:8G 软件环境 (1) 视频处理工具:ffmpeg-20181115 (2

    嵌入式系统/ARM技术中的嵌入式系统中的内存压缩技术

    摘要:介绍内存压缩技术和一个基于硬件的内存压缩系统模型,探讨内存压缩技术在嵌入式系统中的应用;重点介绍内存压缩系统的硬件要求及操作系统对内存压缩机制的支持;简单介绍内存压缩中常用的算法Lempel-Ziv,并就...

    面试必问:Java 内存模型的3个特性

    Java内存模型(Java Memory Model ,JMM)就是一种符合内存模型规范的,屏蔽了各种硬件和操作系统的访问差异的,保证了Java程序在各种平台下对内存的访问都能得到一致效果的「机制及规范」。 JMM与Java内存区域是两个...

    linux内存管理(上篇-物理内存组织)

    UMA(Uniform Memory Access)是一个单一的内存模型,每个处理器核心都可以访问整个系统的内存。在 NUMA(Non-Uniform Memory Access)架构中,每个处理器核心都有自己的本地内存,访问远程内存需要通过互连网络。 ...

    计算机应用模型机研制技术

    本书从硬件和软件的角度出发,阐述了计算机应用模型机研制技术。本书选择的计算机应用模型机是通用的 PC 机,加装一块教学和实时应用的接口卡。这一数字通用系统平台使微机应用不再局限在标准的输入和输出设备上,...

    计算机基本模型机设计与实现.pdf

    计算机基本模型机设计与实现是计算机组成原理的核心内容之一,它涉及到计算机的硬件设计、微程序控制、指令系统等方面。下面我们将对计算机基本模型机的设计与实现进行详细的介绍。 一、模型机的硬件组成 计算机...

    面向嵌入式的卷积神经网络硬件加速器设计.pdf

    结果表明,采用 16 位动态定点量化和并行卷积运算硬件架构,与静态量化策略相比,数据准确率高达 97.96%,硬件单元的面积仅为 13740 门,且内存占用量和带宽需求减半。 设计高效的卷积神经网络硬件加速器需要考虑...

    细谈java同步之JMM(Java Memory Model)

    Java内存模型是在硬件内存模型上的更高层的抽象,它屏蔽了各种硬件和操作系统访问的差异性,保证了Java程序在各种平台下对内存的访问都能达到一致的效果。下面我们来一起学习下JMM

    计算机硬件及网络并行计算机系统及其结构模型下PPT学习教案.pptx

    硬件部分包括计算机的各个组件,如CPU、内存、磁盘存储等,而软件部分则包括操作系统、应用程序等。本文将会详细介绍计算机硬件及网络并行计算机系统的结构模型。 并行计算机系统是一种高性能计算机系统,它可以...

    模型压缩与加速技术用于轻量化部署,提高模型效率,适用于移动端和嵌入式设备等资源受限环境

    量化技术则将模型中的浮点参数转换为低精度的定点参数,从而减少了模型的内存占用和计算开销。蒸馏技术则是利用一个大型教师模型的知识来指导一个小型学生模型的训练,以实现模型的精简和加速。 这些技术的应用场景...

    计算机组成原理课程设计---基本模型机的设计——加减法指令的实现.docx

    在本实验平台中,模型机从内存中取出、解释、执行机器指令都将由微指令和之相配合的时序来完成,即一条机器指令对应一个微程序。 2.模型机的逻辑框图 简单的模型计算机是由算术逻辑单元、微程序单元、堆栈寄存器单元...

    《计算机硬件系统》教学设计.docx

    学生根据特征识别各个部件 学生经常通过报纸杂志等媒介接触到:CPU、内存、等硬件术语,他们很想知道这是一些什么部件,所以在这里要发挥学生的主体作用,让他们通过实践自主学习这部分知识,突破重点难点。...

    计算机组成原理实验报告-复杂模型机的组成与运行.pdf

    计算机组成原理的研究对象是计算机系统的各个组成部分,包括中央处理器、内存、输入/输出设备、总线等。 2. 复杂模型机的组成 复杂模型机是计算机组成原理中的一种基本结构模型。它由五个部分组成:输入单元、 ...

    腾讯音乐 Cube 机器学习平台建设与发展 - 2022 MLOps模型开发与部署.pdf

    该工具能够根据模型的特点和硬件资源的限制,自动地调整模型的参数和优化算法,以达到最佳的 GPU/CPU 利用率。 资源管理 该平台还提供了一个资源管理系统,能够自动地管理模型训练和模型部署所需的资源,包括 GPU...

    说明书-卓翔云BIM模型轻量化与Web开发引擎.pdf

    该引擎需要 CPU 主频为 2.80GHz、内存为 3.42GB 和硬盘为 1TB 的硬件环境。 技术特点 1. 轻量化 BIM 模型显示和编辑技术 2. 基于 Node.js 技术的高效模型显示和编辑 3. 图像文件管理和上传删除功能 4. 支持多种...

Global site tag (gtag.js) - Google Analytics