【计算机硬件系统设计(华科)——单周期MIPS CPU(Logisim 实现)】

这篇具有很好参考价值的文章主要介绍了【计算机硬件系统设计(华科)——单周期MIPS CPU(Logisim 实现)】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

本章继续讲述计算机硬件系统设计的内容,之前已经大概说明了 ALU 和存储系统的设计,本文讲述CPU的设计。对应的有单周期、多周期 CPU 设计,以及流水线设计,中断处理会在后文中详细说明,本文不进行讲述。


单周期 CPU 设计

mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构

数据通路

即定长指令周期,机器性能取决于最慢的指令,导致时钟周期过长。
指令类型分为三类,R型指令、I型指令、J型指令。
mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构
数据通路如下
mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构
最左侧多路选择器,当执行有条件跳转指令时,选择跳转地址,跳转地址由15位的立即数运算得到;下一层为无条件跳转指令选择,当执行JAL(函数调用指令)或J(无条件跳转指令)选择由26位立即数运算得到的地址;第三层选择为JR指令(跳转到寄存器记录地址,一般用于在JAL调用退出时使用),一般选择$31号寄存器保存JAL执行时PC的值,函数调用后,再读取 $31 的值进行返回。

本设计支持24条指令,这里不一一介绍,有疑问可以评论共同探讨学习。


控制器设计

控制器是通过分解指令,由OP和FUNC字段确定某种运算,给出控制信号,协同数据通路的工作,确保数据的正确流通。

控制器设计方法可以使用硬布线设计,也可以采用微程序设计。

第一步需要分析指令在执行过程需要的控制信号,之后根据分析,设计电路,使用课程包中的EXCEL,填写输入信号,生成控制器电路,以设计控制器。
mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构由上图 指令-控制信号 得到控制信号生成表达式
mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构
将逻辑表达式输入,自动生成电路。
mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构
最后导入程序测试功能。


MIPS 指令流水线设计

mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构

理想流水线

理想流水线满足以下特点:阶段数相同,所有指令经过同样的流程、阶段;各段时延相同,各段传输延迟一致,不存在等待现象,所以设计时考虑最慢的处理过程;无资源冲突,各段之间不存在资源共享,各段完全并发;无段间互锁,进入流水线的数据与部件不受其他执行阶段的影响。

这里不在介绍各段的执行流程,细节参考MOOC课程。

mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构


流水接口部件设计

流水接口部件实际为寄存器的组合设计,用于暂存数据,本段输出处理好的数据暂存于寄存器,寄存器为后段提供数据。
mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构
考虑设计不同位数的接口部件,方便后期直接使用,同时注意使用同步清零,防止异步清零时丢失数据。


气泡流水线

在执行跳转指令时,由于前段已经加载其他指令,属于误取指令,故需要进行处理。这里介绍采用插入气泡的方法解决问题。这会导致流水行性能损失。
mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构
当判断流水线执行跳转指令时,取指阶段于译码阶段设计同步清零信号,清空流水线保证指令正确执行。

当流水段出现数据相关问题时,也可以采用插入气泡的方法解决问题。
mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构

数据重定向

使用气泡解决冲突问题时,流水线会有性能损失,故而可以采用数据重定向方法解决该类问题。

主体思路是通过寄存器使用检查,确定段间的争用关系,通过设计电路,完成数据重定向。

寄存器使用检查

通过之前设计完成的控制信号生成文件,只关注RegDst信号与RegWrite信号,即输入为6位OP字段,6位FUNC字段,输出两个寄存器信号。
mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构

寄存器冲突检测

通过设计好的寄存器检查电路组件,设计比较电路。
mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构

数据重定向实现

mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构

mips单周期cpu设计logisim,计算机硬件系统设计-华中科技大学,硬件工程,硬件架构


总结

本文仅提供设计思路,如有错误还请指正,也希望各位读者可以提供宝贵意见与指导,共同探讨学习。设计不尽完善,还有许多需要改进的地方,希望拙笔可以抛砖引玉,之后可以出现更多完善优秀的设计提供参考。

本人也因对硬件设计极为感兴趣,欢迎各位提问交流,最后也衷心祝愿各位读者万事胜意,身体健康。文章来源地址https://www.toymoban.com/news/detail-781255.html

