之所以依然叫做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)和我们通常用的“闪盘”,可以擦除。

cpu主要就是处理各种指令,运算、跳转、存取内存之内的。这些指令所需的数据以及指令本身一般都是存储在ram中的。cpu必须将ram中的指令和数据取到cpu中的各种寄存器中,指令才能执行。指令的地址存储在一个叫做PC的寄存器中,注意这边的PC不是个人电脑的意思,而是pointer of code的意思,即指令指针,而数据可以放在各种通用寄存器中。cpu中还有很多其他寄存器,控制着cpu各种功能。如果你学过汇编,便会知道汇编语言即是操作这些寄存器,完成各种运算任务。

现代高性能cpu内部一般都会有缓存,一般分为指令缓存和数据缓存。缓存的访问速度比外部ram要快很多,所以如果把一部分数据和指令存储在缓存中,cpu再从缓存中获取指令和数据能够提高cpu的速度。

可以被称作rom的东西很多,如pc主板上的rom芯片,pc关机后,rom的数据不会丢失,开机时先运行其中的bios程序,完成硬件配置和检测,之后会将磁盘第一个扇区中操作系统的引导程序装入内存,然后徐跳到引导程序。引导程序会进一步将操作系统存储在磁盘上的内核装入内存,最后执行内核程序。内核加载文件系统,并执行gui程序,便可以看到pc的桌面了。

链接:https://www.zhihu.com/question/24565362/answer/74078750

CPU中央处理器,负责执行计算机的运算指令。寄存器是CPU内部的小容量存储器,用来存放CPU将要运算的操作数或者操作数的地址,以及计算机指令或者指令地址,也会有计算结果存在寄存器中。RAM主要指计算机内存,用来存放计算机正在运行的程序的指令以及数据,包括操作系统和应用程序的指令和数据。ROM是只读存储器,其内容掉电不会丢失,一般来讲计算机的BIOS会写在里面,待计算机通电后,这里面的程序会自动被加载到内存中供CPU执行,去读磁盘信息引导DOS或者其他操作系统装入内存。

缓存有两种概念。一种是指硬件高速缓冲存储器cache,用于协调寄存器与内存之间读写速度不匹配而设置的一种存储器。另一种是指人为规定的一个区域(通常是在RAM上划一块区域,这是由操作系统来做的),用来暂时存放一些输入输出数据。

内核也有两种理解,你可以简单的认为CPU就是计算机的内核。

软件也会有内核,比如操作系统内核,主要是只管路计算机硬件资源的部分。

链接:https://www.zhihu.com/question/24565362/answer/126282464

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-69040-5.html

计算机硬件存储器,个人计算机的存储器系统 说说内核与计算机硬件结构(5)相关推荐

  1. 计算机软件硬件结构造图,个人计算机的存储器系统 说说内核与计算机硬件结构(3)...

    这里有几个定义需要说一下, 外设,顾名思义,就是IC芯片所接的能够与IC通信的外部设备.早起由于IC集成工艺不发达,很多东西都是外设的,在此以DSP芯片为例,比如PWM.ADC.CAN等等, 原本都是 ...

  2. 说说内核与计算机硬件结构

    1.内核诸如51/ARM/90/PIC/AVR.....有好多种的,何况内核从来不分类,因为每一家常都可以改内核,你应该问的是架构!!只有懂架构才能用什么片子都驾轻就熟. 我详细的说一下吧. HARV ...

  3. 计算机硬件系统组成教学设计,计算机硬件系统组成教学设计

    <计算机硬件系统组成教学设计>由会员分享,可在线阅读,更多相关<计算机硬件系统组成教学设计(5页珍藏版)>请在人人文库网上搜索. 1.七年级信息技术教学设计章节名称计算机系统的 ...

  4. Linux系统和内核目录解析

      在学习Linux以及Linux内核的过程中,总是会忘记Linux系统以及内核里的一些目录的含义,因此特地收集了关于Linux系统目录的含义解析以及Linux内核目录的解析. Linux系统目录解析 ...

  5. 嵌入式设计与开发实践要点[1.2]-嵌入式系统的内核

    1.2.1 嵌入式系统内核分类 1.通用处理器与专用处理器 (1)微处理器 (2)微控制器 (3)数字信号处理器 2.专用集成电路 3.可编程逻辑器件 4.商用现货组件 1.2.2 通用处理器与专用处 ...

  6. 什么是随机存取_SRAM存储器是什么存储器

    SRAM存储器是什么存储器 SRAM存储器(静态随机存取存储器)是一种只要在供电条件下便能够存储数据的存储器件,而且是大多数高性能系统的一个关键部分. SRAM存储器是随机存取存储器的一种.所谓的&q ...

  7. 嵌入式系统Linux内核开发工程师必须掌握的三十道题

    嵌入式系统Linux内核开发工程师必须掌握的三十道题 如果你能正确回答以下问题并理解相关知识点原理,那么你就可以算得上是基本合格的Linux内核开发工程师,试试看! 1) Linux中主要有哪几种内核 ...

  8. 单片机中存储器扩展位地址线怎么算_51单片机CPU结构各部件的原理详细分析

    一. 51单片机串行口工作原理 MCS-51系列单片机片内有一个串行I/O端口,通过引脚RXD(P3.0)和TXD(P3.1)可与外设电路进行全双工的串行异步通信. 1.串行端口的基本特点 8031单 ...

  9. 微型计算机原理存储器,微机原理存储器扩展详情解析

    存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据.有了存储器,计算机才有记忆功能,才能保证正常工作.按存储介质分可分为半导体存储器和磁表面存储器.按存储器的读写功能分可分为只读存储器 ...

最新文章

  1. JAVA数组扁平化整合_数组扁平化的几种处理放法
  2. 关于分页插件PageHelper不起作用的问题
  3. MySQL中的describe命令
  4. truncate与delete的区别
  5. java 唯一索引冲突_JPA merge联合唯一索引无效问题解决方案
  6. Linux如何处理 Too many open files
  7. lua协程 unity_unity协程coroutine浅析
  8. c语言接收并回现字符,C语言——字符I/O与缓冲区
  9. android限制第三方应用安装软件,如何从Android中的未知来源安装应用程序 | MOS86...
  10. centos7-防火墙
  11. C语言:基本语法汇总
  12. Unity如何查看当前内存使用情况
  13. IDEA添加快捷输入
  14. 高项论文(进度管理2)
  15. python写邮箱系统登录_Python selenium登录163邮箱示例
  16. 考研英语阅读分析--03Text3
  17. 开源GPU显存虚拟化项目,你的2080Ti还能救一下
  18. labelme 批量转换json文件 详细步骤
  19. 移动硬盘插到电脑上突然打不开或者没有显示的解决方法【已解决】不删设备不删驱动不改电源选项
  20. 南阳五中2021年高考成绩查询时间,公布优秀学生和分数:南阳市五中举行2021年春期开学典礼...

热门文章

  1. spring-wind 搭建过程问题记录
  2. [改善Java代码]减少HashMap中元素的数量
  3. Python之路:线程池
  4. ROW_NUMBER、RANK()、DENSE_RANK()和OVER的使用
  5. 进程、后台进程以及信号
  6. Spring之旅—Spring模块介绍
  7. postman 变量
  8. C++学习基础三——迭代器基础
  9. 你的灯亮着吗阅读笔记之一
  10. linux下iptables讲解