- 20' week1~4 MIPS程序设计
- 30' week5~8 单周期MIPS处理器
- 30' week9~12 多周期MIPS处理器
- 20'week13~16 cache模拟器
- 计算机
- Vivado19.02
- QtSPIM
- MingW64编译器
- vscode
- 实验板NEXYS4 DDR XC7A100T
- 熟悉QtSPIM模拟器;
- 熟悉编译器、汇编程序和链接器;
- 熟悉MIPS体系结构的计算,包括
- MIPS的数据表示;
- 熟悉MIPS指令格式和寻址方式;
- 熟悉MIPS汇编语言;
- 熟悉MIPS的各种机器代码表示,包括
- 选择结构;
- 循环结构;
- 过程调用:调用与返回、栈、调用约定等;
- 系统调用。
调试给定的程序p1.asm,p2.asm和p3.asm,记录程序运行的结果。
改写程序p1.asm,使用MIPS汇编指令和QtSPIM模拟器,接收两个整数,计算结果后输出。典型的运行例子如下:
Please enter 1st number: 20
Please enter 2nd number: 50
The result of 20 & 50 is: 70
Do you want to try another(0—continue/1—exit):
把下面的C代码翻译成MIPS代码
#include <stdio.h>
int sumn(int *arr, int n)
{
int sum = 0;
for (int idx = 0; idx < n; idx++)
sum += arr[idx];
return sum;
}
int main()
{
int arrs[] = {9, 7, 15, 19, 20, 30, 11, 18};
int N = 8;
int result = sumn(arrs, N);
printf("The result is: %d", result);
return 0;
}
请仔细阅读参考文献的第3章,编写一个名为fib-op.asm文件,使得其性能优于fib-o.asm;并解释为什么
- 熟悉Vivado软件
- 熟悉在Vivado软件下进行硬件设计的流程
- 设计单周期MIPS处理器,包括:
- 完成单周期MIPS处理器的设计
- 在Vivado软件上进行仿真
- 编写MIPS代码验证单周期MIPS处理器
- 在NEXYS4 DDR板上进行验证
单周期MIPS处理器包含的指令(共15条)如下:
- add,sub,addi
- and,or,andi,ori
- slt,slti
- sw,lw
- beq,bne
- j
- nop
- 设计多周期处理器,包括:
- 完成多周期MIPS处理器的设计
- 在Vivado软件上进行仿真
- 编写MIPS代码验证多周期MIPS处理器
- 在NEXYS4 DDR班上进行验证
多周期MIPS处理器包含的指令(共15条)如下:
- add,sub,addi
- and,or,andi,ori
- slt,slti
- sw,lw
- beq,bne
- j
- nop
- 完成cache模拟器
- 理解cache块大小对cache性能的影响
- 理解cache总大小对cache性能的影响
- 理解cache替换策略对cache性能的影响
- 理解cache写回策略对cache性能的影响