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

前言

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

计算机(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号地址继续进行操作,如此往复……

在这里插入图片描述

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
掌握存储程序的概念及工作原理;掌握微型计算机的基本组成、常见种类及主要性能指标;了解兼容的概念; 掌握计算机内的数制及其相互转换,数值型数据和非数值型数据在计算机内的表示方法;了解运算器的基本组成和功能 ; 【教学目标】 计算机应用基础A全文共292页,当前为第1页。 掌握现代存储系统的三级存储体系结构,掌握半导体存储器、磁介质存储器和光存储器的组成、分类、特点及其主要性能指标; 了解微型计算机指令系统,掌握指令基本格式,掌握程序和指令执行过程计算机应用基础A全文共292页,当前为第2页。 掌握掌握总线的概念和分类,掌握总线的基本组成,了解常见的总线结构和接口标准; 掌握常用输入/输出设备的分类、特点及其主要性能指标。 计算机应用基础A全文共292页,当前为第3页。 §3.1 概述 3.1.1 存储程序原理 【概念课程】 计算机应用基础A全文共292页,当前为第4页。 存储程序概念 在ENIAC研制的同时,匈牙利出生的美国数学家冯.诺依曼与穆尔小组合作进行EDVAC(Electronic Discrete Variable Automatic Computer)计算机的研制。EDVAC计算机提出并采用了"存储程序"的计算机结构,其运行速度比ENIAC提高了240倍。 计算机应用基础A全文共292页,当前为第5页。 "存储程序"概念的提出和实现是冯.诺依曼对计算机科学领域最大的贡献。 现代电子计算机体系结构仍然遵循冯.诺依曼设计思想。 计算机应用基础A全文共292页,当前为第6页。 存储程序概念 (冯·诺依曼原理) 计算机应由控制器、运算器、存储器、输入设备和输出设备五大基本部分组成; 计算机内部采用二进制的数字化编码来表示数据和指令指令和数据存放在存储器中; 计算机在程序的控制下自动运行,不需要人工干预。 计算机应用基础A全文共292页,当前为第7页。 存储程序概念 计算机完成一项处理任务,需要具有的功能: 数据输入 数据存储 数据控制、处理 数据输出 这些功能分别有相应的部件来实现 计算机应用基础A全文共292页,当前为第8页。 计算机实现数据存储的部件 --存储器 存储器分为主存储器和辅助存储器。 主存储器也称为内部存储器,简称主存或内存,它可以与CPU直接进行数据交换。 辅助存储器也称为外部存储器,简称辅存或外存,它不可以与CPU直接进行数据交换。 计算机应用基础A全文共292页,当前为第9页。 通常将运算器、控制器、寄存器的组合统称为中央处理器或中央处理单元(简称CPU),也称为计算机的处理机。 CPU是运算和控制中心,是计算机的心脏,它决定了计算机的性能。 计算机应用基础A全文共292页,当前为第10页。 计算机实现程序控制的部件 --控制器 控制器从存储器中逐条取出指令、分析指令,根据指令的具体要求与规定的操作向计算机的其他部件发出控制信号,指挥各个部件协调工作计算机应用基础A全文共292页,当前为第11页。 计算机实现数据处理的部件 --运算器 运算器只是一个被动的执行部件,它的整个运算过程是在控制器控制下自动执行的。 随着复杂运算采用硬件设备来实现,为了提高运算速度,计算机内部增加了大量的独立的存储单元来临时保存运算的中间结果。这种存储单元称为寄存器。 计算机应用基础A全文共292页,当前为第12页。 输入和输出设备是计算机实现与外界数据传送的部件。 输入设备负责接收并转换来自外界的原始数据。 输出设备负责将计算机处理的结果数据转换并传送给外界。 计算机实现数据输入和输出 —输入和输出设备 计算机应用基础A全文共292页,当前为第13页。 存储程序的工作原理 计算机工作就是在程序(有序的指令集合)的控制下运行,而程序所包含的原始数据又是事先存储在计算机内部的。 计算机工作方式取决于它的存储程序能力和程序控制能力。 下面以一个小例子"两数相加"来说明存储程序的工作原理(计算机工作原理)。 计算机应用基础A全文共292页,当前为第14页。 两数相加的运算过程 编写好的实现两个数据相加的程序由输入设备输入,并且存入存储器。 例如:用VC++编写计算两个整数1、2的和,并输出结果。 #include <iostream> using namespace std; void main ( ) { int a,b,c; a=1; b=2; c=a+b; cout<<c<<endl; } 计算机应用基础A全文共292页,当前为第15页。 两数相加的运算过程 执行取数据指令。在存储单元中取出参加运算的两个数据,并分别送至运算器的数码寄存器和累加寄存器中。 执行加法指令。把上述数码寄存器和累加器作为操作数使用算术逻辑单元(ALU)执行相加运算,并将加得的结果保留在累加寄存器中。 执行存数指令。把累加寄存器
说到计算机的发展,就不能不提到美国科学家冯诺依曼。从20世纪初,物理学和电子 学科学家们就在争论制造可以进行数值计算的机器应该采用什么样的结构。人们被十进 制这个人类习惯的计数方法所困扰。所以,那时以研制模拟计算机的呼声更为响亮和有 力。20世纪30年代中期,美国科学家冯诺依曼大胆的提出,抛弃十进制,采用二进制作 为数字计算机的数制基础。同时,他还说预先编制计算程序,然后由计算机来按照人们 事前制定的计算顺序来执行数值计算工作冯诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执 行。 人们把冯诺依曼的这个理论称为冯诺依曼体系结构。从ENIAC(ENIVAC并不是冯诺依 曼体系)到当前最先进的计算机都采用的是冯诺依曼体系结构。所以冯诺依曼是当之无 愧的数字计算机之父。 根据冯诺依曼体系结构构成的计算机,必须具有如下功能: 把需要的程序和数据送至计算机中。 必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。 能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。 能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。 能够按照要求将处理结果输出给用户。 为了完成上述的功能,计算机必须具备五大基本组成部件,包括: 输入数据和程序的输入设备 记忆程序和数据的存储器 完成数据加工处理的运算器 控制程序执行的控制器 输出处理结果的输出设备 ----------------------- 冯诺依曼体系机构 输入设备 计算机组成部件 存储器 运算器 广东开放大学计算机应用基础+作业1全文共1页,当前为第1页。 输出设备 控制器
广东开放大学计算机应用基础+作业1doc资料全文共3页,当前为第1页。广东开放大学计算机应用基础+作业1 广东开放大学计算机应用基础+作业1doc资料全文共3页,当前为第1页。 冯诺依曼体系机构 冯诺依曼体系机构 说到计算机的发展,就不能不提到美国科学家冯诺依曼。从20世纪初,物理学和电子学科学家们就在争论制造可以进行数值计算的机器应该采用什么样的结构。人们被十进制这个人类习惯的计数方法所困扰。所以,那时以研制模拟计算机的呼声更为响亮和有力。20世纪30年代中期,美国科学家冯诺依曼大胆的提出,抛弃十进制,采用二进制作为数字计算机的数制基础。同时,他还说预先编制计算程序,然后由计算机来按照人们事前制定的计算顺序来执行数值计算工作冯诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。 人们把冯诺依曼的这个理论称为冯诺依曼体系结构。从ENIAC(ENIVAC并不是冯诺依曼体系)到当前最先进的计算机都采用的是冯诺依曼体系结构。所以冯诺依曼是当之无愧的数字计算机之父。 根据冯诺依曼体系结构构成的计算机,必须具有如下功能: 把需要的程序和数据送至计算机中。 必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。 能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。 能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。 能够按照要求将处理结果输出给用户。 为了完成上述的功能,计算机必须具备五大基本组成部件,包括: 输入设备输入数据和程序的输入设备 输入设备 计算机组成部件记忆程序和数据的存储器 计算机组成部件 存储器完成数据加工处理的运算器 存储器 广东开放大学计算机应用基础+作业1doc资料全文共3页,当前为第2页。运算器控制程序执行的控制器 广东开放大学计算机应用基础+作业1doc资料全文共3页,当前为第2页。 运算器 广东开放大学计算机应用基础+作业1doc资料全文共3页,当前为第3页。输出设备控制器输出处理结果的输出设备 广东开放大学计算机应用基础+作业1doc资料全文共3页,当前为第3页。 输出设备 控制器 广东开放大学计算机应用基础+作业1doc资料 精品文档 收集于网络,如有侵权请联系管理员删除 收集于网络,如有侵权请联系管理员删除 精品文档 收集于网络,如有侵权请联系管理员删除

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值