CPU大作业报告(详细).docVIP

  • 54
  • 0
  • 约4.32千字
  • 约 17页
  • 2018-03-26 发布于河南
  • 举报
CPU大作业报告(详细)

计算机原理课程设计 小组信息 小组编号 XX 成员信息 姓 名 学 号 实验分工 分值比例 组长 PC、控制器CU、硬件 成员1 。。。。。。 成员2 。。。。。。 成员3 。。。。。。 注:1、字体格式,宋体、小4号,居中; 2、小组编号以课代表处公布为准; 3、分值比例应由小组成员共同协商,总和为1。 设计内容和要求 注:1、字体格式,宋体、小4号,居中; 2、该项内容简述即可。 通过之前的课程作业实践,进一步学习和理解计算机原理组成原理,在此基础上,设计和实现小组的计算机系统。该系统能够顺利执行自编的程序(使用自定义指令集),得出正确的运算结果。实验按照结构组成、指令集、控制器和其它部件、单部件测试、系统组装和系统测试等步骤进行,设计一个较为完整的功能程序。根据我们组的实际情况我们做的是32位五级流水MIPS指令集CPU,分为取指、译码、执行、访存、写回五个步骤。 设计步骤 设计计算机的总体框图 注:1、数据通路应予以标注; 2、可使用其它颜色突出小组特色的功能部件或结构; 3、复杂处理器可以给出多张或多层次结构图予以描述; 4、文档所有插图格式为“嵌入型”,并居中。 结构图双击可放大编辑 设计各个功能部件的功能 算术逻辑运算单元ALU: 其功能及与外部的连接端口如下: 下图为示例 功能简述:根据ID_op的值选择相应的操作: b000000:ALU_out=A+B;//add(op[3:2]==00 means R instruction) b000001:ALU_out=A-B;//sub b000110:ALU_out=A+B;//addI(op[3:2]==01 means I instruction) b000111:ALU_out=A-B;//subI b000100:ALU_out=A+B;//store b000101:ALU_out=A+B;//load b001110:Flag=1; (2)程序计数器PC: 插图 功能简述:1、当pc_En为1时,pc_out=pc_in;否则pc_out=pc_out; 2、当reset为0时,pc_out=b0; 通用寄存器GR: 插图 功能简述:1、当w_wRegEn置1时,register[w_rt]=w_data;将w_data读到地址为w_rt的通用寄存器中; 2、传递信号: Aout=register[rs]; Bout=register[rt]; (4)IMem 插图 功能简述: I = data[pc_out];将地址为pc_out的数据读到I并输出。 (5)ALU-MUX1 功能简述:当forwardA为00时,选择A=IDoutA;为01时,选择A=m_ALUout;为10时,选择A=w_data; (6)MemReg 功能简述:当Mem_En为1时,传递信号: w_wRegEn=m_wRegEn; w_MemR=m_MemR; w_MemW=m_MemW; w_MemToReg=m_MemToReg; w_rt=m_rt; w_MEMout=OuterDB; w_ALUout=m_ALUout; (7)ALU-MUX2 功能简述:当forwardB为00时,选择B=IDoutB;为01时,选择B=m_ALUout;为10时,选择B=w_data; (8)RegMUX 功能简述:当op[2]为0时,选择BIout=Bout;否则选择BIout=Ex_I; (9)Mem_MUX 功能简述:当w_MemToRega为1时,选择w_data=w_ALUout;否则w_data=w_MEMout; (10)EX_MemReg 功能简述:当Ex_En时传递信号: m_wRegEn=ID_wRegEn; m_MemR=ID_MemR; m_MemW=ID_MemW; m_MemToReg=ID_MemToReg; m_ALUout=ALU_out; m_RBdata=B; m_rt=e_rt; (11)PC_MUX 功能简述:PC控制信号选择,当flag为1时选择PC_out2信号,否则选择PC_out1信号。 (12)IF_Reg 功能简述:1、IF_En置1时取指; 2、取指后将PC_out1和I输出; 3、pc_out3=pc_out1; Imm=I[15:0]; op=I[31:26]; rs=I[2

文档评论(0)

1亿VIP精品文档

相关文档