【计算机组成原理】3.2.2 只读存储器ROM

2024-09-01 23:20

本文主要是介绍【计算机组成原理】3.2.2 只读存储器ROM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

3.2.2 只读存储器ROM

00:00

各位同学大家好,在这个小节中我们要学习ROM芯片。上一小节中我们学习了两种具体的RAM芯片,分别是DRAM和SRAM。RAM芯片可以支持随机存取,读写速度会很快,但是它是一种易失性的存储芯片,也就是如果我们断电之后,RAM芯片里的数据就会消失。然而我们生活中很多数据在没有电的时候,我们也需要保证能够被保存。这一小节中我们会介绍几种类型的ROM芯片,分别是这些名字。这些ROM芯片都是非易失性,也就是断电之后数据不会丢失。好,来依次看一下这些ROM芯片。

00:40

第一种叫MROM,这是它的英文全称,叫做掩模式只读存储器。我们在第一个小节当中说过,所谓ROM指的是read only memory,就是只能读而不能写的一种存储器。MROM这种芯片里的数据初始化这个步骤是由厂家负责完成的,客户提出自己的要求,需要往里边写入什么数据。那厂家在生产芯片的时候,就会使用一种掩模技术,把这个数据直接写到这个芯片里边,并且厂家写入信息之后,这些信息以后任何人就不能再重写。所以这种芯片是纯粹意义上的只读read only memory,以后只能从中读取数据,而不能往里面写数据。那这种芯片的特点就是可靠性高,但是灵活性差,并且生产周期长,而且这种掩模技术只适合批量定制,就是制造一个掩模的模板成本会比较高。

01:39

好,后来为了提高这个只读存储器的灵活性,就有人发明了PROM,p指的是programmable,可编程的只读存储器。用户买了这样的一个存储芯片之后,他可以用专门的一个PROM写入器来写入他想要写的信息。但是写入一次之后就不可以再更改。相比于上面这种只读存储器,PROM的这个灵活性就大大增加了,可以由用户自己来个性化的定制往里边写的数据。同样的PROM也是一个纯粹意义上的只读存储器,只能从里面读数据,不能往里面重复写数据。

02:19

后来随着技术的发展,又有人发明了EPROM。这个E指的是erasable,就是可擦除的可编程的只读存储器。就是说用户在第一次写入信息之后,他还可以用某一种特别的方法来擦除这个EPROM里的数据,然后再进行重新写入。所以虽然他的名字叫做read only只能读,然而我们通过一些特殊的手段,其实也可以往里面重复的写数据。

02:49

根据用户擦除数据的这个手段不同,我们可以把EPROM又进一步的分为这样的两个类型。一种叫UVEPROM,UV这个是紫外线的意思,顾名思义对于这种ROM芯片,我们只需要用紫外线在这个芯片的一个石英窗口上给它照射8到20分钟,然后大喊一句我擦,就可以把所有的信息给擦除。注意是所有的信息全部都擦除,你并不能选择擦除部分信息,要擦就只能全部一起擦。好,所以这种EPROM它的灵活性是不够高的那后来又有人发明了EEPROM,也有的地方会把它写成E的平方PROM。第一个E是electricity的意思,就是我们可以用电来擦除,并且这种擦除方式可以支持我们擦除固定的字。

03:41

好,再往后随着EEPOM的技术发展,就有人发明了Flash Memory,也就是闪速存储器,也可以简称为闪存。我们熟悉的U盘还有SD卡那些就是闪存。这种闪存芯片保留了EEPOM的优点,就是在断电之后也可以保存信息。另外还可以进行多次的快速的擦除和重写。这一点想一想我们平时用的U盘就不难理解。

04:09

需要注意的是,由于闪存这种flash memory在写入数据的时候,需要先把数据进行电擦除,然后再进行写入。而读出数据的时候直接读就行了。所以由于写入数据的时候这些步骤会比较麻烦。因此对于用闪存芯片制造的各种各样的存储设备,通常写的速度要比读的速度更慢。大家也可以试一下自己的U盘是不是写比读更慢。这种闪存芯片我们要往里面写数据或者要读数据都是很方便的,既可读又可写。但是我们依然会把它归为ROM类的芯片。

04:49

另外由于这种芯片它的存储元只需要使用单个MOS管就可以,因此每一个存储元的体积比RAM的存储元体积要更小,所以闪存的位密度要更高。也就是说对于两块体积都相同的芯片来说,在工艺水平相同的情况下,闪存芯片上这个存储元的数量要比RAM芯片上存储元的数量更多,也就可以保存更多的二进制比特位,所以这是位密度的意思,这一点大家应该也有体会。现在很多U盘都是动辄128GB或者64GB,如果你有坏掉的U盘,那你可以把它拆掉看一下,看一下里边的存储芯片体积是不是很小。本质原因就是每一个存储元的体积比较小,所以存储元的集成度就会很高。

05:40

最近几年随着闪存芯片的一个技术发展,又出现了一个大家都耳熟能详的东西SSD,也就是固态硬盘。我们的固态硬盘其实也是由闪存芯片来存储二进制数据的。那除了以闪存芯片作为存储介质之外,还需要有一个专门的控制单元,用来控制固态硬盘里面多块闪存芯片的读和写这些操作。所以很多固态硬盘和U盘它们的存储介质其实都是闪存芯片,它和U盘的核心区别在于控制单元不一样。同样的,固态硬盘也可以进行多次的快速擦除和重写。

