论文部分内容阅读
随着芯片制造业的逐步发展,多核处理器的产生,人们对单个芯片中集成多个处理器的设计方式已逐渐接受并加以青睐,NoC也由此而生。但是,在传统的NoC网络结构中,每个处理节点只有一个处理器,这对于占用资源较多的路由器来说并不划算,不能最大限度的利用路由器的带宽,造成资源的浪费。而拥有多个处理器的簇结构的产生解决了这些问题,提高了基于NoC的MPSoC的性能。论文采用共享总线和内存的方式构建了一个基于四个MicroBlaze处理器软核的SMP结构计算簇,利用轮询的方式保证了每个处理器拥有平等的占用总线的权利,避免抢占冲突。为了对运行在多个处理器上的多线程应用进行统一的管理,加之考虑簇内资源的局限性,选择了较为精简的嵌入式实时操作系统μC-OSⅡ移植到该多核系统中,对多线程应用进行统一管理。移植后的μC-OSⅡ操作系统采用基于全局优先级的分布式多任务调度策略实现了簇内多核多任务调度和多任务并行,并且采用主从的初始化机制降低操作系统的内存占用率。为实现簇内多核间的多任务并行,本文在实验室原有的适用于节点间通信的多核消息传递接口模型的基础上对其进行了簇内多核通信的扩展。充分利用簇内共享内存这一特点,使其在进行簇内通信时不用对共享内存中的数据进行反复存取,只进行消息信封的传递,节省了这部分的存储开销,提高了通信效率。针对此系统功能上的特点,对该操作系统的系统启动功能、任务调度功能,多核多任务并行执行功能以及新MMPI通信功能进行了测试,其结果证明了整个系统功能的正确性。最后,在Virtex-6ML605FPGA开发板上实现了整个簇内多核系统。此计算簇虽然是基于原有的32核NoC拓扑结构而设计的,但是其结构具有一定的通用性,稍加改动即可应用于其它的多核处理器结构中,并且对应用程序的局限性少,应用前景广泛。