首页 > 编程语言 >Vue3 系统入门与项目实战2022克鲁斯卡尔算法

Vue3 系统入门与项目实战2022克鲁斯卡尔算法

时间:2022-10-22 13:31:09浏览次数:49  
标签:缓存 存储器 克鲁斯 内存 2022 Vue3 DRAM CPU 硬盘

​Vue3 系统入门与项目实战2022克鲁斯卡尔算法

计算机的记忆金字塔

1.局部性原则

局部性原则是制定存储系统数据管理策略的理论基础。我们可以从两个维度来理解它:


1.时间局部性(Temporal Locality):时间局部性是指一条指令或数据被访问后,有很大的概率在短时间内再次被访问。比如程序中的一些函数、循环语句或变量,往往在短时间内被多次调用;

2.空间局部性(Spatial Locality):空间局部性是指在一条指令或数据被访问之后,其相邻地址的数据很有可能也被访问。例如,在程序中访问了数据的第一个元素之后,通常会访问后面的元素。


在计算机组成原理中,局部性原理体现在很多策略中,我们在学习中可以有意识地联系起来。比如管理CPU缓存时,不仅可以将当前访问的内存数据加入缓存,还可以将相邻内存的数据一起缓存(即CPU缓存线),这样也可以提高缓存命中率。


2.了解记忆系统

2.1为什么记忆系统要分层?

朋友们应该都知道,内存和硬盘都是存储设备。实际上,CPU和CPU L1/L2/L3缓存中的寄存器也是存储设备,其访问速度比内存和硬盘快几个数量级。那么,为什么要利用内存和硬盘,直接扩充CPU的存储容量呢?有必要提一下内存的三个主要性能指标:速度+容量+人均价格。

一般来说,内存容量越大,速度越低,速度越高,价格越高。很难实现满足大容量、高速度、低价格要求的“神奇存储器”。因此,现代计算机系统将采用分层体系结构,以满足整个系统在容量、速度和价格方面的最大性价比。

2.2内存的层次结构

现代计算机系统中,一般采用“CPU寄存器-CPU缓存-内存-硬盘”四级内存结构。从上到下,容量逐渐增加,速度逐渐变慢,单价逐渐降低。


1.CPU寄存器:它存储CPU正在使用的数据或指令。寄存器是离CPU控制器和运算器最近的内存,速度最快;

2.CPU缓存:存储CPU近期要使用的数据和指令。CPU缓存是位于CPU和内存之间的一层缓存。缓存和内存之间的数据传输由硬件自动完成,对上层完全透明。

3.内存:存储正在运行或将要运行的程序和数据;

4.硬盘:存储暂时不用或不能直接使用的程序和数据。硬盘主要解决内存系统容量不足的问题。虽然硬盘的速度比内存慢,但是硬盘的容量可以比内存大很多,断电也不会丢失数据。


记忆金字塔


在此基础上,对每一级进行局部优化,形成一个完整的记忆系统:


1-优化CPU L3缓存:CPU缓存这个概念刚出现的时候,CPU和内存之间只有一个缓存。随着芯片集成度的提高,现代CPU Cache已经普遍采用L1/L2/L3多级Cache结构来提高性能;

2-虚拟内存优化:程序不能直接访问物理地址,而是访问虚拟地址,虚拟地址需要地址翻译才能映射到存储数据的物理地址;

3-页缓存优化:为了提高读写效率,保护磁盘,操作系统在文件系统中使用了页缓存机制。


2.3为什么要在CPU和内存之间加缓存?

我认为有两个原因:


1-弥补CPU和内存的速度差(主要):由于CPU和内存的速度差太大,为了拉平两者的速度差,现代计算机会在两者之间插入一个速度比内存更快的缓存。只要将CPU近期要使用的信息调入缓存,CPU就可以直接从缓存中获取信息,提高了访问速度;

2-减少CPU和I/O设备之间对内存访问的竞争:由于CPU和I/O设备将竞争同一个内存总线,因此有可能CPU将等待I/O设备访问内存。如果CPU可以直接从缓存中获取数据,就可以减少竞争,提高CPU的效率。


有关CPU L3缓存的更多信息,请关注专栏。

CPU三级缓存


2.4为什么要用虚拟内存访问内存?

