【设计任务】

  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

运行程序:

实现冒泡排序


总电路图:




MIPS微程序CPU设计(Logism)相关推荐

  1. MIPS微程序CPU设计

    [设计任务] 掌握多周期MIPS CPU中各条指令(8条指令)的数据通路; 掌握多周期MIPS CPU(8条指令和)微程序控制器设计的基本原理; 能利用相关原理在Logisim平台中设计实现8条指令的 ...

  2. 32位MIPS流水线CPU设计

    32位MIPS流水线CPU设计 一. 实验信息 二. 实验内容 (一) 设计原理及实验方案 1.总体设计思路: 2.基础指令部分原理图: 3.扩展指令后controls赋值的真值表:(与单周期几乎相同 ...

  3. 计组课设:单周期31条MIPS指令CPU设计(含代码)

    多周期54条CPU:计组课设:多周期54条MIPS指令CPU设计(含代码)_孔艺菲的博客-CSDN博客 单周期CPU源码:while-TuRe/Single-cycle-CPU31 (github.c ...

  4. 头歌实践教学平台 MIPS CPU设计(HUST)

    实验简介 本实训项目将帮助学生掌握 CPU 控制器设计的基本原理,能利用硬布线控制器的设计原理在 Logisim 平台中设计实现支持五条指令的 MIPS 单周期 CPU,该处理器能运行简单的内存冒泡排 ...

  5. Risc-V单周期CPU设计思考

    Risc-V单周期CPU设计思考 今年学校课程改革,计算机组成课开始教学Risc-V,写单周期CPU的时候发现网上好像大多都是MIPS的CPU设计,所以就把自己关于设计Verilog的一些思路整理出来 ...

  6. 众友科技计算机组成原理,组成原理:采用微程序控制器的模型机CPU设计(10页)-原创力文档...

    课程设计报告 课程名称: 计算机组成原理 设计题目: 采用微程序控制器的模型机 CPU设计 院 系: 班 级: 设 计 者: 学 号: 指导教师: 目 录 课程设计(大作业)报告 1 昆明学院课程设计 ...

  7. 【Computer Organization笔记10】单周期CPU设计:基于7条MIPS指令的数据通路

    本次笔记内容: P19 计算机组成原理(19) P20 计算机组成原理(20) 本节课对应幻灯片: 组成原理24 singlecycle.pptx 基于上节课的7条MIPS指令的数据通路,分别针对7条 ...

  8. MIPS架构的cpu设计仿真(武汉大学)——1

    打算在接下来几天完成下学期的计组实验 总目标: 最低:用硬件描述语言(Verilog)设计MIPS流水线CPU,支持如下指令集: {add,sub,ori,lw,sw,beq,j }: 进一步:支持更 ...

  9. MIPS CPU设计(HUST)

    当你看到到这篇文章的时候,想必你已经被计算机组成原理实验折磨的不成样子了,没错我也是,经过我这几天的努力终于将这些实验一一完成. 我将源码放在压缩包里了,大家只需要复制代码,放进头歌里,满分过!,另外 ...

最新文章

  1. VMM系列之使用VMM服务器构建 Hyper-V 主机(3)
  2. 制作一个简易的QQ×××
  3. boost::graph::distributed::hohberg_biconnected_components用法的测试程序
  4. 5点击换gif_工具:GIF动态图片制作小课堂,开课啦!
  5. HTTPS中SSL协议总结
  6. DevExpress控件之GridControl控件
  7. 推荐程序员的求爱技巧
  8. vscode 背景图片的设置
  9. ulipad.4.1.zip linux,UliPad 使用介绍
  10. mac终端链接阿里云服务器
  11. 计算机怎么建我的文档,如何修改我的文档路径
  12. 人物志-丘吉尔 Success consists of going from failure to failure without loss of enthusiasm. —— Winston Chu
  13. 企业信息化思考 - 如何确保信息化项目落地
  14. Akka in 2 weeks
  15. 京剧《断密涧》中李密和王伯当的唱段
  16. kubectl插件管理工具krew
  17. java做mp3_用java编写MP3播放器
  18. 【WSL2】ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemo
  19. Delphi中文帮助[1]Delphi7的新特性
  20. 使用labelme标注工具制作图像分割标签数据

热门文章

  1. 有效管理自己知识,多总结和分享——2018七月份的尾巴
  2. 学习计算机审计的原因,计算机审计学习心得体会
  3. js 平面判断点在面内
  4. 热血江湖服务端架设开服搭建教程
  5. Excel:固定表头,冻结窗格,悬挂标题
  6. 为了让你们进阶 Canvas,我花 7 小时写了 3 个有趣的小游戏!!!
  7. 机器学习与人工智能资源库
  8. 澳禁止华为参与5G网络建设;锤子将编写自己的OS;国产处理器兆芯可运行Windows,已试制出Intel i5级处理器丨Q新闻...
  9. oracle 闪回空间爆满,基于ORA-19815闪回空间爆满问题的处理方法
  10. 学习华为,小米研究 AI 芯片