当前位置: 首页 > news >正文

数电基础 - 半导体存储

目录

一. 简介

一.  只读存储器

二. 可编程只读存储器

三. 可擦除的可编程只读存储器

四. 随机存储器

五. 存储器容量的扩展

六. 总结


一. 简介

半导体存储是数字电路中用于存储数据的重要组成部分。

半导体存储器主要分为两大类:随机存取存储器(RAM)和只读存储器(ROM)。

随机存取存储器(RAM)可以随时进行读或写操作。它又分为静态随机存储器(SRAM)和动态随机存储器(DRAM)。

  • 静态随机存储器(SRAM)采用触发器存储信息,速度快,但集成度低、成本高。
  • 动态随机存储器(DRAM)利用电容存储电荷来保存信息,需要定时刷新,速度相对较慢,但集成度高、成本低。

只读存储器(ROM)在正常工作时只能读出信息,不能写入。ROM 又包括掩膜 ROM、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)和电可擦除可编程只读存储器(EEPROM)等。

  • 掩膜 ROM 在制造时通过掩膜工艺将信息写入,用户无法更改。
  • PROM 允许用户一次性编程写入数据。
  • EPROM 可以通过紫外线擦除原有信息并重新编程。
  • EEPROM 则可以通过电信号进行擦除和编程,使用更加灵活。

半导体存储器在计算机系统、数字通信、控制系统等领域中得到了广泛应用,用于存储程序、数据、中间结果等信息。

一.  只读存储器

只读存储器(ROM,Read-Only Memory)是一种半导体存储器,其特点是在正常工作状态下只能读取数据,而不能进行写入操作。

ROM 主要分为以下几种类型:

  1. 掩膜 ROM:在制造过程中,通过掩膜工艺将信息永久性地存储在芯片中,用户无法修改。这种 ROM 适用于批量生产,成本较低,但灵活性差。

  2. 可编程只读存储器(PROM,Programmable Read-Only Memory):用户可以对其进行一次性编程,但编程后就不能再修改。

  3. 可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory):可以通过紫外线照射来擦除存储的内容,然后重新编程。

  4. 电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory):能够通过电信号进行擦除和重新编程,使用起来更加方便灵活。

只读存储器常用于存储固定不变的程序、常数、字符编码等信息,例如计算机的 BIOS(基本输入输出系统)程序就通常存储在 ROM 中。

ROM 在数字电路系统中具有重要作用,它能够提供稳定可靠的只读数据存储,保证系统在运行时能够快速准确地获取所需的固定信息。

二. 可编程只读存储器

可编程只读存储器(PROM,Programmable Read-Only Memory)是只读存储器(ROM)的一种类型。

PROM 在出厂时,其内部存储的内容全为 0 或 1(具体取决于芯片设计),用户可以根据自己的需要对其进行一次性编程。编程时,通过施加特定的高电压或电流,将某些存储单元的状态永久性地设置为 1 或 0,从而实现对存储内容的定制。

一旦完成编程,PROM 的内容就不可更改。虽然 PROM 给予了用户一定的自定义空间,但由于只能编程一次,其灵活性相对有限。

PROM 常用于一些需要固化特定程序或数据,且后续不需要修改的应用场景,例如某些专用设备的控制程序存储。

工作原理:

可编程只读存储器(PROM)的工作原理如下:

PROM 由大量的存储单元组成,每个存储单元通常由一个晶体管和一个熔丝构成。

在出厂时,所有存储单元的熔丝都是完好的,对应的存储单元被认为存储的是“0”。

当用户要对 PROM 进行编程时,会给需要存储“1”的单元施加特定的较大电流。这个大电流会烧断相应存储单元中的熔丝,从而改变该单元的状态为“1”。

在读取数据时,通过地址译码器选中相应的存储单元,根据存储单元中熔丝的状态(完好为“0”,烧断为“1”),将存储的数据输出。

由于熔丝一旦烧断就无法恢复,所以 PROM 只能进行一次编程。

三. 可擦除的可编程只读存储器

可擦除的可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)是一种可以多次修改其存储内容的只读存储器。

EPROM 的工作原理基于浮栅 MOS 管。它的存储单元通常由一个浮栅晶体管构成。

在写入数据时,通过施加较高的电压,使电子穿过绝缘层注入到浮栅中,从而改变晶体管的阈值电压,实现数据的写入。

