计算机中的存储器们

作者: HiccupLoong | 来源:发表于2016-05-12 00:51 被阅读104次

计算机当中包含的存储器可以分为随机存储器(RAM)和只读存储器(ROM)(好像硬盘也能叫存储器,但本文不讨论)。RAM的特点是要持续供电才能保存数据,可读可写,而ROM就算断电,也不会丢失数据,而且是只读的。

我们打开机箱的盖子,罗列一下所有的RAM和ROM,首先主板上有一根或者几根4G/8G的RAM,还有一个CMOS,它也是RAM,显卡上面有2G的RAM(就是显存),还有ROM,网卡上面也有ROM。而CPU和这些存储器是通过总线连在一起,我们整理一下,他们的逻辑连接大概就像这样。

为什么每个接口卡都有ROM?ROM是只读的,硬件厂商在制作硬件的时候会在里面设置一些程序(比如一些可供调用的函数,就是所谓的BIOS),至于这些函数是干嘛用的下面再说。你也许会说,为什么不把所有的程序都写到主板上的ROM里面?我们拿显卡举例吧,生产显卡的厂商不止一家,他们的ROM里面的程序是不一样的,如果把所有的程序都写到主板上的ROM,那我以后换显卡该怎么办?这其实就像你写程序一样的,你应该不会把所有功能都写在一个函数里面吧?!所以不同的接口卡都有自己的ROM。

这些不同的存储器在物理上都是独立的,但是在CPU眼里,它们被抽象成了一块逻辑存储器(就是所谓的内存地址空间),每个设备对应逻辑存储器的一个地址范围,就像这样。

当cpu访问相应的内存区段时,实际上就是在访问相应设备的内存。当然,这里还有一个有意思的问题,就是CPU如果要把显存上的一个地址的内容挪到cpu内部,就像执行指令"MOV ax, [B800:0]"(当然这是伪代码,实际上是不合法的。B800:0是显存上的一个地址),但CPU如何根据这个指令判断出应该去显存上面去读数据,而不是其他什么存储器呢?这涉及到计算机组成原理了,有兴趣的可以去学习下。

接下来我们聊一个有意思的话题,就是主板上的ROM在操作系统被加载的过程中扮演一个什么样子的重要角色?我们知道任何程序(包括操作系统)一开始是被存在硬盘上的,想要得到执行的话,肯定需要被加载到内存条上才行,可是谁来加载呢?因为我们在按下开机键的时候,内存条才刚刚通电,上面什么东西都没有啊!等等,我们好像漏掉了什么?回顾上面的内存地址空间示意图,我们主板上的Rom已经有程序了,且内容不会因为断电而消失记得吗?所以当机器通电的时候,cpu就可以访问到System Rom 里面的BIOS程序了。所以整个过程是这样的,当我们按下开机键的时候,cpu直接从某一地址开始执行代码(在8086CPU的机器中,该地址是FFFF:0000,这个地址刚好在"System Bios Rom"这个地址范围内,我们不需要关心这具体地址是什么,反正就是在硬件层面“写死了的地址”),好了,接下来想干嘛就干嘛,当然也可以从硬盘把操作系统的代码给load到内存条(这是笼统的描述,以后再详细描述操作系统从硬盘加载到内存的过程),这差不多就是“盘古开天地”的过程了。

相关文章

  • 计算机中的存储器们

    计算机当中包含的存储器可以分为随机存储器(RAM)和只读存储器(ROM)(好像硬盘也能叫存储器,但本文不讨论)。R...

  • 缓存的力量

    在现代计算机中,存储器系统的结构可以用一个存储器层次(Memory Hierarchy)模型来刻画。 越位于高层的...

  • C语言笔记(四)--- 指针

    第十章 指针 1. 地址指针的基本概念: 在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为...

  • 01_C语言系列之指针与指针变量(point)

    什么是指针? 在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元,不同的数据类型...

  • 深入探讨 “Android 内存管理”的优秀特性

    何为内存? 内存是计算机中重要的部件之一,它是与 CPU 进行沟通的桥梁;内存(Memory)也称为内存储器,其作...

  • 汇编

    单位说明 在计算机中最小的信息单位,称之为位(bit,又称比特)。 存储器中所包含存储单元的数量称为存储容量,其计...

  • 汇编学习记录14 端口

    1.背景介绍: (1)在计算机中,各种存储器都和CPU的地址线、数据线和控制线相连(合称总线Bus)。CPU会把它...

  • Redis的两种持久化策略原理与内存回收策略

    磁盘与内存的区别 内存是计算机中硬盘数据喝CPU数据交换的中转站,属于临时存储器,随着操作随时改写的存储内容,断电...

  • 缓存一致性协议(MESI)

    存储器层次结构中,最快速的就是cpu一级别 在目前主流的计算机中,cpu执行计算的主要流程如图所示: 数据加载的流...

  • 1.2进制以及进制之间的转换

    思考1 为什么要使用计算机? 计算机可以存储数据,并计算数据 思考2 数据存在哪里? 存储器 在计算机中,指令主要...

网友评论

    本文标题:计算机中的存储器们

    本文链接:https://www.haomeiwen.com/subject/hcgurttx.html