【头歌·计组·自己动手画CPU】四、控制器设计(理论版) 【计算机硬件系统设计】

🕺作者: 主页

我的专栏
C语言从0到1
探秘C++
数据结构从0到1
探秘Linux

😘欢迎 ❤️关注 👍点赞 🙌收藏 ✍️留言

文章目录

    • 一、课程设计目的
    • 二、课程设计内容
    • 三、课程设计步骤
    • 四、课程设计总结

一、课程设计目的

掌握 CPU 控制器设计的基本原理,能利用硬布线控制器的设计原理在 Logisim 平台中设计实现支持五条指令的 MIPS 单周期 CPU,该处理器能运行简单的内存冒泡排序程序。能利用硬布线控制器以及微程序控制器的原理设计实现 MIPS 多周期 CPU。

二、课程设计内容

  1. MIPS CPU设计(HUST)
  2. 单周期MIPS CPU设计
    1. 实验目的

掌握控制器设计的基本原理,能利用硬布线控制器的设计原理,在 Logisim 平台中设计实现 MIPS 单周期 CPU。

  1. 微程序地址转移逻辑设计
    1. 实验目的

了解微程序控制器中微程序分支的基本原理,要求能设计微地址转移逻辑。

  1. MIPS微程序CPU设计
    1. 实验目的

掌握微程序控制器设计的基本原理,能利用微程序控制器的设计原理,设计实现多周期 MIPS 处理器。

  1. 硬布线控制器状态机设计
    1. 实验目的

了解硬布线控制器中有限状态机 FSM 的基本原理,要求能设计控制器状态机逻辑。

  1. 多周期MIPS硬布线控制器CPU设计(排序程序)
    1. 实验目的

理解 MIPS 多周期处理器的基本原理,能利用硬布线控制器的设计原理,设计实现 MIPS 多周期 CPU。

  1. 自己动手画CPU

本次课程设计的内容在其它实验中都出现了,这里不再赘述。

三、课程设计步骤

  1. MIPS CPU设计(HUST)
  2. 单周期MIPS CPU设计
    1. 原理

当CPU接收到一条指令时,首先将指令中的操作码(op)传递到控制器中。控制器根据操作码(op)的值来判断当前指令的类型,然后根据指令类型来控制数据通路中各个组件的操作,比如将源操作数从寄存器中读取到ALU中进行计算,或者将计算结果存储回寄存器或存储器中。同时,控制器还需要对PC计数器进行控制,以便在执行指令后正确地更新PC计数器的值。
格式如下:

  1. 接线图

image.png

  1. 微程序地址转移逻辑设计
    1. 原理

根据给出的状态值对应的微指令地址,需要去填写execl表格

然后在地址逻辑自动生成中可以看到表达式,将其复制到分析组合逻辑电路中。

然后再按照下图顺序生成电路

  1. 接线图

  1. MIPS微程序CPU设计
    1. 原理

据视频中给出的多周期MIPS的数据通路的参考图就可以很容易的设计出多周期MIPS的数据通路电路图。

  1. 接线图image.png
  2. 硬布线控制器状态机设计
    1. 原理

使用EXCEL表自动生成后放到LOGISIM中自动生成

  1. 接线图

image.png
指令译码逻辑和运算器控制逻辑和微指令多周期的MIPS控制器中的类image.png

  1. 多周期MIPS硬布线控制器CPU设计(排序程序)
    1. 原理

和实验三类似,据视频中给出的多周期MIPS的数据通路的参考图就可以很容易的设计出多周期MIPS的数据通路电路图。

  1. 接线图image.png

(二)自己动手画CPU
本次课程设计的内容在其它实验中都出现了,这里不再赘述。

四、课程设计总结