到了这里,关于【计算机硬件系统设计(华科)——单周期MIPS CPU(Logisim 实现)】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机组成原理32位MIPS CPU设计实验(指令译码器电路设计 、时序发生器状态机设计、时序发生器输出函数、硬布线控制器)

    这次实验是32位MIPS CPU设计实验(单总线CPU-定长指令周期-3级时序),在头歌当中一共需要我们进行六道题的测试,分别为MIPS指令译码器设计,定长指令周期(时序发生FSM设计,时序发生器输出函数设计,硬布线控制器,单总线CPU设计),硬布线控制器组合逻辑单元。其中由于

    2024年02月02日
    浏览(29)
  • 计算机组成原理实验——五、单周期CPU设计

    掌握指令执行过程的5个阶段 掌握每条指令的数据通路选择 掌握译码器和控制器的功能和实现 掌握数据输入输出处理的方法 实现risc-v中RV32I指令的单周期CPU 利用实现的risc-v CPU实现平方数 实现risc-v中37条RV32I指令的单周期 cpu; 完成1后在该cpu上实现斐波那契数。 rom dataRAM ins文

    2024年02月11日
    浏览(30)
  • 计算机组成原理之计算机硬件发展和计算机系统的组成

    学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需写作干货注入能量… 热爱写作,愿意让自己成为更好

    2024年01月24日
    浏览(58)
  • 【计算机硬件】2、指令系统、存储系统和缓存

    1、 操作码 ——需要完成什么样的操作 2、 操作数 ——参与运算的数据以及单元地址 以上两个都是由二进制编码存储 指令组成 操作码字段 地址码字段 1、顺序寻址 当执行一段程序时,根据PC(程序计数器) 中指令,是一条指令接着一条指令地顺序执行 2、跳跃寻址 指下一条指

    2024年01月18日
    浏览(36)
  • 计算机图形硬件(二) 5 - 2 光栅扫描系统

    2.1视频控制器 图2.17给出了常用的光栅系统组织。缓存使用系统存储器的固定区域且由视频控制器直接访问。          帧缓存的位置及相应的屏幕位置均使用笛卡儿(Cartesian)坐标。应用程序使用图形软件包的命令来设定显示对象相对于笛卡儿坐标系原点的坐标位置。尽管

    2024年02月11日
    浏览(31)
  • 【Linux】1、操作系统、计算机硬件和软件、Linux 介绍

    🖥️ 计算机由 硬件 和 软件 组成 🖥️ 硬件:计算机中由 电子 、 机械 和 光电元件 等组成的各种物理装置的总称 🖥️ 如:CPU、内存、硬盘驱动器、光盘驱动器、各种扩展卡、连接线、电源、鼠标、键盘 🖱️ 软件(software): 用户和计算机硬件之间构建的桥梁 🖱️ 操作

    2023年04月26日
    浏览(35)
  • 【计算机架构】计算 CPU 动态功耗 | 集成电路成本 | SPEC 基准测试 | Amdahl 定律 | MIPS 性能指标

           本篇博客全站热榜排名: 8 📜 本章目录: 0x00 动态功耗(Dynamic Power) 0x01 集成电路成本(Integrated Circuit Cost) 0x02 基准测试(SPEC CPU Benchmark) 0x03 SPEC功率基准测试(SPEC Power Benchmark) 0x04 Pitfall:Amdahl’s 定律 0x05 Pitfall:将 MIPS 作为性能指标 0x00 动态功耗(Dynamic P

    2024年02月03日
    浏览(34)
  • 【Linux系统基础快速入门详解】根据计算机硬件特性优化企业网站集群性能方案

    鱼弦:CSDN内容合伙人、CSDN新星导师、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 https://github.com/Peakchen) 优化企业网站集群性能是一个复杂的任务,不仅涉及硬件特性的优化,还需要考虑网络架构、负载均衡、缓存策略等多个方面。下面是

    2024年02月07日
    浏览(74)
  • 【计算机硬件】1、计算机的硬件组成、校验码

    CPU主要是由运算器、控制器、寄存器组和内部总线等部件组成 1、程序控制 通过执行指令来控制程序的执行顺序 2、操作功能 一条指令的实现需要若干操作信号配合,控制相应的部件完成相对应的操作 3、时间控制 对各种操作进行时间上的控制,指令执行的过程中操作信号出

    2024年01月19日
    浏览(40)
  • 【计算机三级嵌入式】考试自学笔记(三)——嵌入式系统硬件组成、嵌入式处理芯片以及存储器介绍

    常考知识点: 嵌入式最小硬件组成 嵌入式处理芯片 嵌入式系统的存储器 I/O接口及常用I/O设备 ARM内核典型嵌入式处理芯片 嵌入式系统外部通信接口 嵌入式最小硬件系统的组成如下: 嵌入式硬件系统≠嵌入式最小硬件系统 电源电路 :为整个嵌入式系统提供能量 时钟电路 :

    2023年04月12日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包