存储器(详解)

news/2024/7/23 23:25:26 标签: linux, fpga开发, 单片机, arm开发, 嵌入式硬件, stm32

概念

        存储器(Memory)是计算机系统中用于存储和检索数据的硬件设备或组件。它在计算机中扮演着重要的角色,允许计算机暂时或永久地存储程序、数据和中间结果

        存储器是许多存储单元的集合,按单元号顺序排列。每个单元由若干二进制位构成,以表示存储单元中存放的数值,这种结构和数组的结构非常相似,故在VHDL语言中,通常由数组描述存储器。存储器包括多种类型,每一种类型都有其独特的特点和用途。

主要的存储器类型

  1. RAM(Random Access Memory,随机存取存储器): 用于存储正在运行的程序和临时数据。RAM是易失性存储器,当计算机断电时,其中的数据会丢失。

  2. ROM(Read-Only Memory,只读存储器): 用于存储固定的程序和数据,通常在制造过程中写入,用户无法修改。ROM是非易失性存储器。

  3. Cache Memory: 位于CPU内部的高速缓存,用于存储最常用的数据和指令,以提高CPU对这些数据的访问速度。

  4. Flash Memory: 一种非易失性存储技术,常见于USB闪存驱动器、SD卡、固态硬盘(SSD)等设备。

  5. 硬盘驱动器(Hard Disk Drive,HDD): 机械硬盘,用于大容量的永久性数据存储。

  6. 固态硬盘(Solid State Drive,SSD): 使用闪存等非机械性存储技术,具有更快的读写速度。

  7. 光盘(CD-ROM、DVD-ROM、Blu-ray Disc): 用于存储音频、视频或软件等数据。

  8. eMMC(Embedded MultiMedia Card): 嵌入式多媒体卡,一种集成式存储解决方案,常见于移动设备和嵌入式系统。

  9. NVRAM(Non-Volatile Random Access Memory): 非易失性随机存取存储器,具有随机访问性质,但在断电时保持数据的完整性。

作用

  1. 程序和数据存储: 存储器用于存储计算机程序和数据。计算机需要将程序加载到存储器中才能执行它们,而数据也需要在运行时存储在存储器中供程序使用。

  2. 程序执行: 存储器中的程序被CPU读取并执行。RAM(随机存取存储器)是一种主要的执行存储器,它允许计算机快速访问和修改存储在其中的数据,包括程序指令。

  3. 中间结果存储: 存储器用于存储计算过程中的中间结果。这对于处理复杂的计算任务,如数学运算或图形处理,至关重要。

  4. 临时数据存储: 存储器用于存储临时性的、在程序执行过程中产生的数据。这些数据包括程序运行时的变量、缓存和临时计算结果。

  5. 快速数据访问: Cache Memory(缓存存储器)位于CPU内部,用于存储最常用的数据和指令,以便提高CPU对这些数据的访问速度。这有助于提高计算机的整体性能。

  6. 永久性数据存储: 存储器还用于永久性存储数据,包括硬盘驱动器(HDD)、固态硬盘(SSD)、光盘和其他永久性存储介质。这些存储设备在断电后仍然保持数据。

  7. 系统启动: 存储器中存储着操作系统和引导程序,用于在计算机启动时加载操作系统。

  8. 数据交换和传输: 存储器允许在计算机系统内的不同部件之间交换和传输数据,促使各个部分协同工作。

分类

常见的分类

