偷偷说一下,这个图片是晚上 8 点钟的太阳,一个骚男华为总工发给我的,有时间还是想出去走走

很多人使用计算机,但是对计算机却不是很懂,即使是作为非常资深的码农,也不能做到心中有剑的地步,那么怎么办?剑法不好,只好练剑了。

先来一张图

CPU:

中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

中央处理器主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储器(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件。


寄存器

CPU 是皇帝,那寄存器可以说是皇帝身边的小太监了,随叫随到,在所有人里面速度是最快的。

寄存器是中央处理器内的组成部份。它跟CPU有关。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC)。


存储器

存储器范围最大,它几乎涵盖了所有关于存储的范畴。你所说的寄存器,内存,都是存储器里面的一种。凡是有存储能力的硬件,都可以称之为存储器,这是自然,硬盘更加明显了,它归入外存储器行列,由此可见——。


内存

内存既专业名上的内存储器,它不是个什么神秘的东西,它也只是存储器中的沧海一粟,它包涵的范围也很大,一般分为只读存储器(ROM)随机存储器(RAM),以及最强悍的高速缓冲存储器(CACHE),只读存储器应用广泛,它通常是一块在硬件上集成的可读芯片,作用是识别与控制硬件,它的特点是只可读取,不能写入。RAM 随机存储器的特点是可读可写,断电后一切数据都消失,我们所说的内存条就是指它了。


缓存CACHE

皇帝想拿东西,如果太监没有,那从哪里拿最快?那就是丞相了,缓存还分一级缓存,二级缓存,三级缓存,你买电脑,这个参数可以用来比较一下。

缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助硬件更快地运行。

因为缓存往往使用的是RAM(断电即掉的非永久储存),所以在用完后还是会把文件送到硬盘等存储器里永久存储。电脑里最大的缓存就是内存条了,最快的是CPU上镶的 L1 和 L2 缓存,显卡的显存是给显卡运算芯片用的缓存,硬盘上也有16M或者32M的缓存。

CACHE 是在 CPU 中速度非常块,而容量却很小的一种存储器,它是计算机存储器中最强悍的存储器。由于技术限制,容量很难提升。


ROM、RAM的区别:

ROM(只读存储器或者固化存储器)

RAM(随机存取存储器)

ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的

RAM就是计算机的内存。

RAM有两大类,一种称为静态 RAM(Static RAM/SRAM),当数据被存入其中后不会消失。SRAM速度非常快,是目前读写最快的存储设备了。当这个SRAM 单元被赋予0 或者1 的状态之后,它会保持这个状态直到下次被赋予新的状态或者断电之后才会更改或者消失。但是存储1bit 的信息需要4-6 只晶体管。因此它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。另一种称为动态RAM(Dynamic RAM/DRAM),DRAM 必须在一定的时间内不停的刷新才能保持其中存储的数据。DRAM 只要1 只晶体管就可以实现。DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很 多,计算机内存就是DRAM的。

DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等,这里介绍其中的一种DDR RAM。DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。这是目前电脑中用 得最多的内存,而且它有着成本优势,事实上击败了Intel的另外一种内存标准-Rambus DRAM。在很多高端的显卡上,也配备了高速DDR RAM来提高带宽,这可以大幅度提高3D加速卡的像素渲染能力。

ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是,PROM是一次性的,也就是软件灌入后,就无法修 改了,这种是早期的产品,现在已经不可能使用了,而EPROM是通过紫外光的照射擦出原先的程序,是一种通用的存储器。另外一种EEPROM是通过电子擦出,价格很高,写入时间很长,写入很慢。

