单总线cpu设计(包含定长指令周期和变长指令周期和现代时序设计)

news2024/9/29 15:25:25

来都来了点个赞收藏一下再走呗~~~🌹🌹🌹🌹🌹

一、定长指令周期cpu设计

第1关:MIPS指令译码器设计

此实验就是只需要知道mips知道操作码op对应的值是什么就可以了,下面给出实验中用到的mips指令的op码的值如下表所示:

Mips指令

Op码

LW

100011(23)

SW

101011(2b)

ADDI

001000(08)

BEQ

000100(04)

SLT

000000(00)

MIPS指令译码器电路图如图6.1所示:

图6.1 MIPS指令译码器电路图

第2关:定长指令周期---时序发生器FSM设计

定长指令周期的状态转化机的状态转化如图6.2所示:

图6.2定长指令周期转化机

我们可以更具定长周期转化机的状态转化很容易的就可以填写出状态转化周期的execl表,从而得到逻辑生成函数实现自动生成电路,execl表如图6.3所示:

图6.3 定长指令周期转化execl表

所以得到时序发生器状态机如图6.4所示:

图6.4 时序发生器状态机电路图

第3关:定长指令周期---时序发生器输出函数设计

       根据状态转化图我们可以容易的填写输出函数的真值表,得到生成函数自动生成输出函数的逻辑电路,execl表如图6.5所示:

图6.5 输出函数execl表

       由自动生成电路得到结果如图6.6所示:

图6.6 输出函数电路图

第4关:硬布线控制器组合逻辑单元

硬布线控制器的节拍的cpu指令周期(控制流)和指令周期方框图(数据流)如图6.7和6.8所示:

图6.7指令周期(控制流)

图6.8指令周期方框图(数据流)

根据上面两个图我们可以填写出时序控制器的execl表格如图6.9所示:

图6.9 时序控制execl表

自动生成的电路图如图6.10所示:

图6.10 硬布线控制器电路图

第5关:定长指令周期---硬布线控制器设计

       硬布线控制器设计如图6.11所示:

图6.11硬布线控制器电路图

第6关:定长指令周期---单总线CPU设计

这个电路图是实验包中给出的具体的电路如图6.12所示:

图 6.12单总线cpu设计三、课程设计步骤

二、变长指令周期cpu设计

第1关:MIPS指令译码器设计

       Mips译码器和定长的是一样的如图6.1所示:

图6.1 MIPS指令译码器电路图

第2关:变长指令周期---时序发生器FSM设计

首先变长的状态机和定长的状态机是有区别的,所以我们需要根据变长的状态机的状态转化图如图6.2所示,填写execl表格自动生成电路。

图6.2 变长状态转化图

       填写的execl表格如图6.3所示:

         图6.3 execl表

根据execl表自动生成的表达式自动生成的电路如图6.4所示:

图6.4生成电路(局部)

第3关:变长指令周期---时序发生器输出函数设计

       根据状态转化图我们可以很容易的填写出如图6.5所示的execl表格。

图6.5 输出函数execl表格

      

通过输出函数的自动生成的表达式我们可以得到如图6.6所示生成的电路:

图6.6 输出函数电路(局部)

第4关:硬布线控制器组合逻辑单元

因为变成的控制器实际上和变长的控制器是一样的所以我们可以直接使用定长的硬布线控制器组合逻辑单元的execl表直接来生成函数,硬布线控制器组合逻辑单元的电路图如图6.7所示:

图6.7 硬布线控制器组合逻辑单元电路图

第5关:变长指令周期---硬布线控制器设计

       硬布线控制器很容易得出,但是要记住一点的就是要把状态机变成变长的状态机,电路如图6.8所示:

图6.8 硬布线控制器电路图

第6关:变长指令周期---单总线CPU设计

       这个关卡也是由实验给出的电路,具体电路如图6.9所示:

图6.9 单总线CPU电路图

三、单总线CPU设计(现代时序)

第1关:MIPS指令译码器设计

       Mips指令译码器也就是和上面的实验中用到的一模一样,Mips指令译码器的电路图如图7.1所示:

图7.1 指令译码器电路图

第2关:单总线CPU微程序入口查找逻辑

       微程序的入口我们需要通过如图7.2所示的状态转化图来知道,并且把微程序入口的值填写到execl表中,采用自动生成逻辑表达式自动生成电路。

