烧录是什么?ROM、RAM、内存、运存、外存、硬盘是什么关系?

2023-10-19 13:59

本文主要是介绍烧录是什么?ROM、RAM、内存、运存、外存、硬盘是什么关系?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

     问题提出

        在学习将Qt程序烧录到开发板时,朋友对“烧录”这个词的概念感到困惑:“我要把哪个器件烧掉,用什么烧,为什么拷贝程序要烧东西?”

一键烧写QT程序到开发板_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1tp4y1i7EJ/?p=22

        经过与朋友一起学习,我对这个词有了简单的理解:“烧录是一种不可逆的一次性写入操作,它将固件数据写入存储设备中,使得该设备只能读取数据,无法再进行写入。”

        然而,这个词是远古时期对”向ROM设备写入固件数据“的称呼。过去,向ROM写入数据确实需要用高于读取数据时的电压,从而将部分线路和元件烧掉。随着技术的进步,现在的ROM已经不再需要“烧”电路就可以写入数据了,但“烧录”这个叫法仍然在行话中被保留下来。

        因为它确实是“烧”啊。

        这个词最早是用在一次性可编程只读存储器上。不同于更早的集成电路,这样的存储器出厂时是一枚空白的芯片,可以通过特殊设备写入内容。怎么写?高电压。比方说芯片正常的读取电压是3.3V,那么写入就需要16V的电压,这会永久性地改变写入位置的物理组成。写入之后再对特定针脚施加16V,烧断高压电路,这样这枚OTPNVM就无法再次写入了。

这个过程实际上就是微观地烧掉了一些芯片内部的东西。

        之后这个词又很正确地用在了可写光盘上。同样的,写入可写光盘原理也根本就是用大功率(远高于普通读取)的激光使可写光盘表面的特定位置的染料变性,使反光度发生变化,于是信息就记录上去了。这也是微观上烧掉了一些东西。

所以烧这个词就普遍地用于了光盘写入和ROM写入。

        不过之后随着技术发展,很多非一次性的ROM出现了。写入的原理也不再是永久性的改变。但是因为依旧是写入ROM,所以烧这个词还是沿用了,不过仅仅限于用在写入单独一块不经常复写的芯片上。你看大家就不说烧一个U盘或者烧SSD。

不过光盘至今为止依旧是用烧的。只是对于可重复写入的光盘来说烧不再是完全不可恢复的了。

 

为什么烧录叫「烧」录? - 沈万马的回答 - 知乎https://www.zhihu.com/question/36366933/answer/67194315

那么,啥是ROM

这就是个复杂的问题了,我们找了好些参考资料,画了个图看看:

  • 什么是ROM

在购买手机时,你可能会看到规格中有形为“8GB+256GB”的信息。这里,数字较小的8GB代表RAM(随机存储器),而数字较大的256GB则是ROM(只读存储器)。

手机的RAM越大,能够同时运行的应用软件就越多。但一旦关机,RAM中的数据将会被清空,就像你正在编辑的照片或尚未发送的微信消息一样。

同时,手机的ROM越大,就能够安装更多的应用软件并存储更多的照片。即使关机后,ROM中的应用软件和照片仍然会保留。

在早期,ROM是通过烧断晶体管的方式来写入数据,从而实现掉电后保持数据的。

或许你会想,把照片、视频等内容复制到手机内部存储里,是否也可以称之为烧录呢?

事实上,在行话中,确实会使用“烧录”这个词来形容“将一类特殊的软件拷贝到空白的ROM”这个过程。

空白盘自己不能操作只能靠外部软硬件往里灌,他没有系统可言,就是单纯的存储单元,对应着物理上的绝对的存储地址……至于复制拷贝是一回事。是在文件系统的基础上进行的。是可以被操纵系统管理的内容所谓管理就是增删改,对应的是相对的存储地址。而烧是独立于系统的低级写入不能被操作系统进行管理的。把程序烧入设备和把程序复制到设备的linux系统中有什么区别?张王李戴的回答 - 知乎 https://www.zhihu.com/question/489240785/answer/2159472221