要擦除数据,需要将 EPROM 芯片置于紫外线灯下照射一定时间。紫外线的能量使浮栅中的电子获得足够的能量,穿越绝缘层回到衬底,从而恢复晶体管的初始阈值电压,达到擦除数据的目的。

由于擦除操作需要专门的设备(紫外线灯),并且擦除时间较长,使用起来有一定的局限性。

另一种常见的可擦除可编程只读存储器是电可擦除可编程只读存储器(EEPROM),它可以通过电信号进行擦除和写入操作,更加方便快捷。

四. 随机存储器

随机存储器(Random Access Memory,RAM)是一种可以随时进行读/写操作的半导体存储器。

RAM 分为静态随机存储器(SRAM)和动态随机存储器(DRAM)。

SRAM 利用触发器来存储数据,只要不断电,数据就能一直保持。它的优点是速度快、稳定性高,但集成度低、成本高。

DRAM 则是利用电容存储电荷来保存数据,由于电容会漏电,所以需要定时刷新来补充电荷以保持数据。DRAM 的优点是集成度高、成本低,但速度相对较慢。

RAM 通常用于存储计算机运行时的程序和数据,如操作系统、应用程序等。由于其可读可写的特性,使得计算机能够对数据进行实时处理和修改。但一旦断电,RAM 中存储的数据就会丢失。

工作原理:

动态随机存储器(DRAM)的工作原理基于电容存储电荷的特性。

DRAM 的存储单元由一个晶体管和一个电容组成。晶体管用于控制电容的充放电,起到开关的作用。

写入数据时,晶体管导通,数据线上的电压被加载到电容上,电容充电或放电以表示“1”或“0”。

读取数据时,晶体管导通,检测电容上的电荷状态,从而确定存储的数据是“1”还是“0”。

由于电容存在漏电现象,电荷会逐渐流失,所以需要定期进行刷新操作。刷新操作会重新将电容充电到原来的状态,以保持数据的准确性。

在 DRAM 中,通过地址线来选择行和列,从而定位到具体的存储单元进行读写操作。

五. 存储器容量的扩展

存储器容量的扩展通常有位扩展、字扩展和字位同时扩展三种方式。

位扩展是指增加存储字长。例如,当单个存储芯片的字长不能满足要求时,可以使用多个芯片并联,将它们的数据线分别连接到数据总线的不同位上,从而实现位扩展。

字扩展是增加存储单元的数量。通过使用多个存储芯片,将它们的地址线、片选线和读写控制线相应连接,以增加总的存储单元数量。

字位同时扩展则是既增加字长又增加存储单元数量。例如,先进行位扩展以增加字长,然后再将多个位扩展后的模块进行字扩展,从而实现字位同时扩展。

在实际应用中,根据具体的存储需求和所使用的存储芯片的规格,选择合适的扩展方式来满足系统对存储器容量的要求。

六. 总结

半导体存储是数字电路中用于数据存储的重要部分,主要包括以下要点:

分类

  1. 随机存取存储器(RAM):可读可写,包括静态随机存储器(SRAM)和动态随机存储器(DRAM)。
    • SRAM:速度快、稳定性高,但集成度低、成本高。
    • DRAM:集成度高、成本低,但速度较慢,需定时刷新。
  2. 只读存储器(ROM):正常工作时只能读,包括掩膜 ROM、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)和电可擦除可编程只读存储器(EEPROM)等。

存储原理

  1. RAM 中,SRAM 利用触发器存储,DRAM 利用电容存储电荷。
  2. ROM 中,不同类型有不同的存储机制,如 PROM 通过熔断熔丝存储数据。

容量扩展
可通过位扩展(增加字长)、字扩展(增加存储单元数量)、字位同时扩展来满足不同的存储容量需求。

半导体存储在计算机、通信、控制等众多领域发挥着关键作用,为数据的存储和处理提供了基础支持。

相关文章:

数电基础 - 半导体存储

目录 一. 简介 一. 只读存储器 二. 可编程只读存储器 三. 可擦除的可编程只读存储器 四. 随机存储器 五. 存储器容量的扩展 六. 总结 一. 简介 半导体存储是数字电路中用于存储数据的重要组成部分。 半导体存储器主要分为两大类:随机存取存储器&#xff0…...

