1.cpu 是什么

1.cpu是什么
cpu(central processing unit):cpu从系统ram(random access memory,临时数据存储介质)中提取指令,然后解码指令,然后由cpu的相关部分执行。

2.cpu内部结构:由控制单元和算术逻辑单元(alu)构成
.控制单元:从内存中提取指令并解码执行
.算数逻辑单元:处理算数和逻辑运算

从功能看:cpu内部由寄存器、控制器、运算器和时钟四部分组成,各部分之间通过电信号连通。
.寄存器:暂存指令、数据和地址。cpu就是寄存器的集合体。
.控制器:将内存上的指令、数据读入寄存器,并根据指令的结果控制计算机
.运算器:负责运算从内存中读取到寄存器的指令及数据
.时钟:发出cpu开始计时的时钟信号

内存通过控制芯片与cpu直连,内存的每个字节都有一个地址编号。cpu通过地址读取指令和数据,也可以写入数据。

3.计算机语言
低级语言:机器语言、汇编语言(通过汇编器转换为机器语言)
高级语言:c,java,都需要编译转换为机器语言后运行

4.寄存器分类:
累加寄存器:存储运行的数据和运算后的数据
标志寄存器:用于反映处理器的状态及运算结果的某些特征以及控制指令的执行
程序计数据器(program counter):存放下一条指令所在单元的地址
基址寄存器:存储数据内存的起始地址
变址寄存器:存储基址寄存器的相对地址
通用寄存器:存储任意数据
指令寄存器:储存正在被运行的指令,cpu内部用,程序员无法对该寄存器进行读写
栈寄存器:存储栈区域的起始位置

program counter:控制着程序的流程。顺序执行:每执行一条指令,程序计数器的值+1。条件和循环会使程序计数器的值指向任意的地址。
标志寄存器:条件或循环会使用jump(跳转指令),根据当前的指令来判断是否跳转。无论当前累加寄存器的运算结果是正数、负数还是零,标志寄存器都会保存是否溢出和奇偶校验。32位标志寄存器第0、1、2个字节
各自结果为1时,分别代表正数、零、负数。

函数调用机制:两个重要指令call,return。call会把函数执行后要执行的指令保存在栈中,函数执行完再通过函数的出口执行return指令将上面保存的地址设定至程序计数器以便继续执行。如下图:调用前 0154保存到栈中,函数执行完后继续从0154执行.

通过地址和索引实现数组
32位的寄存器便可查看 00000000~FFFFFFFF的内存地址
我们用两个寄存器(基址寄存器和变址寄存器)来表示内存的值

cpu指令执行过程:
.取指令:将内存中的指令读取到寄存器,程序计数器存储下一条指令内存地址。
.指令译码:对寄存器中的指指令进行拆分和解释
.执行指令:完成指令的功能
.访问取数:根据指令要求,可能需要从内存中提取数据
.结果写回:指令执行的结果回写至cpu内存寄存器中,以便被后续的指令快速存取

posted @ 2022-04-01 14:40  风清洋  阅读(1236)  评论(0编辑  收藏  举报