如何正确实施CISC流水线CPU?

时间:2019-04-01 11:43:55

标签: assembly cpu pipeline cpu-architecture risc

我正在为大学毕业项目进行工作。我已经完成了一个流水线CPU,并在Logisim程序中对其进行了仿真,以完成我的一门课程,但是现在我需要将CPU闪存到FPGA中并为此CPU编写游戏。因此,我想改进我的体系结构,还更改了一些功能,因为我并不真正知道它应该如何工作。问题出在内存访问上,在第一张图片上您可以看到我的第一个CPU。逻辑是:读取操作码->解码并准备操作数->必要时读取内存->检查是否JMP(CJE,CJNE ...)->算术和逻辑计算->写答案以注册或存储(我在这里延迟了如果不与读取内存操作发生冲突,需要为所有管道提供1个时钟-避免内存危险)。

Pipe1

CPU Diagram

现在,我想为我的游戏插入一些图形,并增加了一个可以与PPU(图形处理单元)配合使用的部分。

Pipe2

此外,我在Internet上看到了很多示例,这些示例将“内存”部分放到“执行”部分之后,这对我来说是无法理解的。如果我需要从Memory中读取MEM变量,然后将其添加到A中,该如何实现ADD A,MEM之类的操作码?还是我想念什么?你能帮我吗?

0 个答案:

没有答案