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

名词释义

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

前提条件

010 一块内存,4个8位寄存器;
011 指令表
计算机 中央处理器(CPU)的诞生
前4位代表操作码, 后4位代表数据来自哪里(寄存器或内存地址)

012 内存中已经存放入一个程序
013 CPU的第一阶段: 取指令
计算机 中央处理器(CPU)的诞生
014 将指令地址寄存器连到RAM,取出第一条指令
计算机 中央处理器(CPU)的诞生
015 数据 0010 1110 会复制到"指令寄存器"里
计算机 中央处理器(CPU)的诞生

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

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

017 分析后4位的地址,到内存中取值
计算机 中央处理器(CPU)的诞生
018 分析完成后, 由"控制单元"进行解码, 首先是查询

计算机 中央处理器(CPU)的诞生
019 第一步的检查通过, 那么解码第二步 是 执行
020 执行时,先打开 允许读取

计算机 中央处理器(CPU)的诞生
021 传入 内存地址 , 读取数值

计算机 中央处理器(CPU)的诞生
022 根据指令描述, 这个值 需要放入 寄存器A ,于是 使用电路连通 寄存器

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

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

计算机 中央处理器(CPU)的诞生
028 解码
计算机 中央处理器(CPU)的诞生
029 查询指令列表, 执行 对应的指令

计算机 中央处理器(CPU)的诞生
030 指令地址寄存器 +1 进入下一条指令

计算机 中央处理器(CPU)的诞生
计算机 中央处理器(CPU)的诞生
031 1000 0100 代表 把寄存器B的值, 加到寄存器A中
计算机 中央处理器(CPU)的诞生

032 整合 ALU
计算机 中央处理器(CPU)的诞生
033 控制单元, 控制把值放入正确的寄存器, 并配置ALU执行正确的操作
先启用寄存器B ,作为ALU的第一个输入, 再启用寄存器A作为第二个输入, 然后传入操作码,告诉它要做什么
计算机 中央处理器(CPU)的诞生
034 相加的值不能直接放入 A 中, 那样的话,新值会进入ALU, 不断和自己相加, 因此控制单元用一个自己的寄存器暂时保存结果
计算机 中央处理器(CPU)的诞生

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

计算机 中央处理器(CPU)的诞生
036 加法 指令 执行完毕, 指令地址寄存器+1 得到 0000 0011 也就是3, 从内存中获取下一条指令0100 1101
计算机 中央处理器(CPU)的诞生
037 解码 得知,是将A值存入内存中
计算机 中央处理器(CPU)的诞生
038 把地址1101也就是13传给内存, 并打开内存的允许写入 和寄存器A的允许读取

计算机 中央处理器(CPU)的诞生
039 完成一个程序的执行

时钟

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

CPU诞生

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