原文:MIPS32的DIV和DIVU实现(除法指令)

自己动手写CPU 一书的 . 节到 . 节实现了DIV和DIVU指令。 书中通过 试商法 实现除法,并在原有的流水线结构之外另加了状态机进行计算。 照抄书上的实现方法需要另外添加个.v,我实在有点懒,不想在运算指令实现上再另外加个文件。 而且按照书上的实现,DIV和DIVU指令跟其他的运算指令差别很大,不符合我对结构的审美。 那么就必须想想办法自己写一个别的实现方法。 于是找到了一个结构化比较好 ...

2017-09-20 11:27 0 2761 推荐指数:

查看详情

MIPS32的ADDI和ADDIU的实现要点(加法指令

《自己动手写CPU》一书中对指令ADDI和ADDIU的实现方式是一样的。 对16位立即数imm,在执行加法指令之前都符号扩展成32位数(与符号扩展对应的是零扩展)。 这样看来ADDI和ADDIU指令都用于有符号数的加法,在指令实现的时候没有任何区别。 如果是这种情况,那么ADDI ...

Wed Sep 13 18:22:00 CST 2017 0 5859
Verilog MIPS32 CPU(四)-- RAM

Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog MIPS32 CPU(四)-- RAM Verilog MIPS32 ...

Sun Oct 01 17:51:00 CST 2017 0 1431
Verilog MIPS32 CPU(六)-- MDU

Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog MIPS32 CPU(四)-- RAM Verilog MIPS32 ...

Sun Oct 01 17:54:00 CST 2017 0 1055
MIPS32寄存器详解

通用寄存器 MIPS32包含32个通用寄存器,硬件没有强制性的指定寄存器的使用规则,但是在实际使用中,这些寄存器的用法都遵循一系列的约定。 $0 不管写入什么值,读该寄存器永远返回零; $31 永远存在正常函数调用指令(JAL/JR)的返回地址; $v0, $v1 用来存放一个 ...

Wed Jul 14 20:40:00 CST 2021 0 149
Verilog MIPS32 CPU(二)-- Regfiles

Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog MIPS32 CPU(四)-- RAM Verilog MIPS32 ...

Sun Oct 01 17:49:00 CST 2017 0 1869
Verilog MIPS32 CPU(三)-- ALU

Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog MIPS32 CPU(四)-- RAM Verilog MIPS32 ...

Sun Oct 01 17:50:00 CST 2017 0 4101
Verilog MIPS32 CPU(五)-- CP0

Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog MIPS32 CPU(四)-- RAM Verilog MIPS32 ...

Sun Oct 01 17:53:00 CST 2017 0 2091
Verilog MIPS32 CPU(一)-- PC寄存器

Verilog MIPS32 CPU(一)-- PC寄存器 Verilog MIPS32 CPU(二)-- Regfiles Verilog MIPS32 CPU(三)-- ALU Verilog MIPS32 CPU(四)-- RAM Verilog ...

Sun Oct 01 17:48:00 CST 2017 0 3441
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM