【设计任务】

  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

运行程序:

实现冒泡排序


总电路图:




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_45710947/article/details/108326669


http://www.taodudu.cc/news/show-6237473.html

相关文章:

  • 微程序控制器的基本原理
  • 计组高分笔记:【05】中央处理器 「CPU细节 | 取指周期 | 间址周期 | 执行周期 | 中断周期 | 数据通路 | 硬布线控制器 | 微程序控制器 | 指令流水线 | LOAD | STORE」
  • 微程序与微指令和微命令
  • 计算机组成原理:VHDL设计微程序控制器(代码通俗易懂)
  • 计算机毕业设计SSM电商直播订单管理系统【附源码数据库】
  • 必备知识---TCP三次握手和四次挥手以及SSL四次握手
  • TCP的三次握手,四次挥手
  • TCP三次握手和四次挥手最通俗解释说明
  • TCP三次握手四次挥手简介
  • 深入理解TCP三次握手与四次挥手过程以及抓包实验
  • TCP的三次握手和四次握手详解
  • 日常计算机网络基础练习题(每天进步一点点系列)
  • 计算机网络习题:应用层
  • 解决中文乱码的一些心得
  • 程序中中文乱码问题的总结
  • Qt 应用程序输出中文乱码+UI界面输出中文乱码
  • python 数组写入文件 并 读取
  • python文件写入后,但文件还是空白
  • python中write写入后文件依然空白
  • 【Python】list写入txt文件
  • python逐行写入文件_Python文件逐行写入
  • python写入文件没反应_记第一个问题——python文件无法写入数据
  • Python08--文件读取及写入操作
  • Feign原理以及feign调优
  • 目标检测txt转xml
  • Java对象转xml
  • PHP中xml转json
  • csv转XML
  • Oracle表数据转换为XML格式数据
  • C# 将字符串(符合xml格式)与XML互转

MIPS微程序CPU设计相关推荐

  1. MIPS微程序CPU设计(Logism)

    [设计任务] 掌握多周期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. JQuery方法总结
  2. 量子算法、DNA计算与后经典计算时代
  3. Golang下的Log处理
  4. 【正一专栏】读《艾思奇哲学文选第六卷》
  5. .git文件夹_将Git存储库中的文件夹转换为全新的存储库
  6. nginx指定配置文件启动_NGINX安全加固手册
  7. 《Python Cookbook 3rd》笔记(1.4):查找最大或最小的N个元素
  8. 瑞利分布概率密度函数推导_IBL推导及实现
  9. touch无法创建文件或者文档
  10. Publish over FTP发布报错
  11. 动态规划实战15 leetcode-256. Paint House
  12. ps6人脸识别液化工具在哪_ps液化工具在哪
  13. IAST 技术进阶系列(二):全场景多核驱动
  14. vue路由守卫、vue-ajax请求
  15. Android 加载超大图片+源码
  16. a标签下载图片 text
  17. [代码审计]信呼协同办公系统2.2存在文件上传配合云处理函数组合拳RCE
  18. DM数据库全面调优指南之Linux操作系统
  19. 2018-12-22-jekyll-theme-H2O
  20. 我的app JustDoIt 番茄时钟

热门文章

  1. 零基础零经验自学Python,到精通Python要多久啊?
  2. cad批量选择相同块_[转载]CAD-快速选择相同或类似的物体、图元、块
  3. 红米5无法连接到计算机,红米手机连不上电脑如何解决_红米手机连接电脑的操作步骤...
  4. 渗透测试工程师的职业发展
  5. 关于state和status
  6. 物体追踪实战:使用 OpenCV实现对指定颜色的物体追踪
  7. [8]Deep Learning Software-深度学习软件
  8. 用户登录和注册界面的实现
  9. Unable to find the VMX binary ‘D:\新建文件夹1\vmware-vmx.exe‘.
  10. java分页类Page