论文部分内容阅读
多核处理器技术已经逐渐成为处理器的发展趋势,如何有效协调处理多核系统之间的工作、准确无误完成处理器的核间通信等成为多核处理器的研究方向。多核时代,其挑战并不是处理器设计本身,而是各核心间的互连、并行编程与缓存一致性:当核的数目较多时,互连线消耗的功耗和延迟尤为突出;传统的串行编程模型已经很难适应多核并行编程,多核并行编程成为必须挑战的问题;各个处理器核会保存同一数据的副本,如果某个处理器核修改了副本的值,那么保存在其他处理器上的副本也必须更新,以保证数据的一致性,否则就会出错,缓存一致性在多核处理器上尤为重要。针对上述问题,本文设计了一种采用数据驱动机制、支持函数语言风格编程的多核处理器,它包括发送匹配模块、函数执行单元、数据驱动模块和交叉点缓存路由器。数据驱动模块用来进行数据匹配、数据完备性检测以实现数据驱动机制;片上路由器则实现处理器核间的通信。所设计的多核处理器能够支持函数语言风格的编程模板。每段代码执行纯函数的操作,消除了函数间的共享变量,使得并行编程的复杂度有所降低。同时,所采用的数据驱动机制没有执行顺序的严格限制,充分挖掘了算法潜在的并行性。通过实验发现,在一定条件下,数据驱动机制可以保证并行程序的加速比随计算资源的增加而呈线性增大。本文所提出的设计方案有效的综合了数据流计算机中细粒度与控制流计算机的顺序控制执行,是一种性能平衡、设计与使用灵活、设计成本与功耗低的解决方案。所采用的数据流函数语言,易于并行软件的开发,有效解决软件开发严重滞后硬件发展的问题。本文使用Quartus II和Modelsim构建RTL硬件电路,在Altera的DE2-115FPGA开发板上植入相应的多核系统,完成此互联架构的仿真、综合、验证测试。