最初,把只能读的存储器叫做ROM(Read Only Memory),并且掉电后数据不会丢失。由于不能改写,因而使用起来很不方便。随着技术的进步,在ROM中使用一些新技术,就可以使它具有可以编程的功能。比较早的是熔丝型的可编程ROM,由于是通过熔断熔丝来编程的,所以这类ROM编程后,就不能再写了,是一次性的(OTP)。后来又出现了EPROM,是通过紫外线来擦除的,并且通过高压来编程,这类ROM上面一般有一个透明的石英玻璃窗,看上去挺漂亮的,它就是用来给紫外线照射的。后来又出现了EEPROM,不用紫外线照射就可以擦除,因而可以直接在电路中编程。另外还有FLASH ROM,又可分为NOR FLASH和NAND FLASH。FLASH ROM一般有一个特点,就是写数据时,可以将1改为0,而不能将0改为1,因而写数据前需要擦除,擦除时将所有数据置1。

之所以依然叫做ROM,归纳一下,大概有几个原因:

①不能像RAM那样快速的写;

②可能需要特殊的擦写电压;

③可能需要特殊的擦写时序;

④可能需要在写之前进行擦除操作;

⑤擦写次数有限,不像RAM那样可以随意写而不损坏;

⑥掉电后数据不会丢失;

⑦有些可写的存储器只能写一次(OTP)。

举个例子,手机软件一般放在EEPROM中,我们打电话,有些最后拨打的号码,暂时是存在SRAM中的,不是马上写入通过记录(通话记录保存在EEPROM中),因为当时有很重要工作(通话)要做,如果写入,漫长的等待是让用户忍无可忍的。

FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具备电子可擦出可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据 (NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来 Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。

目前 Flash 主要有两种 NOR Flash 和 NADN Flash。NOR Flash 的读取和我们常见的 SDRAM 的读取是一样,用户可以直接运行装载在NOR FLASH 里面的代码,这样可以减少 SRAM 的容量从而节约了成本。NAND Flash 没有采取内存的随机读取技术,它的读取是以一次读取一快的形式来进行的,通常是一次读取 512 个字节,采用这种技术的Flash比较廉价。用户 不能直接运行 NAND Flash 上的代码,因此好多使用NAND Flash 的开发板除了使用 NAND Flah 以外,还作上了一块小的NOR Flash 来运行启动代码。

一般小容量的用 NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息,而大容量的用NAND FLASH,最常见的 NAND FLASH 应用是嵌入式系统采用的 DOC(Disk On Chip)和我们通常用的“闪盘”,可以在线擦除。

文章转自

https://www.zhihu.com/question/24565362/answer/54451597

并做了一些小修正和排版~去掉了 Linux 部分,作者说明了自己对 Linux 不是很懂,我后面会再用文章介绍。

推荐阅读

CPU 和 GPU

一位跟我一样疑惑的同学~

CPU,内核,寄存器,缓存,RAM,ROM的知识相关推荐

  1. ROM,RAM,FLASH知识,全面解释一下

    关注.星标公众号,直达精彩内容 来源:网络素材 前几天偶然之间与同事谈论到ROM,RAM,FLASH一些知识,而突然之间当我们去说这些英文单词的话还真是粗浅的知道,而在我们当中的MCU一些含义也不甚清 ...

  2. X86架构CPU常识(主频,外频,FSB,cpu位和字长,倍频系数,缓存,CPU扩展指令集,CPU内核和I/O工作电压,制造工艺,指令集,超流水线与超标量)...

    1.主频 主频也叫时钟频率,单位是MHz,用来表示CPU的运算速度. CPU的主频=外频×倍频系数.很多人认为主频就决定着CPU的运行速度,这不仅是个片面的,而且对于服务器来讲,这个认识也出现了偏差. ...

  3. 超线程cpu的寄存器_一文总结 CPU 基本知识

    关于CPU和程序的执行 CPU是计算机的大脑. 1.程序的运行过程,实际上是程序涉及到的.未涉及到的一大堆的指令的执行过程. 当程序要执行的部分被装载到内存后,CPU要从内存中取出指令,然后指令解码( ...

  4. 3 计算机组成原理第三章 存储系统 主存简单模型及寻址 半导体寄存器 存储器分类 主存与CPU连接 双口RAM和多模块寄存器

    文章目录 1 主存简单模型及寻址的概念 1.1 主存储器 1.1.1 存储器芯片的基本结构 1.1.2 寻址 2 半导体存储器 2.1 半导体随机存取存储器 2.1.1 DRAM的刷新 2.1.2 S ...

  5. Cortex-A7 MPCore 架构详细介绍(九种运行模式、内核寄存器组R0~R15,有特定的名字和功能)

    目录 0.ARM架构的历史简介 1.Cortex-A7 MPCore(即多核) 简介 2.Cortex-A 处理器九种运行模式 3.Cortex-A 寄存器组(内核寄存器) 3.1通用寄存器 3.1. ...

  6. 3 万字 51 张图教你 CPU、内存、操作系统硬核知识!

    作者|cxuan 来源 |Java建设者(ID:javajianshe) 我们每个程序员或许都有一个梦,那就是成为大牛,我们或许都沉浸在各种框架中,以为框架就是一切,以为应用层才是最重要的,你错了.在 ...

  7. x86 - CPU架构/寄存器详解 (三) 保护模式

    系列文章 x86 - CPU架构/寄存器详解 (一)x86.8086.i386.IA-32 是什么? x86 - CPU架构/寄存器详解 (二) 实模式(8086模式) x86 - CPU架构/寄存器 ...

  8. 计算机cpu、寄存器、内存区别

    1.寄存器是中央处理器内的组成部分.它跟CPU有关.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC). ...

  9. 飞腾CPU相关寄存器描述(持续更新)

    飞腾CPU相关寄存器描述(持续更新) SPSel堆栈寄存器选择寄存器 EL1/2/3都可以读写 32位长度. SP, bit[0], 控制堆栈寄存器的选择. 0-->CPU无论处于什么权限级,堆 ...

  10. NT内核和驱动开发的基础知识-笔记

    这是我在学习NT内核和驱动开发的基础知识时记录的一些笔记,不是连续的教程,欢迎指正错误的地方 ----------------------------------------------------- ...

最新文章

  1. QIIME 2教程. 12数据筛选Filtering data(2021.2)
  2. Spring内核研究-通过工厂注入
  3. P1541-乌龟棋【多维dp】
  4. react学习(22)---需要export
  5. pythonopencv的配置_python配置与使用OpenCV
  6. Linux 统计某个字符串出现的次数
  7. 微信ASP.NET高级平台接口
  8. matlab抖g是什么,MATLAB中dither抖动函数的用法
  9. Java 16 正式发布
  10. php qq邮箱发送邮件报错_PHP实现发送邮件(二)
  11. 【linux(2),Redis面试复习大纲在手面试不慌
  12. 20190901:(leetcode习题)缺失数字
  13. 恨iPad是一种无知的畸形意识行为
  14. 在framework和hal添加log
  15. WEBRTC TURNSERVER配置
  16. 深度学习:基本概要:监督,无监督,半监督,弱监督,多示例,迁移学习
  17. 文本相似度算法对比分析,短文本相似度主流算法
  18. 机器学习入门——简单线性回归
  19. 如何计算IP地址的范围
  20. thinkphp5整合系列之汉字转拼音完美支持多音字

热门文章

  1. Nginx+PHP实时生成不同尺寸图片
  2. Mysql存储引擎中InnoDB与Myisam的区别
  3. ceph操作相关命令整合
  4. 为C++程序添加文件保存加载功能
  5. xmind可以画流程图吗_新娘妆可以自己画吗?临夏化妆学校告诉你答案!
  6. audio unity 加速_浅谈Unity中Android、iOS音频延迟
  7. namespace! 报错
  8. python计算绩效工资_python实现 --工资管理系统
  9. 08_JS工厂方法和构造函数
  10. sudo apt-get nmap 报错锁占用