在总线周期的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)
上一篇 2022年10月13日 上午6:46
下一篇 2022年10月13日 上午6:46


相关推荐

  • Manus开源版 | Owl最新版教程,一键启动,五大更新

    Manus开源版 | Owl最新版教程,一键启动,五大更新

    2026年3月15日
    2
  • pidstat_使用pidstat查看进程资源使用情况

    pidstat_使用pidstat查看进程资源使用情况引言在查看系统资源使用情况时,很多工具为我们提供了从设备角度查看的方法。例如使用iostat查看磁盘io统计信息:linux:~#iostat-d3Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtnsda1.670.0040.000…

    2025年5月23日
    6
  • teleport怎么用_telelist怎么用

    teleport怎么用_telelist怎么用teleport使用说明浏览器下载网页:只能浏览主页和少数网页,其它不能浏览,容量几百kbteleport下载项目一能完全离线看网页,7328多文件9个JPG文件,大小134Mteleport下载项目二部分网页采集内容和项目一基本一致,但大几兆部分网页需要项目二(复制站点)才能浏览,项目一看不到图片项目二比项目一耗时多,但要全面视频教程https…

    2025年10月6日
    6
  • 8年经验面试官详解 Java 面试秘诀

    8年经验面试官详解 Java 面试秘诀作者|胡书敏责编|刘静出品|CSDN(ID:CSDNnews)本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。Java程序员准备和投递简历的实…

    2022年5月26日
    40
  • Coreseek:第二步建索引及測试

    Coreseek:第二步建索引及測试

    2022年1月24日
    52
  • 【shell案例】学员管理系统「建议收藏」

    【shell案例】学员管理系统「建议收藏」前言学员管理系统涉及到学员的增删改查,这是一个综合性比较强的项目,在所有的编程语言里都会有不同版本的学员信息管理系统,难度适中效果截图学员管理系统源码#!/bin/bash##随机点名册whiletruedo echo”学生随机点名系统” echo”1.添加学员名单” echo”2.遍历学员名单” echo”3.随机点名” echo”4.删除某个学员的信息” echo”5.退出” read-p”请输入你要选择的序号:”num case

    2026年2月5日
    5

发表回复

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

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