3.4只读存储器ROM

news/2025/2/3 21:56:47/

文章目录

  • 一、引子
  • 二、介绍
    • 1.MROM
    • 2.PROM
    • 3.EPROM
    • 4.Flash Memory
    • 5.SSD
  • 三、运行过程
  • 四、回顾

一、引子

这一小节,我们学习只读存储器ROM。

上一小节,学习了两种RAM芯片,分别是SRAM和DRAM。详情请戳:3.3Sram和Dram

RAM芯片可以支持随机存取,读写速度会很快,但是它是一种易失性的存储芯片,如果断电,芯片内的数据就会消失。

在生活中,有很多数据,在没有电的时候,也希望被保存。

这一小节,会介绍几种ROM芯片,断电之后数据不会丢失。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LAZ6JJGh-1674801256946)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127094940188.png)]

二、介绍

1.MROM

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1Od6xAKq-1674801256948)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127100751943.png)]

MROM芯片由厂家初始化,客户提出自己的要求,需要往里面写入什么数据,那么厂家生产芯片的时候,就会使用一种掩模式技术,把数据直接写进芯片。厂家一旦写入信息,以后任何人不能重改。

所以这种芯片,只能读出数据,不能往里面写数据。

这种芯片,可靠性高,但是灵活性差,只适合批量定制(需要生产掩模式模板)

2.PROM

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N0CEGdju-1674801256948)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127100821031.png)]

为了解决上面的问题,有人发明了PROM芯片。

这种芯片可以通过专门的PROM写入器,往芯片里面写入需要的信息。

但只能写一次,之后不可更改。

3.EPROM

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JBCsIMFM-1674801256949)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127101119185.png)]

之后,又有人发明了EPROM芯片,可以擦除可以编程。

虽然它也叫“只读”,但是通过一些特殊的手段,也可以往里面写数据。

根据用户擦除数据的手段不同,可以把EPROM分为:UVEPROMEEPROM

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F2iQfKxr-1674801256949)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127101500093.png)]

4.Flash Memory

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OIhTivQN-1674801256950)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127101622699.png)]

之后,又有人发明了Flash Memory

这种闪存,保留了EEPROM的优点,断电后可以保存信息,可以进行多次快速擦除重写。

虽然这种芯片可读可写,但依然归为ROM类的芯片。

它的存储元只需要使用单个MOS管,因此每个存储元的体积比RAM存储元体积要更小,所以闪存的位密度要更高。也就是对于两块体积相同的芯片来说,工艺水平相同的情况下,闪存芯片上存储元的数量要比RAM更多,也就是保存更多的二进制比特位。

5.SSD

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lfsEis7H-1674801256950)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127103322305.png)]

之后,又出现了SSD固态硬盘

固态硬盘由闪存芯片作为存储介质,也就是由闪存芯片来存储二进制数据。

另外,还需要一个控制单元,用来控制固态硬盘多块闪存芯片的读或者写。

由于SSD比机械硬盘造价高,所以像很多云存储中心主要还是使用机械硬盘,比如百度云。

我们买手机,可能会看到这样的介绍:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EiPq4ntS-1674801256951)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127104033964.png)]

RAM就是指内存,ROM就是指辅存。

三、运行过程

经过之前的学习,我们知道,计算机的主存用来存放一系列的指令和数据

CPU的任务就是从主存中取指令并执行指令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rPHUncuo-1674801256951)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127104641765.png)]

在上一小节,我们知道RAM芯片是一种易失芯片,断电之后,RAM里面的数据会全部丢失。

也就是当计算机关机之后,主存里面的数据全部都没有了。

当我们再次开机的时候,就需要把操作系统、应用程序等指令数据重新调入主存。

如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PRLvVC5C-1674801256951)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127104910842.png)]

操作系统安装在辅存里面的。

那么CPU作为计算机的指挥中心,刚开始需要做什么事情,也是需要给它提供一系列的指令的。

CPU很傻,只能根据写好的指令来一步一步地执行。

由于刚开机的时候,主存里面没有数据指令,所以CPU就需要从主板上的一块ROM芯片上读取开机需要的指令。如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A7KCjfVj-1674801256952)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127110016439.png)]

这块ROM芯片其实就是BIOS芯片。它里面存储了自举装入程序

自举装入程序:CPU在刚开始执行的那一段程序,根据那一段程序的指引,CPU可以指挥I/O系统,把辅存中存储的操作系统相关的数据放入主存。

