计算机 中央处理器(CPU)的诞生

名词释义

ALU : 算术逻辑单元
寄存器: 能存一个值的内存
RAM: 内存
CPU: Central Processing Unit
程序由一个个操作组成, 这些操作叫"指令"(Instruction)
微体系结构: 当我们用一条线连接两个组件时,这条线只是所有必须线路的一个抽象,这种高层次视角就是微体系架构
指令地址寄存: 追踪程序运行到哪里了,存储当前指令的内存地址
指令寄存器: 存放当前的指令

前提条件

010 一块内存,4个8位寄存器;
011 指令表
指令表
前4位代表操作码, 后4位代表数据来自哪里(寄存器或内存地址)

012 内存中已经存放入一个程序
013 CPU的第一阶段: 取指令
初始阶段
014 将指令地址寄存器连到RAM,取出第一条指令
指令0
015 数据 0010 1110 会复制到"指令寄存器"里
拿到了指令

016 分析指令的意义, 这个指令是做什么的. 根据前4位操作码进行查询,然后进行解码

前4位是操作码

017 分析后4位的地址,到内存中取值
1110地址是十进制的14
018 分析完成后, 由"控制单元"进行解码, 首先是查询

首先检查一下操作码
019 第一步的检查通过, 那么解码第二步 是 执行
020 执行时,先打开 允许读取

检查通过,打开读取
021 传入 内存地址 , 读取数值

根据地址读取数值
022 根据指令描述, 这个值 需要放入 寄存器A ,于是 使用电路连通 寄存器

连通寄存器电路

023 启用 寄存器的 允许 写入, 然后写入数据
写入
024 "取指令 -> 解码 -> 执行"指令完成, 关闭电路
025 “指令地址寄存器” +1 , 开始下一条指令的执行
026 打包 “控制单元”
打包控制器
027 再次 取指令

获得指令1
028 解码
操作码0001
029 查询指令列表, 执行 对应的指令

获取内存中数据
030 指令地址寄存器 +1 进入下一条指令

在这里插入图片描述
在这里插入图片描述
031 1000 0100 代表 把寄存器B的值, 加到寄存器A中
在这里插入图片描述

032 整合 ALU
在这里插入图片描述
033 控制单元, 控制把值放入正确的寄存器, 并配置ALU执行正确的操作
先启用寄存器B ,作为ALU的第一个输入, 再启用寄存器A作为第二个输入, 然后传入操作码,告诉它要做什么
在这里插入图片描述
034 相加的值不能直接放入 A 中, 那样的话,新值会进入ALU, 不断和自己相加, 因此控制单元用一个自己的寄存器暂时保存结果
在这里插入图片描述

035 关闭 ALU, 然后把值写入正确的寄存器

在这里插入图片描述
036 加法 指令 执行完毕, 指令地址寄存器+1 得到 0000 0011 也就是3, 从内存中获取下一条指令0100 1101
在这里插入图片描述
037 解码 得知,是将A值存入内存中
在这里插入图片描述
038 把地址1101也就是13传给内存, 并打开内存的允许写入 和寄存器A的允许读取

在这里插入图片描述
039 完成一个程序的执行

时钟

时钟以精确的间隔触发电信号, 触发的节奏不能太快,因为CPU处理每条指令都需要一定的时间.
CPU "取指令 -> 解码 -> 执行"的速度叫时钟速度, 单位是 赫兹, 1Hz = 1周期/秒
在这里插入图片描述
如果信号跟不上时钟, 那么就会产生乱码, 这个就是超频产生乱码的原因
降频, 可以节省电量, 如手机和笔记本
很多现代处理器可以按需要加快或减慢时钟速度,就是 动态调整频率
在这里插入图片描述

CPU诞生

在这里插入图片描述

发布了48 篇原创文章 · 获赞 0 · 访问量 555

猜你喜欢

转载自blog.csdn.net/weixin_44286839/article/details/104760183