Skip to content

7 Pipeline

约 249 个字 4 张图片 预计阅读时间 1 分钟 共被读过

1 Implement in RISC-V

使用 pipeline 虽然不能提升单个任务的效率,但是可以从整体上提升工作效率。如下图

可以在 6-processor-design 的 datapath 中进行修改,实现 pipeline

Pipeline Control:control signal 从 instructions 中推出,并存储在 pipeline registers 中

2 Structure Hazards

  • 问题:多条指令竞争获取同一个硬件资源(如同一寄存器端口、同一内存访问)
  • 解决方案:
    • 分时复用:插入暂停(stall)让指令轮流访问
    • 增加更多硬件资源

更具体的,对于两条指令同时读写同一寄存器端口的问题,使用多端口寄存器文件(如 2 读端口 + 1 写端口);对于取指和 Load/Store 同时访问内存的问题,分离指令存储器(IMEM)和数据存储器(DMEM),或使用独立缓存,如下

总结:

3 Data Hazard