本次课程设计主要围绕着 MIPS CPU 设计展开,包括单周期 MIPS CPU 设计、微程序地址转移逻辑设计、MIPS 微程序 CPU 设计、硬布线控制器状态机设计以及多周期 MIPS 硬布线控制器 CPU 设计等内容。
通过实验,我们掌握了 CPU 控制器设计的基本原理,能够利用硬布线控制器和微程序控制器的设计原理,在 Logisim 平台中设计实现支持五条指令的 MIPS 单周期 CPU 和多周期 MIPS 处理器。同时还学习了硬布线控制器中有限状态机 FSM 和微程序控制器中微程序分支的基本原理,能够设计控制器状态机逻辑和微地址转移逻辑。
最后,我们利用所学知识设计了一个能够运行简单的内存冒泡排序程序的多周期 MIPS CPU。这些实验让我们更深入地理解了 CPU 的工作原理,加深了对计算机体系结构的理解和认识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/686729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT绘图指南:DALL.E3玩法大全(二)

在前一篇文章中,我们介绍了什么是 DALL.E3 模型, DALL.E3 有什么优势,使用DALL.E3 的两种方法,以及DALL.E3 绘图的基本规则, 感兴趣的朋友请前往查看: ChatGPT绘图指南:DALL.E3玩法大全(一). 接下来&#…

[UI5 常用控件] 09.IconTabBar,IconTabHeader,TabContainer

文章目录 前言1. IconTabBar1.1 简介1.2 基本结构1.3 用法1.3.1 颜色,拖放,溢出1.3.2 Icons Only , Inner Contents1.3.3 showAll,Count,key,IconTabSeparator 1.3.4 Only Text1.3.5 headerMode-Inline1.3.6 design,IconTabSeparator-icon1.3.7 DensityM…

Java 和 JavaScript 的奇妙协同:语法结构的对比与探索(下)

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Go语言的100个错误使用场景(40-47)|字符串函数方法

前言 大家好,这里是白泽。 《Go语言的100个错误以及如何避免》 是最近朋友推荐我阅读的书籍,我初步浏览之后,大为惊喜。就像这书中第一章的标题说到的:“Go: Simple to learn but hard to master”,整本书通过分析100…

《Java 简易速速上手小册》第3章:Java 数据结构(2024 最新版)

文章目录 3.1 数组和字符串 - 数据的基本营地3.1.1 基础知识3.1.2 重点案例:统计文本中的单词频率3.1.3 拓展案例 1:寻找数组中的最大元素3.1.4 拓展案例 2:反转字符串 3.2 集合框架概述 - 数据小队的训练场3.2.1 基础知识3.2.2 重点案例&…

Intelij Terminal中文乱码解决

第一: (重启Intelij生效) -Dfile.encodingUTF-8 第二: (重启Intelij生效) 如果还不行,第三: 测试结果很ok:

w28pikachu-csrf实例

pikachu-csrf实例 get级别 这里需要同时修改性别、手机、住址、邮箱。 写一个简单的html文件&#xff0c;里面伪装修改密码的文字&#xff0c;代码如下&#xff1a; <html><body><a href"http://pikachu:7002/vul/csrf/csrfget/csrf_get_edit.php?sex…

论文阅读_用模型模拟记忆过程

英文名称: A generative model of memory construction and consolidation 中文名称: 记忆构建和巩固的生成模型 文章: https://www.nature.com/articles/s41562-023-01799-z 代码: https://github.com/ellie-as/generative-memory 作者: Eleanor Spens, Neil Burgess&#xff…

智慧供应链控制塔大数据解决方案

一、供应链控制塔的概念定义 (1) Gartner 的定义: “控制塔是一个物理或虚拟仪表板,提供准确的、及时的、完整的物流事件和数据,从组织和服务的内部和跨组织运作供应链,以协调所有相关活动。”、“供应链控制塔…提供供应链端到端整体可见性和近实时信息和决策的概念……

深入解析Mybatis-Plus框架:简化Java持久层开发(二)

&#x1f340; 前言 博客地址&#xff1a; CSDN&#xff1a;https://blog.csdn.net/powerbiubiu &#x1f44b; 简介 本章节开始从实际的应用场景&#xff0c;来讲解Mybatis-Plus常用的一些操作&#xff0c;根据业务场景来进行增删改查的功能&#xff0c;首先先搭建一个项目…

