大三上学期开展了数字系统设计的课程,下学期便要求自己写一个单周期CPU和一个多周期CPU,既然要学,就记录一下学习的过程。
CPU——中央处理器,顾名思义,是计算机中最重要的一部分,功能就是周而复始地执行指令。其实开始做这部分之前,想到CPU就觉得很麻烦,毕竟时计算机内部最重要的东西,但其实刨开来细看,也就慢慢地接受了,当然我现在也不能说是了如指掌,说简单,毕竟自己还处于学习阶段,甚至可能还没有入门。慢慢来吧,先从简单的开始,一步一个脚印,总能写成的。今天先写在具体写代码之前的思路和设计方案。
这次的设计是基于FPGA和Verilog设计一个RISC处理器,目前计划指令是14条,最终采用ISE进行代码编写与仿真。
14条指令分别如下:
指令类型 |
指令名称 |
指令表示
|
指令 |
指令含义 |
|||||
R型 |
Add |
0 | 18 | 19 | 17 | 0 | 32 | add rd,rs,rt |
两个操作数相加 |
R型 |
Subtract |
0 | 18 | 19 | 17 | 0 | 34 | sub rd,rs,rt |
两个操作数相减 |
I型 |
Load word |
35 | 18 | 17 | 100 | lw rt,rs,imm16 |
从内存取一个数写入到寄存器 |
||
I型 |
Store word |
43 | 18 | 17 | 100 | sw rt,rs,imm16 |
从寄存器中读出一个数写入到内存 |
||
|