前言现代计算机之父-- 冯・诺依曼
约翰·冯·诺依曼(John von
Neumann,1903年12月28日—1957年2月8日),出生于匈牙利布达佩斯,匈牙利犹太裔美籍数学家、计算机科学家、物理学家和化学家,美国国家科学院院士,生前是普林斯顿高等研究院教授
[1]。约翰·冯·诺依曼早期从事算子理论、共振论、量子理论、集合论等方面的研究,后期转向研究自动机理论研究 [6]。
💬计算机的组成 计算机的工作原理可以概括为“存储程序”和“程序控制”,这一核心思想是由数学家冯・诺依曼提出,因此称为“冯・诺依曼结构计算机”。其工作过程主要围绕输入、处理、存储、输出四个环节展开。
冯・诺依曼结构体系
CPU(中间处理器):包含运算器和控制器,进行运算和逻辑判断。是电脑最核心的部分。
运算器:负责算数运算(加减乘除)和逻辑运算;控制器:相当于计算机的“大脑中枢”,负责其他部件的协调工作,控制程序的执行顺序。 存储器:分为外存和内存,用于数据存储(用于二进制方式存储)
内存(主存储器): 临时存储正在运行的数据和程序,速度快,断电后丢失。外存(辅助存储器):长期存储数据,速度慢但是容量大,断电后不丢失(如U盘、硬盘); 在存储空间中:硬盘>内存>CPU在数据访问方面:CPU>内存>硬盘 输入设备:将外部信息传入计算机(如鼠标、键盘);
输出设备:将计算机处理结果传送给用户(如显示器、打印机)。
示例理解全过程:输入“1+,2”(输入设备)。被转化为二进制指令和数据,进入内存(存储器)。CPU读取“1”,接收“1”,在读取“2”,接收“2”,运用“加法运算”,计算得出结果“3”(CPU),在存入到内存(存储器),最后显示结果“3”(输出设备)。
💬CPU🌊CPU的工作流程CPU的工作流程:取指->译码->执行->写回(核心任务就是执行指令)
取指:控制器从内存或者Cache读取下一条直线的指令,存入指令寄存器。译码:指令译码器解析指令的含义,确定需要调用哪些硬件部件。执行:控制器像运算器、寄存器等发送信号,执行指令要求的操作。写回:将执行结果存入寄存器或内存,为下一指令做准备。🌊指令🌟定义 指令是带有指示性、要求特定动作或操作的命令、指示或信号。指定本身也是一个数字,用二进制形式保存在内存的某个区域内。
🌟指令表 指令
功能说明
4为opcode
操作的地址或者寄存器
LOAD_A
从RAM的指定地址,将数据加载到A寄存器
0010
4位RAM地址
LOAD_B
从RAM的指定地址,将数据加载到B寄存器
0001
4位RAM地址
STORE_A
将数据从A寄存器写入RAM的指定地址
0100
4位RAM地址
ADD
计算两个指定寄存器的数据的和,并将结果放入第二个寄存器
1000
2位寄存器ID 2位寄存器ID
一条指令=(函数名)4位操作码(opcode)+4位操作数(函数参数)CPU通过“流水线技术”让多个指令的不同阶段并行处理(如第一条指令执行时,第二条指令在译码,第三条指令在去取指)🌊CPU的寄存器🌟定义 寄存器是CPU内部一种高速存储单元,用于临时存放数据、指令、地址,是CPU与内存、外部设备之间数据处理的“中转站”。
🌊CPU的工作流程CPU的工作流程:读取指令(从内存读取指令)->解析指令(拆分opcode和操作数)->执行指令(完成运算/数据读写)
地址
数据(二进制)
0
00101110
1
00011111
2
10000100
3
01001101
4
00000000
5
00000000
6
00000000
7
00000000
8
00000000
9
00000000
10
00000000
11
00000000
12
00000000
13
00000000
14
00000011
15
00001110
执行过程:从地址0开始按顺序执行命令
1.执行地址0的指令(加载数据到寄存器A)
读取指令:从地址0读取指令数据为00101110解析指令:操作码(opcode)和操作数分别为0010和1110,将操作码=0010代表内存地址1110存储到寄存器A中,随后进行操作数地址转换为十进制为14执行指令:访问内存地址14,数据为00000011,转为十进制为3,将3存入寄存器A中,此时寄存器中(A=3,B=空)。2.执行地址1的指令(加载数据到寄存器B)
读取指令:从地址1读取指令数据为00011111;解析指令:操作码为0001,操作数为1111,将操作数(1111)存储到寄存器B中,转换为十进制为15;执行指令:访问内存地址15,数据为00001110,转为十进制为14,将14存入寄存器B中,此时寄存器中(A=3,B=14)3.执行地址2的指令(A+B运算)
读取指令:从地址2读取数据10000100,存入寄存器解析指令:操作码(1000)+操作数(0100),将操作数拆分为01(寄存器B的编号)+00(寄存器A编号),转为A=A+B执行指令:运算:A=3+14=17,结果存入寄存器A,此时,寄存器(A=17,B=14)4.执行地址3的指令(存储寄存器A到内存 )
读取指令:读取地址3的指令为01001101,存入寄存器解析指令:操作码(0100)+操作数(1101),将操作数转为十进制为13,存入寄存器A执行指令:将寄存器A的值17(二进制00010001)代替内存地址13变为为00010001(原地址00000000被覆盖)5.执行地址4的指令(程序结束)
读取指令:读取地址4,数据为00000000解析与执行:程序结束 (程序=指令+指令要处理的数据) 🌊CPU的关键性指标主频(时钟频率)
定义:CPU每秒执行的时钟周期数,单位为GHz(1GHz=10亿次/秒,G相当于10^9,Hz表示1多少次)意义:主频越高,单位时间内发生的时钟周期数越多。核心数与线程数
核心数:CPU内部独立工作的“计算核心”数量,多核心可并行处理多个任务。(核心数越多,效率越高)线程数:通过“超线程技术”让一个核心模拟两个线程,提升多任务处理效率。💬操作系统🌀定义 操作系统(Operating System,简称OS)是管理和控制计算机硬件和软件资源的计算机程序,给各种应用程序提供一个稳定的运行环境。
🌀常见的操作系统Window操作系统:有微软公司开发,是目前个人计算机使用最广泛的操作系统。具有图形化的用户界面,操作直观简单,软件兼容性好,有丰富的应用软件支持,如Windows10,Window11等。macOS:苹果公司开发的专用于Mac系列计算机的操作系统。Linux操作系统:是一种开源的操作系统,具有高度的灵活性和可制定性。Android操作系统:基于Linux内核开发的移动操作系统,主要用于智能手机、平台电脑登移动设备。iOS操作系统:苹果公司开发的操作系统,仅用于苹果的iPhone,iPad等。