MIPS微程序CPU设计
【设计任务】
- 掌握多周期MIPS CPU中各条指令(8条指令)的数据通路;
- 掌握多周期MIPS CPU(8条指令和)微程序控制器设计的基本原理;
- 能利用相关原理在Logisim平台中设计实现8条指令的多周期微程序MIPS CPU,包括微程序地址转移电路,微程序控制器设计,微程序代码设计,CPU数据通路电路设计。
【设计方法和电路工作原理】
- 核心指令集8条 (可实现内存区域冒泡排序)
2.指令的划分
3.电路实现指令译码逻辑
R型指令:ADD、SLT
I型指令:LW、SW、BEQ、BNE、ADDI
SysCall指令
ALU控制器逻辑
当AluOP=5时,ALU执行加法;当AluOP=6,ALU执行减法;当AluOP=(0B)H时执行有符号数比较。
构建多周期MIPS CPU数据通路
电路图:
在MIPS多周期CPU(微程序)子电路中,利用如下组件构建CPU数据通路 PC、MEM、IR、DR、RegFile、ALU、Controller。
- 实现微程序地址转移逻辑
由指令状态变换图可得
R_Type的微程序入口地址为7;ADDI的微程序入口地址为11
LW的微程序入口地址为2;SW的微程序入口地址为5
BEQ的微程序入口地址为7;BNE的微程序入口地址为10
SYSCALL的微程序入口地址为13
利用微程序地址转移逻辑自动生成自动生成逻辑表达式
将表达式输入至组合逻辑电路分析表达式中,即可自动生成微程序地址转移逻辑。
7.根据状态图构建微程序
- 多周期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,由于下一条指令由微程序入口决定。
- R型指令执行状态周期T3~T4
R1阶段 AluControl=10即运算方式由Func决定,AluSrcA=1表示ScrA取R1的值。下一微指令是R2,即下址为1000.
R2阶段写回寄存器RD,RegDst=1写回选中RD,同时RegWrite=1写入寄存器。回到取指令,即下址为0000.
- LW指令执行状态周期T3~T5
同理可得
- 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设计相关推荐
- MIPS微程序CPU设计(Logism)
[设计任务] 掌握多周期MIPS CPU中各条指令(8条指令)的数据通路; 掌握多周期MIPS CPU(8条指令和)微程序控制器设计的基本原理; 能利用相关原理在Logisim平台中设计实现8条指令的 ...
- 32位MIPS流水线CPU设计
32位MIPS流水线CPU设计 一. 实验信息 二. 实验内容 (一) 设计原理及实验方案 1.总体设计思路: 2.基础指令部分原理图: 3.扩展指令后controls赋值的真值表:(与单周期几乎相同 ...
- 计组课设:单周期31条MIPS指令CPU设计(含代码)
多周期54条CPU:计组课设:多周期54条MIPS指令CPU设计(含代码)_孔艺菲的博客-CSDN博客 单周期CPU源码:while-TuRe/Single-cycle-CPU31 (github.c ...
- 头歌实践教学平台 MIPS CPU设计(HUST)
实验简介 本实训项目将帮助学生掌握 CPU 控制器设计的基本原理,能利用硬布线控制器的设计原理在 Logisim 平台中设计实现支持五条指令的 MIPS 单周期 CPU,该处理器能运行简单的内存冒泡排 ...
- Risc-V单周期CPU设计思考
Risc-V单周期CPU设计思考 今年学校课程改革,计算机组成课开始教学Risc-V,写单周期CPU的时候发现网上好像大多都是MIPS的CPU设计,所以就把自己关于设计Verilog的一些思路整理出来 ...
- 众友科技计算机组成原理,组成原理:采用微程序控制器的模型机CPU设计(10页)-原创力文档...
课程设计报告 课程名称: 计算机组成原理 设计题目: 采用微程序控制器的模型机 CPU设计 院 系: 班 级: 设 计 者: 学 号: 指导教师: 目 录 课程设计(大作业)报告 1 昆明学院课程设计 ...
- 【Computer Organization笔记10】单周期CPU设计:基于7条MIPS指令的数据通路
本次笔记内容: P19 计算机组成原理(19) P20 计算机组成原理(20) 本节课对应幻灯片: 组成原理24 singlecycle.pptx 基于上节课的7条MIPS指令的数据通路,分别针对7条 ...
- MIPS架构的cpu设计仿真(武汉大学)——1
打算在接下来几天完成下学期的计组实验 总目标: 最低:用硬件描述语言(Verilog)设计MIPS流水线CPU,支持如下指令集: {add,sub,ori,lw,sw,beq,j }: 进一步:支持更 ...
- MIPS CPU设计(HUST)
当你看到到这篇文章的时候,想必你已经被计算机组成原理实验折磨的不成样子了,没错我也是,经过我这几天的努力终于将这些实验一一完成. 我将源码放在压缩包里了,大家只需要复制代码,放进头歌里,满分过!,另外 ...
最新文章
- JQuery方法总结
- 量子算法、DNA计算与后经典计算时代
- Golang下的Log处理
- 【正一专栏】读《艾思奇哲学文选第六卷》
- .git文件夹_将Git存储库中的文件夹转换为全新的存储库
- nginx指定配置文件启动_NGINX安全加固手册
- 《Python Cookbook 3rd》笔记(1.4):查找最大或最小的N个元素
- 瑞利分布概率密度函数推导_IBL推导及实现
- touch无法创建文件或者文档
- Publish over FTP发布报错
- 动态规划实战15 leetcode-256. Paint House
- ps6人脸识别液化工具在哪_ps液化工具在哪
- IAST 技术进阶系列(二):全场景多核驱动
- vue路由守卫、vue-ajax请求
- Android 加载超大图片+源码
- a标签下载图片 text
- [代码审计]信呼协同办公系统2.2存在文件上传配合云处理函数组合拳RCE
- DM数据库全面调优指南之Linux操作系统
- 2018-12-22-jekyll-theme-H2O
- 我的app JustDoIt 番茄时钟
热门文章
- 零基础零经验自学Python,到精通Python要多久啊?
- cad批量选择相同块_[转载]CAD-快速选择相同或类似的物体、图元、块
- 红米5无法连接到计算机,红米手机连不上电脑如何解决_红米手机连接电脑的操作步骤...
- 渗透测试工程师的职业发展
- 关于state和status
- 物体追踪实战:使用 OpenCV实现对指定颜色的物体追踪
- [8]Deep Learning Software-深度学习软件
- 用户登录和注册界面的实现
- Unable to find the VMX binary ‘D:\新建文件夹1\vmware-vmx.exe‘.
- java分页类Page