为了满足系统的多进程和大内存需求,操作系统在内存级使用虚拟内存管理。当物理内存资源不足时,操作系统会按照一定的算法把最近不用的内存换出到硬盘上,然后把硬盘上要访问的数据换入到物理内存上。至于操作系统如何管理虚拟地址和内存地址(段、页、段页)的关系,对上层应用完全透明。


有关虚拟内存的更多信息,请关注专栏。

虚拟内存

3.记忆类型

在这一节中,我们将整理出常见的内存类型。

3.1按存储材料划分


1.磁面存储器:在金属或塑料表面涂上一层磁性材料作为记录介质,用磁头在磁性层上读写。例如磁盘、磁带、软盘等。,已经逐渐被淘汰。

2.光盘存储:在金属或塑料表面涂上一层磁光材料作为记录介质,用激光在磁性层上读写。如VCD、DVD等。,已经逐渐被淘汰。

3.半导体存储器:由半导体器件组成的存储器。现代的半导体存储器会用VLSI技术做成芯片,具有体积小,功耗低,存取速度快的优点。是目前主流的存储技术。


提示:由于磁盘和光盘已经逐渐淡出历史,所以我们以后讨论的所有存储器默认都是半导体存储器。


3.2按芯片类型划分

根据存取方法,半导体存储器可分为两种类型:


1.RAM(Random-Access Memory):指可以通过指令对任何存储单元进行读写,断电后会丢失所有信息的存储器。RAM的容量没有ROM大,但比ROM快很多,通常用作计算机的主存。

2.ROM(只读存储器):指只能读取,断电后信息不会丢失的存储器。随着半导体技术的发展,在ROM的基础上发展了EEPROM(电可擦只读存储器)等技术。它们不符合rom只读的名称,但是因为它们是从ROM派生出来的,所以仍然使用原来的名称。现在我们比较熟悉的HDD(机械硬盘)和SSD(固态硬盘),都是ROM的衍生技术。


RAM可分为两种类型:SRAM和DRAM:


1.SRAM(静态RAM):由于长RAM): SRAM保持上电状态,存储在里面的数据不会丢失,所以称为“静态”RAM。


优点:访问速度很快,通常用作CPU的缓存;

缺点:在SRAM中,实现1位容量只需要6~8个晶体管,所以SRAM的存储密度不高。


由6个晶体管组成的1位SRAM


2.DRAM(动态RAM):DRAM在保持通电状态时,需要定期刷新,以保证里面存储的数据不会丢失,所以称为“动态RAM”。


优点:实现1位容量只需要一个晶体管和一个电容,所以DRAM的存储密度、功耗和价格指数都比SRAM好很多;

缺点:电容会自然放电。为了避免一些长时间未被访问的存储单元的数据丢失,必须采用定期刷新的策略。结果,DRAM的数据存取电路和刷新电路比SRAM更复杂,存取延迟更长。因此,一般采用DRAM作为计算机的主存储器。


由1个晶体管和1个电容器组成的1位DRAM


3.3为什么内存的访问速度比CPU差那么多?

DRAM的性能瓶颈限制了存储器的访问速度。

在当前的计算机系统中,计算机存储器是基于DRAM(动态随机存取存储器)芯片的。它的基本单元由一个晶体管和一个电容器组成,在存储密度、功耗和价格方面都很优秀。但是电容会自然放电,需要定期刷新才能保证信息不丢失,所以访问速度受损。缓存是基于SRAM(静态随机存取存储器)芯片的存储器,其基本单元由6~8个晶体管组成。结构更简单,所以访问速度更快,但存储密度不高。


4.摘要


1.局部性原则是计算机内存系统的基本原则,分为时间局部性和空间局部性;

2.为了在容量、速度和价格上寻求最大的性价比,现代计算机系统将采用分层架构,从上到下容量逐渐增加,速度逐渐减慢,单价逐渐降低。

3.为了弥补CPU和内存的速度差异,减少CPU和I/O设备对内存访问的竞争,计算机在CPU和内存之间增加缓存,一般有L1/L2/L3多级缓存结构;

4.为了满足系统的多进程和大内存需求,操作系统在内存级使用虚拟内存管理;

5.DRAM的性能瓶颈限制了存储器的访问速度。

Vue3 系统入门与项目实战2022克鲁斯卡尔算法

微信:muke1818

标签:缓存,存储器,克鲁斯,内存,2022,Vue3,DRAM,CPU,硬盘
From: https://blog.51cto.com/u_15840034/5785809

相关文章