06:19

由于固态硬盘的速度快,功耗低,因此现在很多个人电脑上都在用固态硬盘来取代传统的机械硬盘。然而由于固态硬盘的造价要比机械硬盘,比这种磁盘要更高。所以像很多云存储中心,像百度云之类的,他们的存储中心主要还是使用机械硬盘,这是为了控制成本。

06:42

好,另外再给大家分享一个小小的拓展,其实我们的手机储存也是使用flash芯片作为这个存储介质的,只不过手机里边使用的这种flash芯片比SSD固态硬盘里使用的flash芯片,它的集成度会更高。那集成度更高是不是就意味着体积会更小?另外手机里存储芯片它的功耗也会更低,因为这样可以更省电,让我们的手机更持久。缺点就是价格更贵,这点大家应该也有感受,就是我们很多厂商卖手机的时候,64GB的辅存,还有256GB的辅存,它的价格差异是很大的,那这就是因为手机里使用的存储芯片,它的成本比较高。

07:28

好,再次强调我们的闪存芯片虽然可以读也可以写,但是它依然属于ROM,也就是read only memory,也就是只读存储器。所以大家在买手机的时候,有可能会看到这样的一个文字宣传,就是某手机它的RAM是8GB然后ROM是256GB,那以后大家就知道了,所谓的RAM指的就是它的内存,然后所谓的ROM指的就是它的辅存。好,这是我们需要简单了解的几种ROM,需要注意它们各自的特性。那每一种ROM的英文缩写,建议大家结合它的英文全称来进行记忆,不然的话很容易混淆。

08:10

好,接下来我们再来看一下计算机内部一个很重要的RAM芯片。通过之前的学习,我们知道计算机的主存是用来存放一系列的指令和数据的,那CPU要做的事情就是从主存里边取一条一条的指令,并且执行这些指令。然而上个小节我们说过,RAM这种芯片,它是一种易失性的芯片,也就是断电之后RAM里的数据会全部丢失。也就是说我们计算机关机之后,主存里的数据全部都没了。

08:42

那当我们再一次开机的时候,是不是意味着我们需要把操作系统还有各种应用程序相关的一些指令数据,把它重新给调入主存。而我们知道操作系统又是安装在辅存里边的,那CPU作为计算机的指挥中心,刚开始他要做什么事,其实也需要我们给他提供一系列的指令。CPU其实很傻,只能根据我们写好的指令来一步一步的执行。所以由于开机的时候,主存里面完全没有数据,没有指令,那CPU就需要从主板上面的一块ROM芯片上来读取开机所需要执行的那些指令。这块ROM芯片就是BIOS芯片,其中存储了自举装入程序。

09:26

学过操作系统的同学应该听过这个概念,所谓自举装入程序就是指CPU在刚开始执行的那一段程序。根据这一段程序的指引,CPU可以指挥IO系统把辅存当中存储的操作系统相关的数据给放到主存。所以这一块儿ROM芯片里边存储的这些程序就是用来引导开机的。那我们说过ROM芯片是非易失性的,也就是说即便我们的计算机没有被供电,那ROM里边存储的这个自举装入程序相关的这些指令数据同样不会丢失。所以主板上的这块芯片是十分重要的,那自己重装过电脑的同学肯定都见过BIOS的这个界面。

10:13

我们需要补充的一点是,虽然这块ROM芯片通常是被集成在主板上,但是逻辑上我们应该把它看作是主存的一部分。也就是说在这一课里边,当我们提到到主存的时候,除了指我们熟悉的内存条之外,我们还应该加上这个BIOS芯片,二者结合才是一个完整的主存。通常CPU会给RAM和ROM进行一个统一的编址。那什么叫统一编址呢?就是说如果这块ROM芯片它的容量是1KB,那么CPU会把0到1023这1K个地址是分配给ROM芯片的。然后RAM芯片也就是这个内存条,它的地址其实是从1024开始往后编号的,所以这就是所谓的统一编址。

11:04

好的,这个小节当中我们简单的介绍了几种ROM,大家需要注意各种ROM的名称和特性,有可能作为选择题考察。另外我们需要注意,虽然ROM芯片它的名字R和O指的是read only只能读,然而我们介绍的后面这三大类的ROM芯片其实也都可以写。对于闪存来说,写的速度一般来说要比读的速度更慢,因为写之前我们需要先进行擦除。

11:32

最后还需要注意一点,RAM芯片它是Random Access Memory的一个缩写,也就是支持随机存取。事实上ROM芯片也具有随机存取的特性,也就是说对于一个ROM芯片,我们给定一个想要访问的存储单元的地址,那么我们访问的速度并不会因为这个地址而改变。所以ROM和RAM的概念并不是完全相对立的。好的,以上就是这一小节的全部内容。

这篇关于【计算机组成原理】3.2.2 只读存储器ROM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1128333

相关文章

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重

Spring @Scheduled注解及工作原理

《Spring@Scheduled注解及工作原理》Spring的@Scheduled注解用于标记定时任务,无需额外库,需配置@EnableScheduling,设置fixedRate、fixedDe... 目录1.@Scheduled注解定义2.配置 @Scheduled2.1 开启定时任务支持2.2 创建

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事