欢迎光临散文网 会员登陆 & 注册

多周期MIPS(硬布线)8指令CPU

2022-06-20 15:23 作者:计算技术研究所  | 我要投稿

首先画好数据通路,可以直接沿用上次多周期微程序的数据通路

数据通路

1、 微程序控制器设计


1、指令译码逻辑

根据以上指令的OpCode字段和FUNCT字段结合logism自带的比较器,可以设计出指令译码逻辑部分。

     

指令译码逻辑


2、ALU控制逻辑

根据下方提示,00的时候ALU做加法,01的时候ALU做减法,10的时候ALU的功能由FUNC字段决定,又因为FUNC字段跟R型指令关联,且Syscall不做运算,SLT做有带符号比较运算,ADD做加法运算,我又增加了一条i型指令ADDIU,所以设计成了11的时候做加法运算,因此可以设计出以下简易的ALU控制逻辑部分

ALU控制逻辑

3、实现状态机



根据慕课给出的Excel表格,加上状态转移图,结合自己的一部分修改,增加了三种状态,设计出的微程序地址转移电路如下


3、控制存储器的设计

在这里我增加了两个指令分别是ADDIU和J,ADDIU是i型指令,其功能和addi基本一样,不过立即数换成了无符号数,因此控制指令基本相同,注意把alucontrol换成11以运行加法操作。J直接执行跳转也不需要其他的操作。


Sort程序测试结果:

测试结果


多周期MIPS(硬布线)8指令CPU的评论 (共 条)

分享到微博请遵守国家法律