系列文章目录
【计算机组织与体系结构】实验一:算术逻辑单元的实现
【计算机组织与体系结构】实验二:给定指令系统的处理器设计
【计算机组织与体系结构】实验三:流水线处理器
【计算机组织与体系结构】实验四:指令 CACHE 的设计与实现
一、实验目的
- 掌握 Vivado 集成开发环境
- 掌握 Verilog 语言
- 掌握 FPGA 编程方法及硬件调试手段
- 深刻理解流水线型处理器结构和数据冲突解决技术的工作原理
二、实验环境
Vivado 集成开发环境和龙芯 Artix-7 实验平台
三、实验内容
根据本课程所讲的设计思想,在实验二实现的 CPU 的基础上,设计并实现一个具有五段流水线处理器,并通过暂停和定向(或者说旁路)技术来解决流水线中出现的数据冲突,要求该处理器可以通过所提供的自动测试环境
1、流水线处理器的周期划分
与实验二实现的单周期处理器体系结构不同,流水线型处理器将“工作”划分为多个流水段来完成一条指令。每个时钟周期对应于流水线的一个阶段。流水线型处理器结构的主要优点是它可以并行执行多个指令:在同一时刻,多个指令可以同时存在于流水线中不同的阶段。在本实验中,流水线划分为五个周期。每个流水段产生的结果都在相应的时钟周期时传递给下一个流水段。
2、数据冲突的处理
参照参考书(王志英等著)第 3 章的 3.3.2 小节,采用暂停和定向技术来处理流水线中出现的数据冲突。
暂停
当检测到数据冲突,通过暂停来阻止即将进入流水线中的指令。本实验中,暂停只能在必要时插入流水线。