![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenMIPS
记录作OpenMIPS的点滴
时雨咕噜
这个作者很懒,什么都没留下…
展开
-
异常相关指令的实现
我们使用术语自陷(trap)来指当被一个异常条件引起的事件发生在一个 RISC-V 的线程里的时候,同步地把控制权传输给管理员环境`include "defines.v"module pc_reg( input wire clk, input wire rst, //来自控制模块的信息 input wire[5:0] stall, input wire flush, ...原创 2022-05-02 20:32:12 · 429 阅读 · 0 评论 -
协处理器访问指令的实现
写是时序逻辑;读是组合逻辑`include "defines.v"module cp0_reg( input wire clk, input wire rst, input wire we_i, //是否要写CP0的寄存器 input wire[4:0] waddr_i, //要写寄存器的地址 input wire[4:0] r...原创 2022-05-01 17:28:19 · 270 阅读 · 0 评论 -
加载存储指令的实现
修改ID,主要是增加译码和一个输出inst_o原创 2022-04-25 22:59:44 · 153 阅读 · 0 评论 -
转移指令的实现
我理解的是5级流水线中的转移指令前级被跳过`include "defines.v"module pc_reg( input wire clk, input wire rst, //来自控制模块的信息 input wire[5:0] stall, //来自译码阶段的信息 input wire branch_flag_i, input wire[`RegBus] bra原创 2022-04-22 15:45:59 · 245 阅读 · 0 评论 -
算术操作指令的实现
R型的源操作数为两个寄存器上述区别:加减是否判断溢出、比较分有无符号数下述比较:找0/1就是加点判断逻辑,这儿略过修改EX`include "defines.v"module ex( input wire rst, //送到执行阶段的信息 input wire[`AluOpBus] aluop_i, input wire[`AluSelBus] alusel_i, input wire[`RegBus] .原创 2022-04-21 22:56:03 · 333 阅读 · 0 评论 -
移动操作指令的实现
`include "defines.v"module hilo_reg( input wire clk, input wire rst, //写端口 input wire we, input wire[`RegBus] hi_i, input wire[`RegBus] lo_i, //读端口1 output reg[`RegBus] hi_o, output reg[`RegBus...原创 2022-04-15 16:26:22 · 451 阅读 · 0 评论 -
逻辑、移位操作与空指令的实现
//读1地址和写地址相同且均使能有效时,读值直接为写值 else if((raddr1 == waddr) && (we == `WriteEnable) && (re1 == `ReadEnable)) begin rdata1 <= wdata; end 加了两条回传线`include "defines.v"module id( input wire rst, input wire...原创 2022-04-15 13:52:26 · 773 阅读 · 0 评论 -
第一条指令ori的实现
这其实就是一个帧格式`include "defines.v"module pc_reg( input wire clk, input wire rst, output reg [`InstAddrBus] pc, //InstAddrBus为宏定义 31:0 代表ROM的地址总线宽度 output reg ce ); //同步复位 //如果复位,则使能信号ce拉0禁用,否则置1 always @ (posedg原创 2022-04-13 22:32:20 · 400 阅读 · 0 评论 -
OpenMIPS处理器蓝图
32bit的数据、地址总线宽度每个阶段的工作实现MIPS32所有整数指令输入:rst;clk;rom_data_i:指令存储器输入的指令;ram_data_i:数据存储器输入的数据;int_i:外部硬件中断输入输出:定时器中断信号;指令存储器的使能及读地址;数据存储器的访问地址、写入数据、字节选择信号、写使能、总使能...原创 2022-04-13 15:11:17 · 187 阅读 · 0 评论 -
处理器与MIPS
所以CPU本身是不含存储器的,存储器为单独的ROM,应用程序本身即是指令的集合除了x86是CISC,其他大多是ISA都是RISC,包括MIPSMIPS特点:大量使用寄存器;包括32个通用寄存器、3个特殊寄存器采用大端模式,数据高位保存在存储器低地址中重要的指令格式!...原创 2022-04-13 14:26:41 · 361 阅读 · 0 评论