流水线MIPS处理器的设计
实验内容:cs代写价格
在下面两项中二选一:
(1)将春季学期实验四设计的多周期 MIPS 处理器改进为流水线结构,并利用此处理器完成背包算法。
(2)使用数字逻辑电路求解背包问题,并和在多周期MIPS处理器上求解同一问题作比较。
设计要求:
- 设计一个 5 级流水线的 MIPS 处理器,采用如下方法解决竞争问题:
- 采用完全的 forwarding 电路解决数据关联问题。
- 对于 Load-use 类竞争采取阻塞一个周期+Forwarding 的方法解决
iii. 对于分支指令在 EX 阶段判断(提前判断也可以),在分支发生时刻取消 ID 和IF 阶段的两条指令。
- 对于 J 类指令在 ID 阶段判断,并取消 IF 阶段指令。
- 分支和跳转指令做如下扩充: 分支指令(beq、bne、blez、bgtz、bltz)和 跳转指令(j、jal、jr、jalr);
- 数据存储的地址空间被划分为 2 部分:0x00000000~0x3FFFFFFF(字节地址)为数据 RAM,可以提供数据存储功能;0x40000000~0x7FFFFFFF(字节地址)为外设地址空间,对其地址的读写对应到相应的外设资源(LEDs、SWITCH…)。具体地址划分如下:
地址(字节地址) | 功能 | 描述 |
0x00000000~0x000007FF | 数据存储器 | 512×32bits(可以根据需要自行调整大小) |
0x4000000C | 外部 LEDs | 0bit:LED 0
1bit:LED 1 …… 7bit:LED 7 |
0x40000010 | 七段数码管 | 0bit:CA
1bit:CB …… 7bit:DP 8bit:AN0 9bit:AN1 10bit:AN2 11bit:AN3 |
-
(选做)根据实验三内容设计,为处理器设计UART外设 cs代写价格
地址(字节地址) | 功能 | 描述 |
0x40000018 | 串口发送数据UART_TXD | 串口发送数据寄存器,只有低8bit有效;对该地址的写操作将触发新的UART发送 |
0x4000001C | 串口接收数据UART_RXD | 串口接收数据寄存器,只有低8bit有效 |
0x40000020 | 串口状态、控制UART_CON | 2bit:发送状态,每当UART_TXD中的数据发送完毕后该比特置‘1’,当执行对该地址的读操作后,将自动清零
3bit:接收状态,每当UART_RXD中已经接收到一个完整的字节时该比特置‘1’,当执行对该地址的读操作后,将自动清零 4bit:模块状态,0-发送模块处于空闲状态,1-发送模块处于发送状态 |
- 背包测试数据
背包物品数目一般10~15比较合适,全逻辑电路实现的,数目可以再适当增加。背包物品重量、价值可以自己指定。这些测试数据可以写在汇编指令文件中或者对RAM进行initial初始化,程序将背包最大价值以16进制的形式显示到数码管上。用UART串口进行测试数据的输入和输出为选做的提高要求。