昨天晚上在JD搜了下SSD,居然都这么便宜了,价格几乎是几年前的1/2、1/3了。
着看看着,脑海中浮现出一些名词:DAM、SAM、EEPRAM、FLASH等等,仿佛又回到了当年的课堂。
内存可以分为高速缓存和主存(也称为主存储器),不仅仅是我们常说的内存条。
高速缓存(Cache
)是位于CPU内部或靠近CPU的一种特殊类型的内存。它用于临时存储CPU最频繁访问的数据和指令,以提供快速访问和执行。高速缓存的目的是通过预先存储常用的数据,以减少CPU等待主存储器访问的时间,从而提高计算机系统的性能。总之就是很快。
高速缓存通常分为多个层级,如L1、L2和L3缓存。L1缓存是最接近CPU核心的、最快速的缓存层级,L2缓存位于L1缓存之外,而L3缓存则位于更远离CPU的位置,通常是多个CPU核心共享的。不同层级的高速缓存具有不同的容量和访问延迟。
主存(Main/primary Memory
)是计算机系统中用于存储程序、数据和操作系统的内部存储器。它是计算机系统的主要存储区域,用于临时存储正在执行的程序和数据。主存是相对于高速缓存而言的,其容量通常比高速缓存大得多,但访问速度较慢。
主存储器与高速缓存之间存在访问延迟和容量的差异。高速缓存是为了提供更快的数据访问,而主存则提供了更大的存储容量。CPU在需要数据时首先从高速缓存中查找,如果数据不在高速缓存中,则会从主存中获取。高速缓存和主存之间的数据传输通过总线进行。
Secondary memory
(辅助存储器)是计算机系统中用于持久存储数据和程序的一种存储设备。与主存储器(主存)相比,辅助存储器的容量更大,但访问速度较慢。辅助存储器通常用于长期存储和持久保存数据,即使在断电或重新启动计算机后,存储在辅助存储器中的数据仍然保持不变。
常见的辅助存储器设备包括硬盘驱动器(Hard Disk Drive,HDD)、固态硬盘(Solid State
Drive,SSD)、光盘、闪存驱动器(Flash Drive)、磁带等。
根据与处理器的接近程度,我们可以将缓存分为三种类型。
缓存的优缺点
- 优点
- 处理器可以比主内存更快地访问高速缓存的内容。
- 缓存还提高了处理器的性能。
- 缺点
- 与主存储器相比,高速缓冲存储器尺寸较小且价格昂贵。
- 它是一个易失性存储器,因为一旦电源关闭,数据就会消失。
L1缓存:
L1指令缓存(L1 Instruction Cache)通常在4 KB到128 KB之间。 L1数据缓存(L1 Data Cache)通常在8 KB到256 KB之间。
L2缓存:
L2缓存通常在128 KB到8 MB之间。
L3缓存:
L3缓存通常在4 MB到64 MB之间。
缓存这么快,为什么不把容量设计的大大的呢?
前面的速度图里面,可以看到,现在主存的速度一般在5000MB/s到10GB/s,但L1缓存速度高达 百G/s。很明显,cache的价格很高,当然了,不只是价格原因:
Primary memory
(主存储器)是计算机系统中的主要存储器,用于存储正在执行的程序、数据和操作系统。它是计算机的内部存储器,直接与CPU(中央处理器)相连,用于快速的读取和写入操作。
其中RAM就是我们最常见的了,比如你电脑的内存条。
RAM(随机存取存储器)是计算机主存储器的一部分,可由CPU直接访问。RAM用于读取和写入由CPU随机访问的数据。RAM 本质上是易失性的,这意味着如果断电,存储的信息就会丢失(说的是DRAM)。RAM用于存储CPU当前正在处理的数据。大多数可修改的程序和数据都存储在 RAM 中。
SRAM(Static
Random Access Memory)和DRAM(Dynamic
Random Access Memory)都是常见的计算机内存类型,它们在构造、工作原理和性能特点上有所区别。
SRAM:
DRAM:
综合比较:
SRAM(静态随机存取存储器)由于其快速的访问速度和不需要刷新的特性,在许多应用领域中得到广泛应用:
SRAM主要用于需要快速访问和持久存储数据的场景,特别适用于缓存存储器、寄存器文件和对数据响应速度要求高的应用。然而,由于SRAM的成本较高和容量较小,它通常被用作辅助存储器,而不是主要的系统内存。
DRAM:
ROM(只读存储器)是一种存储数据的电子存储器类型,其中存储的数据在断电或重新启动后保持不变。ROM被称为"只读",是因为存储在其中的数据无法被常规操作修改或擦除。
ROM的数据是在制造过程中被编程的,通常由芯片制造商或设备制造商在生产阶段完成。这些数据包括预先存储的指令、固件、引导程序、配置信息、固定数据等。ROM的内容在使用过程中无法修改,因此它被用于存储不可更改或固定的数据。
以前常用的51单片机,烧录程序,就是把程序写入到ROM中。
有几种常见类型的ROM:
PROM
(可编程只读存储器):PROM允许用户编程数据到ROM芯片中,但一旦编程完成,数据就无法再次修改或擦除。编程通常通过使用特定的设备或编程器进行。EPROM
(可擦除可编程只读存储器):EPROM与PROM类似,但它具有可擦除的特性。它允许多次编程和擦除数据,通常通过使用紫外线擦除器来擦除数据。擦除后,新的数据可以重新编程到EPROM中。PROM(可编程只读存储器)是一种只读存储器类型,可以由用户编程数据。它允许将数据一次性编程到芯片中,之后数据无法再次修改或擦除。下面是对PROM的详细介绍:
EPROM(可擦除可编程只读存储器)是一种只读存储器类型,具有可擦除和可编程的特性。它允许用户多次编程和擦除数据,以更新或修改存储的内容。下面是对EPROM的详细介绍:
EPROM虽然具有可擦除的特性,但其擦除和编程过程都是相对较慢的。此外,EPROM芯片的寿命也有限,擦除和编程次数越多,芯片的可靠性和性能可能会下降。因此,在使用EPROM时需要注意擦除和编程的次数,以保证数据的可靠性和持久性。
EEPROM(Electrically Erasable
Programmable Read-Only Memory)是一种可擦写可编程只读存储器。与传统的ROM类型不同,EEPROM具有可编程和可擦写的特性,可以在电子设备中存储和更新数据。以下是对EEPROM的详细介绍:
EEPROM的擦写和编程操作相对较慢,相比于RAM和高速缓存等存储器,EEPROM的访问速度较慢。此外,EEPROM具有一定的擦写寿命,即可以进行有限次数的擦写操作,超过寿命后可能会导致存储单元的损坏。因此,在使用EEPROM时需要注意擦写次数的限制和数据的可靠性。
比如ROM容量较小的51单片机就是用的EEPROM。
就是前面说的使用紫外线擦除的EROM。
Secondary memory
(辅助存储器)是计算机系统中用于持久存储数据和程序的一种存储设备。与主存储器(主存)相比,辅助存储器的容量更大,但访问速度较慢。辅助存储器通常用于长期存储和持久保存数据,即使在断电或重新启动计算机后,存储在辅助存储器中的数据仍然保持不变。
常见的辅助存储器设备包括硬盘驱动器(Hard Disk Drive,HDD)、固态硬盘(Solid State
Drive,SSD)、光盘、闪存驱动器(Flash Drive)、磁带等。
介绍一下最常见的 HDD、SSD和Flash:
HDD(Hard Disk Drive
):HDD是一种机械式存储设备,使用旋转的磁盘和移动的读写磁头来存储和检索数据。HDD内部包含一个或多个磁性盘片,数据通过读写磁头在盘片上进行读写。HDD的工作原理是通过磁性材料在盘片上创建磁场,用于表示数据的位。HDD具有较大的存储容量、相对较低的成本和广泛的应用领域,但其速度较慢、存在机械部件和易受冲击和震动的影响。
SSD(Solid State Drive
):SSD是一种基于闪存存储芯片的存储设备,不含任何机械部件。SSD使用闪存芯片来存储数据,这些芯片具有非易失性存储特性,可以在断电情况下保持数据。SSD的工作原理是通过电子门和电荷存储单元(如NAND闪存)来表示数据的位。SSD具有较快的读写速度、较低的访问延迟和较高的耐冲击性。它们广泛应用于个人电脑、笔记本电脑、服务器和移动设备等领域。
Flash 存储器:Flash存储器是一种非易失性存储器技术,用于数据存储和传输。它是SSD和其他存储设备中使用的核心技术之一。Flash存储器通过电子门和电荷存储单元来存储数据,类似于SSD。Flash存储器具有较快的读取速度、较低的功耗、较高的可靠性和耐久性。它被广泛应用于闪存驱动器(SSD)、USB闪存驱动器、闪存卡、存储卡、手机和其他便携设备中。
以前买的电脑都是SSD+HDD的组合,而现在已经完全是SSD了,而且SSD由于技术的提升,价格已经大幅下降了(当然了也有无良商家)。
简单说一下。
51单片机有几种存储介质。它有一个内部RAM,每种51单片机都应该有,共256字节。此外,它还有一个程序存储器(EEPROM),片内外统一编址,共64KB。此外,如果内部数据存储器不够用,可以外接数据存储器。8051单片机最大可以外接容量为64KB的数据存储器(RAM)。
STM32单片机也有几种存储介质。它有一个内置的Flash
,一般我们使用JTAG
或者SWD
模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序,可以理解为电脑中的软件安装在这里。
此外,它还有一个内置的SRAM
区,可以理解为这个是电脑的内存条。STM32单片机还有一个系统存储器,这是一块特定的区域,只读ROM
存储器,STM32厂家在这个区域内部预置了一段BootLoader
,也就是我们常说的ISP程序,出厂后无法修改。
把 永 远 爱 你 写 进 诗 的 结 尾 ~