流水线CPU设计文档.doc_第1页
流水线CPU设计文档.doc_第2页
流水线CPU设计文档.doc_第3页
流水线CPU设计文档.doc_第4页
流水线CPU设计文档.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

流水线CPU设计文档张路一、 设计结构图:二、 设计概要:该处理器采用5级流水线技术,在处理器中,指令的处理分5阶段完成:取指、译码、执行、访存、写回。每阶段与前一阶段采用寄存器组暂存指令数据信息和控制信号,完成对指令的流水化处理。1、 取指阶段:通过PC寄存器中的值在IMem中取出指令,送入IF/ID寄存器中。2、 译码阶段译码阶段中,根据指令译出相应的控制信号,同时将使用的寄存器和扩展之后的立即数送入ID/EX寄存器中。在此阶段指令译码器Decoder需要对指令进行译码,确定大量的控制信号的值,为之后的三个阶段的执行提供控制。这些用到的主要信号有:ALUOPALU控制信号Mult乘法信号ASrc、BSrcALU两个输入口的数据来源信号RegW写回阶段是否对寄存器写信号RegSrc写回阶段写寄存器的来源MemW访存阶段对SRAM的写信号ASRSrc状态寄存器的来源BranOP跳转指令的类型在这一阶段,一个拥有三个读口的寄存器堆将读出Rd,Rs1,Rs2中的数据备用,同时将进行立即数的扩展(也可放到下一阶段进行,效率高,但图上画不下了)3、 执行阶段 执行阶段,使用ALU或者MULT进行算术或者逻辑运算,在这里唯一要注意的两点是:1) 输入数据的两口可能根据有3种来源:除了寄存器中的数据外,B口的数据还可能为经过扩展后的立即数,同时,A、B两口的数据还可能涉及到冒险问题,有可能直接使用通过前向网络传递的数据。2) 由于有些指令可能是直接改变状态寄存器ASR的,故ASR的结果也需要使用ASRSrc进行选择4、 访存阶段在此阶段,根据ALU中存在上一阶段寄存器中的地址,将指定地址的数据读出,或者根据ALU中的地址,将Rd中的数据写入数据存储器DMem中,是否读写由MemWr控制。读出的数据将存在EX/Me寄存器中。5、 写回阶段在写回阶段,根据RegSrc信号,确定写回的数据是ALU的输出结果(线上表明为ALUOut)还是内存中取出的结果(线上标注为MemOut),将数据写回,根据需要写回的寄存器号以及RegW信号,将数据写至指定的寄存器中。6、 数据转发单元 这个单元主要需要收集各段寄存器中的信息,来判断是否有数据冒险并进行转发,主要需要用到的信号上图已经标注:需要收集在Ex、Mem、WB段的寄存器写信号RegSrc以及寄存器来源信号RegSrc,然后需要判断此次的寄存器地址是否有关联,如果有关联则产生了冒险,通过Fwd.B和Fwd.A进行数据的转发,通过BMux和AMux来对ALU口的数据进行选择。同时,在产生不可解决的数据冒险时:比如:lw r3,r1,add rd r1,r3这样的情况时,转发不能解决问题,Forward模块还要负责产生Stall信号,将指令阻塞一个周期。三、 各条指令的控制信号表(1为有效、0为无效,X为任意):约定如下: ASrc = 1时,选择寄存器的数据,为0时,输入为0。 BSrc = 1时,选择寄存器的数据,为0时,选择立即数扩展后的数据。RegSrc = 1时,选择ALUOut的数据,为0时,选择Data数据。ASRSrc = 1时,选择ALUOut的数据,为0时,选择ALUFlag中的数据。控制信号Add Rd,Rs1,Rs2Add Rd,Rs1,imm9Comsub.A Rd,Rs1,Rs2Beq labelLdwRd,Rs1+,Rs2ALUOPADDADDSubXADDMult000X0ASrc111X1BSrc101X1RegW11001RegSrc11XX0MemW00000ASRSrc00000BranOP000EQ0控制信号Stw Rd,Rs1+,#imm14MovRd,Rs2Mov.fAS

温馨提示

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

评论

0/150

提交评论