硬件基础:存储器

之前对存储器做过简单的汇总,参考这篇文章:

计算机/微机存储技术_路溪非溪的博客-CSDN博客

这次,我们从数字集成电路的角度再次补充学习一下存储器的知识。

定义和分类

从这里面我们能知道一些关键词。

存储介质主要是半导体器件和磁性材料。

磁性材料因为有NS极性,可以表示两种状态,因此可以用来存储二进制数,比如早期的磁盘;

半导体器件通常分为双稳态电路或者CMOS晶体管,双稳态电路能保存0和1两种状态,CMOS晶体管有通和断两种状态,因此都可以用来表示和存储二进制数据或者程序。

存储元指的是存储的二进制位数,存储单元指的是一次最小可以读取的数据块。

比如8位二进制数,我们最少一次可以读写一个字节。

分类如下:

易失性,顾名思义就是说容易丢失;非易失性,就是说不容易丢失;

我们重点看下主流的半导体存储器:

ROM

ROM和RAM是很早期的概念了,沿用至今,存储器也一直在更新换代,现在的ROM也已经能读写了,但是因为历史原因,这个概念一直在使用,我们要知道的是,到了这个时代,不要以为ROM就真的只能读不能写。

Flash,闪存,就强调一个快。

RAM

双极型就是指以三极管为主要存储单元。

现在MOS型是主流。

计算机中主要的几种存储器类型

比如L1 L2常指一级缓存、二级缓存。

主存指的是内存;

像硬盘、Flash这些都属于外存。

顺序存储

顺序存储器SAM并不是说是一种RAM或者一种ROM,更多的是指一种存储方式,一种存储原理,在有些地方比如单片机里的有些寄存器就用到了这样的存储结构。

在存取信息时,只能按存储单元的位置,顺序地一个接一个地进行存取的存储器。最典型的是磁带存储器。

了解即可,现在很少听到这种说法了。

这里有个FIFO和FILO的概念可以了解下。

描述了存和取的两种方式。

另外,这个移位寄存器的原理也可以学习下。

比如:

1位

多位

可实现并行输入和并行输出。

这里更多的是了解一种存储方式,而不是某种存储介质。

ROM

注意,不能写入数据是针对早期的ROM来说的。

ROM的工作原理基本如下所示:

我们指定一串地址码,对应的存储器里有地址译码器;

控制逻辑控制数据的读和写。

等等。

比如早期由二极管组成的ROM

现在基本都是使用MOS了

核心原理无非就是晶体管的导通和关断,以此来识别是1还是0

根据地址选中“字线”,然后从“位线”上将数据读出去,就和行列阵差不多。

PROM

PROM是早期的一种只读存储器,而且,只能写入一次。

PROM内部是通过熔丝来记录二进制状态的,编程时需要加约20V的高电压。

当熔丝保持连接的时候,读出来的就是高电平,也就是1,当熔丝熔断,读出来的就是0

新的PROM全是1,我们编程时将需要变成0的地方给熔断。

由此可见,这种就是一次性的。

这是三四十年前的产品了,当时编程还需要专门的高压编程器。

了解即可。

EPROM

PROM只能读,不能写,是一次性的存储产品。

随着技术的发展,出现了可改写的只读存储器EPROM。

EPROM可以擦除原来的信息,然后再写入新的信息。

不过,那时候的擦除比较麻烦,需要用紫外灯照射大概几十分钟,才能将里面的数据给擦除。编程的时候也是使用的高压编程器。

中间的透明区域就是照紫光灯的地方。

现在已经被淘汰了。

它存储的时候是通过层叠栅MOS管的浮栅来实现的,如下所示:

这里提一下,我们常说的几纳米工艺,这里的几纳米几纳米就是指的MOS管中间的沟道距离。

写入的时候是通过给MOS管栅极和漏极加高电压,然后将沟道的电子给引入浮栅之中,从而形成封锁,因为周围是二氧化硅绝缘层,断电之后电子就可以保存在浮栅之中很长时间。

