各类存储器类型(RAM、ROM、FLASH、DRAM、SRAM)

1 计算机存储类型构成

在计算机中,各类存储器构成了计算机能高速高效运转程序的基石。

计算机的存储体系中,从速度慢到速度快对应着容量大到小,也就是说,速度越快容量越小;容量越大的,速度越慢。两者互相关联但不互相制约。

  • 寄存器:寄存器作为计算机的读写最重要的单元,速度也自然是极快的。寄存器的容量非常小,一般只有8位~64位。这里的位指的是一个bit,一个字节有8个bit。我们计算机一般有说是多少位字长的,例如我的电脑是64位win10系统,那么这里的64位意义就是CPU寄存器有64位。
  • L1高速缓存:如SRAM。L1高速缓存是在芯片内的cache,它的速度飞快,比L2高速缓存快,跟寄存器差不多速度,所以它负责衔接L2和寄存器之间。它保存的是外部cache。
  • L2高速缓存:如SRAM、DRAM、DDRAM。L2高速缓存是芯片外的cache,它把数据丢给L1,才能通过L1丢给CPU寄存器。L2的数据来自于主存储器。
  • 主存储器:例如Flash、PROM、EPROM、EEPROM都属于主存储器。主存储器掉电不丢失,用于存储来自外部存储器的数据。
  • 外部存储器:如磁盘、SD卡、FT卡、CD等。
  • 远程二级存储:通过网络进行传输的远端存储器,例如分布式文件系统。

2 RAM和ROM

最重要的部分了,RAM就是随机存储器,它的全名叫做Random Access Memory。ROM是只读存储器,全名是Read Only Memory。

ROM和RAM虽然都是R开头,但是此“R”非彼“R”。RAM的R代表的是随机的意思,ROM的R代表的是读数据的意思。

总体来看,RAM是随机存储器,可以读可以写,能擦除数据,不过掉电就丢失数据了。这也导致为什么RAM一般都作为临时的高速缓存存储器使用,而不用于存储数据的原因。

ROM是只读存储器,它的特点是只可以读。什么叫只可以读,就是写、擦除这两个步骤都做不到。没错,ROM只能写入一次,之后便无法擦除无法修改,同时掉电肯定也就不会丢失。数据稳定固定。虽然说ROM无法修改,但有些从ROM变种的存储类型是可以擦除的,例如EEPROM。

RAM分类

RAM又可以分成SRAM和DRAM

  • SRAM:静态随机存储器,速度超快。所以一般都是缓存主要使用。
  • DRAM:动态随机存储器,速度比SRAM慢一点,一般电脑内存条就是使用DRAM。
ROM分类

可分为PROM、EPROM、EEPROM

  • PROM:可编程只读存储器(Programmable ROM)
  • EPROM:可抹除可编程只读存储器(Erasable Programmable ROM)
  • EEPROM:电子式可抹除可编程只读存储器(Electrically Erasable Programmable ROM)

3 Flash

Flash称为快闪存储器,简称闪存,因其擦除和写入速度比较快而得名。

Flash是EEPROM的变种,不同的是EEPROM能在字节水平上进行擦除重新,而Flash需要在块的水平上进行擦除。

NOR Flash:它带有SRAM接口,有足够的地址引脚来寻址,可以方便地存取其内部的每一个字节,因此可直接连接总线系统,构成内存储器
NAND Flash:它使用复杂的I/O口来串行地存取数据,采用串行接口,不能直接构成内存,只能用来构成外部存储器


两者的一些特点对比:

NOR的读速度比NAND稍快
NAND的写速度比NOR快很多
NAND的擦除速度也比NOR快很多
NAND的擦除单元更小
NOR上可直接运行程序,NAND只能存储信息



原文链接:https://blog.csdn.net/hbsyaaa/article/details/132031760

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/29940.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# OpenCvSharp 矩阵计算-compare、repeat、PSNR、cross、dot

🌟详细解释OpenCV函数🌟 在这篇文章中,我将详细解释并给出每个函数的示例,包括运算过程和运算结果。💻✨ 🔍函数:compare 定义: void compare(InputArray src1, InputArray src2, OutputArray dst, int cmpop); 参数: src1:输入图像或矩阵 src2:输入图像或矩阵…

mtk android开机及重启速度优化

zygote:预加载类和资源。加载过多会影响开机时间。 查看 /sdcard/mtklog/bootprof 文件。减少预加载的类和资源,确保没有冗余的资源图片。开机动画进程:bootanimation 或 mtkbootanimation,走 android 流程比 movie 流程占用内存资…

java 判断字符串是否以两个中文字符开头

