华科计算机组成原理 单总线CPU设计 定长&变长&现代时序&中断 指令周期3级时序 (Logisim&Educoder)

大家好,我是小黄鸭,又来更新了,应小伙伴的需要,定长、现代时序、中断、实验也过了。
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. 现代时序+中断
    在这里插入图片描述
  • 75
    点赞
  • 399
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
### 回答1: 单总线CPU设计是一种经典的计算机CPU架构,它采用了定长指令周期和3时序。这种设计具有简单、高效和可控性强的特点。 首先,单总线CPU设计采用了定长指令周期,即每条指令的执行时间是相同的。这可以大大简化控制电路的设计,提高CPU时序稳定性。同时,定长指令周期还能够使得CPU在执行不同指令时能够更加均衡地利用系统资源,提高CPU的整体性能。 其次,这种设计采用了3时序时序是指指令在CPU内部各个部件间传输的顺序和时序关系。3时序意味着指令的执行过程被分为了取指令、译码和执行这三个阶段。这种设计可以使得每个阶段的逻辑实现和时钟脉冲的控制更加简单清晰,降低了CPU的复杂度和功耗。 在单总线CPU设计中,单总线CPU内部不同部件之间进行数据传输和控制信号交互的通道。通过使用单总线,可以简化数据通路的设计,并且降低部件间的耦合程度。同时,通过控制总线上的地址和数据传输,可以实现对内存、输入输出设备等外部设备的访问。 总之,单总线CPU设计采用了定长指令周期和3时序,具有简单、高效和可控性强的特点。这种设计方案在很多早期的计算机系统中应用广泛,可以提供稳定可靠的计算性能,并且易于实现和维护。 ### 回答2: 单总线CPU设计是一种常见的计算机处理器架构设计,其特点是在处理器内部只有一根总线用于数据传输和控制信号传递。这种设计主要是为了简化处理器的架构和控制模块,并且能够提高处理器的效率和性能。 在单总线CPU设计中,采用的是定长指令周期和3时序设计定长指令周期意味着每条指令所需要的时钟周期是固定的,这样可以更好地实现指令的流水线和并行处理,提高处理器的执行效率。 而3时序设计表示指令的执行被分为了三个阶段:取指阶段、译码执行阶段和写回阶段。在取指阶段,处理器从内存中取得指令并进行指令译码;在译码执行阶段,处理器对指令进行解析和执行,并计算存储器地址;在写回阶段,将运算结果写回到寄存器或者存储器中。 采用定长指令周期和3时序设计有以下优势: 1. 简化控制逻辑:由于指令周期固定,指令的操作也规定好了每个阶段的具体操作,从而减少了处理器的控制逻辑复杂度,提高了设计的可实施性。 2. 提高流水线效率:通过将指令的不同阶段分离开来,并进行流水线操作,可以实现指令的并行处理,提高处理器的执行效率。同时,定长指令周期可以避免由于不同指令之间的执行时间不同而导致的浪费。 3. 简化件实现:采用3时序设计,可以通过简单的控制逻辑件电路实现指令的取指、执行和写回,减少设计复杂度和成本。 总的来说,单总线CPU设计采用定长指令周期和3时序的架构设计,旨在实现简单高效的处理器结构,提高处理器的性能和效率,并且降低件实现的复杂度。 ### 回答3: 单总线CPU设计(定长指令周期3时序)是一种基于单一总线结构的中央处理器设计方法。 这种设计方法中,所有的数据和指令都通过同一条总线进行传输。CPU内部的各个部件需要按照固定时序依次访问总线,以完成相应的操作。 在定长指令周期3时序设计中,一个指令的执行被划分为三个阶段:取指(fetch)、译码(decode)和执行(execute)。 取指阶段:在该阶段,CPU从存储器中读取指令并放入指令寄存器中,同时下一条指令的地址也会被计算出来。 译码阶段:在该阶段,CPU对取指阶段得到的指令进行解析,确定对应的操作和操作数,并将其存储在相应的寄存器中。 执行阶段:在该阶段,CPU根据译码阶段得到的操作和操作数执行相应的操作,比如算术运算、数据传输等。 在这个设计中,每个阶段都有固定的时间长度,保证了所有操作都能按照指定的顺序进行。这样,不同指令的执行时间是相同的,简化了CPU设计和控制。 然而,由于只有一个总线用于数据和指令的传送,会造成数据和指令的冲突。因此,在设计过程中需要合理处理数据和指令之间的关系,以避免潜在的问题。 总的来说,单总线CPU设计(定长指令周期3时序)是一种简洁高效的中央处理器设计方法,但也需要注意处理总线冲突等问题,以保证正确的执行指令。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_AoSnow_

创作不易,打赏打赏些8

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值