计算机内部工作原理

简介: 🍃冯诺依曼体系🍃程序 = 指令 + 数据🍃广义数据在内存中的存储问题🍀非数的数据在内存中的存储🍀数类型的数据在内存中的存储🍃演示一个8位加法器的过程🍀逻辑上的电子二级开关🍀组建与门、或门、非门、异或门🍀利用与或非 + 异或门构建 8 位加法器🍃CPU的基本工作原理🍀组成🍀ALU🍀程序🍀控制单元CU🍀指令🍀CPU 的基本工作流程🍀分支语句是怎么来的🍀指令周期🍀CPU的中断模式

🍃冯诺依曼体系

冯诺伊曼体系认为,指令只是一种特殊一些的数据

并且冯诺依曼体系将计算机系统分为处理器(CPU)+ 存储器 + 输入设备 + 输出设备

处理器:运算器 + 控制器

存储器:内存

输入设备:外部数据(物理数据)进入到存储器

输出设备:存储器内的数据出来到外部世界


🍃程序 = 指令 + 数据

指令表现为一种特殊的数据,需要存储在内存中,是一组预规定的动作,利用编码表规定

数据同样需要存储在内存中

opcode编码:给CPU支持的所有动作都编码一个唯一的数据



🍃广义数据在内存中的存储问题

🍀非数的数据在内存中的存储

要在计算机中进行 “非数数据” 的存储,要把非数数据转换成数类型的数据

字符串:unicode 编码

图像:RGB 编码

声音:波形编码


🍀数类型的数据在内存中的存储

数类型可分为整数小数

有限范围内的整数表示:正码、反码、补码 -> 整型数

有限范围内的小数表示:IE标准-> 浮点数


🍃演示一个8位加法器的过程

🍀逻辑上的电子二级开关


46.png

47.png


🍀组建与门、或门、非门、异或门

48.png49.png


或门

50.png51.png


非门

52.png53.png


异或门

54.png55.png


🍀利用与或非 + 异或门构建 8 位加法器

二进制相加

在每一位上

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0


56.png


半加器:进行两个一位(bit)数的相加

57.png


全加器:进行三个一位(bit)数的加法

58.png


8位加法器 = 7 个全加器 + 1 个 半加器

59.png


🍃CPU的基本工作原理

🍀组成

逻辑算术运算器:与、或、非、加、减、乘、除、取余

控制器:分析指令并发出相应的控制信号

寄存器:临时存储数据的存储单元(每一个都只能保存一个整型数,但是寄存器个数不止一个)

现代的高级 CPU 为了提升性能,一般都带有缓存(CPU 缓存) Level1缓存 / Level2缓存 / Level3缓存


🍀ALU

CPU是计算机的核心,ALU是CPU的核心

三个输入:

A:要参与运算的第一个数

B:要参与运算的第二个数

C:本次运算的操作码 opcode


60.png


🍀程序

所有程序的执行,本质上都是计算 + 读取 + 存入

读取:内存 -> 寄存器

存入:寄存器 -> 内存

🍀控制单元CU

CU 可以驱动 ALU 进行具体的计算工作,即ALU 工作时的 opcode 就是 CU 提供的

61.png


🍀指令

所谓指令,即指导 CPU 进行工作的命令,主要由操作码被操作数组成

其中被操作数用来表示要做的动作,被操作数是本条指令要操作的数据,可能是内存地址,也可能是寄存器编号

指令本身也是一个数字,用二进制的形式保存在内存的某个区域

62.png


🍀CPU 的基本工作流程

63.png


提码阶段

CU 根据 PC 寄存器的值,去内存的相应位置,把数据(指令)读取到 IR 寄存器中,正常情况下,PC 寄存器的值自动加 1

解码阶段

CU 按照预先设定的指令集解读指令数据(opcode + 操作数)

执行阶段

LOAD 指令由 CU 执行,CU 将在指令中得到的内存地址处的数据读取到寄存器 A 中

由于硬件中 PC 在自动加 1 ,所以我们的代码变成的指令才能顺序的往下执行

代码中的一条语句。很可能需要多条指令才能完成

语句是一组指令的封装抽象

变量是一段内存空间的封装抽象

PC寄存器中的值在这个指令周期中很关键,可以控制执行哪里的指令


🍀分支语句是怎么来的

CPU 中往往会提供一些指令,这些指令可以去修改 PC 的值


例如

if(a > b){

…甲

} else {

… 乙

}

此语句在内存中的执行流

  1. 把a变量的值加载到寄存器中;
  2. 把b变量的值加载到寄存器中;
  3. 计算a-b的结果
  4. 判断a- b的结果是不是负数或者0,如果是负数或者0,修改PC的值变成乙所在的地址


🍀指令周期


64.png