内容检索(2024.02.17)

随着创作数量的增加&#xff0c;博客文章所涉及的内容越来越庞杂&#xff0c;为了更为方便地阅读&#xff0c;后续更新发布的文章将陆续在此汇总并附上原文链接&#xff0c;感兴趣的小伙伴们可持续关注文章发布动态&#xff01; 本期更新内容&#xff1a; 1. 信号完整性理论与…

印度基金低风险套利回顾

2024年1月19日当天&#xff0c;印度基金(164824)开放申购&#xff0c;限额申购100元&#xff0c;当天溢价率13%左右&#xff0c;这个溢价率已经非常可观了&#xff0c;当然要祭出一拖七大法搞它一把&#xff01; 一拖七套利原理简介 详细的原理和方法可自行在雪球搜索&#…

ACM题解Day4 | Boring Non-Palindrome ,Mental Rotation ,so Easy

学习目标&#xff1a; 博主介绍: 27dCnc 专题 : 数据结构帮助小白快速入门算法 &#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d;&#x1f44d; ☆*: .&#xff61;. o(≧▽…

时间序列预测模型:ARIMA模型

1. ARIMA模型原理介绍 ARIMA模型&#xff0c;全称为自回归积分滑动平均模型&#xff08;Autoregressive Integrated Moving Average Model&#xff09;&#xff0c;是一种常用的时间序列预测方法。ARIMA模型通过对时间序列数据的差分化处理&#xff0c;使非平稳时间序列数据变…

鸿蒙系统优缺点,能否作为开发者选择

凡是都有对立面&#xff0c;就直接说说鸿蒙的优缺点吧。 鸿蒙的缺点&#xff1a; 鸿蒙是从2019年开始做出来的&#xff0c;那时候是套壳Android大家都知晓。从而导致大家不看鸿蒙系统&#xff0c;套壳Android就是多次一举。现在鸿蒙星河版已经是纯血鸿蒙&#xff0c;但是它的…

点亮代码之灯,程序员的夜与电脑

在科技的海洋里&#xff0c;程序员是那些驾驶着代码船只&#xff0c;穿梭于虚拟世界的探险家。他们手中的键盘是航行的舵&#xff0c;而那台始终不愿关闭的电脑&#xff0c;便是他们眼中永不熄灭的灯塔。有人说&#xff0c;程序员不喜欢关电脑&#xff0c;这究竟是为什么呢&…

SSM框架,spring-aop的学习

代理模式 二十三种设计模式中的一种&#xff0c;属于结构型模式。它的作用就是通过提供一个代理类&#xff0c;让我们在调用目标方法的时候&#xff0c;不再是直接对目标方法进行调用&#xff0c;而是通过代理类间接调用。让不属于目标方法核心逻辑的代码从目标方法中剥离出来…

PPT导出PDF时保持图像高清的方法

问题: 我们经常会发现&#xff0c;在PPT中插入的图片非常高清&#xff0c;但是通过PPT转换为PDF之后&#xff0c;图片就会出现不同程度的失真。 问题产生的原因: 这是因为Acrobat的PDF Maker在将PPT转换为PDF的时候&#xff0c;对PPT中的图片进行了压缩 Solution: 在PPT的…

博途PLC数值积分器(矩形梯形积分自由切换)

数值积分器的相关介绍,大家可以也可以参看下面几篇文章,链接如下: PLC算法系列数值积分器 https://rxxw-control.blog.csdn.net/article/details/128562853https://rxxw-control.blog.csdn.net/article/details/128562853SMART PLC 梯形和矩形积分 https://rxxw-control.…

【数据结构】18 二叉搜索树(查找,插入,删除)

定义 二叉搜索树也叫二叉排序树或者二叉查找树。它是一种对排序和查找都很有用的特殊二叉树。 一个二叉搜索树可以为空&#xff0c;如果它不为空&#xff0c;它将满足以下性质&#xff1a; 非空左子树的所有键值小于其根节点的键值非空右子树的所有键值都大于其根结点的键值左…