CPU和存储器

Posted kwan-c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CPU和存储器相关的知识,希望对你有一定的参考价值。

CPU和存储器

一、计算机的基本组成

下图展示的就是计算机的基本组成。

技术图片

1、输入设备是什么?其实就是键盘、鼠标、摄像头等等。

2、输出设备是什么?如音响、显示器、打印机等等。

3、存储器,可以先简单理解为存放数据的地方。

4、CPU即中央处理器(“Central Processing Unit”的缩写),从图中可看出CPU=控制器(CU)+ 运算器(ALU),相当于计算机的大脑。

二、存储器

??存储器的种类很多,按用途可以分为主存储器和辅存储器,主存储器又称为内存,是CPU能直接寻址的存储空间,它的特点是存取速率快。内存一般采用半导体存储单元,包括随机存储器(RAM)、只读存储器(ROM)和高级缓存(Cache)。

1、随机存储器(RAM, Random Access Memory)

??RAM其实就是我们平常所说的“内存”,现在安卓手机的内存一般都是6G以上了(iphone只有2G、3G,因为苹果对自己的操作系统ios很自信,2G或者3G足够满足用户需求了,这也是为什么苹果手机很难实现多应用同时在后台运行,因为应用都需要加载到内存,而iphone只有2G内存,所以应用会被“杀死”),电脑的内存一般是4G、8G(对于目前来说,4G会让人觉得很卡)。

??RAM有一个特点:电源关闭时存储的数据就会丢失。

2、只读存储器(ROM, Read Only Memory)

??ROM是一块单独的内部存储器,和RAM相似,但是只能读取。ROM不是我们所说的“硬盘”,它的容量比硬盘小很多。在电脑中,ROM存的是BIOS程序、机器码和出厂信息之类的东西。

??ROM有一个特点:只能读取里面的数据,不能修改,电源关闭时存储的数据不会丢失。

3、高级缓存(Cache)

??它是介于CPU与内存之间,常用有一级缓存(L1)、二级缓存(L2)、三级缓存(L3)(一般存在于Intel系列)。它的读写速度比内存还快,当CPU在内存中读取或写入数据时,数据会被保存在高级缓冲存储器中,当下次访问该数据时,CPU直接读取高级缓冲存储器,而不是更慢的内存。

4、辅助存储器(又称外存储器,简称外存)

??辅助存储器就是我们平常所说的磁盘(磁盘包括:硬盘、软盘、U盘)、光盘,现在市场手机的ROM一般有这几个选项:32G、64G、128G、256G,电脑的ROM一般有:500G、1T等等(把这500G或者1T进行分卷(分卷即划分硬盘空间),就变成了电脑上常见的C、D、E、F盘)。

三、CPU

??前面提到:CPU=控制器(CU)+ 运算器(ALU)

1、控制器

控制器由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成。它是计算机指挥系统,完成计算机的指挥工作。主要有以下功能:

1、取指令 从内存中取出当前指令,并生成下一条指令在内存中的地址
2、分析指令
3、执行指令
4、发出各种微操作命令
5、改变指令的执行顺序
6、控制程序和数据的输入与结果输出
7、对异常情况和某些请求的处理

其实就相当于通过指令的方式告诉计算机该怎么做。下面这张图就是cpu的工作流程:

技术图片

2、运算器

运算器由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成。主要有以下功能:

1、执行所有的算术运算,如加、减、乘、除等基本运算及附加运算;
2、执行所有的逻辑运算,并进行逻辑测试,如与、或、非、零值测试或两个值的比较等。

四、CPU、内存、硬盘和指令之间的关系

??首先,用户从输入设备输入指令,指令会以机器码(即二进制码,如010101011100)的形式存在RAM(内存)或者Cache(缓存)中,然后CPU从RAM或Cache中取出指令,放入指令寄存器,并对指令译码分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成系统指令的执行。

??由于CPU并不能直接调用存储在硬盘上的系统、程序和数据,必须首先将硬盘的有关内容存储在RAM(内存)中,这样才能被CPU读取运行。因而,内存作为硬盘和CPU的“中转站”,对电脑运行速度有较大影响。

??由于内存是带电存储的(一旦断电数据就会消失),而且容量有限,所以要长时间储存程序或数据就需要使用硬盘(外存储器)。硬盘也会影响系统速度,因为系统从硬盘中读取数据并通过总线存入内存的速度也会影响系统运行的快慢。

思考题

看完“CPU、内存、硬盘和指令之间的关系”,你知道你打开一个word文档会经历哪些过程吗?

答:首先,鼠标双击word文档,这样就输入了一条指令——打开这个word文档,word文档是存储在硬盘上的,由于CPU并不能直接调用存储在硬盘上的数据,CPU收到这条指令后,会将这个word文档从硬盘读取出来,存放到RAM(内存中,所有数据都是二进制码)中,然后CPU再从内存中读取二进制码,“翻译二进制码”,将翻译结果传输到输入设备(即显示器),这时候你就能在显示器上看到这个word文档的内容了。

以上是关于CPU和存储器的主要内容,如果未能解决你的问题,请参考以下文章

python常用代码

sql 这些代码片段将演示如何逐步使用PolyBase。你应该有一个blob存储和存储秘密方便

如何将 r ggplot 图存储为 html 代码片段

DMA (直接存储器访问)

RuntimeError: ‘lengths’ argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor(代码片段

如何将代码片段存储在 mongodb 中?