擦除的时候,是通过照射紫外灯,浮栅中的电子在强光的照射下获得能量,然后逃逸出去回到原来的位置。

新的EPROM默认读出来都是1,此时浮栅中还没有电子,处于1状态。

当写入0之后,浮栅中就有电子了,读出来也就是0了。

写入数据的过程,实际就是注入电子的过程。

因此,EPROM有个特点,就是编程(加高压)时只能把1写成0,不能把0写成1,只有用紫外线照射时才能将0写成1,也就是释放电子。注意区分编程(写)、读和擦除。只有先擦除才能编程,因为不擦除就没法把0写成1,也就没法写入想要写入的数据。

EEPROM

到了EEPROM,又有了很大的改进。

擦除时只需要常规电压即可,约12V,编程时也是差不多的电压。

小插曲:我发现高低电平,最终都是通过各种控制方式接入地或者电源。

擦除过程,释放电子,恢复成1,如下:

编程过程,锁住电子,存入0,如下:

同样的,编程之前要擦除,和EPROM不同的是,EPROM只能整片整片地用紫外光擦除,EEPROM可以一位一位地用电擦除。

EEPROM现在用的还是蛮多的。

注意,有时候用单片机操作某个EEPROM时,只接入了3.3V或者5V电压,但是EEPROM明明是要用12V电压才能工作呀?这是因为EEPROM芯片内部集成了升压模块。

Flash

现在的嵌入式主流存储器,SD卡、U盘等都属于这种类型。

ROM一般都要先擦后写,只要写了,就随时能读。

擦和写才是存储的关键。

就是因为只能把1编程成0,而不能把0编程成1,所以必须要先擦除才能写。

每次擦除以块为单位。不过这几个缺点我们平时使用时看不到,因为有内部的控制器帮我们处理掉了,比如读写干扰就通过校验给规避掉了。所以为什么新买的SD卡或者TF卡一般都要先格式化一次呢,那就是整片擦除。

Flash一般只用常规电压来驱动即可,比如3.3V、5V等。

擦写的核心原理也是电子的存储和释放。

NOR FLASH,内部是或非门的结构not or

这里说的数据线和地址线指的是内部的结构组成,不是外部引脚的接线。

NAND FLASH,内部是与非门的结构,not and

仅供参考,具体以芯片手册为准。

RAM

一般分为SRAM和DRAM

SRAM

静态存储器SRAM内部由双稳态电路(锁存器)构成。

SRAM的最大特点就是“快”,缓存就是用SRAM来做的,CPU内部寄存器也是用SRAM来做的,总而言之,就是一个字:快、快、快、……

当然,电池没电了,数据还是会丢失。只是一种弥补,并非解决。

其实掉电丢失,很多时候就需要这样的特性,内存就是这样的,就相当于整个应用是个局部变量,每次开机后都会重新跑一遍程序,程序还是原来的状态,如果是保存起来的,反而麻烦,还得恢复到新的状态。只保留一些必要的信息,其他信息每次开机都是稳定的流程。

因为使用了锁存器,所以不需要擦除就能写,但换来的就是掉电之后锁存器的状态就丢失了,也就是SRAM的数据就丢失了。因为锁存器需要电平才能正常工作。

常规结构简略图如下:

仅供参考,具体以芯片手册为准。

用的器件较多,所以SRAM的成本还是蛮高的,可以看到实现1位数据的存储需要6个MOS管。

DRAM

动态存储器DRAM相比SRAM速度没那么快,但是成本比SRAM要低。

为什么DRAM速度没那么快呢?因为DRAM需要定时刷新。

MOS管的分布电容,里面的电荷存储时间是有限的,所以为了避免电荷释放掉,就需要定时刷新。如果不刷新,电容电量就没了,数据状态也就改变了。