综合分类

  1. 按易失性分类:

    • 易失性存储器: 在断电时会丢失存储的数据。
      • 主存储器(RAM):用于临时存储正在运行的程序和数据。
    • 非易失性存储器: 数据在断电时仍然保持。
      • 只读存储器(ROM):存储固定的程序和数据,不可修改。
      • Flash存储器:一种非易失性存储器,常见于USB闪存驱动器、SD卡等。
  2. 按用途分类:

    • 主存储器: 用于存储正在运行的程序和数据,包括RAM。
    • 辅助存储器: 用于永久性存储数据,包括硬盘驱动器(HDD)、固态硬盘(SSD)、光盘等。
    • Cache Memory: 位于CPU内部的高速缓存,用于提高对最常用数据的访问速度。
  3. 按访问方式分类:

    • 随机存取存储器(RAM): 数据可以随机访问,读写速度较快。
    • 顺序存取存储器: 数据按顺序访问,如磁带存储。
  4. 按存储介质分类:

    • 半导体存储器: 使用半导体技术,包括RAM、ROM、Flash等。
    • 机械存储器: 使用机械部件,包括硬盘驱动器(HDD)和光盘。
  5. 按位置分类:

    • 内部存储器: 位于计算机内部,包括RAM、Cache Memory。
    • 外部存储器: 位于计算机外部,包括辅助存储器如硬盘驱动器、USB闪存驱动器等。
  6. 按访问速度分类:

    • 快速存储器: 如Cache Memory,用于存储最常用的数据,提高CPU对这些数据的访问速度。
    • 慢速存储器: 如硬盘驱动器,用于大容量的永久性数据存储。
  7. 按层次分类:

    • 一级缓存(L1 Cache): 位于CPU内部,速度最快。
    • 二级缓存(L2 Cache): 位于CPU内部或紧邻CPU,速度次之。
    • 三级缓存(L3 Cache): 通常位于CPU外部,共享于多个核心。

