论文部分内容阅读
计算机是科学家为了解决手工计算器无法胜任的工作而造出来的工具。随着科学家对计算机处理能力要求越来越高,仅仅依靠科学家来设计新的计算机已经远远满足不了科学计算的需求。计算机的发展走上了商业之路,并取得了巨大的成功。世界上现有的超级计算机基本上都是商业化的产物。
尽管商业化的超级计算机处理性能越来越高,但在粒子物理、分子生物学、气象学等方面,商用超级计算机已显出明显的不足,体现在三个方面:(1)处理性能并不能得到很好的利用,一般利用率都为5%~10%(2)在大型物理试验以及分子DNA排序等领域,由于需要大量的矢量输入数据,而现有计算机系统的IO输入能力满足不了这些领域的需求(3)在很多场合(例如声纳处理),要求计算机系统处理能力高,占用空间小,计算机硬件能够根据实际需求进行重构配置。因此如何设计利用效率高,满足科学计算需求并能够根据不同需求进行重新配置的并行计算机是将来并行计算机发展的一个方向。
本论文阐述了一个可重构配置并行计算机的设计。并行计算机采用三层通信的模式,计算节点采用具有软CPU核的现场可编程门阵列FPGA。
本文的绪论介绍了项目选题的出发点以及选题的意义,并对设计的并行计算机系统作了简要的介绍。该项目的应用场合在该部分也给出了描述。
第一章介绍了计算机的发展历史以及发展并行计算机的必要性。对并行计算机的发展历程作了简要的回顾并对并行机将来的发展方向给出了预测。在最后对并行计算机的分类作了简要的描述。
并行计算机的节点设计是一个基于AlteraCycloneFPGA的数字系统设计,节点与节点之问的通信也是由FPGA逻辑来完成。在论文的第二章,从大规模数字电路设计方法介绍入手,阐述了基于可编程逻辑设计的SOPC(SystemonaProgrammableChip)理念,在SOPC设计中最主要的是如何采用现成的软IP核以及利用开发平台。本章最后对并行计算机节点采用的NIOSCPU系统的特性、开发以及仿真作了说明。
本论文的第三章详细介绍了计算机互连网络的四个特征。并在此基础上根据我们设计的特殊性,分析了基于FPGA的并行计算机应该采用怎么样的互连网络,并给出这种选择的原因。我们的并行计算机采用三层的设计结构:第一层是基本处理单元(BPU),由多个计算节点(FPGA)通过二维网格互连组成,各个节点利用本文提出的二维网格互连总线以及协议通过消息传递的机制进行通信,信包在节点的转发采用虫洞(worm-hole)的转发模式,路由算法采用免死锁的确定性路由算法;第二层采用交叉开关的通信模式,各个BPU通过PICMG2.16背板和交换开关进行通信,多个BPU构成一个cPCI机箱;第三层是机箱的通信,机箱之间采用以太网进行相互通信。
本论文在第四章给出了并行计算机的硬件设计,主要包括BPU的设计以及千兆位交叉开关的设计,这一章是本论文的设计重点。每个BPU板卡由5个FPGA组成,每个FPGA都有各自的存储器、二维网格互连接口以及一些IO设备。由于BPU板卡之间是通过千兆位交叉开关进行通信,如何设计如此高速的电路就成为电路设计的难点。信号完整性的分析与仿真就成为硬件设计必不可少的部分。
在论文的第五章,对并行计算机的逻辑设计作了详细的介绍,并行计算机采用模块化的设计方式。并行计算机的逻辑设计包括NIOSCPU系统设计,二维网格互连总线逻辑设计,信包自动切分的DMA逻辑,千兆位收发器控制逻辑以及交叉开关逻辑。
本论文的最后一章给出并行计算机的部分测试结果,由于该并行计算机仅仅还是一个样机,因此很多地方还需要改进和完善。
结束语部分对本全文做了一个回顾,总结了并行计算机设计的主要工作和创新点。