现在电脑的内存DDR就是使用DRAM来做的。

SRAM实现一位数据的保存需要6个管子,而DRAM只需要1个,多的也只需要3个。

图中的电容Cs就是用来存储0和1的。

电容有电就是1,电容没电了就是0。

一般20ms左右就需要刷新一次。

3管的示例:

这里的电容C就是MOS管分布电容。

了解即可。

更多详细内容查阅相关资料。

大容量DRAM中单管的用的比较多。

可以看到上面有个专门的刷新电路。

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

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

相关文章

Java技术栈高级攻略之专栏简介

Java是一种广泛应用于企业级应用开发的编程语言,具备强大的生态系统和丰富的工具支持。想要在Java技术栈中取得更高的成就,你需要不断深入学习和实践。本专栏为你提供很多高级攻略,帮助你更好地掌握Java技术栈。 一、多线程编程 多线程编程是…

亿发中小型企业erp软件智能化赋能,专业助力广东制造行业生产流程管理

在当前经济全球化的环境下,广东省的中小型制造业企业正面临多方面的严峻挑战。包括产品质量的维护、分销渠道的稳定、生产成本降低以及减轻生产过程中的资源消耗等难题。目前,随着信息技术的迅速发展,一些先进的IT工具,比如企业资…

【owt】webrtc的随机数生成

SSRC 是32位的随机值 在 WebRTC 中,确保 RTP(Real-time Transport Protocol)的 SSRC(Synchronization Source Identifier)不冲突是非常重要的。SSRC 是一个 32 位的标识符,用于标识 RTP 流中的同步源。理论上,由于 SSRC 是随机生成的,存在一定的冲突概率。但是,由于 3…

地址解析协议

地址解析协议ARP(Address Resolution Protocol)是用来将IP地址解析为MAC地址的协议 ARP数据包格式(直接封装在ethernet_II上面) 1.Hardware Type:表示硬件地址类型,一般为以太网; 2.Protocol Type:表示三层协议地址类型,一般为IP; 3.Hardware Length和Protocol Leng…

STM32实现软件IIC协议操作OLED显示屏(1)

时间记录:2024/1/25 一、IIC协议介绍 (1)协议介绍 IIC(又称I2C,Inter-Integrated Circuit),即集成电路总线,是一种两线式串行总线,由PHILIPS公司开发,用…

OSS上传下载乱码问题

配置headers: "Content-Disposition": attachment; filename*UTF-8${encodeURIComponent(file.file.name)},

chatGPT辅助写硕士毕业论文

一、写作顺序 1.标题、研究问题、研究方法 2.文献综述(占比1/5-1/6) 3.论证章节 4.结论、不足、启示 5.处理图表、参考文献的格式 6.绪论或引言 7.摘要、关键词 8.查重、装订 http://【硕士毕业论文写不下去,多亏听了张博士的论文写…

【GitHub项目推荐--开源小游戏】【转载】

01 回合制生存游戏 Cataclysm-DDA 是一款回合制生存游戏,背景设置在后世界末日的世界中。虽然有些人将其描述为“僵尸游戏”,但《大灾变》远不止这些。努力在一个严酷、持久、程序生成的世界中生存。 为食物、设备寻找一个死去的文明的残余物。或者&am…

ThinkPHP+uni-app框架熊猫电竞赏金电竞系统源码PHP含APP+H5

熊猫电竞赏金电竞系统源码,包含APP、H5和搭建视频教程,支持运营级搭建,这套源码是基于ThinkPHPUniaapp框架开发的。 赏金电竞系统源码 APPh5搭建视频 可搭建!运营级! 赏金赛源码,用户通过平台打比赛&#x…

小白水平理解面试经典题目LeetCode 594 Longest Harmonious Subsequence(最大和谐字符串)

594 最大和谐字符串 这道题属于字符串类型题目,解决的办法还是有很多的,暴力算法,二分法,双指针等等。 题目描述 和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 。 现在,给你一个整数数组 nums …