CPU 的运算快慢,就是看 CPU 执行指令周期的频率

CPU 的主频可以粗略地看作:每秒钟 CPU 能执行多少个指令周期


🍀CPU的中断模式

正常模式下,CPU 可以顺序执行,可以分支执行,但现实中,很多时候,需要暂时中断 CPU 的当前执行流,先让 CPU 去做点其他工作,再回过头来继续原来的执行流

CPU硬件中提供了一种 机制(中断) 让CPU停下


保存当前的PC的值到内存的某个位置

修改PC的值,让执行其他执行流

其他执行流执行结束之后,通过将刚才保存的PC值恢复到PC寄存器

继续原来的执行流

中断经常用作:


IO设备的处理

当有外部数据到达Input设备时,触发某个中断

让当前正在执行的执行流暂停,切换到Input驱动对应的执行流

把Input设备中读取到的数据,放到内存的某个位置

恢复之前的执行流

操作系统中用来作进程调度(线程调度)


目录
相关文章
|
存储 供应链 数据挖掘
计算机的作用及其应用
一、什么是计算机 计算机是一种能够执行程序和进行数据处理的电子设备。它由硬件和软件两部分组成。硬件包括中央处理器(CPU)、内存、硬盘、输入设备(如键盘和鼠标)、输出设备(如显示器和打印机)等。软件则是指计算机程序,包括操作系统、应用程序等。计算机能够接收、存储、处理和输出数据,实现各种任务和功能,如文字处理、图像处理、数据分析、网络通信等。计算机的发展使得人们能够更加高效地处理信息和解决问题。 二、计算机的作用 计算机在现代社会中发挥着重要的作用,它在各个领域都有广泛的应用。以下是计算机的一些主要作用: 1. 数据处理和存储:计算机可以处理和存储大量的数据,包括文字、图像、音频和视频等。它们
493 1
|
存储
计算机的工作原理
计算机的工作原理可以分为以下几个主要步骤: 1. 输入:用户通过输入设备(如键盘、鼠标)将数据输入到计算机系统中。 2. 处理:计算机系统接收到输入的数据后,使用中央处理器(CPU)进行处理。CPU包括算术逻辑单元(ALU)和控制单元(CU),ALU执行算术和逻辑运算,而CU控制和协调整个计算机系统的操作。 3. 存储:计算机系统使用内存存储数据和指令。内存分为主存储器(RAM)和辅助存储器(如硬盘、固态硬盘)。RAM用于临时存储正在处理的数据和程序,而辅助存储器用于永久存储数据和程序。 4. 输出:计算机系统将处理后的数据通过输出设备(如显示器、打印机)展示给用户。 5. 控制:计算机系统使
112 0
|
存储 算法 数据处理
计算机的基本组成及工作原理
一、计算机的基本组成及工作原理 计算机的基本组成包括以下几个部分: 1. 中央处理器(CPU):CPU是计算机的核心部件,负责执行指令和进行数据处理。它包括算术逻辑单元(ALU)、控制单元(CU)和寄存器等组件。 2. 存储器:存储器用于存储计算机的指令和数据。常见的存储器包括随机存取存储器(RAM)和只读存储器(ROM)。 3. 输入设备:输入设备用于将外部数据输入到计算机中,如键盘、鼠标、扫描仪等。 4. 输出设备:输出设备用于将计算机处理的结果输出到外部,如显示器、打印机、音频设备等。 5. 总线:总线是计算机内部各个部件之间传输数据和控制信号的通道。它包括数据总线、地址总线和控制总线。
477 0
|
存储 网络协议 网络架构
计算机网络通信过程
计算机网络通信过程
93 0
|
29天前
|
存储 缓存 数据处理
简述计算机X86架构
【10月更文挑战第3天】本文介绍了计算机的基本工作原理,重点阐述了CPU(中央处理器)及其组成部分:运算单元、数据单元和控制单元的功能。文中解释了CPU通过总线与内存等设备通信的过程,并详细描述了指令执行的步骤,包括指令获取、数据处理和结果存储。此外,还介绍了地址总线和数据总线的作用,以及段寄存器在内存管理中的应用。最后,提供了一些基本的CPU指令示例。文中配有多幅插图帮助理解。
|
5月前
|
存储
计算机的基本工作原理
计算机的基本工作原理
93 0
|
5月前
|
缓存 芯片
计算机的构造和原理
计算机的构造和原理
|
5月前
|
机器学习/深度学习 存储 人工智能
计算机在各个领域中的作用
是计算机在各个领域中的作用
120 0
|
5月前
|
存储 算法 数据处理
计算机的作用
计算机的作用,
108 0
|
5月前
|
存储 自动驾驶 数据挖掘
计算机的设计原理
计算机的设计原理
73 0