而这些特殊的软件就是:固件

解释完了烧录和固件。再来拓展一下思维导图里的其他名字:

今天太累了,大家根据图里的脉络自行翻看资料吧。画思维导图时的参考资料如下,有想要深入问的私信我:

 半导体存储的入门科普 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/572846165

手机存储内存是属于硬盘还是ROM的扩展?——《嵌入式控制系统》Ray's notes - 哔哩哔哩 (bilibili.com)https://www.bilibili.com/read/cv5577971/#:~:text=1.%E9%9A%8F%E7%9D%80%E6%8A%80%E6%9C%AF%E7%9A%84%E5%8F%91%E5%B1%95%EF%BC%8CROM%EF%BC%88Read%20Only,Memory%EF%BC%89%E5%B7%B2%E7%BB%8F%E5%8F%98%E5%BE%97%E5%8F%AF%E4%BB%A5%E6%93%A6%E9%99%A4%E5%92%8C%E6%94%B9%E5%86%99%EF%BC%8C%E5%B7%B2%E7%BB%8F%E8%BF%9D%E8%83%8C%E4%BA%86ROM%E5%91%BD%E5%90%8D%E7%9A%84%E5%88%9D%E8%A1%B7%EF%BC%8C%E5%90%8E%E7%BB%AD%E7%9A%84%E6%8A%80%E6%9C%AF%E5%A6%82%EF%BC%9AEEPROM%E3%80%81FLASH%E7%AD%89%EF%BC%8C%E6%B2%BF%E7%94%A8%E4%BA%86%E4%B9%8B%E5%89%8D%E7%9A%84%E5%8F%AB%E6%B3%95%E3%80%82%202.FLASH%E6%8A%80%E6%9C%AF%E4%B9%9F%E5%BA%94%E7%94%A8%E4%BA%8E%E6%89%8B%E6%9C%BA%E4%B8%AD%EF%BC%8C%E6%89%80%E4%BB%A5%E6%89%8B%E6%9C%BA%E5%8E%82%E5%95%86%E5%B0%86%E6%89%8B%E6%9C%BA%E7%9A%84%E5%AD%98%E5%82%A8%E5%86%85%E5%AE%B9%E7%BA%A6%E5%AE%9A%E4%BF%97%E6%88%90%E4%B8%BAROM%E3%80%82%203.%E5%9B%BA%E6%80%81%E7%A1%AC%E7%9B%98%E7%AD%89%E5%85%B6%E4%BB%96%E5%A4%96%E9%83%A8%E5%AD%98%E5%82%A8%E5%99%A8%E4%B9%9F%E5%BA%94%E7%94%A8%E4%BA%86FLASH%E6%8A%80%E6%9C%AF%EF%BC%8C%E8%BF%99%E4%B9%9F%E6%98%AF%E4%BA%A7%E7%94%9F%E6%B7%B7%E6%B7%86%E7%9A%84%E5%8E%9F%E5%9B%A0%E4%B9%8B%E4%B8%80%E3%80%82

为什么烧录叫「烧」录? - 知乎 (zhihu.com)https://www.zhihu.com/question/36366933

有容乃大——手机RAM和ROM基础知识科普 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/419099672

单片机烧录的底层原理是怎样的,为什么不同型号的单片机需要几乎完全不同的烧录程序? - 知乎https://www.zhihu.com/question/432939437

