《自己动手写CPU》学习记录(2)——第3章



《自己动手写CPU》学习记录(2)——第3章_第1张图片


目录

引言

致谢

设计指标

1、总体要求

2、五级流水线

3、指令执行周期

4、MIPS处理器外部接口


引言

此专栏的文章记录自己学习《自己动手写CPU》的过程。算是一个学习笔记,里面也会夹杂个人的思考以及代码编写。希望自己可以像作者一样,坚持到最后。加油~~

本篇为设计的spec。

致谢

感谢书籍《自己动手写CPU》及其作者雷思磊。一并感谢开源精神。



设计指标

1、总体要求

《自己动手写CPU》学习记录(2)——第3章_第2张图片

2、五级流水线

《自己动手写CPU》学习记录(2)——第3章_第3张图片

 三级流水线结构下,执行完 3 条指令花费的时间为 5T,但是如果没有使用三级流水线,则花费的时间为 3*3T=9T。但是这个最大的前提就是,一条指令的任何一个操作都可以在1个时钟周期内完成。但是,如果这个条件不成立,则如下图所示:

《自己动手写CPU》学习记录(2)——第3章_第4张图片

 解决取指令时间长的办法之一就是引入缓存,处理器从cache取指令仅需一个时钟周期。

但是除了上面说的取指令时间长的问题以外,还存在一个大的问题就是 加载/存储 指令在执行时耗时较大。为解决此问题,引入了 5 级流水线结构:

《自己动手写CPU》学习记录(2)——第3章_第5张图片

 各阶段的工作:

《自己动手写CPU》学习记录(2)——第3章_第6张图片

 

3、指令执行周期

《自己动手写CPU》学习记录(2)——第3章_第7张图片

4、MIPS处理器外部接口

《自己动手写CPU》学习记录(2)——第3章_第8张图片

接口描述:

《自己动手写CPU》学习记录(2)——第3章_第9张图片

《自己动手写CPU》学习记录(2)——第3章_第10张图片

 



你可能感兴趣的:(CPU,MIPS32,IC)