图7.2 微程序状态转化图

       填写的execl表格如图7.3所示

图7.3 入口查找逻辑电路execl表格

       生成的微程序入口查找逻辑电路如图7.4所示:

图7.3 入口查找逻辑电路图

第3关:单总线CPU微程序条件判别测试逻辑

生成电路的逻辑表达式

S0=P0

S1= P1 equal + P0 P1

自动生成的电路图如图7.4所示:

图7.4 微程序条件判别测试逻辑电路图

第4关:单总线CPU微程序控制器设计

       首先根据图7.2和如图7.5所示的指令周期节拍图,填写微程序自动生成的execl表格,execl表格如图7.6所示:

图7.5 指令周期图

图7.6微程序控制器execl表

       只需要把execl表中的微指令十六进制数复制到控制存储器中就可以完成此次实验了,控制存储器内如如图7.7所示:

图7.7 控制存储器内容

第5关:采用微程序的单总线CPU设计

在实现指令译码、现代时序状态机模块后,最终实现硬布线控制器的集成,在下图中完成硬布线控制器框架连接,注意硬布线控制器组合逻辑不需要实现直接采用微程序控制器的控制存储器代替即可,如图7.8所示:

图7.8 微程序的单总线CPU电路图

第6关:现代时序硬布线控制器状态机设计

       首先我们需要根据图7.2填写硬布线控制器状态机execl表,结果图7.9所示:

图7.9 硬布线控制器状态机execl表

       由execl表产生的自动生成式生成的电路如图7.10所示:

图7.10 硬布线控制器状态机电路图

第7关:现代时序硬布线控制器设计

现代时序硬布线控制器如图7.11所示:

      

图7.11 现代时序硬布线控制器电路图

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

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

相关文章

大型语言模型:RoBERTa — 一种稳健优化的 BERT 方法

slavahead 一、介绍 BERT模型的出现BERT模型带来了NLP的重大进展。 BERT 的架构源自 Transformer,它在各种下游任务上取得了最先进的结果:语言建模、下一句预测、问答、NER标记等。 尽管 BERT 性能出色,研究人员仍在继续尝试其配置&#xff0…

JNDI注入Log4jFastJson白盒审计不回显处理

目录 0x00 前言 0x01 Maven 仓库及配置 0x02 JNDI 注入简介 0x03 Java-第三方组件-Log4J&JNDI 0x04 Java-第三方组件-FastJson&反射 0x05 白盒审计 - FastJson 0x06 白盒审计 - Log4j 0x07 不回显的处理方法 0x00 前言 希望和各位大佬一起学习,如果…

RK3399平台开发系列讲解(内核入门篇)网络协议的分层

🚀返回专栏总目录 文章目录 一、应用层二、传输层三、网络层四、数据链路层(Data Link Layer)五、物理层沉淀、分享、成长,让自己和他人都能有所收获!😄 📢对于多数的应用和用户而言,使用互联网的一个基本要求就是数据可以无损地到达。用户通过应用进行网络通信࿰

Android的组件、布局学习

介绍 公司组织架构调整,项目组需要承接其他项目组的android项目,负责维护和开发新需求,故学习下基础语法和项目开发。 组件学习 Toolbarheader布局部分 就是app最顶部的部分 他的显示与否,是与F:\androidProject\android_lear…

LVGL 显示图片

LVGL 显示图片 LVGL显示图片1. 显示图片文件2. 显示C数组格式3. 显示RAM中的图像文件4. 图像符号显示5. 显示GIF动画LVGL显示图片代码分析 LVGL显示图片 lvgl 8.3版本默认支持PNG,BMP,JPG,SJPG和GIF动图等格式的图片显示; 需要在lv_conf.h配置文件里使能对应图片的…

【网络安全】—Shell编程入门(1)

文章目录 基础变量概念介绍特殊变量进阶数值计算实践条件测试比较条件判断语句流程控制语句循环语句应用 Shell 是 Unix/Linux 操作系统下的一种命令行解释器,它接收用户输入的命令然后调用相应的程序。我们可以通过 Shell 脚本来自动执行一系列的命令。接下来&…

基于python的leetcode算法介绍之递归

