中央处理器CPU

中央处理器CPU

重点

1.cpu的组成

2.cpu怎么执行程序(命令)

cpu的组成(从功能方面来看)

  • 寄存器:用来临时存储数据和操作数据

  • 控制单元 :由逻辑门组成,识别内存上的指令并生成一系列的控制信号来指挥 其它部件。
    主要职责

    指令解码:对内存中读取的内容进行解码,确定操作类型,不同的指令由不同的逻辑电路解码。

    操作控制:根据译码的结果,产生相应的控制信号,控制数据的流动和处理。

    时序控制: "时钟"以精确的间隔产生电信号,控制单元用这电信号来促进cpu的内部操作。

  • 运算器(ALU):主要执行算术运算和逻辑运算,它接受来自控制单元的指令和操作操作数后对这些数据进行运算处理,并将结果暂时存入控制单元的寄存器中,关闭ALU后将值写入相应的寄存器中。

  • 时钟:以精确的时间间隔发出电信号(也是时钟信号),控制单元接受这电信号后有节奏的控制cpu的内部操作。cpu执行程序的速度就是时钟速度,单位是赫兹。1HZ就是表示1秒一个周期。

cpu的执行过程

计算机启动时所有寄存器从0开始

接下来举一个cpu执行第一条命令的例子(寄存器的值全是0)

★.取指令阶段

  1. 首先将"指令地址寄存器"连接到RAM。
  2. 根据寄存器的值为0,返回RAM地址为0的数据到"指令寄存器"里。

指令地址寄存器 :追踪程序运行到哪里了,存当前指令的内存地址。
指令寄存器:存当前指令。

★.解码阶段

1.前四位是操作码0010表示把地址14的数据写入寄存器A

2 " 检查是否LOAD_A指令的电路 "对这些指令进行解码操作

★.执行阶段

  1. " 检查是否LOAD_A指令的电路 " 打开RAM的"允许读取线",把地址14传过去。
  2. RAM拿到值0000 0011后把值传到寄存器A中
  3. 用 " 检查是否LOAD_A指令的电路"来启动寄存器A的 " 启动寄存器A的"允许写入线"。

    最后 "检查是否LOAD_A指令的电路 " 中的值+1。就结束了。

不同的指令由不同的逻辑电路解码,这些逻辑电路会配置cpu的组件来执行对应操作。由于逻辑电路的多样性,就把这些解码电路包装成一个整体。

相关推荐
放逐者-保持本心,方可放逐4 天前
地图 热力图核心封装
javascript·cpu·gpu·热力图·cesium·核心渲染判断·渲染管线优化
HyperAI超神经4 天前
AI驱动量子精修,卡内基梅隆大学等提出AQuaRef,首次用量子力学约束精修蛋白质全原子模型
人工智能·深度学习·机器学习·架构·机器人·cpu·量子计算
HyperAI超神经4 天前
基于2.5万临床数据,斯坦福大学发布首个原生3D腹部CT视觉语言模型,Merlin在752类任务中全面领先
人工智能·深度学习·神经网络·机器学习·3d·语言模型·cpu
HyperAI超神经9 天前
物理信息机器学习新突破!新型GNN架构可对复杂多体动力系统进行准确预测,赋能机器人/航空航天/材料科学
人工智能·深度学习·机器学习·架构·机器人·cpu·物理
认真的柯南10 天前
关于在 Kubernetes 环境中停止使用 CPU 限制的分析与建议
容器·kubernetes·cpu
爱吃橘子橙子柚子13 天前
3CPU性能排查总结(超详细)【Linux性能优化】
运维·cpu
@insist12325 天前
软考-软件设计师-计算机系统硬件基础与 CPU 核心构成
软考·cpu·软件设计师·寄存器
alanesnape1 个月前
CPU眼中的i++ 与 ++i
cpu·汇编语言
高新打工人1 个月前
cpu的fetch/prefetch
cpu·icu·icache
谷公子的藏经阁1 个月前
讲个AXI死锁场景
cpu·axi·死锁·deadlock·axi2ahb