高速缓存(cache memory)和虚拟内存(virtual memory)的区别

缓存内存和虚拟内存的区别在于它们的用途和物理存在。高速缓冲存储器是一种用来提高主存存取时间的存储器。它位于CPU和主内存之间,可以有多个级别的缓存,如L1、L2和L3。用于高速缓存的硬件类型比用于主存的RAM(随机存取存储器)要贵得多,因为高速缓存要快得多。因此,高速缓存的容量非常小。虚拟内存是一种内存管理技术,用于有效地使用RAM(主内存),同时为每个程序提供比实际物理RAM(主内存)容量更大的...

缓存内存与虚拟内存

缓存内存和虚拟内存的区别在于它们的用途和物理存在。高速缓冲存储器是一种用来提高主存存取时间的存储器。它位于CPU和主内存之间,可以有多个级别的缓存,如L1、L2和L3。用于高速缓存的硬件类型比用于主存的RAM(随机存取存储器)要贵得多,因为高速缓存要快得多。因此,高速缓存的容量非常小。虚拟内存是一种内存管理技术,用于有效地使用RAM(主内存),同时为每个程序提供比实际物理RAM(主内存)容量更大的单独内存空间。这里的硬盘是用来扩展内存的。物理RAM中的项目与硬盘来回传输。

什么是高速缓存(cache memory)?

高速缓存是一种介于CPU(中央处理器)和RAM(随机存取存储器)之间的存储器。缓存的目的是减少CPU从RAM访问内存的时间。高速缓存比RAM快得多。所以缓存上的访问时间远小于RAM上的访问时间。但是用于高速缓存的内存成本远远高于用于RAM的内存成本,因此,缓存的容量非常小。用于高速缓存的内存类型称为SRAM(静态随机存取存储器)。

每当CPU想要访问内存时,它首先检查它所需要的是否驻留在缓存内存中。如果是,它将能够以最小的延迟访问它。如果它不驻留在缓存中,那么请求的内容将从RAM复制到缓存,然后只有CPU从缓存访问它。在这里,当从缓存复制内容时,不仅要将请求的内存地址中的内容,而且要将附近的内容复制到缓存中。因此,下一次发生缓存命中的概率很高,因为大多数计算机程序都会访问附近的数据或上次访问的数据。因此,由于缓存,平均内存延迟减少了。

高速缓存(cache memory)和虚拟内存(virtual memory)的区别

在CPU中,有三种类型的缓存:用于存储程序指令的指令缓存、用于存储数据项的数据缓存和用于存储内存映射的转换查找缓冲区。对于数据缓存,通常有多级缓存。也就是说,有几个缓存,如L1、L2和L3。一级缓存是最快但最小的最接近CPU的缓存。二级缓存比一级缓存慢,但比一级缓存大,驻留在一级缓存之后。由于这种层次结构,可以以更低的成本获得更好的平均内存访问时间。

什么是虚拟内存(virtual memory)?

虚拟内存是计算机系统中使用的一种内存管理技术。没有硬件称为虚拟内存,但它是一个概念,使用RAM和硬盘为程序提供虚拟地址空间。第一个RAM被分成称为页的块,它们由物理内存地址标识。在硬盘中,保留了一个特殊的部分,在Linux中称为交换,在Windows中称为页文件。当一个程序启动时,它会得到一个比实际物理内存还要大的虚拟地址空间。虚拟内存空间也被分成称为页的块,每个虚拟内存页都可以映射到一个物理页。名为pagetable的表跟踪这个映射。当物理内存空间不足时,所做的是,将某些物理页推送到硬盘中的特定部分。当再次需要将任何页面推送到硬盘时,通过将另一个选定页面从物理内存放入硬盘,将其带到物理内存中。

高速缓存(cache memory)和虚拟内存(virtual memory)的区别

高速缓存(cache memory)和虚拟内存(virtual memory)的区别

•缓存是一种用于提高主内存访问时间的内存类型。它是一种更快的内存类型,驻留在CPU和RAM之间,以减少平均内存访问延迟。虚拟内存是一种内存管理方法,它是一种让程序获得自己的虚拟内存空间的概念,它甚至比可用的实际物理RAM还要大。

•缓存是一种实际存在的硬件内存。另一方面,没有硬件称为虚拟内存,因为它是一个概念,使用RAM、硬盘、内存管理单元和软件来提供虚拟类型的内存。

•缓存管理完全由硬件完成。虚拟内存由操作系统(软件)管理。

•缓存位于RAM和处理器之间。数据传输包括RAM、高速缓存和处理器。另一方面,虚拟内存涉及RAM和硬盘之间的数据传输。

•缓存的大小很小,如千字节和兆字节。另一方面,虚拟内存的容量巨大,需要千兆字节。

•虚拟内存涉及存储物理内存和虚拟内存之间映射的页表等数据结构。但是这种类型的数据结构对于高速缓存是不必要的。

小结:

缓存内存与虚拟内存