用vue实现微信小程序的点餐首页-纯前端效果

一、效果图 图片来源于网络 二、代码 <template><view class"container"><view class"top"><image src"../../static/img/home.png" class"home"></image></view><view class"content&…

安装好IntelliJ IDEA点击无反应,如何解决配置文件不一致导致的启动问题

在我们的开发生涯中&#xff0c;遇到IDE工具出现问题是在所难免的。最令人头疼的莫过于&#xff0c;你的IDEA(IntelliJ IDEA)无法启动&#xff0c;而且没有任何错误提示。这篇文章将详细讲解如何解决IntelliJ IDEA 2023.3.3版本启动失败的问题&#xff0c;这个问题可能也适用于…

Linux的文件系统、软硬链接、动静态库

前要&#xff1a;本次我想给您带来关于 IO 和文件的知识&#xff0c;而文件在本系列中分为内存上的文件和磁盘上的文件。 1.文件概念 1.1.文件读写 在谈及系统接口之前&#xff0c;我们先来从 C 语言的角度来谈及一些前要知识&#xff0c;以辅助我们后续来理解系统 IO。 我们…

三、详解Redis分布式锁Redisson分布式锁

一、什么是分布式锁&#xff1f; 在传统的java进程中&#xff0c;我们常常用Synchronized三、详解Synchronized-CSDN博客或者ReentrantLock五、详解ReentrantLock-CSDN博客来对临界区进行加锁,防止多个线程之间并行访问,导致数据读写异常。但是这种锁的粒度仅限于当前jvm中&am…

淘宝/天猫API:电商卖家的数据之源

淘宝/天猫API是电商卖家的数据之源&#xff0c;它提供了丰富的功能和数据&#xff0c;帮助卖家更好地管理自己的店铺和业务。通过淘宝/天猫API&#xff0c;卖家可以获取商品信息、订单信息、用户信息等数据&#xff0c;并对这些数据进行处理、分析和利用&#xff0c;以提高自己…

LeetCode.2859. 计算 K 置位下标对应元素的和

题目 题目链接 分析 这道题的题意很明确。就是求每一个下标的二进制中1的个数为k的下标所对应的元素值之和。 Java 中有 库函数 Integer.bitCount(num)&#xff0c;这个函数的返回值就是 num 中 1 的个数。 代码 class Solution {public int sumIndicesWithKSetBits(List…

<网络安全>《7 网络资产测绘和脆弱性管理系统》

1 概念 互联网资产通常大致分为Web类和设备类。Web类包括网站、APP、微信小程序&#xff1b;设备类包括路由器、交换机、网关、防火墙、WAF等。这些信息资产暴露在互联网上的信息包括IP地址、域名、端口、中间件、应用、技术架构等。通常包括且不限于在用、试用和停用的IP地址…

服务器常遇的响应状态码和应对处理

在互联网交互中&#xff0c;服务器返回的状态码是我们理解和处理请求结果的重要依据。了解这些状态码&#xff0c;可以帮助我们更好地诊断问题、优化服务&#xff0c;以及提供更稳定、更高效的用户体验。 以下是一些常见的服务器响应状态码及其处理方法&#xff1a; 状态码 5…

uniapp状态管理Vuex介绍及vuex核心概念

状态管理Vuex Vuex 是什么&#xff1f; Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。 uni-app 内置了 Vuex 什么是“状态管理模式”&#xff1f; <!…

讲清楚浅拷贝和深拷贝

先放出实现浅拷贝和深拷贝的一些方法(直接食用)&#xff1a; 1.浅拷贝&#xff1a; 浅拷贝在拷贝对象的时候&#xff0c;对于对象最外一层实现的是普通的值拷贝&#xff0c;对于对象里面的对象是浅拷贝&#xff0c;只复制地址不复制地址对应的值。 /* 方法1.1&#xff1a;扩…