校园工会体育报名小程序的设计

管理员账户功能包括:系统首页,个人中心,赛事公告管理,球员管理,球队信息管理,比赛信息,比赛报名管理 微信端账号功能包括:系统首页,比赛信息,比赛报名&#…...

2024Datawhale AI夏令营---基于术语词典干预的机器翻译挑战赛--学习笔记

#Datawhale #NLP 1.背景介绍: 机器翻译(Machine Translation,简称MT)是自然语言处理领域的一个重要分支,其目标是将一种语言的文本自动转换为另一种语言的文本。机器翻译的发展可以追溯到20世纪50年代,经历…...

手机下载APP (uniapp/vue)

一、uniapp <template><view class"content"><view class"appName">{{ formData.appName }}</view><view class"appInfo">{{ formData.appInfo }}</view><image class"logo" :src"formDa…...

python数据可视化(5)——绘制饼图

课程学习来源&#xff1a;b站up&#xff1a;【蚂蚁学python】 【课程链接&#xff1a;【【数据可视化】Python数据图表可视化入门到实战】】 【课程资料链接&#xff1a;【链接】】 Python绘制饼图分析北京天气 饼图&#xff0c;是一个划分为几个扇形的圆形统计图表&#xff…...

实习随笔【iviews的Select实现‘与全部互斥’的多选】

在实习中&#xff0c;遇到了如下需求&#xff0c;要求如下&#xff1a; 上面提到了一个需求为&#xff0c;选择全部与选择一个或者多个互斥&#xff0c;我们来看一下如何解决 核心代码 监听value的变化&#xff0c;如果含有‘全部’&#xff0c;且数组长度>1&#xff0c;则删…...

网站架构核心要素

高性能 技术指标&#xff1a;响应时间、吞吐量、并发数 前端优化手段 页面布局&#xff1a;css在前&#xff0c;js在后通信数据量&#xff1a;数据尽量精简缓存&#xff1a;浏览器缓存、cdn异步&#xff1a;ajax 后端优化手段 缓存&#xff1a;反向代理、redis异步&#x…...

XML 解析异常问题解决

问题描述 The parser has encountered more than "64000" entity expansions in this document; this is the limit imposed by the JDK. 在运行 Java 应用程序时&#xff0c;出现了 XML 解析异常。具体表现为&#xff1a; 报错信息显示无法创建 StAX&#xff08;S…...

C# 匿名方法、Lambda、Linq概念及联系

匿名方法、Lambda表达式与LINQ 匿名方法 概念&#xff1a; 匿名方法是没有名称的方法实现&#xff0c;通常与委托关联使用。它提供了一种在不创建独立命名方法的情况下编写代码块的方式。 语法&#xff1a; delegate void MyDelegate(string message);MyDelegate del dele…...

django ninja get not allowed 能用 put delete

遇到一个奇怪的问题&#xff0c;django-ninja 编写的 get post 方法不能使用 # 获取Material router.get(/material, responseList[MaterialSchemaOut]) paginate(MyPagination) def list_material(request, filters: Filters Query(...)):qs retrieve(request, Material, f…...

服务器操作集合

服务器使用PC作为代理访问外网 1、PC上启动代理&#xff0c;比如nginx 下载nginx&#xff1a;http://nginx.org/en/download.html 修改配置文件&#xff0c;在conf下&#xff1a; http {include mime.types;default_type application/octet-stream;sendfile o…...

论文阅读【时空+大模型】ST-LLM(MDM2024)

论文阅读【时空大模型】ST-LLM&#xff08;MDM2024&#xff09; 论文链接&#xff1a;Spatial-Temporal Large Language Model for Traffic Prediction 代码仓库&#xff1a;https://github.com/ChenxiLiu-HNU/ST-LLM 发表于MDM2024&#xff08;Mobile Data Management&#xf…...

【linux基础】linux远程传输三种免交互方式

linux远程传输三种免交互方式 文章目录 linux远程传输三种免交互方式1、使用sshpass工具2、使用expect脚本来输入密码3、SSH 密钥对 1、使用sshpass工具 建立信任关系的做法是最方便和安全的做法&#xff0c;但是在有些场景下(比如远端的authorized_keys是不能随意更改的)&…...

MySQL篇:事务