缓存内存用于提高主内存访问时间,而虚拟内存是一种内存管理方法。缓存内存是一个实际的硬件,但没有称为虚拟内存的硬件。RAM、硬盘和各种其他硬件以及操作系统一起产生了一个称为虚拟内存的概念,为每个程序提供大而独立的虚拟内存空间。缓存内存中的内容由硬件管理,而虚拟内存中的内容由操作系统管理。

 

  1. Hellisp的缓存进程(CC by-SA 3.0)
  2. Ehamberg的虚拟内存(CC by-SA 3.0)

  • 发表于 2020-10-29 11:12
  • 阅读 ( 865 )
  • 分类:IT

你可能感兴趣的文章

高速缓存(cache memory)和虚拟内存(virtual memory)的区别

...的成本获得更好的平均内存访问时间。 什么是虚拟内存(virtual memory)? 虚拟内存是计算机系统中使用的一种内存管理技术。没有硬件称为虚拟内存,但它是一个概念,使用RAM和硬盘为程序提供虚拟地址空间。第一个RAM被分成称为...

  • 发布于 2020-10-29 11:12
  • 阅读 ( 865 )

如何从linux终端检查内存使用情况

...上的总内存、已用内存、可用内存、共享内存、缓冲区/缓存和可用内存。它还显示配置的交换空间总量,以及已使用和可用的交换空间量。 在我们的示例中,我们将使用-m(mebibytes)选项。但是,也可以使用-b(字节)、-k(kibi...

  • 发布于 2021-04-02 13:03
  • 阅读 ( 207 )

cpu的高速缓存何时被刷新回主存?

...memory be if both Core1 and Core2 have edited their values in cache? CPU的高速缓存何时被刷新回主存? 答案 超级用户贡献者davidschwartz、sleske和Kimberly W为我们提供了答案。首先,大卫·施瓦茨: If I have a CPU with two cores and each core has its own L1 cache...

  • 发布于 2021-04-08 07:03
  • 阅读 ( 209 )

在vista中增加文件系统内存缓存大小

我一直想知道为什么Windows不允许为文件系统缓存设置任意大小。如果你的笔记本电脑里有一个慢硬盘,但是有很多可用的系统内存呢?难道你不能最大限度地利用内存来加速硬盘访问吗? 我发现了一个稍微有点文档化的调整,...

  • 发布于 2021-04-14 10:51
  • 阅读 ( 259 )

事实上的(virtual)和高速缓存(cache memory)的区别

在计算机世界里,memory sets the limit upon which we base if we can run that program or not. If you were unlucky enough to have experienced DOS, then you know the bane of the 640k memory limit. Nowadays memory seems to be almost infinite and nobody actually gets the ‘not enough memory’ me...

  • 发布于 2021-06-22 11:01
  • 阅读 ( 230 )

隐藏物(cache)和缓冲器(buffer)的区别

...备的数据。这样计算机就可以执行其他任务。另一方面,高速缓存是一种高速存储区域,它可以是主存储器的一部分,也可以是硬盘等其他独立存储区域的一部分。这两种缓存方法分别称为内存缓存和磁盘缓存。 为了确保高速...

  • 发布于 2021-06-23 20:36
  • 阅读 ( 248 )

主存储器(primary memory)和辅助存储器(secondary memory)的区别

...的(of primary) vs. 辅助存储器(secondary memory) 计算机内存与高速缓存一起分为主内存和次内存。主存储器是计算机的主存储器或内部存储器,用来存储经常使用的数据和指令。它提供快速的内存访问,因为它的易失性使得处理单元...

  • 发布于 2021-06-25 06:42
  • 阅读 ( 581 )

隐藏物(cache)和猛撞(ram)的区别

...AM是一种计算设备,用于存储CPU当前使用的数据和程序。 高速缓存是计算机中一个更小、更快的内存组件。它保存CPU常用的数据副本。另一方面,RAM是存储当前使用的程序和数据的主存储器。它帮助CPU在最短的时间内访问数据。...

  • 发布于 2021-06-30 23:47
  • 阅读 ( 293 )

身体的(physical)和虚拟内存(virtual memory)的区别

...当执行这些程序时,它们被称为进程。 什么是虚拟内存(virtual memory)? Virtual memory is a logical memory. In other words, it is a memory management technique performed by the operating system. Virtual memory allows the programmer to use more memory for the programs than the av...

  • 发布于 2021-07-01 06:29
  • 阅读 ( 789 )

l1 l2级(l1 l2)和三级缓存(l3 cache)的区别

...的缓存,而二级缓存比一级缓存慢,但比三级缓存快。 高速缓存是计算机中的一种快速存储器。它保存CPU经常使用的数据。RAM或主内存速度快,但高速缓存比RAM快。CPU首先检查高速缓存以找到所需的数据。它是CPU和RAM之间的中...

  • 发布于 2021-07-01 06:46
  • 阅读 ( 475 )
RLHXL
RLHXL

0 篇文章

相关推荐