精华内容
下载资源
问答
  • CPU,缓存,内存外存全解析

    千次阅读 2020-07-05 20:25:27
    被扩充概念:如今缓存的概念已被扩充,不仅在CPU和主内存之间有Cache,而且在内存和硬盘之间也有Cache(磁盘缓存),乃至在硬盘网络之间也有某种意义上的Cache──称为Internet临时文件夹或网络内容缓存等。...

    CPU,缓存,内存,外存结构图如下:
    在这里插入图片描述

    一:缓存

    定义:凡是位于速度相差较大的两种硬件之间,用于协调两者数据传输速度差异的结构,均可称之为Cache
    被扩充概念:如今缓存的概念已被扩充,不仅在CPU和主内存之间有Cache,而且在内存和硬盘之间也有Cache(磁盘缓存),乃至在硬盘与网络之间也有某种意义上的Cache──称为Internet临时文件夹或网络内容缓存等。

    存放的数据:内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存

    • 作用:

      用于协调两者数据传输速度差异的结构

    • 实际例子:

      缓存是CPU(Central Processing Unit)的一部分
      缓存(Cache memory)是硬盘控制器上的一块内存芯片
      (硬盘上的缓存:当硬盘存取零碎数据时需要不断地在硬盘与内存之间交换数据 )

    二:CPU

    (1)组成

    一般由逻辑运算单元、控制单元和存储单元(寄存器)组成

    (2)为什么需要缓存

    事例:
    1.因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速度就慢下来了,不过CPU会把这些数据复制到缓存中去,以便下一次不要再到内存中去取。 2.因为随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,现在又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的

    (3)作用
    1. 缩短延迟

      访问缓存的时间应该尽可能缩短,可以通过多种的方式缩短这个时间,比如能够通过减小缓存的大小或关联性来降低缓存的延迟,还有方式预测、增加带宽等方法。

    2. 提升命中率

      所谓的命中率是在高速缓存中找到内存引用的速率,我们希望能够首先通过缓存中获得信息,以得到速度优势,所以缓存需要最大限度地实现这一目标。对于单个高速缓存,大小、关联性和块大小决定命中率。

    3. 降低更低级别内存下的开销

      高速缓存是内存层次结构的一部分,其性能会影响其它性能,处理其它内存花费的时间越长,意味着系统性能越低,也就是说尽可能让处理在缓存中完成。

    4. 减少错失惩罚

      缓存中不能命中是无法避免的事情,但是我们可以减少处理未命中所需的时间以获得更好的处理器性能,通过提升命中率并通过应用不同的优化,能够降低错失惩罚。

      高速缓存是CPU中十分重要的部分,占据了大量的资源开销和成本,如果您看过CPU架构图的话,您就会发现缓存占据了至少50%的面积,绝对至关重要。

    (4)CPU的多级缓存
    • 一级缓存(L1 Cache)

      CPU一级缓存,就是指CPU的第一层级的高速缓存,主要当担的工作是缓存指令和缓存数据。一级缓存的容量与结构对CPU性能影响十分大,但是由于它的结构比较复杂,又考虑到成本等因素,一般来说,CPU的一级缓存较小,通常CPU的一级缓存也就能做到256KB左右的水平。

    • 二级缓存(L2 Cache66)

      CPU二级缓存,就是指CPU的第二层级的高速缓存,而二级缓存的容量会直接影响到CPU的性能,二级缓存的容量越大越好。例如intel的第八代i7-8700处理器,共有六个核心数量,而每个核心都拥有256KB的二级缓存,属于各核心独享,这样二级缓存总数就达到了1.5MB。

    • 三级缓存(L3 Cache)

      CPU三级缓存,就是指CPU的第三层级的高速缓存,其作用是进一步降低内存的延迟,同时提升海量数据量计算时的性能。和一级缓存、二级缓存不同的是,三级缓存是核心共享的,能够将容量做的很大。

    CPU的核心数量、高频高低都会影响性能,但如果让CPU更聪明、更有效率的执行计算任务,那么缓存的作用就至关重要了。

    三:运行内存 与 物理内存 与虚拟内存 的区别

    运行内存就是指的物理内存

    事例:

    正在运行的一个进程,他所需的内存是有可能大于内存条容量之和的:比如你的内存条是256M,你的程序却要创建一个2G的数据区。
    那么不是所有数据都能一起加载到内存(物理内存)中,势必有一部分数据要放到其他介质中(比如硬盘)。
    待进程需要访问那部分数据时,在通过调度进入物理内存。

    虚拟内存是进程运行时所有内存空间的总和,并且可能有一部分不在物理内存中(也叫这个虚拟内存为内存交换区)
    物理内存就是我们平时所了解的内存条

    四:内存与外存的区别

    外存储器:磁性介质或光盘,像硬盘,软盘,磁带,CD
    内存储器(内存):物理实质就是一组或多组具备数据输入输出和数据存储功能的集成电路

    展开全文
  • 内存与外存的理解

    千次阅读 2010-12-27 11:48:00
    存储器分为主存储器(内存)和辅助存储器(外存)。 内存指的就是主板上的存储部件,CPU直接之沟通,并用其存储数据的部件,存放当前正在使用的(即执行中的)数据和程序,它的物理实质就是一组或多组...

    存储器分为主存储器(内存)和辅助存储器(外存)

    内存指的就是主板上的存储部件,CPU直接与之沟通,并用其存储数据的部件,存放当前正在使用的(即执行中的)数据和程序它的物理实质就是一组或多组具备数据输入输出和数据存储功能的集成电路,内存只用于暂时存放程序和数据,一旦关闭电源或发生断电,其中的程序和数据就会丢失。

    外存包括软盘、硬盘和光盘,存放在其中的数据靠磁来维持,因此可永久保存数据。

    特点:内存处理速度快、存储容量小、断电后信息丢失

    外存处理速度慢、存储容量大、信息永久保存

     

    展开全文
  • CPU,缓存,内存外存概念挖掘

    千次阅读 2019-06-24 19:55:57
    四:内存与外存的区别 五:参考文章 一:缓存 定义:凡是位于速度相差较大的两种硬件之间,用于协调两者数据传输速度差异的结构,均可称之为Cache 被扩充概念:如今缓存的概念已被扩充,不仅在CPU和主内存之间有...

    目录

     

    一:缓存

    二:CPU 

    (1)组成

    (2)为什么需要缓存

    (3)作用

    (4)CPU的多级缓存

     

    三:运行内存 与 物理内存 与虚拟内存 的区别

    四:内存与外存的区别

    五:参考文章


    一:缓存


    定义:凡是位于速度相差较大的两种硬件之间,用于协调两者数据传输速度差异的结构,均可称之为Cache
    被扩充概念:如今缓存的概念已被扩充,不仅在CPU和主内存之间有Cache,而且在内存和硬盘之间也有Cache(磁盘缓存),乃至在硬盘与网络之间也有某种意义上的Cache──称为Internet临时文件夹或网络内容缓存等。

    存放的数据:内存中被CPU访问最频繁的数据和指令被复制入CPU中的缓存

    作用:
    用于协调两者数据传输速度差异的结构

    实际例子:
    缓存是CPU(Central Processing Unit)的一部分
    缓存(Cache memory)是硬盘控制器上的一块内存芯片
    (硬盘上的缓存:当硬盘存取零碎数据时需要不断地在硬盘与内存之间交换数据  )


    二:CPU 


    (1)组成

     

    一般由逻辑运算单元、控制单元和存储单元(寄存器)组成

    (2)为什么需要缓存


    事例:
    1.因为缓存只是内存中少部分数据的复制品,所以CPU到缓存中寻找数据时,也会出现找不到的情况(因为这些数据没有从内存复制到缓存中去),这时CPU还是会到内存中去找数据,这样系统的速度就慢下来了,不过CPU会把这些数据复制到缓存中去,以便下一次不要再到内存中去取。 2.因为随着时间的变化,被访问得最频繁的数据不是一成不变的,也就是说,刚才还不频繁的数据,此时已经需要被频繁的访问,刚才还是最频繁的数据,现在又不频繁了,所以说缓存中的数据要经常按照一定的算法来更换,这样才能保证缓存中的数据是被访问最频繁的

    (3)作用


    1、缩短延迟

    访问缓存的时间应该尽可能缩短,可以通过多种的方式缩短这个时间,比如能够通过减小缓存的大小或关联性来降低缓存的延迟,还有方式预测、增加带宽等方法。

    2、提升命中率
    所谓的命中率是在高速缓存中找到内存引用的速率,我们希望能够首先通过缓存中获得信息,以得到速度优势,所以缓存需要最大限度地实现这一目标。对于单个高速缓存,大小、关联性和块大小决定命中率。

    3、降低更低级别内存下的开销

    高速缓存是内存层次结构的一部分,其性能会影响其它性能,处理其它内存花费的时间越长,意味着系统性能越低,也就是说尽可能让处理在缓存中完成。

    4、减少错失惩罚

    缓存中不能命中是无法避免的事情,但是我们可以减少处理未命中所需的时间以获得更好的处理器性能,通过提升命中率并通过应用不同的优化,能够降低错失惩罚。

    高速缓存是CPU中十分重要的部分,占据了大量的资源开销和成本,如果您看过CPU架构图的话,您就会发现缓存占据了至少50%的面积,绝对至关重要。


    (4)CPU的多级缓存

     

    一级缓存(L1 Cache)

    CPU一级缓存,就是指CPU的第一层级的高速缓存,主要当担的工作是缓存指令和缓存数据。一级缓存的容量与结构对CPU性能影响十分大,但是由于它的结构比较复杂,又考虑到成本等因素,一般来说,CPU的一级缓存较小,通常CPU的一级缓存也就能做到256KB左右的水平。

    二级缓存(L2 Cache66)

    CPU二级缓存,就是指CPU的第二层级的高速缓存,而二级缓存的容量会直接影响到CPU的性能,二级缓存的容量越大越好。例如intel的第八代i7-8700处理器,共有六个核心数量,而每个核心都拥有256KB的二级缓存,属于各核心独享,这样二级缓存总数就达到了1.5MB。

    三级缓存(L3 Cache)

    CPU三级缓存,就是指CPU的第三层级的高速缓存,其作用是进一步降低内存的延迟,同时提升海量数据量计算时的性能。和一级缓存、二级缓存不同的是,三级缓存是核心共享的,能够将容量做的很大。

    CPU的核心数量、高频高低都会影响性能,但如果让CPU更聪明、更有效率的执行计算任务,那么缓存的作用就至关重要了。

    三:运行内存 与 物理内存 与虚拟内存 的区别


    运行内存就是指的物理内存

    事例:
    正在运行的一个进程,他所需的内存是有可能大于内存条容量之和的:比如你的内存条是256M,你的程序却要创建一个2G的数据区。
    那么不是所有数据都能一起加载到内存(物理内存)中,势必有一部分数据要放到其他介质中(比如硬盘)。
    待进程需要访问那部分数据时,在通过调度进入物理内存。

    虚拟内存是进程运行时所有内存空间的总和,并且可能有一部分不在物理内存中(也叫这个虚拟内存为内存交换区)
    物理内存就是我们平时所了解的内存条

    四:内存与外存的区别


    外存储器:磁性介质或光盘,像硬盘,软盘,磁带,CD
    内存储器(内存):物理实质就是一组或多组具备数据输入输出和数据存储功能的集成电路 


    五:参考文章


    https://blog.csdn.net/as02446418/article/details/47913387
    https://zhidao.baidu.com/question/4890990.html
     

    展开全文
  • 操作系统-内存管理-内存与外存的对换(swapping)1.对换的引入在多道程序环境下,可能会有如下两个问题: 内存中的某些进程可能被阻塞(由于等待I/O或其他原因),但是该进程占用了大量的内存空间,甚至会发生内存中...

    操作系统-内存管理-内存与外存的对换(swapping)


    1.对换的引入

    多道程序环境下,可能会有如下两个问题:

    1. 内存中的某些进程可能被阻塞(由于等待I/O或其他原因),但是该进程占用了大量的内存空间,甚至会发生内存中所有的进程都被阻塞的情况。
    2. 在上述情况下,还有些作业在外存上等待调入内存,但因内存空间已被那些阻塞的进程占用所以这些在外存上等待的作业无法被调入内存执行。

    上诉两个问题会导致系统资源被严重浪费,且系统吞吐量(单位时间内完成的工作量)会下降。为了解决这个问题,引入了对换(swapping)。

    2.概念

    对换是指将内存中暂时还不能被运行的进程或者暂时用不到的程序和数据,调到外存上(在linux中,有个/swap分区专门用户对换),以便腾出足够的内存供在外存中等待的作业使用。

    3.对换分类

    按照进行对换的单位,可以将对换分为如下三类:

    1. 进程对换(整体对换):以进程为单位进行对换。
    2. 页面对换(部分对换):以页面为单位进行对换。
    3. 分段对换(部分对换):以分段为单位进行对换。

    整体对换主要用于分时系统,而部分对换的主要目的是为了支持虚拟存储系统

    4.进程对换

    为了实现进程对换,要操作系统要实现的三大功能:

    1. 对换空间的管理
    2. 进程的换出
    3. 进程的换入

    4.1.对换空间(外存的磁盘空间)的管理

    具有对换功能的操作系统通常将外存分为文件区对换区
    文件区用于存放文件,对换区存放从内存中换出的进程。
    文件区的侧重点是外存空间利用率,为了提高文件区的外存空间利用率,文件区采用离散分配方式
    对换区的侧重点是换入换出速度,为了提高对换区的换入换出速度,对换区采用连续分配方式
    为了对换区中的空闲磁盘分区进行管理,可以采用类似于动态分区分配中采用的空闲分区表/链。
    至于对换区中的空闲磁盘分区的分配算法也可以借鉴动态分区分配算法。

    4.2进程的换出

    (1)选择处于阻塞状态下并且优先级最低的进程作为换出进程
    (2)启动磁盘
    (3)将该进程的程序和数据传送到磁盘

    4.2进程的换入

    (1)操作系统定时的查看所有进程的状态
    (2)找出处于就绪状态的进程
    (3)找出换出时间最长的进程作为换入进程
    (4)将该进程换入内存

    展开全文
  • 计算机的内存外存、主存、辅

    万次阅读 2017-10-01 16:27:50
    存储器是计算机的重要组成部分,用于存储程序数据,可分为:计算机内部的存储器(内存储器,简称内存)、计算机外部的存储器(存储器,简称外存)一般来说,主存指的是内存;但是在一些专业性较强的场合,主存...
  • RAM:随机存储器,可以随时进行读写操作,速度很快,掉电以后数据会丢失,比如内存条、SRAM、SDRAM、DDR都是RAM。RAM一般用来保存程序数据、中间结果。 ROM:只读存储器,对于购买的手机4+64的配置,这里的4GB指的...
  • 内存外存,RAM,ROM,FLASH区别

    千次阅读 2020-03-06 21:24:09
    今天正好学到这里,发现分类真的是五花八门。这里我以我们学校的课件为基础,结合查到的资料理解一下。...2.动态RAM即DRAM,我们常说的电脑内存条就是这个。 3.ROM一般就是主板上的BIOS里面用,图...
  • 内存外存统称为CPU的“外存”。 3、高速缓存是存放在CPU中的,它是介于CPU与内存知己的,以缓解它们之间速度不匹配的矛盾,使得内存访问CPU的时候较快。 4、缓存是指在内存中划分出一块区域用于存放常使用的输入...
  • 1.内存不一定都是RAM,ROM也可以是内存的一部分。 (ROM是只读存储器(Read-Only Memory),也是计算机内部存储器中的一种,而硬盘是外部存储器) 内部存储器 内部存储器又称内存,用来存放“程序”和“数据”。中央...
  • RAM、ROM、内存、存储、外存、硬盘的理解

    万次阅读 多人点赞 2018-09-05 09:26:43
    内存在电脑中起着举足轻重的作用。内存一般采用半导体存储单元,... RAM:随机存取存储器(random access memory),又称作“随机存储器”,是CPU直接交换数据的内部存储器,也叫主存(内存)。可以随时读写,而且速...
  • 计算机内存模型概念

    万次阅读 多人点赞 2017-10-27 14:38:39
    内存模型的相关概念 大家都知道,计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个...
  • 分布式系统概念

    万次阅读 多人点赞 2018-11-15 16:25:36
    客户端每秒向服务器提交的请求数量,如果客户端发出的请求数量越多,之相对的平均吞吐量也应该越大; 5.并发用户数(Concurrent users) 客户端的同一批用户同时执行一个操作的数量。 三 Java后台技术 ...
  • 内存外存、主存、辅

    千次阅读 2016-08-21 15:38:09
    但是,在一些专业性较强的场合,主存与内存还是有一定区别的.内存储存器还有其他形式. cpu中的存储器和主存是两个概念;处理器需要自己的内存储器,它们以寄存器的形式存在 辅狭义上是我们平时讲的硬盘。科学地...
  • 外内存与堆内内存详解

    万次阅读 多人点赞 2018-05-07 17:14:42
    一、什么是堆外内存1、堆内内存(on-heap memory)回顾堆外内存和堆内内存是相对的二个概念,其中堆内内存是我们平常工作中接触比较多的,我们在jvm参数中只要使用-Xms,-Xmx等参数就可以设置堆的大小和最大值,理解...
  • Java面试题大全(2020版)

    万次阅读 多人点赞 2019-11-26 11:59:06
    // true 代码解读:因为 x 和 y 指向的是同一个引用,所以 == 也是 true,而 new String()方法则重写开辟了内存空间,所以 == 结果为 false,而 equals 比较的一直是值,所以结果都为 true。 equals 解读 equals ...
  • 本文是参考两篇CSDN和自己做的修改笔记整理: 作者:lm_y 原文:... 作者:dadalan ... 一、内存 内存就是RAM! RAM和ROM是相对的,RAM在断电后会丢失其中的信息,而...
  • 一文详解堆栈(二)——内存与内存

    千次阅读 多人点赞 2019-10-15 19:06:15
    前言:我们经常听见一个概念,堆(heap)和栈(stack),其实在数据结构中也有同样的这两个概念,但是这和内存的堆栈是不一样的东西哦,本文也会说明他们之间的区别的,另外,本文的只是是以C/C++为背景来说明,不同...
  • 上一节所讨论的各种内存管理策略都是为了同时将多个进程保存在内存中以便允许多道程序设计。它们都具有以下两个共同的特征: 1) 一次性 作业必须一次性全部装入内存后,方能开始运行。这会导致两种情况发生: ...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    halt执行时,杀死应用进程,执行sync(将于buffer中的资料强制写入硬盘中)系统调用,文件系统写操作完成后就会停止内核。若系统的运行级别为0或6,则关闭系统;否则以shutdown指令(加上-h参数)来取代。  ...
  • jvm堆外内存--DirectByteBuffer

    千次阅读 2018-06-17 13:07:19
    但自从用了Netty等高并发IO框架后,就变成了天天外内存打交道,在mina,netty等nio框架中屡见不鲜。堆外内存的优点是能减少IO过程的内存复制,不需要 "堆内存Buffer拷贝一份到直接内存中,然后才写入Socket...
  • MySQL 面试题

    万次阅读 多人点赞 2019-09-02 16:03:33
    而 MyISAM 内部维持了一个计数器,预了结果,所以直接返回即可。 详细的原因,胖友可以看看 《高性能 MySQL 之 Count 统计查询》 博客。 ? 各种不同 MySQL 版本的 Innodb 的改进? 艿艿:这是一个选择...
  • 比如申请了一个integer,但给它了long才能下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存new/malloc后,无法释放delete/free已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积.....
  • 详细介绍了JMM Java内存模型的概念、由来,以及happens-before原则的具体规则。
  • Redis面试题集

    千次阅读 多人点赞 2019-09-16 10:19:31
    合理的创建标题,有助于目录的生成如何改变文本的样式插入链接图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必...
  • 内存管理之DDR概念理解

    千次阅读 2020-07-29 21:52:34
    内存概念整理 物理内存 内存概念 所谓内存,是指计算机在运行时,需要使用的数据的存放介质; - 数据读写速度快; - 断电数据消失,通过一定频率的电流刷新维持内部状态,断电后状态会恢复初始,即数据消失; - 价格...
  • C#中字符串的内存分配池【非常详细】

    千次阅读 多人点赞 2019-02-20 23:36:52
    一、学会查看变量的内存地址 想要研究C#中字符串的内存分配情况,如果能查看字符串的内存地址就好了。其实我们可以在VS2017中查看变量的内存地址,截图中有详细说明: 二、string类型简单说明 string是引用类型...
  • 【数据库学习】数据库总结

    万次阅读 多人点赞 2018-07-26 13:26:41
    1)概念 数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 常见数据库管理系统有:Access、mysql、sql server 2)特点 ①数据库数据特点 永久存储、有组织、可共享。 ...
  • 文章目录内存概述进程运行的基本原理内存管理内存空间的扩充内存空间的分配回收动态分区分配算法 内存概述 什么是内存内存是用于存放数据的硬件,程序执行前需要先放到内存中才能被CPU处理。 存储单元 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 152,417
精华内容 60,966
关键字:

内存与外存的概念