常见的存储及相关技术

  1. RAM(Random Access Memory): 随机存取存储器,用于临时存储计算机正在运行的程序和数据。分为DRAM、SRAM等类型。

  2. ROM(Read-Only Memory): 只读存储器,用于存储固定的程序和数据,通常在制造过程中写入,用户无法修改。

  3. Cache Memory: 缓存存储器,用于存储计算机最常用的数据,以提高CPU访问这些数据的速度。

  4. Flash Memory: 一种非易失性存储技术,常见于USB闪存驱动器、SD卡、固态硬盘(SSD)等设备。

  5. SDRAM(Synchronous Dynamic Random Access Memory): 同步动态随机存取存储器,是一种同步操作的DRAM,用于提高内存的读写速度。

  6. DDR SDRAM(Double Data Rate Synchronous Dynamic RAM): 双倍数据速率同步动态随机存取存储器,是一种提高数据传输速率的内存技术,如DDR4、DDR5等。

  7. NVRAM(Non-Volatile Random Access Memory): 非易失性随机存取存储器,是一种既具有随机访问性质又非易失性的存储器,如闪存等。

  8. HDD(Hard Disk Drive): 硬盘驱动器,机械硬盘,用于存储大容量的数据,包括操作系统、应用程序等。

  9. SSD(Solid State Drive): 固态硬盘,使用闪存等非机械性存储技术,相比HDD有更快的读写速度。

  10. eMMC(Embedded MultiMedia Card): 嵌入式多媒体卡,一种集成式存储解决方案,常用于嵌入式系统和移动设备。

  11. VRAM(Video RAM): 视频随机存取存储器,用于存储图形和视频数据,主要由图形处理器(GPU)使用。

  12. MRAM(Magnetoresistive Random Access Memory): 自旋存储器,使用磁性来存储数据,具有非易失性和较快的读写速度。

  13. CD-ROM(Compact Disc Read-Only Memory): 只读光盘,用于存储音频、视频或软件等数据。

  14. DVD-ROM(Digital Versatile Disc Read-Only Memory): 数字多用途光盘,类似CD-ROM,但具有更大的容量。

  15. BD-ROM(Blu-ray Disc Read-Only Memory): 蓝光光盘,用于高清视频和高容量数据存储。

  16. EPROM(Erasable Programmable Read-Only Memory): 可擦写可编程只读存储器,允许多次擦除和编程操作,但擦除过程需要使用紫外线。

  17. PROM(Programmable Read-Only Memory): 可编程只读存储器,允许一次性编程,数据一旦写入后通常无法修改。

  18. DDR4/DDR5: 第四代/第五代双倍数据速率同步动态随机存取存储器,是计算机系统中常用的内存类型,提供高速数据传输。

  19. LPDDR(Low Power DDR SDRAM): 低功耗DDR同步动态随机存取存储器,主要用于移动设备,如智能手机和平板电脑。

  20. HBM(High Bandwidth Memory): 高带宽存储器,一种用于高性能计算和图形处理的内存技术,提供卓越的内存带宽。

  21. SRAM(Static Random Access Memory): 静态随机存取存储器,不需要定期刷新,速度相对较快,通常用于高性能要求的应用,如高速缓存。

  22. DDR3L/DDR4L: 低电压版DDR3/DDR4,具有更低的电压需求,用于降低功耗。

  23. Register Memory: 寄存器存储器,位于CPU内部,用于存储临时数据和指令。

  24. L2 Cache/L3 Cache: 二级缓存和三级缓存,位于CPU内部,用于提高对内存和存储的访问速度。

  25. Caching Algorithms: 缓存算法,包括最近最少使用(LRU)等,用于优化缓存中的数据管理。

  26. Hybrid Drive: 混合硬盘,结合了机械硬盘和固态硬盘的优势,提供相对较大的存储容量和较快的读写速度。

  27. Memory Controller: 内存控制器,负责管理计算机系统中的内存和存储设备。

  28. SATA(Serial ATA): 串行ATA,一种用于连接硬盘驱动器和光学驱动器等存储设备的接口标准。

  29. PCIe(Peripheral Component Interconnect Express): 外围组件互连表达式,一种用于连接各种外部设备(包括固态硬盘)的高速通信接口。

  30. NVMe(Non-Volatile Memory Express): 非易失性内存表达,一种用于固态硬盘的高性能、低延迟的通信协议和接口。

  31. RAID(Redundant Array of Independent Disks): 独立磁盘冗余阵列,通过将多个硬盘组合起来,提供数据冗余、性能增强等功能。

  32. File System: 文件系统,用于组织和管理存储设备上的文件和数据的结构。

  33. Cloud Storage: 云存储,通过互联网连接,将数据存储在远程服务器上,提供灵活的远程访问和备份功能。

  34. SAN(Storage Area Network): 存储区域网络,专门用于连接存储设备和服务器的网络,提供高性能和可扩展性。

  35. NAS(Network Attached Storage): 网络附加存储,通过网络连接提供文件存储和访问服务的设备。

  36. Tape Storage: 磁带存储,一种传统的备份和长期存储介质,适用于大容量存储需求。

  37. Optane Memory: 由英特尔推出的一种非易失性内存技术,结合了闪存和内存的特性,用于加速系统性能。

  38. Hybrid Cloud Storage: 混合云存储,将本地存储和云存储结合使用,提供灵活性和可扩展性。

  39. In-Memory Database: 基于内存的数据库,将数据存储在内存中,提高数据库访问速度。

  40. IoT Edge Storage: 物联网边缘存储,用于在物联网设备或边缘节点上存储和处理数据。

  41. FAT32/NTFS/exFAT: 文件系统,分别代表FAT32(File Allocation Table 32位)、NTFS(New Technology File System)和exFAT(Extended File Allocation Table),用于组织和管理文件在存储设备上的存储。

  42. iSCSI(Internet Small Computer System Interface): 互联网小型计算机系统接口,一种在IP网络上运行的存储协议,用于连接存储设备和服务器。

  43. LUN(Logical Unit Number): 逻辑单元号,用于在存储设备上标识逻辑单元的数字。

  44. Trim: 一种用于通知固态硬盘释放不再需要的数据块的指令,有助于维护性能。

  45. RAID Levels(如RAID 0、RAID 1、RAID 5等): 不同的RAID级别,通过不同的数据分布和冗余方式提供不同的性能和容错性。

  46. Backup and Restore: 备份和恢复,用于定期复制数据以防止数据丢失,并在需要时恢复数据。

  47. Storage Virtualization: 存储虚拟化,通过将多个存储设备汇总成一个虚拟存储池,提供更灵活的存储管理。

  48. Compression: 数据压缩,通过减小数据大小以节省存储空间。

  49. Deduplication: 数据去重,通过消除存储中的重复数据块,提高存储效率。

  50. Snapshot: 快照,存储设备上某一时刻的数据副本,可用于备份和还原。

  51. Data Replication: 数据复制,将数据从一个存储设备复制到另一个设备,用于备份和容灾。

  52. Cold Storage: 冷存储,将不常访问的数据存储在低成本的介质上,如磁带。

  53. Storage Encryption: 存储加密,通过加密技术保护存储中的数据安全。

  54. Storage Tiering: 存储分层,将数据分配到不同性能和成本的存储层级中,以提高性能和降低成本。

  55. RAID Controller: RAID控制器,负责管理RAID中的数据分布和冗余。


