计算机内部工作原理

简介: 🍃冯诺依曼体系🍃程序 = 指令 + 数据🍃广义数据在内存中的存储问题🍀非数的数据在内存中的存储🍀数类型的数据在内存中的存储🍃演示一个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设备中读取到的数据,放到内存的某个位置

恢复之前的执行流

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


目录
相关文章
|
7月前
|
存储
计算机的工作原理
计算机的工作原理可以分为以下几个主要步骤: 1. 输入:用户通过输入设备(如键盘、鼠标)将数据输入到计算机系统中。 2. 处理:计算机系统接收到输入的数据后,使用中央处理器(CPU)进行处理。CPU包括算术逻辑单元(ALU)和控制单元(CU),ALU执行算术和逻辑运算,而CU控制和协调整个计算机系统的操作。 3. 存储:计算机系统使用内存存储数据和指令。内存分为主存储器(RAM)和辅助存储器(如硬盘、固态硬盘)。RAM用于临时存储正在处理的数据和程序,而辅助存储器用于永久存储数据和程序。 4. 输出:计算机系统将处理后的数据通过输出设备(如显示器、打印机)展示给用户。 5. 控制:计算机系统使
70 0
|
7月前
|
存储 算法 数据处理
计算机的基本组成及工作原理
一、计算机的基本组成及工作原理 计算机的基本组成包括以下几个部分: 1. 中央处理器(CPU):CPU是计算机的核心部件,负责执行指令和进行数据处理。它包括算术逻辑单元(ALU)、控制单元(CU)和寄存器等组件。 2. 存储器:存储器用于存储计算机的指令和数据。常见的存储器包括随机存取存储器(RAM)和只读存储器(ROM)。 3. 输入设备:输入设备用于将外部数据输入到计算机中,如键盘、鼠标、扫描仪等。 4. 输出设备:输出设备用于将计算机处理的结果输出到外部,如显示器、打印机、音频设备等。 5. 总线:总线是计算机内部各个部件之间传输数据和控制信号的通道。它包括数据总线、地址总线和控制总线。
352 0
|
7月前
|
存储 网络协议 网络架构
计算机网络通信过程
计算机网络通信过程
64 0
|
7月前
|
存储 供应链 数据挖掘
计算机的作用及其应用
一、什么是计算机 计算机是一种能够执行程序和进行数据处理的电子设备。它由硬件和软件两部分组成。硬件包括中央处理器(CPU)、内存、硬盘、输入设备(如键盘和鼠标)、输出设备(如显示器和打印机)等。软件则是指计算机程序,包括操作系统、应用程序等。计算机能够接收、存储、处理和输出数据,实现各种任务和功能,如文字处理、图像处理、数据分析、网络通信等。计算机的发展使得人们能够更加高效地处理信息和解决问题。 二、计算机的作用 计算机在现代社会中发挥着重要的作用,它在各个领域都有广泛的应用。以下是计算机的一些主要作用: 1. 数据处理和存储:计算机可以处理和存储大量的数据,包括文字、图像、音频和视频等。它们
234 1
|
6天前
|
存储 固态存储 内存技术
计算机硬件的基本组成与工作原理
计算机硬件的基本组成与工作原理
|
6天前
|
存储 前端开发 调度
揭秘计算机内部通信:探秘数据、地址与控制信号的奥秘
本文深入剖析计算机总线的核心概念,探讨数据、地址和控制信号的传输,揭示了计算机内部各组件间通信的精妙机制。了解总线系统,将带你走进计算机硬件的奥秘,深化对计算机内部工作原理的理解。
|
6月前
|
安全
计算机的组成及工作原理
计算机的组成及工作原理。
23 1
|
存储 人工智能 编译器
感性认识:计算机基本工作原理
感性认识:计算机基本工作原理
167 0
感性认识:计算机基本工作原理
|
存储 安全 Linux
【操作系统篇】第三篇——进程(概念,组成,状态与转换,控制以及通信)
【操作系统篇】第三篇——进程(概念,组成,状态与转换,控制以及通信)
【操作系统篇】第三篇——进程(概念,组成,状态与转换,控制以及通信)
|
存储
【深入理解计算机系统CSAPP】一文彻底理解数据在计算机内部的存储
【深入理解计算机系统CSAPP】一文彻底理解数据在计算机内部的存储
84 0
【深入理解计算机系统CSAPP】一文彻底理解数据在计算机内部的存储