- Article -

OVERVIEW

分类于 ComputerArch 标签 计算机架构 发表于2024-03-10 21:49

概念

软件应用接口执行通过抽象的的计算机给出的结果,返现给软件应用。

细节

  1. 取指 处理器从内存中取指,将IPC指向当前的地址。

  2. 解码 指令被送入解码单元,确定需要执行的操作(如加法、减法、数据移动等),并识别出 需要用到的寄存器和内存地址。

  3. 执行 ALU(算数逻辑单元)进行算数或逻辑计算。

  4. 访存 如果指令被设计加载或存储,处理器会通过内存管理单元与内存交互,读取或写入数据

  5. 写回 写到指定寄存器中或者内存中,供后续指令使用。

流水线 Pipeline

不要一个一个的执行,需要当一个指令执行到下一个阶段,下一个跟着。

当然,以下是Markdown格式的文本,您可以直接复制:

控制冒险 (Control Hazard)

控制冒险是流水线处理器中的一种冒险类型,它发生在分支指令(如条件跳转)执行时。分支指令会根据某些条件改变程序计数器(PC)的值,从而影响后续指令的取指(Fetch)过程。

分支指令的不确定性
取指的不确定性
分支预测 (Branch Prediction)
分支延迟 (Branch Delay)

控制冒险是流水线处理器设计中必须考虑的问题之一。通过使用分支预测器和其他技术(如延迟槽,Delay Slots),处理器可以减少控制冒险对性能的影响。然而,完全消除控制冒险是不可能的,因为它本质上与程序的控制流的不确定性有关。

数据依赖

内存墙

CPU发展太快了,但是内存RAM这些发展太慢了受制于底层物理设计。