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

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

CPU大作业报告(详细)

第PAGE2页共NUMPAGES17页

结构图双击可放大编辑

设计各个功能部件的功能

算术逻辑运算单元ALU:

其功能及与外部的连接端口如下:

下图为示例

功能简述:根据ID_op的值选择相应的操作:

b000000:ALU_out=A+B;//add(op[3:2]==00meansRinstruction)

b000001:ALU_out=A-B;//sub

b000110:ALU_out=A+B;//addI(op[3:2]==01meansIinstruction)

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[25:21];

rt=I[20:16];

rd=I[15:11];

shamt=I[10:6];

func=I[5:0];

(13)PC_AddImm

功能简述:

(14)ID_ExReg

功能简述:1、ID_En置1时ID_ExReg工作;

2、BIout和Aout是两个操作数的输入;

3、PC_out3信号决定指令类型;

(15)MEM

功能简述:1、通过OouterDB信号将MEM内的内容通过MemReg读到RegArray;

2、通过m_RBdata信号将RegArray内的内容写到MEM里;

3、通过mem_addr信号将执行后的结果写MEM里;

4、通过w_MemR和w_MemW使能信号控制MEM的读写。

(16)PC_Add

功能简述:每次执行指令之前,PC_Add将PC的值加1以PC_out1传到IF_Reg。

指令系统

注:1、字体格式,宋体、小4号;

2、可用颜色标注特色指令。

指令表

指令操作码(IR_in[7:3])

代码指令

指令含义

000000

ADD

文档评论(0)

158****1866 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档