CPU冒险

本文介绍了CPU流水线冒险的三种类型:构造冒险、数据冒险和控制冒险。构造冒险由硬件资源竞争引起,解决方案是哈佛架构;数据冒险通过直通技术解决,而Load冒险则需流水线冒泡;控制冒险在分支指令中产生,延迟分支能有效缓解此问题。
摘要由CSDN通过智能技术生成

最近看《CPU自制入门》学者写了个简单的RISC CPU,这里写一点关于CPU流水线冒险的知识:

流水线冒险定义:由于各个阶段的依赖关系、硬件资源的竞争等原因,会出现操作无法执行的情况。造成流水线故障的原因叫做冒险,CPU流水线冒险分为构造、数据和控制冒险。

1. 构造冒险:由于硬件资源的竞争,操作无法同时执行的情况。在CPU的流水线结构中,IF阶段和MEM阶段都涉及对对内存的访问,由于对内存的访问所使用的总线是共享资源,无法同时进行操作。因此,若IF和MEM阶段同时对内存进行操作,一方需要等待另一方完成。这种指令和数据使用同一通道的构造成为冯·诺依曼架构。

解决构造冒险最直接的方法就是指令内存和数据内存分别设置,这种指令和数据用的内存分开的构造称为哈佛架构。哈弗架构解决了构造冒险,但指令的0号地址和数据的0号地址指向不同,会给软件设计带来困难。


近年来,大部分CPU仍采用冯·诺依曼架构,但CPU直接访问的缓存基本上都分为指令用和数据用两种,称为指令缓存和数据缓存。通过两种缓存的使用,解决了指令访问和数据访问之间发生的构造冒险问题。

2. 数据冒险:

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值