http://www.niftyadmin.cn/n/5150878.html

相关文章

全自动洗衣机什么牌子好?内衣洗衣机品牌排行榜前四名

随着内衣洗衣机的流行,很多小伙伴在纠结该不该入手一款内衣洗衣机,专门来洗一些贴身衣物,答案是非常有必要的,因为我们现在市面上的大型洗衣机只能做清洁,无法对我们的贴身衣物进行一个高强度的清洁,而小小…

【数据结构】败者树的建树与比较过程

文章目录 前置知识归并段 建树过程比较过程疑问为什么比较次数减少了?如果某个归并段的元素一直获胜,没有元素了怎么办?处理方法 1处理方法 2 前置知识 归并段 外部排序算法通常用于处理大规模数据,其中数据量远超过计算机内存的…

Python虚拟环境相关

写深度学习代码前,总要把Github上许多开源代码下下来跑一下。不同的项目有不同的运行环境,因此,就免不了为每个项目配置不同的库。本科的时候嫌虚拟环境太麻烦,就直接略过没学,现在还是得来补课。 一般而言&#xff0…

设计模式: 关于项目架构,技术选型,技术债务问题与解决方案

正确的选择是良好的开端 1 )指标 系统稳健性系统健壮性 2 ) 衡量 在概念层次衡量架构质量在实际开发中衡量架构好坏 3 ) 架构分类 系统架构 从系统维度,负责整体系统的架构设计基础服务和各系统间协调,着眼全局比如关注负载&#xff0c…

Node.js、Chrome V8 引擎、非阻塞式I/O介绍

目录 Node.js介绍Chrome V8 引擎介绍非阻塞式I/O介绍 👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的财富! Node.js介绍 Node.js 是一个…

CMake引用OSG

从CMake执行find_package(OpenSceneGraph REQUIRED COMPONENTS osgDB osgUtil)这句;情况如下; 当前OSG已经安装好;环境变量添加了OSG_ROOT(其值是OSG安装的根目录),并且 %OSG_ROOT%\bin 添加到了path; 有一个警告,已经done了; Found osgDB: optimized;D:/OSGEarth/l…

Unity Animator cpu性能测试

测试案例: 场景中共有4000个物体,挂在40个animtor 上,每个Animator控制100个物体的动画。 使用工具: Unity Profiler. Unity 版本: unity 2019.4.40f1 测试环境: 手机 测试过程: 没有挂…

Vue 条件渲染 与 列表渲染

目录 一、条件渲染 1.简介 : 2.v-if实例 : 3.v-show实例 : 4.v-if与v-show的区别 : 二、列表渲染 1.基本用法 : 1.1 v-for遍历数组 1.2 v-for遍历对象 2.应用实例 : 一、条件渲染 1.简介 : (1) Vue提供了v-if 和 v-show条件指令来完成条件渲染/控制。 v-if指令用于条…