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),或使用独立缓存,如下
总结: