体系结构实验报告4_第1页
体系结构实验报告4_第2页
体系结构实验报告4_第3页
体系结构实验报告4_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、体系结构实验流水线一、基本设计基本结构单周期 MIPS 的缺陷在于一个周期只执行一条指令,而每条指令执行所需的时间长度不同,由最慢的一条决定,所以程序的执行将会被最慢的指令所拖累。另一方面,在多周期 MIPS中,指令的执行被分为多个周期,使得最慢的指令不再影响整个程序的运行,同时带来了新的优化空间。可以看出,在某一条执行 ALU 运算的时候,寄存器模块是空闲的,可以同时执行后续指令,来对 MIPS 中的模块进行高度的复用,加快执行的速度。因此在本次实验中,将会设计基本的流水线 MIPS。基本流水线 MIPS 结构将单周期 MIPS 结构分为五个阶段:取码、译码、执行、访存和写回。将一条指令阶段

2、化的好处是不同指令可以在 MIPS 中不同阶段同时执行,就像一条流水线一样。从结构图上可以看出,利用五个由时钟信号控制的寄存单元来暂时保存执行的结果,并在下一个时钟周期传入下一阶段。因此,设计流水线 MIPS 的一部分主要工作是修改单周期 MIPS 的控制器,使其能够合理地输出控制信号;另一方面,大部分功能模块可以直接使用单周期 MIPS的模块。除此之外,还需要处理某些特殊情况,比如不同指令之间的数据关联(即数据)、分支等。控制器控制器模块中 ALU 译不需要改动,主译也不需要进行改动,只需要在控制器中增加三个流水线寄存器来保证控制信号的传递。记这三个寄存器为 regE、regM、regW,分

3、别用于保存从译码到执行、执行到访存、访存到写回阶段的信号,并用以下命名规则来为信号命名,为译码阶段的控制信号尾部添加 D,为执行、访存、写回阶段控制信号分别添加 E、M、W 来区别不同阶段的相同控制信号。流水线寄存器三个流水线寄存器的实现较为简单,regE 寄存器和 regM、regW 略有不同,regE 寄存器带有一个 CLR 使能,用来清空寄存器中保存的值。这个 CLR 使能的目的是让寄存器能够随时暂停,称之为 stall,用于后续的分支与数据功能之中。数据通路数据通路部分基本沿用单周期的模块,但有部分修改,比如寄存器组模块可能会有结构,且也需要在对应位置设置流水线寄存器模块。寄存器模块组

4、为了防止寄存器组出现结构,让寄存器组在上升沿写回数据,在下降沿读出数据,这样在一个时钟周期内同时实现了写回、操作,而且操作在写回操作之后,可以及时到已执行指令的写回值。流水线寄存器模块和控制器中一样,在数据通路中也同样需要流水线寄存器,但有不同的是,数据通路中需要4 个流水线寄存器,把整个指令分为 5 段执行。结构如下:第一个阶段为取指令的 Fetch 阶段,该阶段把 PC 对应的指令从内存中取出,保存水线寄存器 rD 中;第二阶段为译码 Decode 阶段,该阶段rD 中保存的指令,进行译码、寄存器值的和立即数的符号拓展,将结果保存于寄存器 rE 中;第三个阶段为执行Execute 阶段,该

5、阶段进行 ALU 计算,并计算分支地址;第四个阶段是 Memory 访存阶段,内存数据;第五个阶段是写回 Writeback 阶段,将计算得到的或者是从内存中的值写回寄存器中。上述的结构已经具备了流水线 MIPS 的所有,理论上已经可以执行所有的指令。但这里不得不克服一个问题,当指令不再是顺序执行,而是以流水线的方式进行执行时,可能会发生数据。所谓的数据,指的是两条指令的数据具有相关性,比如先执行指令$1,将结果写回寄存器,而下一条指令寄存器的值进行运算,这样当二者在流水线寄存器中执行的时候,就会发生$1 的值的时候,所需要的值还没有写入。为了解决这个问题,采用旁路电路进行结果的转发。分支另一

6、个需要考虑的特殊情况是分支指令,由水线寄存器在取下一地址的时候不知道分支指令的执行有没有成功,所以取出的指令可能是错误的。改进结构如图只需要分支没有执行而继续取指令,如果分支执行了,就将之前取出的指令全部清空。同时,让分支成功与否的判断提前至 Decode 阶段进行,这样如果分支成功,不需要冲刷大量指令。将分支代码与重定向代码结合,作为模块。二、测试代码如下module testbench(); logic clk; logic reset;/logic 31:0 writedata, dataadr;/logic memwrite;logic logic logiclogicBTNL, BTNR;15:07:00:6SW;AN; A2G;top dlk,reset, BTNL, BTNR, SW, AN, A2G);initialbeginreset = 1; #22; reset =0;#50 SW = 16b0000001100

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论