所以这一块ROM芯片里面,存储的程序就是用来引导开机的。

ROM芯片是非易失性的,即便计算机没有被供电,ROM里面存储的自举装入程序相关的指令数据同样不会丢失。

BIOS界面:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9U3uU2Ea-1674801256952)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127110052753.png)]


📔注意

虽然这块ROM芯片通常是被集成在主板上。

但在逻辑上,应该看作是主存的一部分。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8d3Lm0ot-1674801256952)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127110515711.png)]

在这门课里面,当我们提到主存的时候,除了熟悉的内存条之外,还应该加上BIOS芯片。两者结合才是一个完整的主存

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4K5IlNVR-1674801256953)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230127110543077.png)]

通常,CPU会给RAM和ROM进行一个统一的编址。

统一编址:如果ROM芯片的容量是1KB,那么CPU会把0~1023这1K个地址分配给ROM芯片;RAM芯片的地址其实就是从1024往后编址。这就是统一编制。

四、回顾

在这里插入图片描述

需要记住ROM的各个名称及特性。

RAM芯片支持随机存取,其实ROM芯片也具有随机存取的特性。对于一个ROM芯片,给定一个想要访问的存储单元的地址,访问的速度并不会因为地址而改变。

所以RAM和ROM的概念并不是完全相对立的。


请添加图片描述


http://www.ppmy.cn/news/334282.html

相关文章

机械革命深海幽灵z2学习电脑系统史

目录 前言第一次蓝屏第一次接触重装系统装Linux系统Linux16.04版本与显卡1060不兼容问题windows与linux双系统问题Linux学习售后自己重装系统换主板没有我修不好的电脑 键盘故障再次蓝屏重装系统梅花起总结 前言 先说说我的电脑型号 机械革命深海幽灵z2 7000多 i5-8300 1060 机…

机械革命 深海幽灵Z2-G的主要参数与特性

本文作用:记录自己用过的深海幽灵Z2-G的主要参数与特性,以供日后购买相关电子设备时参考。 主要时间节点及版本、价格 2019年5月9日,首发,购入。RAM和ROM有多个版本,下文主要描述购入版本。购入渠道:清华…

5.2 清洗数据

5.2 清洗数据 5.2.1 检测与处理重复值1、记录重复 drop_duplicates()2、特征重复 equals() 5.2.2 检测与处理缺失值 isnull()、notnull()1、 删除法 dropna()2、替换法 fillna()3、 插值法 5.2.3 检测与处理异常值1、3σ原则2、箱线图 5.2.4 任务实现(wei&#xff0…

02- 输入、输出及运算符(C语言)

一 输入、输出 1.1 输出函数 printf 函数是一个可变参数函数,参数的个数不定:int printf(const char *format, ...) printf("%d\n", x); printf("%d %d\n", x, y); 1.2 输入函数 1.2.1 scanf函数:int scanf(const …

vector 内存大小管理

vector 内存大小管理 环境&#xff1a; windows下 vs2019 1. size() 和 capacity() 1.1 定义一个空的 vector vector<int> v; cout << v.size() << endl; // 0 cout << v.capacity() << endl; // 0空的 vector 的 size() 和 capacity() 都是…

git实操和理论知识

一、上传代码到gitlab中 1、安装git工具 yum install -y git2、准备要上传的代码 db Dockerfile LICENSE pom.xml README.md src3、初始化 git init Initialized empty Git repository in /etc/ssh/tomcat-java-demo-master/.git/4、添加远程仓库地址(复制要上传的代码库地…

5个接口性能提升的通用技巧

前言 作为后端开发人员&#xff0c;我们总是在编写各种API&#xff0c;无论是为前端web提供数据支持的HTTP REST API &#xff0c;还是提供内部使用的RPC API。这些API在服务初期可能表现不错&#xff0c;但随着用户数量的增长&#xff0c;一开始响应很快的API越来越慢&#x…

手机工作室网络如何组建?

现在很多的招商项目都是手机工作室的&#xff0c;包括做试玩、抖音还有做手游的&#xff0c;少则几十台手机&#xff0c;多则几百、上千台手机来做业务。 1. 组网问题 手机工作室很多人都会卡在组网上面&#xff0c;主要有三个问题&#xff1a; 1. 手机多了连不上WIFI&#…