计算机工作原理

计算机工作原理

一、计算机组成

冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构,即指令是一种特殊的数据。
数学家冯·诺依曼提出了计算机制造的三个基本原则,即采用二进制逻辑、程序存储执行以及计算机由五个部分组成(运算器、控制器、存储器、输入设备、输出设备),这套理论被称为冯·诺依曼体系结构。

计算机:运算器 + 控制器 +存储器+ 输入设备+ 输出设备
计算机 : CPU + I/O + 内部数据交换总线(BUS)
处理器 (CPU)= 运算器 + 控制器
存储器 = 外存+内存, 用于存储数据(使用二进制方式存储)
输入设备 :外部数据(物理数据)进入存储器
输出设备 :存储器内部数据到外部
在这里插入图片描述
针对存储空间
硬盘 > 内存 >> CPU
针对数据访问速度
CPU >> 内存 > 硬盘

二、数据在内存的存储形式

重点:指令是一种特殊数据,本质还是数据,用数据代表指令
数类型数据:整数/小数
整数(有效范围内):正码,反码,补码
浮点数(有效范围内):IE标准
非数类型数据:字符/字符串,图片,声音
字符/字符串 Unicode编码 (ASCII)
图片 RGB编码
声音 波形编码

三、CPU基本工作原理

3.1 CPU基本组成:

1.逻辑算数运算器(与,或,非,加减乘除,取余)
2.控制器
3.寄存器:临时存储数据的单元
4.现代高级CPU,为提升cpu性能,带有缓存

3.2 实现算数逻辑功能

算术逻辑单元 ALU(Arithmetic & Logic Unit)

ALU 是计算机中进行算数、逻辑运算的核心部件,是计算机的数学大脑。ALU是基于逻辑门与二进制来实现运算的。

电子开关(机械继电器):,可以实现 1 位(bit) 的基本逻辑运算。可以构成门电路
在这里插入图片描述
门电路:使用电子开关构建一些有用的部件 —— 门电路。
与门,或门,非门,异或门
逻辑单元:逻辑单元主要用来进行逻辑操作,最基本的操作就是 与、或、非操作,但不只是一位(bit)数的比较。
4位非零判断器:
在这里插入图片描述
算术单元:算数单元,负责计算机里的所有数字操作,比如四则运算,当然它能做的远远不止这些。

两位半加器:
在这里插入图片描述
寄存器(Register) 和内存(RAM)
光有 ALU 还是远远不够的,我们无法为 ALU 提供存储的部件,这时就需要寄存器和内存。其基本原理还是用门电路实现的。
控制单元 CU(Control Unit)
我们现在有 ALU、存储了,但这还是不足以让我们的计算机工作起来,我们需要有一个部件来指挥 ALU 进行何种的运算而这个部件就是控制单元(CU)。

3.3 CPU的基本工作流程

指令(Instruction)

指令:即指导 CPU 进行工作的命令,主要有操作码 + 被操作数组成。其中操作码用来表示要做什么动作,被操作数是本条指令要操作的数据,可能是内存地址,也可能是寄存器编号等。指令本身也是一个数字,用二进制形式保存在内存的某个区域中。

cpu工作流程

在这里插入图片描述
1.取码阶段:
CU 根据 PC 的值将指令数据读入IR 中,正常情况下PC+1,即指向下一个指令
2.解码阶段:
CU 分析 IR 中的指令组成(opcode+操作数)
在这里插入图片描述
0010 查指令,代表:从后边地址指定内存处,将数据读取到A寄存器中
1110,十进制数 14,代表数据内存地址为14

3.执行阶段
CU 完成 LOAD_A指令的动作:从内存14处读取数据到A寄存器
按照上述流程,执行4个指令周期完成运算。如下所示:
在这里插入图片描述

指令周期

电子计算机中的 CPU 靠背后一个时钟来进行周期驱动的。CPU的运算快慢取决于执行指令周期的快慢。
只要电脑在开机状态下,CPU就会一直循环这个周期。
在硬件CPU的视角,只有指令的概念,没有指令属于谁的概念
在这里插入图片描述

分支语句实现

分支语句if,else,while,for,break,continue…是怎么实现的?
CPU中会提供一些指令,这些指令可以去修改PC的值。
通过CPU中预先规定的指令,可以去修改PC的值(),从而影响执行流。

if(a>b){}else{}

实现步骤:
1.把a的值加载到寄存器中
2.把b的值加载到寄存器中
3.比较a-b的值,若值小于等于0,PC的值变为0xc45f,执行乙
4.执行甲
在这里插入图片描述
只要有个起始位置填充到PC中,执行流就可以正常执行了
**程序启动:**将写的程序翻译后的第一个指令写入PC中,程序就可以跑起来了。
程序中的函数(方法)等概念并非是计算机硬件使用,而是为了方便程序员的。

CPU中断模式

正常模式下,CPU可以顺序的执行,也可以分支执行。但总归只能按照既定顺序去执行。但现实中,往往需要中断CPU当前的执行流,让CPU去执行新的工作,然后回来继续原来的工作。

CPU提供一种机制(中断)让CPU停下:

1.保存当前PC值到某内存处
2.修改PC值,执行其他执行流
3.当其他执行流执行结束后,将保存的原来的PC值写入PC寄存器中
4.继续原来的执行流

中断有编号,内存中一般存好了编号。

中断作用:
1.IO口设备
1 外部数据进入input设备时,触发某个中断
2 原来执行流暂停,执行input设备数据对应的执行流
3 将input设备读到数据写入内存
4.恢复之前的执行流
2.操作系统中用作进程调度(线程调度)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值