精华内容
下载资源
问答
  • logisim平台下实现的单周期处理器,能够完美实现基本指令操作,内含7段数码管设计,操作方便直观。 1.处理器应支持的指令集MIPS-Lite:addu,subu,ori,lw,sw,beq,lui,j。 a)addu,subu可以不支持实现溢出。 2....
  • logisim平台下实现的单周期处理器,能够完美实现基本指令操作,内含7段数码管设计,操作方便直观。 1.处理器应支持的指令集MIPS-Lite:addu,subu,ori,lw,sw,beq,lui,j。 a)addu,subu可以不支持实现溢出。 2....
  • 单周期MIPS CPU设计

    2020-12-09 15:45:32
    单周期MIPS CPU设计,利用运算器实验,存储系统实验中构建的运算器、寄存器文件、存储系统等部件以及Logisim中其它功能部件构建一个32位MIPS CPU单周期处理器。
  • 此文件是计算机硬件系统设计中的单周期MIPS CPU设计,完成了8种指令的设计,实现了降序排列的功能。
  • logisim单周期CPU

    2017-12-17 21:57:42
    使用Logisim软件描述的单周期CPU,支持MIPS指令,可扩展性较好
  • Logisim单周期CPU Logisim单周期CPU 已通过仿真测试 可以运行小规模程序
  • logisim实现的单周期CPU

    2021-04-07 16:34:05
    logisim实现的单周期CPU
  • 电路模拟logisim进行mips单周期CPU开发,支持的指令集MIPS-Lite:addu,subu,ori,lw,sw,beq,lui,j,sb
  • 【计组实验】P1 logisim完成单周期处理器开发 MIPS指令集-附件资源
  • Logisim单周期CPU 已通过仿真测试 可以运行小规模程序
  • 华中科技大学计算计组成实验 educoder中单周期MIPS和多周期微程序地址转移 logisim电路文件
  • 使用logisim布线完成的MIPS单周期CPU,可支持28条指令。跑马灯的代码已经装入了寄存器,可以直接开启时钟运行。
  • 自己动手画cpu系列 建设中ing 仅供参考! 在这首推华中科技大学计算机组成原理实验课mooc连接 初衷:在mooc上看见了本课觉得...mipsCPU部分答案已上传->下载连接 tips:每个部分都是先贴答案再写思路 数字逻辑基础

    自己动手画cpu系列 建设中ing 仅供参考!
    在这首推华中科技大学计算机组成原理实验课mooc连接
    初衷:在mooc上看见了本课觉得超赞,本人已完成了课中所有的实验,在做实验的过程中有时候实验会没有思路或者有些bug会浪费很多时间,目前呢也没找到完整的答案,所以做了份自己的答案给大家困惑的时候一份参考(大神请忽视,我自己也就一弱鸡),也就给大家卡壳的时候能有个找灵感的地方,请先独立思考,切勿抄袭。

    tips:每个部分都是先贴答案再写思路

      • 数字逻辑基础
      • 数据表示实验
      • 运算器设计
      • 存储器设计
    1. MIPS CPU
        • MIPS CPU必备基础知识
        • 8指令单周期MIPS32 CPU
        • 8指令多周期(微指令)MIPS32 CPU
        • 8指令多周期(硬布线)MIPS32 CPU
        • 24条指令5级流水MIPS32 CPU

    主电路图如下
    在这里插入图片描述

    控制器如下
    在这里插入图片描述

    这个是早期编写的了,可以看出控制器比较简陋,我感觉最优方法还是参照24指令的单周期控制器,就是老师给出的那个,由译码器构成而不是由比较器构成,比较器损耗太大了
    在这里插入图片描述

    因为是mipscpu部分第一个实验啰嗦一下,说一下各个控制信号
    在这里插入图片描述
    在这里插入图片描述
    首先是regdist信号,它的作用是区分R型和J型指令的,一般来说regdist==1是R型信号因为R型指令写成汇编形式寄存器分配op rd,rs,rt是写到rd里的所以W#应是rd地址。
    Sign Extend实际上就是个16->32的位扩展器,因为无论是alu还是pc都需要32位数据,特别说明在本实验后面不用左移两位,pc也不是+4而是+1因为logisim中都是按字寻址而不是按字节
    AlUSrc:区分是加立即数还是寄存器数,实际上还是R和非R的区分,因为在本实验R型alusrc==0,代表R型指令加寄存器数其余加的是立即数
    MemtoReg:==0代表寄存器堆中要存的是寄存器数之间的运算即R型,==1代表是lw取数据存储器中的数据

    单周期还是挺基础的最好把这个仔细做做,对后面的实验很有帮助。

    展开全文
  • 使用logisim布线完成的MIPS单周期CPU,可支持28条指令。跑马灯的代码已经装入了寄存器,可以直接开启时钟运行。
  • logisim计组实验十 单周期MIPS CPU

    千次阅读 多人点赞 2020-06-23 09:46:42
    文章目录mips指令格式指令指令译码逻辑ALU控制逻辑控制信号 mips指令格式 当OP六位为全零的时候,表示是R型指令 Rs、Rt原寄存器,Rd是目标寄存器 shamt是用来移位的偏移量,最多偏移31位 最后一个字段funct描述...

    全部电路已经在educoder平台测试通过。
    电路文件已经托管至Github,欢迎star:点这里

    mips指令格式

    在这里插入图片描述

    在这里插入图片描述在这里插入图片描述

    • 当OP六位为全零的时候,表示是R型指令
      Rs、Rt原寄存器,Rd是目标寄存器
      shamt是用来移位的偏移量,最多偏移31位
      最后一个字段funct描述运算功能,相当于是op字段的扩展操作码 32表示加法,34表示减法
    • OP不为0,能够唯一确定不同的功能 I型指令有两个操作数Rs和Rt

    指令

    在这里插入图片描述
    lw:

    在这里插入图片描述

    addi:
    在这里插入图片描述
    sw:
    在这里插入图片描述
    beq:
    在这里插入图片描述
    bne:
    在这里插入图片描述
    add:

    在这里插入图片描述

    syscall:
    在这里插入图片描述
    slt:
    在这里插入图片描述
    辅助指令R_TYPE:
    用于判断是否是寄存器写回信号

    指令译码逻辑

    OP是指令的26-31位,func是指令的0-5位。
    在这里插入图片描述

    ALU控制逻辑

    在这里插入图片描述
    ALU_OP=((指令==slt)?11:5)

    控制信号

    在这里插入图片描述
    在这里插入图片描述

    电路图

    在这里插入图片描述

    功能说明

    支持8条MIPS核心指令,最终设计实现的 MIPS 处理器能运行冒泡排序测试程序 sort.asm,该程序自动在数据存储器0~15号字单元中写入16个数据,然后利用冒泡排序将数据升序排序。

    展开全文
  • MIPS32位单周期CPU 32位MIPS单周期CPU 可以实现16条指令
  • 包含华科计组实验 8条指令单周期cpu和多周期微程序地址转移,在同一个.circ文件中 包含24条指令cpu的.circ和excel的控制信号表,还有多周期微程序地址转移excel表。 还有相关的.jar等相关文件 以及包含24条指令cpu的...
  • [华中科技计组实验]logisim完成单周期5级流水MIPS32 CPU hu~,终于完成了,真是费劲呐 支持24条指令,5级流水线,可以对分支指令处理,寄存器冲突处理,指令ROM为1K,数据RAM为1M,32位MIPS指令集CPU 但是… 大量使用...

    自己动手画cpu系列 建设中ing 仅供参考!
    在这首推华中科技大学计算机组成原理实验课mooc连接
    初衷:在mooc上看见了本课觉得超赞,本人已完成了课中所有的实验,在做实验的过程中有时候实验会没有思路或者有些bug会浪费很多时间,目前呢也没找到完整的答案,所以做了份自己的答案给大家困惑的时候一份参考(大神请忽视,我自己也就一弱鸡),也就给大家卡壳的时候能有个找灵感的地方,请先独立思考,切勿抄袭。

      • 数字逻辑基础
      • 数据表示实验
      • 运算器设计
      • 存储器设计
    1. MIPS CPU
        • MIPS CPU必备基础知识
        • 8指令单周期MIPS32 CPU
        • 8指令多周期(微指令)MIPS32 CPU
        • 8指令多周期(硬布线)MIPS32 CPU
        • 24条指令5级流水MIPS32 CPU

    hu~,终于完成了,真是费劲呐
    支持24条指令,5级流水线,可以对分支指令处理,寄存器冲突处理,指令ROM为1K,数据RAM为1M,32位MIPS指令集CPU
    但是…
    大量使用比较器造成硬件开销巨大,测试一下发现这尼玛真是个老爷车还没单周期跑的快,自己电脑cpu占百分之八九十只能跑到20多赫兹,一个走马灯跑了半天,可优化空间太大了,写了那么多天造成这个破样,有点悲剧。。。
    先放个图大伙参考就行了,要是有人想听思路的话接下来再更
    支持24条指令的32位mipscpu
    更新:
    说实在的虽然自己很烂,但是做完成就感爆棚有木有

    跑马灯gif:
    在这停留几秒才会显示,前面多录了几帧
    在这里插入图片描述
    这个是最终版本,建议先不要一上来就写流水线这个,有时间的最好把前面的实验都做做,最起码也要把前面单周期,多周期的做一下,要不然确实有些困难。

    按我的步骤是硬布线控制器设计->流水接口设计->cpu框架设计->分支指令处理->寄存器冲突处理

    一、 硬布线控制器的设计:
    参照前面单周期的控制器,只不过这个是24指令的,如图:
    在这里插入图片描述
    ①运算器控制信号设计:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    按照老师给excel表填写完整,运算器部分需把ALU_OP那一列填写完整,运算器规格如下:
    在这里插入图片描述
    按照不同信号填写不同运算功能就行了
    ②控制信号生成:
    就是ALU_OP后那几列控制信号,如上表填写,这个参照单周期24指令的控制信号,是一样的。
    最后把逻辑表达式填入logisim中自动生成电路

    ps:关于指令控制信号如何填写,首先把大体框架搭好就是按照取码、译码、执行、访存、写回每部分的逻辑器件先搭好,控制信号基本上控制的多路选择器,老师mooc上也有给出大体框架图,参照这些写出,还是最好把单周期的先做了😂
    在这里插入图片描述
    二、 流水接口设计:
    参照数据表示实验中的流水接口,实际上就是一堆寄存器如下图这样
    在这里插入图片描述
    五级流水线需要四个接口分别为IF/ID ID/EX EX/MEM MEM/WB对应
    |________ |________ |________ |________ |________ |
    |<- 取码 -> |<- 译码 -> |<- 执行 -> |<- 访存 -> |<- 写回 -> |
    这五个阶段,接口作用就是传递下一周期所需要的值,有了接口才能流水线运作
    在这里插入图片描述
    一开始看这个图的时候我也搞不清每个控制信号,刚开始我感觉有些控制信号是多余的,事实证明我是错的,上面每个信号都不是多余的甚至你还需要增加些,当然这需要多次调试才行。
    每个接口的寄存器看下一阶段需要哪些控制信号了,下面是我的接口设计:

    IF/ID
    在这里插入图片描述

    ID/EX
    在这里插入图片描述
    在这里插入图片描述

    EX/MEM
    在这里插入图片描述

    MEM/WB
    在这里插入图片描述

    至此理想流水线是完成了,现在不支持跳转指令以及寄存器不能使用冲突。
    这里补充下寄存器冲突是什么意思,实际上mooc上也有讲,就是在译码阶段这条指令是add $s1,$s2,$s4同时在执行阶段的指令是add $s4,$s1,$s3
    按理说应该是执行阶段的指令先执行也就是s4=s1+s3,但是下一周期译码阶段取的s4是还没变化的。

    分支指令处理,寄存器冲突处理待更…

    展开全文
  • 计算机组成原理作业。Project3。logisim搭建32位单周期CPU,支持addu,subu,lui,ori,beq,jal,nop等指令。
  • 使用logisim布线完成的MIPS单周期CPU,可支持28条指令。跑马灯的代码已经装入了寄存器,可以直接开启时钟运行。
  • 原理大家参照上一篇文章MIPS CPU单周期(8条指令)的设计,主要是还是两部分:控制器+数据通路。 传送门单周期8条指令 待会再更新哈,稍等稍等。 有问题可在下方评论或者私信q453682174. ...
    大家好,我是小黄鸭,有问题请私聊。
    

    原理大家参照上一篇文章MIPS CPU单周期(8条指令)的设计,主要是还是两部分:控制器+数据通路。
    传送门单周期8条指令

    单周期MIPS CPU 24条指令

    1. 总体结构设计
      单周期CPU设计实验我们首先设计一个硬布线控制器,利用硬布线控制器的设计原理,来实现一个支持24条指令的MIPS单周期CPU。利用在运算器实验和存储系统实验中构建的运算器、寄存器文件、存储系统等部件以及Logisim其他功能部件,来构建一个32位MIPS CPU单周期数据通路。
      在这里插入图片描述
    2. 数据通路的设计
      数据通路要将运算和功能部件进行连接,组成一个能个执行取值、译码、执行、进一步可能包含中断的数据连接,能够让指令从PC开始,流向各运算和功能部件,并成功指令相应的功能,给出相应的返回。并且数据通路要具备基本的CPU要求,能够形成相应的数据流和状态转移。
      数据通路
    3. 控制器的设计
      1. 运算器控制器
        运算器控制器设计的基本思想是通过24条MIPS指令的运算指令,进行组合逻辑分析,将运算指令送入到ALU_OP中。首先要对24条MIPS指令具体的执行过程进行分析,然后对每条MIPS指令,结合运算器ALU单元的运算规格,给出每条MIPS指令的运算类型,填入到自动生成表格中,进行ALU_OP值的生成,然后利用分析电路功能,自动生成电路。
        ALU

      2. 控制信号生成器
        控制信号生成器的基本思想与运算器部分类似,但这次不是对于24条MIPS指令的运算执行部分进行分析,而是对于24条MIPS指令具体所需要的控制信号进行分析,对每一条MIPS所需的控制信号分析,通过组合逻辑分析,得到控制信号的组合逻辑。
        控制信号

    4. 控制器的实现
      1. 根据总体方案设计中控制器的设计那一小节的相关内容,在Logism上进行主控制器、Branch控制器、SYSCALL控制器的具体实现。
        在这里插入图片描述
      2. 主存控制器的控制信号填入表中后,自动生成出相应的逻辑表达式,将表达式复制粘贴到电路中的分析电路功能中,自动生成组合逻辑电路如下,得到了24条MIPS指令关于ALU_OP的输入值组合逻辑。
        在这里插入图片描述
      3. 主存控制器的控制信号填入表中后,自动生成出相应的逻辑表达式,将表达式复制粘贴到电路中的分析电路功能中,自动生成组合逻辑电路如下,得到了24条MIPS指令所对应的控制信号的组合逻辑。在这里插入图片描述
      4. 最终的控制器
        在这里插入图片描述

    有问题可在下方评论或私信

    展开全文
  • 分区域放大 左边↓ 右边↓ Regfile寄存器堆 Extender位拓展器 顶层视图 main 整体↓ 详细图↓ 至此,CPU设计完成,下面的步骤就是测试指令了 首先给出MIPS寄存器号对应表 MIPS寄存器号表 写了一些测试数据 (0) lui...
  • 1、了解单周期MIPS CPU架构,为程序设计控制器。 2、了解MIPS指令流水线基本概念,和理想指令流水线的设计。 华中科技大学《计算机硬件系统设计》
  • CPUlogisim实现的单周期MIPS - CPU,支持的指令集包含{addu、subu、lui、ori、beq、lw、sw}。为了实现这些功能,CPU主要包含了IFU、GRF、ALU、DW、EXT、Conrroller。 (二)关键模块定义 1. GRF 表1.GRF端口...
  • 自己设计的MIPS单周期微处理器,基于Verilog语言实现,只是针对某一问题设计的,因此指令数目较少,无法解决一些复杂问题

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 141
精华内容 56
关键字:

cpulogisim单周期mips

友情链接: 微信小程序.rar