1.四大特性 首先&#xff0c;事务的四大特性&#xff1a;ACID&#xff08;原子性&#xff0c;一致性&#xff0c;隔离性&#xff0c;持久性&#xff09; 在InnoDB引擎中&#xff0c;是怎么来保证这四个特性的呢&#xff1f; 持久性是通过 redo log &#xff08;重做日志&…...

处理在 electron 中使用开启了懒加载的 el-image 后,窗口最大化或窗口尺寸变化后图片无法显示的问题

文章目录 1、问题描述2、详情动图3、解决思路4、解决方案5、效果展示 1、问题描述 在 electron 中使用 el-image 时&#xff0c;开启了懒加载后&#xff0c;发现只有当窗口滚动后&#xff0c;图片才会显示&#xff0c;即便图片已经处于窗口的可视区域。当拖动窗口使其尺寸变大…...

Electron 进程间通信

文章目录 渲染进程到主进程&#xff08;单向&#xff09;渲染进程到主进程&#xff08;双向&#xff09;主进程到渲染进程 &#xff08;单向&#xff0c;可模拟双向&#xff09; 渲染进程到主进程&#xff08;单向&#xff09; send &#xff08;render 发送&#xff09;on &a…...

0基础学python-8:if,while,for

目录 前言&#xff1a; 一、选择循环结构 1.if条件语句 2.while 3.for循环 4.break语句 5.continue语句 前言&#xff1a; if、while 和 for 是 Python 中常用的控制流结构&#xff0c;它们分别用于条件判断、循环执行和迭代遍历。这些关键字帮助程序根据条件和数据进行选…...

低空经济持续发热,无人机培训考证就业市场及前景剖析

随着科技的不断进步和社会需求的日益增长&#xff0c;低空经济已成为全球及我国经济增长的新引擎。作为低空经济的重要组成部分&#xff0c;无人机技术因其广泛的应用领域和显著的经济效益&#xff0c;受到了社会各界的广泛关注。为满足市场对无人机人才的需求&#xff0c;无人…...

[IDEA插件] JarEditor 编辑jar包(直接新增、修改、删除jar包内的class文件)

文章目录 1. 安装插件 JarEditor2. 在IDEA中添加外部JAR包3. JarEditor 使用介绍 之前我们需要修改jar内文件的时候需要解压jar包&#xff0c;反编译class&#xff0c;新建java源文件&#xff0c;修改代码&#xff0c;再编译成class&#xff0c;替换jar包内的class文件。 现在…...

JavaScript系列:JS实现复制粘贴文字以及图片

文章目录 一. 基于 Clipboard API 复制文字&#xff08;推荐&#xff09;基本概念主要方法使用限制实际应用示例 二、基于 document.execCommand(copy)缺陷实际应用示例说明 三、复制图片功能四、封装 一. 基于 Clipboard API 复制文字&#xff08;推荐&#xff09; 基本概念 …...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

##鸿蒙核心技术##运动开发##Sensor Service Kit&#xff08;传感器服务&#xff09;# 前言 在运动类应用中&#xff0c;运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据&#xff0c;如配速、距离、卡路里消耗等&#xff0c;用户可以更清晰…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...

十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建

【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...

MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释

以Module Federation 插件详为例&#xff0c;Webpack.config.js它可能的配置和含义如下&#xff1a; 前言 Module Federation 的Webpack.config.js核心配置包括&#xff1a; name filename&#xff08;定义应用标识&#xff09; remotes&#xff08;引用远程模块&#xff0…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...

文件上传漏洞防御全攻略

要全面防范文件上传漏洞&#xff0c;需构建多层防御体系&#xff0c;结合技术验证、存储隔离与权限控制&#xff1a; &#x1f512; 一、基础防护层 前端校验&#xff08;仅辅助&#xff09; 通过JavaScript限制文件后缀名&#xff08;白名单&#xff09;和大小&#xff0c;提…...

DeepSeek越强,Kimi越慌?

被DeepSeek吊打的Kimi&#xff0c;还有多少人在用&#xff1f; 去年&#xff0c;月之暗面创始人杨植麟别提有多风光了。90后清华学霸&#xff0c;国产大模型六小虎之一&#xff0c;手握十几亿美金的融资。旗下的AI助手Kimi烧钱如流水&#xff0c;单月光是投流就花费2个亿。 疯…...