当前位置: 首页 > 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; 基本概念 …...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全&#xff08;Thread Safety&#xff09; 线程安全是指在多线程环境下&#xff0c;某个函数、类或代码片段能够被多个线程同时调用时&#xff0c;仍能保证数据的一致性和逻辑的正确性&#xf…...

MySQL JOIN 表过多的优化思路

当 MySQL 查询涉及大量表 JOIN 时&#xff0c;性能会显著下降。以下是优化思路和简易实现方法&#xff1a; 一、核心优化思路 减少 JOIN 数量 数据冗余&#xff1a;添加必要的冗余字段&#xff08;如订单表直接存储用户名&#xff09;合并表&#xff1a;将频繁关联的小表合并成…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...