计算机是如何工作的(一)【冯诺依曼体系和指令基础执行过程】

前言

我们首先看看百度对计算机这一名词是如何解释的。

计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,
又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。

计算机从一开始的稀有到如今的普及。现如今,中国计算机用户的数量不断攀升,应用水平不断提高,特别是互联网、通信、多媒体等领域的应用取得了不错的成绩。
身边不止电脑是计算机,智能冰箱、洗衣机、小天才电话手表……都有着计算机的存在。

计算机的分类

  1. 终端设备(台式机、笔记本、手机……) 是我们日常用户使用的。
  2. 服务器 日常普通用户很少见到,但是时刻都在与服务器打交道。
  3. 嵌入式设备 主体功能不是用来“计算”,而是针对某些特定的场景使用,属于量身定做的“专用计算机”。
    称之为计算机的理由:这些设备都遵守着“冯诺依曼”体系结构。

冯诺依曼体系结构

现代的计算机,大都遵守着冯诺依曼体系结构

冯诺依曼核心设计思想主要体现在如下三个方面:

1.确定了计算机的五个基本组成部分:运算器、控制器、存储器、输入设备、输出设备。
CPU(运算器+控制器):主要及逆行各种算术运算以及各种逻辑判断。
存储器:分为内存和外存,用于存储数据。
输入设备:例如键盘、鼠标,通过输入设备对计算机发号施令。
输出设备:计算机对用户汇报结果的设备。

不同部件的速度以及内存大小对比

针对存储空间
硬盘 >>内存 >> CPU
针对数据访问速度
CPU >> 内存 >> 硬盘
在这里插入图片描述

CPU的基本工作流程

CPU主要负责进行计算,我们运行的每一个程序本质上都是通过CPU进行执行的。
为了描述CPU干活的效率,在任务管理器中有对CPU速度进行计算,当数字越大,则CPU运行速率越快。
由于工艺等方面的影响,单核心的CPU核心发展已经到达瓶颈,于是厂家引入了多核心CPU,以数量优势帮助系统完成任务。当每个CPU核心速度相同,数量增加的情况下,系统能够把要完成的任务拆分成多个部分,交给不同的核心完成。
这就构成了如今的“多线程”编程。
以我个人的电脑为例,现在我的CPU速度为3.78GHz,物理核心为16核,逻辑核心为32线程。
在这里插入图片描述

CPU和指令

指令:在CPU被设计的时候,给程序猿提供了一些“编程接口”,不同的CPU提供的指令是不同的。
指令是要先加载到内存中,然后才能被CPU读取并执行的。
在冯诺依曼体系结构中规定:一个程序,指令和依赖的数据,都是要存储在存储器中,当CPU需要执行的时候,会从存储器中调用相应的数据到内存中使用的。
因此,CPU执行程序,大致需要经历三个阶段。
1.取指令:把内存中的指令数据,读取到CPU的寄存器中。(寄存器速度比内存更快,但是由于成本问题,所占有的空间会小得多)
2.读指令:对寄存器中的指令进行解读,理解指令的意思。
3.执行指令。

指令的执行过程(举例)

在下列的指令集中,opcode的意思是操作码。每个CPU有自己的指令并用二进制表示;RAM地址和寄存器ID里面存放着指令要操作的数据。即数据存放在内存中的“地址”。如地址0,操作数00101110,首先CPU会到内存中的0号地址中寻找数据编号为00101110中所存储的数据,并将这个数据存储在寄存器A中。
为了记录每个操作要到内存中的哪个地址取指令,在CPU中设置了一个专门的程序计数器——PC。
当LOAD_A指令执行完之后,PC+1,顺序取指。只有当指令存在“跳转”指令的时候,PC才会跳转到对应的指令编号。
接下来的第二步,LOAD_B指令,和LOAD_A指令所需要做的事情相同,简单来说就是解析操作码0001知道接下来的操作内容,并到1号地址中获取操作数为1111的数据并放入到寄存器B中。
第三步操作:PC+1 来到2号地址,首先数据前四位操作码(opcode)为1000,即ADD指令,接着就如同ADD指令功能说明的一样,后四位0100是两个寄存器的ID(01和00)将结果存入到第二个寄存器(00)之后这条指令结束。
在第四步操作中,执行的是STORE_A的指令,在执行完这条指令后,数据存入到了13号地址中,因此13号地址数据变更为00010001. PC+1 往4号地址继续进行操作,如此往复……

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值