Skip to content

lc03lc/MyMipsCPU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CQU硬综Mips处理器设计实现

a) 必选内容

i. 将简易五级流水线CPU,由十条指令扩展为57条指令,并实现异常处理模块。

其中包括所有非浮点MIPS I指令(除去 LWL、LWR、SWL、SWR)以及MIPS 32中的ERET指令,有14条算术运算指令、8条逻辑运算指令、6条移位指令、12条分支指令、4条数据移动指令、2条自陷指令、8条访存指令、3条特权指令,总计57条指令。

ii. 加入Cache,加快CPU访存速度。基本要求为4KB大小,块大小为1word,处理方式为写直达、直接映射的I-Cache与D-Cache

iii. 处理器性能优化。包含以下内容:

1. 流水线断流问题优化。 流水线断流集中于分支指令与访存延迟问题上,由于流水线在部分指令发生相关时,数据前推无法满足需要,导致流水线暂停,形成的断流问题。分析通路图,优化数据前推路径,减少流水线暂停的概率,达到性能优化的作用。

2. 均衡各阶段组合逻辑延时。 各阶段组合逻辑部分完成功能复杂度有所不同,在译码、执行阶段的组合逻辑完成所需要的延时明显高于其他阶段,此时优化单一周期所需时间,尽可能使得功能复杂的阶段所实现的组合逻辑产生的延时降低,优化单周期执行时间。

3. 关键路径优化。 由于CPU内部组合逻辑与IO直接连接,使得IO访问成为关键路径。优化IO时延能够有效减少关键路径的总时长,达到时钟频率的优化。同时需要考虑对IPC的影响,达到均衡优化的效果。

b) 扩展内容

学生根据自身基本情况,在下列任务中选择一至多个内容进行实现。

i. Cache完善。在必选内容实现的Cache基础上,实现写回法Cache,支持更大的块大小,映射方式改为二路组相连。

ii. TLB设计。参考课本TLB结构设计TLB模块,要求增加32 项 TLB 结构,支持的页大小为 4KB。除此之外,需完成TLB相关的指令和异常,要求实现TLBR、TLBWI、TLBP 指令,在CP0中增加Index、EntryHi、EntryLo0、EntryLo1 、PageMask寄存器。

About

Project in Hardware Integrated Design

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published