在总线周期的t1,t2,t3,t4状态,cpu_计算机组成原理总线带宽怎么算

在总线周期的t1,t2,t3,t4状态,cpu_计算机组成原理总线带宽怎么算大家好,我是小黄鸭,又来更新了,应小伙伴的需要,该实验也过了。实验所用的软件资源/测试电路也全部开放,地址在MOOC中国大学为:https://www.icourse163.org/learn/HUST-1205809816#/learn/announce附带实验测试,地址在Educode上为:https://www.educoder.net/shixuns/ckff6yv9/challenges光是给的Excel自生成电路表格就上了7个,再加上密密麻麻的电路图,各自安好吧整体框架该实验

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

大家好,我是小黄鸭,又来更新了,应小伙伴的需要,定长、现代时序、中断、实验也过了。
2022/1/4大家好,我是小黄鸭,由于21年下半年在考研,因此很多消息没有回复,现在大家有问题可以来私聊我

实验所用的软件资源/测试电路也全部开放,地址在MOOC中国大学为:https://www.icourse163.org/learn/HUST-1205809816#/learn/announce

附带实验测试,地址在Educode上为:https://www.educoder.net/shixuns/ckff6yv9/challenges

把CPU不同指令的工作流程和时序转换的原理弄明白,就可以做出来了

整体框架

  1. 实验目的:该实验是帮助学生理解定长指令周期三级时序系统的设计,能够利用该时序构造硬布线控制器,支持5条典型的MIPS指令在单总线CPU上运行,最终CPU能够运行内存冒泡程序。实验完成后,最终的效果就是下面的这两幅图,分别是:单总线CPU和硬布线控制器部分。(只有RST为一条蓝色的线,其余都为正常)终1
    终2
  2. 三级时序硬布线控制器基本架构,主要包括三个部分:指令译码信号、组合逻辑线路、时序发生器,这也正是整个实验需要实现的部分。基本构架
  3. 实验文件为MipsOnBusCpu-3.circ,其中单总线数据通路已经设计好了,主要设计部分为硬布线控制器,具体如下。硬布线控制器
    接下来以定长指令周期的CPU设计为例,给大家讲一下原理。

MIPS指令译码器设计

  1. 该实验较为简单,主要是根据指令字的OPFunc字段,利用比较器,对5条基本指令进行译码。
  2. 主要的MIPS指令OPFunc字段如下。
    MIPS指令
  3. 电路图如下MIPS指令译码器设计

时序发生器FSM设计

  1. 时序发生器内部框图如下图所示,主要包括状态寄存器,状态机组合逻辑,输出函数组合逻辑三部分。其中状态机负责现态与次态的转换,输出函数根据当前状态生成状态周期电位和节拍周期电位。FSM
  2. 这个实验为定长指令周期,因此所有MIPS指令有需要3个时钟周期,每个机器周期4个时钟节拍,一共需要12个状态,状态图如下。
    定长指令周期
  3. 根据状态图在相应的excel表中(文件中标号位1的表格)填写,即可在logisim中自动生成电路。这里就详细给大家讲一下Excel表格和自生成电路的应用。
    1. 首先观察表格,需要输入的部分都为红色的数字部分,分别现态(10进制),输入信号,次态(10进制),灰色部分为自动生成部分。
      表格初始
    2. 由于为定长指令周期,因此每一种MIPS指令都需要执行12个周期,所以这里的次态与输入信号无关(不填或者填X),最终如下。表格1
    3. 然后点击下方的自动生成表格,右下方的蓝色部分就是每一个输出的逻辑表达式。然后打开logisim中该实验的分析电路(项目->分析电路),将逻辑表达式复制后,并选中,最后生成电路。表格2
    4. 生成的电路图如下
      时序发生器FSM设计

时序发生器输出函数设计

上一关已经设计出了时序发生器FSM,了解了时序发生器的基本原理,这里只需要根据状态 转换图,进一步对输入输出进行设计,在Excel中填写相应表格,自动生成电路。如下。然后在Logisim中自生成电路。
表3

硬布线控制器组合逻辑单元

  1. 硬布线控制器组合逻辑单元的基本框架如下
    原理
  2. 由于所有的微操作控制信号,都是反馈信号,指令译码信号,状态周期电位和节拍电位的组合逻辑函数根据各MIPS指令的数据流图,在相应的Excel中填写。
    数据流图
  3. 然后在logisim中自生成电路即可。

硬布线控制器设计

根据第2关中,硬布线控制器的总体框架,利用状态寄存器和时钟信号,将设计好的FSM状 态机和输出函数组合逻辑进行连接,从而实现硬布线控制器的整个功能。
FSm控制机

单总线CPU设计

在前面硬布线控制器设计完成的基础上,在单总线CPU中,将sort-5中的指令复制到RAM 中,进行仿真。最终实现降序排列。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

CPU性能分析与改进方法

传统三级时序执行慢,构成较为简单。其中定长指令周期的机器数和节拍数固定,机器数为3个机器周期,节拍数位4个节拍。这种方式对大多数指令都存在着时钟节拍的浪费而采用变长指令周期相对灵活,机器周期数和节拍数都可根据具体需要进行变化。这样就减少了不必要的浪费。

目前已完成实验

  1. 定长&变长(不放图了)
  2. 现代时序
    在这里插入图片描述
  3. 现代时序+中断
    在这里插入图片描述
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182587.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • excel如何去掉换行符号_去掉文本中所有换行符

    excel如何去掉换行符号_去掉文本中所有换行符excel中添加换行符::alt+enter去掉excel中的换行符有三种方法:注:解决过程中翻阅其他博客,看到如下方式:1、看到有的说全选后“取消自动换行”,保存后,再打开,依然存在换行符

    2022年8月4日
    62
  • hbuilderx 打包_下载hbuilder的方法

    hbuilderx 打包_下载hbuilder的方法下载地址:https://www.dcloud.io/hbuilderx.html1.新建项目2.选择图标3.选择启动图片4.设置配置文件,下面的代码主要是去掉了默认的导航栏和退出时不要显示反馈信息{“global”:{“webviewParameter”:{“titleNView”:{“autoBackButton”:true,”bac

    2025年6月13日
    0
  • 删除卡巴斯基激活码

    删除卡巴斯基激活码

    2021年7月24日
    52
  • 打包pycharm里的文件_eclipse打包成exe文件

    打包pycharm里的文件_eclipse打包成exe文件前期准备:安装pyinstaller方法一:在PyCharm中打包点击底部的【Terminal】打开终端,输入命令pyinstaller–console–onefile***.py或者输入命令pyinstaller-F-w*.py成功后在工程目录下/dist文件夹中会有打包好的exe文件方法二:在源码所在目录下,进入DOS窗口,输入pyinstaller-F-w*.py-F(注意大写)是所有库文件打包成一个exe,-w是不出黑色控制台窗口。不加-F参.

    2022年8月27日
    2
  • phpstorm2021.5.1激活码[在线序列号]「建议收藏」

    phpstorm2021.5.1激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    40
  • 个人网站开发流程(网站开发的工作流程图)

    1.确定主题选择主题应该是小而精,目标定位要小,内容要精。不要去试图制作一个包罗万象的站点,这往往会失去网站的特色,也会带来高强度的劳动,给网站的及时更新带来困难。一定记住,在互联网只有第一,没有第二。2.选择域名在互联网世界中,域名就是网站的名字。一个好记,易记得域名会给个人网站加分,当积累了一定的用户的人气的个人网站,域名的价值就会体现出来。3.学习网页设计和开发技术对于常…

    2022年4月14日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号