自己动手写CPU之第七阶段(11)——除法指令实现过程2

本文深入探讨了MIPS处理器中除法指令的实现,详细介绍了如何修改译码阶段的ID模块和执行阶段的EX模块,以及在OpenMIPS模块中的相应调整。内容涵盖除法指令的译码逻辑、流水线暂停请求和结果存储。
摘要由CSDN通过智能技术生成

将陆续上传本人写的新书《自己动手写CPU》,今天是第33篇,我尽量每周四篇

亚马逊的销售地址如下,欢迎大家围观呵!

http://www.amazon.cn/dp/b00mqkrlg8/ref=cm_sw_r_si_dp_5kq8tb1gyhja4

在当当、京东、互动、北发等网上书店均有!


除法指令的实现过程有点长,分两篇博文介绍,今天是第二篇。


7.12.2 修改译码阶段的ID模块

      译码阶段的ID模块要增加对除法指令的分析,根据图7-15给出的指令格式可知,除法指令都是SPECIAL类指令,可以依据功能码确定是哪一种指令,确定指令的过程如图7-19所示。


      其中涉及的宏定义如下,正是图7-15中各个指令的功能码。在本书附带光盘Code\Chapter7_3目录下的defines.v文件中可以找到这些定义。

`define EXE_DIV   6'b011010
`define EXE_DIVU  6'b011011

      修改译码阶段的ID模块如下。完整代码位于本书附带光盘Code\Chapter7_3目录下的id.v文件。

module id(
  ......	
);

  ......
  
  assign stallreq = `NoStop;
  
  always @ (*) begin	
    if (rst == `RstEnable) begin
      ......			
    end else begi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值