MIPS微程序CPU设计(Logism)

   日期:2020-09-01     浏览:486    评论:0    
核心提示:【设计任务】掌握多周期MIPS CPU中各条指令(8条指令)的数据通路;掌握多周期MIPS CPU(8条指令和)微程序控制器设计的基本原理;能利用相关原理在Logisim平台中设计实现8条指令的多周期微程序MIPS CPU,包括微程序地址转移电路,微程序控制器设计,微程序代码设计,CPU数据通路电路设计。【设计方法和电路工作原理】核心指令集8条 (可实现内存区域冒泡排序)2.指令的划分3.电路实现指令译码逻辑R型指令:ADD、SLTI型指令:LW、SW、BEQ、BNE、ADDI

【设计任务】

  1. 掌握多周期MIPS CPU中各条指令(8条指令)的数据通路;
  2. 掌握多周期MIPS CPU(8条指令和)微程序控制器设计的基本原理;
  3. 能利用相关原理在Logisim平台中设计实现8条指令的多周期微程序MIPS CPU,包括微程序地址转移电路,微程序控制器设计,微程序代码设计,CPU数据通路电路设计。

【设计方法和电路工作原理】

  1. 核心指令集8条 (可实现内存区域冒泡排序)

2.指令的划分

3.电路实现指令译码逻辑
R型指令:ADD、SLT
I型指令:LW、SW、BEQ、BNE、ADDI
SysCall指令

  1. ALU控制器逻辑
    当AluOP=5时,ALU执行加法;当AluOP=6,ALU执行减法;当AluOP=(0B)H时执行有符号数比较。

  2. 构建多周期MIPS CPU数据通路

电路图:
在MIPS多周期CPU(微程序)子电路中,利用如下组件构建CPU数据通路 PC、MEM、IR、DR、RegFile、ALU、Controller。

  1. 实现微程序地址转移逻辑

由指令状态变换图可得
R_Type的微程序入口地址为7;ADDI的微程序入口地址为11
LW的微程序入口地址为2;SW的微程序入口地址为5
BEQ的微程序入口地址为7;BNE的微程序入口地址为10
SYSCALL的微程序入口地址为13
利用微程序地址转移逻辑自动生成自动生成逻辑表达式

将表达式输入至组合逻辑电路分析表达式中,即可自动生成微程序地址转移逻辑。


7.根据状态图构建微程序

  1. 多周期MIPS取指令阶段T1

此时,AluSrcB=01,即SrcB=4;IRWrite=1表示写入当前指令,PCWrite=1表示PC更新为PC+4;MemRead表示读取内存,P=0表示下一条指令按下址字段取指令,即下一阶段是译码阶段。译码指令的微指令地址为0001,即下址为0001

所以取指令对应的微指令为(13201)H
2) 多周期MIPS取指令阶段T2

此时P=1,由于下一条指令由微程序入口决定。

  1. R型指令执行状态周期T3~T4

R1阶段 AluControl=10即运算方式由Func决定,AluSrcA=1表示ScrA取R1的值。下一微指令是R2,即下址为1000.
R2阶段写回寄存器RD,RegDst=1写回选中RD,同时RegWrite=1写入寄存器。回到取指令,即下址为0000.

  1. LW指令执行状态周期T3~T5

同理可得

  1. Beq指令执行状态周期T3

同理可得

得到总的微指令

将微指令对应的十六进制复制到控制存储器

输入信号
1.指令字Opcode,Func字段(12位)
2. 时钟信号、复位信号
输出信号
1.多路选择器选择信号
2.内存访问控制信号
3.寄存器写使能信号
4. 运算器控制信号、指令译码信号

构建多周期MIPS CPU

运行程序:

实现冒泡排序


总电路图:




 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服