在Java中,可以使用正则表达式来判断一个字符串是否以两个中文字符开头。 以下是一个简单的Java代码示例: public class Main {public static void main(String[] args) {String testString "中文字符开头的文本";boolean isChineseCharacte…

JavaScript算法题

排序算法 1.冒泡排序 从开始位置两两比较&#xff0c;持续n轮 // 冒泡排序let bubbleSort (arr) > {const len arr.lengthfor (let i 0; i < len - 1; i) {// 外层循环控制轮数for (let j 0; j < len - i - 1; j) {// 内层循环控制比较次数if (arr[j] > arr[…

Unity3D 打造3D路径编辑系统详解

在Unity3D中打造3D路径编辑系统&#xff0c;对于游戏开发者来说是一项重要且实用的任务。无论是实现敌人的AI巡逻、角色的自定义移动路线&#xff0c;还是物体的动态轨迹&#xff0c;一个强大的路径编辑系统都能大大提高开发效率。本文将详细介绍如何使用Unity3D打造一个3D路径…

echarts 折线图 实现某两个点之间不要连线

通过插入null或NaN的数据点来实现"断开"的效果 const data [[a, 1], [b, 2], [c, 3], [d, 4], [e, 5]] data.splice(2, 0, NaN) option {xAxis: {type: "category",data: [a, b, c, d, e]},yAxis: {},series: [{data,type: "line"}] }

大语言模型架构---Transformer 模型

文章目录 输入编码多头自注意力机制前馈网络层编码器解码器当前主流的大语言模型都基于 Transformer 模型进行设计的。Transformer 是由多层的多头自注意力(Multi-head Self-attention)模块堆叠而成的神经网络模型。原始的 Transformer 模型由编码器和解码器两个部分构成,而…

多目标跟踪中检测器和跟踪器如何协同工作的

多目标跟踪中检测器和跟踪器如何协同工作的 flyfish 主要是两者 接口间的交互 假设 原始图像尺寸&#xff1a;1920&#xff08;宽&#xff09;x 1080&#xff08;高&#xff09; 模型输入尺寸&#xff1a;640&#xff08;宽&#xff09;x 640&#xff08;高&#xff09; 检…

中国各区域人口密度可视化图

原文链接https://mp.weixin.qq.com/s?__bizMzUyNzczMTI4Mg&mid2247674303&idx1&sn830304f80a0429406c4a5e38dc7750ec&chksmfa777682cd00ff9434e4660bb52ab2bf19913b6732083de061664401a9ac0fa46581cd9e5e86&token1445576002&langzh_CN&scene21#we…

如何在Python中使用Pip换源

在Python开发中&#xff0c;我们经常需要使用pip来安装各种第三方库。然而&#xff0c;默认的pip源&#xff08;Python Package Index&#xff0c;简称PyPI&#xff09;位于国外&#xff0c;有时会遇到网络不稳定或速度较慢的问题。为了解决这些问题&#xff0c;我们可以使用国…

为什么网络安全缺口很大,而招聘却很少?

2020年我国网络空间安全人才数量缺口超过了140万&#xff0c;就业人数却只有10多万&#xff0c;缺口高达了93%。这里就有人会问了&#xff1a; 1、网络安全行业为什么这么缺人&#xff1f; 2、明明人才那么稀缺&#xff0c;为什么招聘时招安全的人员却没有那么多呢&#xff1…

PHP 文件上传:全面指南与最佳实践

PHP 文件上传是指使用 PHP 脚本处理用户通过 HTML 表单上传到服务器的文件。这个过程涉及前端 HTML 表单的设计、后端 PHP 脚本的编写以及服务器端的配置和安全措施。文件上传功能广泛应用于各种网站和应用程序&#xff0c;如图片上传、文档共享、媒体管理等。实现这一功能不仅…

软件测试-unittest框架

unittest框架 文章大致内容 unittest框架的组成断言跳过&#xff08;某些用列由于某些原因不想执行&#xff09;参数化测试报告 UnitTest框架 什么是Unittest框架&#xff1f; 概念&#xff1a;unittest是python自带的一个单元测试框架&#xff0c;用他来做单元测试 unitte…

嵌入式学习记录6.17(qss练习)

一思维导图 二.练习 widget.h #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);this->setWindowFlag(Qt::FramelessWindowHint);this->setAttribute(Qt:…

五种HTTP数据传输方式

在前端开发过程中,后端主要提供 http 接口来传输数据,而这种数据传输方式主要有五种: url paramqueryform-urlencodedform-datajson 下面就让我们一起来了解一下在Nest.js中如何使用这五种HTTP数据传输方式: 一,创建项目 使用nest new 创建一个nest的项目 nest new 项目名称 …

Three.js框架的技术难点

Three.js作为一款功能强大的3D JavaScript框架&#xff0c;在为开发者提供丰富的功能和灵活性的同时&#xff0c;也带来了一些技术难点&#xff0c;需要开发者具备一定的知识和经验才能克服。以下是一些Three.js框架的技术难点。北京木奇移动技术有限公司&#xff0c;专业的软件…

微信小程序地图功能详解

引言 随着移动互联网的快速发展&#xff0c;地图服务已经成为我们日常生活中不可或缺的一部分。无论是查找目的地、规划路线还是探索周边环境&#xff0c;地图都能提供极大的便利。微信小程序作为一款轻量级的应用&#xff0c;也提供了丰富的地图功能&#xff0c;为用户提供了…

【解决】法启动此程序,因为计算机中丢失vcruntime140_1.dll,尝试重新安装此程序以解决此问题【包括安装mysql在内的】

缺少vcruntime140_1.dll解决此问题的第一步找到该文件,有些dll修复工具是收费的&#xff0c;因此下面介绍几种比较简单有效而且免费的解决办法 方法1&#xff1a;重新安装Visual C Redistributable Packages 上面的安装包解决win7&#xff0c;8&#xff0c;10&#xff0c;11的…

STM32HAL库--NVIC和EXTI

1. 外部中断实验 1.1 NVIC和EXTI简介 1.1.1 NVIC简介 NVIC 即嵌套向量中断控制器&#xff0c;全称 Nested vectored interrupt controller。是ARM Cortex-M处理器中用于管理中断的重要组件。负责处理中断请求&#xff0c;分配优先级&#xff0c;并协调中断的触发和响应。 它是…

【日记】被客户一顿输出该怎么办(431 字)

正文 上午有个客户在电话里对着我一顿输出&#xff0c;说他们没有发票财务账务没法处理怎么怎么的。话里话外满满一股 “全是你们的错” 的味道。 当时我很想笑&#xff0c;大姐&#xff0c;你对我输出有啥用啊。票是上级行开的&#xff0c;我们又没有开票权限&#xff0c;对…