计算机组成原理 - CPU (学习笔记)

  • 指令周期(Instruction Cycle): Fetch - Decode - Execute
  • 执行路径:指令(存储器)- PC 寄存器和指令寄存器 取出指令(控制器)-指令译码(控制器) - 指令执行(算术逻辑单元(ALU),或者说是运算器)
  • Machine Cycle,机器周期或者 CPU 周期:从内存中读取指令的最短时间
  • Clock Cycle,时钟周期
  • 处理器单元 组成:操作原件与状态原件
  • CPU的4种基本电路:ALU 组合逻辑电路、用来存储数据的锁存器和 D 触发器电路、用来实现 PC 寄存器的计数器电路,解码和寻址的译码器电路
  • 时序逻辑电路(Sequential Logic Circuit)-- 如何去让程序自动执行下去?并且中间的结果还有存储功能,各个模块按照顺序执行下去
  • 时钟信号(晶体震荡)
  • D 触发器实现存储功能 - 数电里面的内容 😃
  • 单指令周期处理器, 严重速度限制的,一个周期里面包括取指令译码到执行的部分
  • 程序性能:指令数×CPI×时钟周期
  • 指令流水线(Instruction Pipeline)
  • 五级流水线:取指令 - 指令译码 - ALU 计算(指令执行)- 内存访问 - 数据写回
  • 流水线 - 提高CPU的吞吐率
  • 流水线的成本:流水线寄存器(Pipeline Register),以及其消耗的时间,还有晶体管的数量,以及带来的功耗
  • Hazard: 结构,控制,还有数据,并不一定可以按照流水线理想地运行着,比如资源上用到同一资源(结构),控制上有跳转这些,数据上有数据依赖
  • 结构冒险(Structural Hazard)(1)哈弗结构:存放指令的程序内存和存放数据的数据内存 (2)冯·诺依曼体系结构 两块内存是一起地,动态分配 (3)目前,高速缓存分成了指令缓存(Instruction Cache)和数据缓存(Data Cache) – 增加相关资源,来减少资源地竞争!
  • 结构冒险的解决方式之一:有些指令只占据整个环节地部分环节,NOP 操作和指令对齐
  • 数据冒险(Data Hazard):解决方式:操作数前推,就是通过在硬件层面制造一条旁路,让一条指令的计算结果,可以直接传输给下一条指令,而不再需要指令写回寄存器的过程
  • data hazard:另一个解决方式,乱序执行,指令取出译码的阶段依然是可以顺序进行的,指令执行的阶段,有很多并行的fu的单元,相当于线程池,只要达到数据要求即可执行,执行结束,再在结束处,顺序下一步
  • 控制冒险(Control Hazard) - 分支预测,可以分为静态预测,和动态预测。动态预测,有寄存器保存之前的预测结果,之后无脑根据之前的结果先进行执行步骤,假设不是,就废弃该执行
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值