文章目录 零 算法介绍一 简单示例 辗转相除法Leetcode例题与思路[509. 斐波那契数](https://leetcode.cn/problems/fibonacci-number/)解题思路:题解: [206. 反转链表](https://leetcode.cn/problems/reverse-linked-list/)解题思路:题解&…

最新AI创作系统ChatGPT系统源码+DALL-E3文生图+AI绘画+GPT语音对话功能

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

计算机网络 网络层下 | IPv6 路由选择协议,P多播,虚拟专用网络VPN,MPLS多协议标签

文章目录 5 IPv65.1 组成5.2 IPv6地址5.3 从IPv4向IPv6过渡5.3.1 双协议栈5.3.2 隧道技术 6 因特网的路由选择协议6.1 内部网关协议RIP6.2 内部网关协议 OSPF基本特点 6.3 外部网关协议 BGP6.3.1 路由选择 6.4 路由器组成6.4.1 基本了解6.4.2 结构 7 IP多播7.1 硬件多播7.2 IP多…

vp与vs联合开发-通过FrameGrabber连接相机

添加控件 1.CogRecordDisplay 控件 用于显示图像 初始化相机对象方法 //启动窗体时 调用初始化相机方法 //封装相机关闭方法 //窗体关闭时 调用相机关闭方法 拍照 设置采图事件 // 保存图像 设置曝光按钮事件 1.可变参数

C# pictureBox显示一张图片,我想先释放这个图片以免占用无法修改,(旋转)改完再显示这张图片

效果 public static bool RotateFlip(MyDel Log, string fileName){try{string tempPath Path.GetTempFileName();using (Bitmap bmp new Bitmap(fileName)){float resolution 600; //x,y必须为这个数 误差小于-1bmp.RotateFlip(RotateFlipType.Rotate90FlipNone);bmp.Save(…

智能优化算法应用:基于冠状病毒群体免疫算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于冠状病毒群体免疫算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于冠状病毒群体免疫算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.冠状病毒群体免疫算法4.…

飞天使-k8s-知识点1-kubernetes架构简述

文章目录 名词功能要点 k8s核心要素CNCF 云原生框架简介k8s组建介绍 名词 CI 持续集成, 自动化构建和测试:通过使用自动化构建工具和自动化测试套件,持续集成可以帮助开发人员自动构建和测试他们的代码。这样可以快速检测到潜在的问题,并及早…

C/C++编程中的算法实现技巧与案例分析

C/C编程语言因其高效、灵活和底层的特性,被广大开发者用于实现各种复杂算法。本文将通过10个具体的算法案例,详细探讨C/C在算法实现中的技巧和应用。 一、冒泡排序(Bubble Sort) 冒泡排序(Bubble Sort)是一…

单片机应用实例:LED显示电脑电子钟

本例介绍一种用LED制作的电脑电子钟(电脑万年历)。其制作完成装潢后的照片如下图: 上图中,年、月、日及时间选用的是1.2寸共阳数码管,星期选用的是2.3寸数码管,温度选用的是0.5寸数码管,也可根据…

人工智能中不可预测的潜在错误可能是灾难性的——数学解释

一、说明 有没有人研究评估AI的错误产生的后果有多么严重,是否存在AI分险评估机制?更高维度上,人工智能的未来是反乌托邦还是乌托邦?这个问题一直是争论的话题,各大阵营都支持。我相信我们无法准确预测这两种结果。这是…

画图之C4架构图idea和vscode环境搭建篇

VS Code 下C4-PlantUML安装 安装VS Code 直接官网下载安装即可,过程略去。 安装PlantUML插件 在VS Code的Extensions窗口中搜索PlantUML,安装PlantUML插件。 配置VS Code代码片段 安装完PlantUML之后,为了提高效率,我们最好安装PlantUML相关的代码片段。 打开VS Cod…

React心理健康测试网站系统源码

帮助需要的人更好地了解自己的心理健康状态和人格特征。本模板提供了一个最小的配置,使得React可以在Vite中启用HMR,并且包含了几个ESLint规则。只需要使用react antd-mobile即可轻松部署完成。 源码下载:https://download.csdn.net/downlo…

操作系统系列:Unix进程系统调用fork,wait,exec

操作系统系列:Unix进程系统调用 fork系统调用fork()运用的小练习 wait系统调用Zombiesexec 系列系统调用 开发者可以查看创建新进程的系统调用,这个模块会讨论与进程相关的Unix系统调用,下一个模块会讨论Win32 APIs相关的进程。 fork系统调用…

智能优化算法应用:基于学生心理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于学生心理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于学生心理学算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.学生心理学算法4.实验参数设定5.算法…