单总线CPU微程序控制器设计
实验目的
帮助学生理解微程序控制器基本原理,要求学生能够设计微程序控制器。
实验内容
完善下图中的微程序框架,将微程序入口查找逻辑,判别测试逻辑,控制存储器等部件进行适当连接,实现微程序控制器的主要数据通路,设计微程序并加载到控制存储器中。
实验步骤:
- 微程序设计可以通过填写3号EXCEL文件中的微程序自动生成表自动产生
- 导入控制存储器中
- 时钟触发的方式是下降沿
- 连接多路选择器选择端的条件判别逻辑需要使用分线器匹配数据位宽
这里是分线器配置:
最终电路完成图:
测试:
预期输出:
Cnt Instr equal mAddr cBus ErrBit
00 2010ffff 1 00 202400 xx
01 2010ffff 1 01 000008 xx
02 2010ffff 1 02 085002 xx
03 2010ffff 1 03 100100 xx
04 2010ffff 1 16 040400 xx
05 2010ffff 1 17 020010 xx
06 2010ffff 1 18 080200 xx
07 0274402a 1 00 202400 xx
08 0274402a 1 01 000008 xx
09 0274402a 1 02 085002 xx
0a 0274402a 1 03 100100 xx
0b 0274402a 1 13 040400 xx
0c 0274402a 1 14 040044 xx
0d 0274402a 1 15 080220 xx
0e ae300200 1 00 202400 xx
0f ae300200 1 01 000008 xx
10 ae300200 1 02 085002 xx
11 ae300200 1 03 100100 xx
12 ae300200 1 09 040400 xx
13 ae300200 1 0a 020010 xx
14 ae300200 1 0b 082000 xx
15 ae300200 1 0c 040840 xx
16 ae300200 1 0d 008001 xx
17 8e130200 1 00 202400 xx
18 8e130200 1 01 000008 xx
19 8e130200 1 02 085002 xx
1a 8e130200 1 03 100100 xx
1b 8e130200 1 04 040400 xx
1c 8e130200 1 05 020010 xx
1d 8e130200 1 06 082000 xx
1e 8e130200 1 07 001002 xx
1f 8e130200 1 08 100200 xx
20 1000ffff 1 00 202400 xx
21 1000ffff 1 01 000008 xx
22 1000ffff 1 02 085002 xx
23 1000ffff 1 03 100100 xx
24 1000ffff 1 0e 040400 xx
25 1000ffff 1 0f 0400c0 xx
26 1000ffff 1 10 200400 xx
27 1000ffff 1 11 010010 xx
28 1000ffff 0 12 084000 xx
29 2010ffff 0 00 202400 xx
2a 2010ffff 0 01 000008 xx
2b 2010ffff 0 02 085002 xx
2c 2010ffff 0 03 100100 xx
2d 2010ffff 0 16 040400 xx
2e 2010ffff 0 17 020010 xx
2f 2010ffff 0 18 080200 xx
30 0274402a 0 00 202400 xx
31 0274402a 0 01 000008 xx
32 0274402a 0 02 085002 xx
33 0274402a 0 03 100100 xx
34 0274402a 0 13 040400 xx
35 0274402a 0 14 040044 xx
36 0274402a 0 15 080220 xx
37 ae300200 0 00 202400 xx
38 ae300200 0 01 000008 xx
39 ae300200 0 02 085002 xx
3a ae300200 0 03 100100 xx
3b ae300200 0 09 040400 xx
3c ae300200 0 0a 020010 xx
3d ae300200 0 0b 082000 xx
3e ae300200 0 0c 040840 xx
3f ae300200 0 0d 008001 xx
40 8e130200 0 00 202400 xx
41 8e130200 0 01 000008 xx
42 8e130200 0 02 085002 xx
43 8e130200 0 03 100100 xx
44 8e130200 0 04 040400 xx
45 8e130200 0 05 020010 xx
46 8e130200 0 06 082000 xx
47 8e130200 0 07 001002 xx
48 8e130200 0 08 100200 xx
49 1000ffff 0 00 202400 xx
4a 1000ffff 0 01 000008 xx
4b 1000ffff 0 02 085002 xx
4c 1000ffff 0 03 100100 xx
4d 1000ffff 0 0e 040400 xx
4e 1000ffff 0 0f 0400c0 xx
实际输出:
Cnt Instr equal mAddr cBus ErrBit
4f 1000ffff 0 00 202400 xx
00 2010ffff 1 00 202400 xx
01 2010ffff 1 01 000008 xx
02 2010ffff 1 02 085002 xx
03 2010ffff 1 03 100100 xx
04 2010ffff 1 16 040400 xx
05 2010ffff 1 17 020010 xx
06 2010ffff 1 18 080200 xx
07 0274402a 1 00 202400 xx
08 0274402a 1 01 000008 xx
09 0274402a 1 02 085002 xx
0a 0274402a 1 03 100100 xx
0b 0274402a 1 13 040400 xx
0c 0274402a 1 14 040044 xx
0d 0274402a 1 15 080220 xx
0e ae300200 1 00 202400 xx
0f ae300200 1 01 000008 xx
10 ae300200 1 02 085002 xx
11 ae300200 1 03 100100 xx
12 ae300200 1 09 040400 xx
13 ae300200 1 0a 020010 xx
14 ae300200 1 0b 082000 xx
15 ae300200 1 0c 040840 xx
16 ae300200 1 0d 008001 xx
17 8e130200 1 00 202400 xx
18 8e130200 1 01 000008 xx
19 8e130200 1 02 085002 xx
1a 8e130200 1 03 100100 xx
1b 8e130200 1 04 040400 xx
1c 8e130200 1 05 020010 xx
1d 8e130200 1 06 082000 xx
1e 8e130200 1 07 001002 xx
1f 8e130200 1 08 100200 xx
20 1000ffff 1 00 202400 xx
21 1000ffff 1 01 000008 xx
22 1000ffff 1 02 085002 xx
23 1000ffff 1 03 100100 xx
24 1000ffff 1 0e 040400 xx
25 1000ffff 1 0f 0400c0 xx
26 1000ffff 1 10 200400 xx
27 1000ffff 1 11 010010 xx
28 1000ffff 0 12 084000 xx
29 2010ffff 0 00 202400 xx
2a 2010ffff 0 01 000008 xx
2b 2010ffff 0 02 085002 xx
2c 2010ffff 0 03 100100 xx
2d 2010ffff 0 16 040400 xx
2e 2010ffff 0 17 020010 xx
2f 2010ffff 0 18 080200 xx
30 0274402a 0 00 202400 xx
31 0274402a 0 01 000008 xx
32 0274402a 0 02 085002 xx
33 0274402a 0 03 100100 xx
34 0274402a 0 13 040400 xx
35 0274402a 0 14 040044 xx
36 0274402a 0 15 080220 xx
37 ae300200 0 00 202400 xx
38 ae300200 0 01 000008 xx
39 ae300200 0 02 085002 xx
3a ae300200 0 03 100100 xx
3b ae300200 0 09 040400 xx
3c ae300200 0 0a 020010 xx
3d ae300200 0 0b 082000 xx
3e ae300200 0 0c 040840 xx
3f ae300200 0 0d 008001 xx
40 8e130200 0 00 202400 xx
41 8e130200 0 01 000008 xx
42 8e130200 0 02 085002 xx
43 8e130200 0 03 100100 xx
44 8e130200 0 04 040400 xx
45 8e130200 0 05 020010 xx
46 8e130200 0 06 082000 xx
47 8e130200 0 07 001002 xx
48 8e130200 0 08 100200 xx
49 1000ffff 0 00 202400 xx
4a 1000ffff 0 01 000008 xx
4b 1000ffff 0 02 085002 xx
4c 1000ffff 0 03 100100 xx
4d 1000ffff 0 0e 040400 xx
4e 1000ffff 0 0f 0400c0 xx
4f 1000ffff 0 00 202400 xx
单总线CPU微程序控制器设计相关推荐
- 单总线CPU设计(现代时序)(HUST)
前言 第1关 MIPS指令译码器设计 第2关 单总线CPU微程序入口查找逻辑 第3关 单总线CPU微程序条件判别测试逻辑 第4关 单总线CPU微程序控制器设计 第5关 采用微程序的单总线CPU设计 ...
- 华中科技大学计算机组成原理-单总线CPU设计(全部通关)
单总线CPU设计 前言 第1关 MIPS指令译码器设计 第2关 单总线CPU微程序入口查找逻辑 第3关 单总线CPU微程序条件判别测试逻辑 第4关 单总线CPU微程序控制器设计 第5关 采用微程序的单 ...
- 众友科技计算机组成原理,组成原理:采用微程序控制器的模型机CPU设计(10页)-原创力文档...
课程设计报告 课程名称: 计算机组成原理 设计题目: 采用微程序控制器的模型机 CPU设计 院 系: 班 级: 设 计 者: 学 号: 指导教师: 目 录 课程设计(大作业)报告 1 昆明学院课程设计 ...
- 计组高分笔记:【05】中央处理器 「CPU细节 | 取指周期 | 间址周期 | 执行周期 | 中断周期 | 数据通路 | 硬布线控制器 | 微程序控制器 | 指令流水线 | LOAD | STORE」
文章目录 1. CPU的功能和基本结构 1.1 CPU的组成 1.1.1 运算器的基本组成 1.2.2 控制器的基本组成 1.2.3 CPU的总图 2. 指令执行过程 2.1 指令周期 2.2 指令的 ...
- 控制器设计与仿真 实验计算机组成,计算机组成原理——微程序控制器实验
(一) 微程序控制器实验 一.实验目的与要求 实验目的:1.掌握时序产生器的原理和具体操作. 2.掌握微程序控制器的功能.组成知识. 3.掌握微程序的编制.写入.观察微程序的运行,学习基本指令的执行流 ...
- Educoder头歌单总线CPU设计(定长指令周期3级时序)(HUST)谭志虎 华中科技大学计算机组成原理实验计算机硬件系统设计
.crci文件获取在下方 本实训项目帮助学生理解定长指令周期三级时序系统的设计,能利用该时序构造硬布线控制器,支持5条典型MIPS指令在单总线CPU上运行,最终CPU能运行内存冒泡排序. 定长指令周期 ...
- 计算机组成原理实验 单总线CPU设计(变长指令周期3级时序)(HUST)思路总结
计算机组成原理实验 单总线CPU设计(变长指令周期3级时序)(HUST)思路总结 变长指令周期3级时序单总线CPU设计和定长指令周期的设计类似,区别在于时序发生器状态机和输出函数的设计,以及硬布线控制 ...
- 计算机组成原理实验 单总线CPU设计(定长指令周期3级时序)(HUST)思路总结
计算机组成原理实验 单总线CPU设计(定长指令周期3级时序)(HUST)总结 全部任务共六关.主要涉及定长指令周期三级时序系统的设计,设计过程中比较重要的是数电知识.Logisim的组合逻辑电路分析功 ...
- 华中科技大学计算机组成原理实验,单总线CPU设计(变/定长指令周期3级时序)(HUST),logisim,educoder
@[TOC]() 定长指令周期3级时序 MIPS 指令译码器设计 定长指令周期–时序发生器FSM设计 定长指令周期–时序发生器输出函数设计 硬布线控制器组合逻辑单元 定长指令周期–硬布线控制器设计 定 ...
最新文章
- conflicts with existing, non-compatible bean definition of same name and class
- 电脑的发展史_互联网发展史 硅谷传奇之苹果公司
- stm32-串口接受不定长数据方法(3种)
- Java实现ftp的上传、下载和删除
- 淮海工学院计算机组成原理,淮海工学院1112-1计算机组成原理试卷A.doc
- Entity Framework 4 in Action读书笔记——第一章:数据访问重载:Entity Framework(2)...
- 《Python爬虫开发与项目实战》——第3章 初识网络爬虫 3.1 网络爬虫概述
- 【C++入门】简单的日期类操作
- 【Elasticsearch】index [index] blocked by: [TOO_MANY_REQUESTS/12/index read-only / allow delete (api)]
- 轨迹分析_解析几何中的轨迹问题中经典问题,有详细分析及其解答
- java数组验证哥德巴赫猜想_验证哥德巴赫猜想的JAVA代码
- Python控制语句执行流程
- 无法启动程序因为计算机中丢失dev,DevUseAnalyzerTask.dll
- 机器学习入门——MINST
- linux超级块编辑,在EXT4 linux系统上模拟丢失的超级块错误
- 企业研发人员配备比例_高新企业科技人员占比是什么要求
- Bailian4108 羚羊数量-Number Of Antelope【递推+打表+递归+记忆化递归】
- 0.91英寸和0.96英寸OLED驱动区别
- CraftManager for Mac(PS/sketch自动填充神器)特别版
- 《天天数学》连载55:二月二十四日
热门文章
- html实现音乐界面设计,基于HTML5技术的音乐播放器的设计与实现.doc
- 微信小程序 模仿华为音乐 列表界面
- excel 公式标多级目录序号
- 自动切换手机耳机模式和话筒模式
- hdu 5234 Happy birthday
- NVIDIA NCCL 源码学习(一)- 初始化及ncclUniqueId的产生
- Python编程基础:用户输入若干个分数,求所有分数的平均分。每输入一个分数后询问是否继续输入下一个分数,回答“yes”就继续输入下一个分数,回答“no”就停止输入分数。
- 对话,对话,全是超级爆笑对话
- ctor/dtor 与线程安全
- 换个方式认识一下——微信公众号搜索公众号列表 API