深入讲解eMMC简介 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/627756639
SD卡、TF卡、MMC卡、emmc、sdio扫盲_emmc储存卡与tf卡区别_gentle666的博客https://blog.csdn.net/qq_43706825/article/details/115454702
手机运存 是ddr吗 - 搜索 (bing.com)https://cn.bing.com/search?q=%E6%89%8B%E6%9C%BA%E8%BF%90%E5%AD%98+%E6%98%AFddr%E5%90%97&qs=n&form=QBRE&sp=-1&lq=0&pq=%E6%89%8B%E6%9C%BA%E8%BF%90%E5%AD%98+%E6%98%AFddr%E5%90%97&sc=0-10&sk=&cvid=3ACB6E0006BC42BB89ABEA34D65EAC43&ghsh=0&ghacc=0&ghpl=

Rom和ram哪个是内存,哪个是外存? - 知乎用户tdwndF的回答 - 知乎https://www.zhihu.com/question/353552689/answer/880601457 杂谈闪存二:NOR和NAND Flash (zhihu.com)https://www.zhihu.com/tardis/zm/art/26745577?source_id=1005

不用模拟器,真正的FC游戏机可以保存进度吗? - 知乎 (zhihu.com)https://www.zhihu.com/question/57147508

内存和闪存的区别是什么? - 知乎 (zhihu.com)https://www.zhihu.com/question/24759973

 DDR Memory工作原理 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/335685399

ROM和电脑固态硬盘的同一种结构吗,哪个读写速度更快。ufs是一种储存方案那可以升级吗? - 知乎 (zhihu.com)https://www.zhihu.com/question/370000361

【详解】嵌入式开发中固件的烧录方式 - DoubleLi - 博客园 (cnblogs.com)https://www.cnblogs.com/lidabo/p/4774416.html

IT之家学院:浅谈BIOS和CMOShttps://www.ithome.com/0/317/426.htm

这篇关于烧录是什么?ROM、RAM、内存、运存、外存、硬盘是什么关系?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

POJ1269 判断2条直线的位置关系

题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。  判断共线:  p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0  来判断,  判断 平行:  p1p

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

STM32内部闪存FLASH(内部ROM)、IAP

1 FLASH简介  1 利用程序存储器的剩余空间来保存掉电不丢失的用户数据 2 通过在程序中编程(IAP)实现程序的自我更新 (OTA) 3在线编程(ICP把整个程序都更新掉) 1 系统的Bootloader写死了,只能用串口下载到指定的位置,启动方式也不方便需要配置BOOT引脚触发启动  4 IAP(自己写的Bootloader,实现程序升级) 1 比如蓝牙转串口,

JVM内存调优原则及几种JVM内存调优方法

JVM内存调优原则及几种JVM内存调优方法 1、堆大小设置。 2、回收器选择。   1、在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualVM。   2、对JVM内存的系统级的调优主要的目的是减少

JVM 常见异常及内存诊断

栈内存溢出 栈内存大小设置:-Xss size 默认除了window以外的所有操作系统默认情况大小为 1MB,window 的默认大小依赖于虚拟机内存。 栈帧过多导致栈内存溢出 下述示例代码,由于递归深度没有限制且没有设置出口,每次方法的调用都会产生一个栈帧导致了创建的栈帧过多,而导致内存溢出(StackOverflowError)。 示例代码: 运行结果: 栈帧过大导致栈内存

理解java虚拟机内存收集

学习《深入理解Java虚拟机》时个人的理解笔记 1、为什么要去了解垃圾收集和内存回收技术? 当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。 2、“哲学三问”内存收集 what?when?how? 那些内存需要回收?什么时候回收?如何回收? 这是一个整体的问题,确定了什么状态的内存可以

NGINX轻松管理10万长连接 --- 基于2GB内存的CentOS 6.5 x86-64

转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=190176&id=4234854 一 前言 当管理大量连接时,特别是只有少量活跃连接,NGINX有比较好的CPU和RAM利用率,如今是多终端保持在线的时代,更能让NGINX发挥这个优点。本文做一个简单测试,NGINX在一个普通PC虚拟机上维护100k的HTTP

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们

string字符会调用new分配堆内存吗

gcc的string默认大小是32个字节,字符串小于等于15直接保存在栈上,超过之后才会使用new分配。