我们在第4章实现的五级流水线结构很简单,如果按照“简单即美(Simple is Beautiful)的标准,那么我们的流水线是美的,但是不完美,因为现实往往是复杂的,一个简单的流水线是解决不了如此多的现实问题的,本节探讨的数据相关问题就是其中一个问题。在我们实现逻辑、移位操作等其它指令之前,必须先讨论这个问题,因为这个问题已经影响到测试程序的编写了。
流水线中经常有一些被称为“相关”的情况发生,它使得指令序列中下一条指令无法按照设计的时钟周期执行,这些“相关”会降低流水线的性能。流水线中的相关分为三种类型。...
分类:
其他好文 时间:
2014-07-30 14:51:39
阅读次数:
684
一.前言1.编译器优化介绍:由于内存訪问速度远不及CPU处理速度,为提高机器总体性能,在硬件上引入硬件快速缓存Cache,加速对内存的訪问。另外在现代CPU中指令的运行并不一定严格依照顺序运行,没有相关性的指令能够乱序运行,以充分利用CPU的指令流水线,提高运行速度。以上是硬件级别的优化。再看软件一...
分类:
编程语言 时间:
2014-07-28 14:45:43
阅读次数:
288
通过基本的流水灯实验实现了顺序操作,流水线操作(时间并行),多条流水线操作(空间并行)。并且验证了通过verilogHDL实现结构化建模的可行性,能够直接的把算法转换成对应的模块,省去了传统状态机的繁琐设计过程。...
分类:
其他好文 时间:
2014-07-27 16:23:05
阅读次数:
314
将验证我们的OpenMIPS是否实现正确,包含:流水线是否正确、ori指令是否实现正确。在验证之前,需要首先实现指令存储器,以便OpenMIPS从中读取指令。...
分类:
其他好文 时间:
2014-07-26 02:52:56
阅读次数:
535
sobel算子对图像进行处理的VerlogHDL实现
分类:
其他好文 时间:
2014-07-26 01:30:56
阅读次数:
253
前面几章介绍了很多预备知识,也描绘了即将要实现的OpenMIPS处理器的蓝图,各位读者是不是早已摩拳擦掌,迫切希望一展身手了,好吧,本章我们将实现OpenMIPS处理器的第一条指令ori,为什么选择这条指令作为我们实现的第一条指令呢?答案就两个字——简单,指令ori用来实现逻辑“或”运算,选择一条简单的指令有助于我们排除干扰,将注意力集中在流水线结构的实现上,当然也可以选择其它类似的指令,只要简单即可。通过这条简单指令的实现,本章在4.2节将初步建立OpenMIPS的五级流水线结构,当我们在后面章节中实现其...
分类:
其他好文 时间:
2014-07-24 17:47:32
阅读次数:
525
处理技术: 超标量是通过内置多条流水线来同时执行多个处理器,其实质是以空间换取时间。而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一个甚至多个操作,其实质是以时间换取空间。 スター: 真正点燃硅谷之火,使这块土地燃起壮观的电子之光的还要等到五十年代另一位大名鼎鼎的人物驾到,这就是威廉·...
分类:
其他好文 时间:
2014-07-23 18:01:24
阅读次数:
169
从本章开始将一步一步地实现教学版OpenMIPS处理器。本章给出了教学版OpenMIPS的系统蓝图,首先介绍了系统的设计目标,其中详细说明了OpenMIPS处理器计划实现的5级流水线。3.2节给出了OpenMIPS处理器的接口示意图,及各个接口的作用。3.3节简单解释了各个源代码文件的作用。最后描述了OpenMIPS处理器的实现方法,读者将发现本书给出的实现方法与现有书籍的方法完全不同,更加易于理解、便于实践。...
分类:
其他好文 时间:
2014-07-23 17:18:42
阅读次数:
486
题目地址:ACM Computer Factory题目大意: 一个生产电脑的工厂,有多个机器生产一台电脑,大家都知道一台电脑有多个零部件,这些机器在一个流水线,有些机器工作的前提是需要一些零部件的存在才能继续工作生产,每个机器都有输入设备和输出设备,输入设备意思是根据这几个零部件的存在状态才能使此....
分类:
其他好文 时间:
2014-07-22 22:49:53
阅读次数:
294
FPGA面积优化
1 对于速度要求不是很高的情况下,我们可以把流水线设计成迭代的形式,从而重复利用FPGA功能相同的资源。
2 对于控制逻辑小于共享逻辑时,控制逻辑资源可以用来复用,例如FIR滤波器的实现过程中,乘法器是一个共享的资源,我们可以通过控制资源实现状态机,从而复用乘法器,当然这样也牺牲了面积。
3 对于具有类似计数单元的模块,可以采用全局的计数器,以减小面积。例如...
分类:
其他好文 时间:
2014-07-17 20:37:46
阅读次数:
329