论文部分内容阅读
随着集成电路制造工艺的发展和计算机体系结构研究的深入,多核芯片(即片上多处理器)技术将普遍的应用到嵌入式系统的芯片设计中,使得线程级并行在嵌入式软件中得到广泛的使用。这将引起一场硬件体系、操作系统、编译器和软件开发方法等多方面的重大变革,而迄今还没有明确的办法。所以如今嵌入式系统研究,无论硬件方面还是软件方面,都聚焦于此。通常嵌入式系统在体系设计上都会采取异构多核的架构,嵌入式操作系统通过线程支持、线程调度、中断支持和设备管理的更新来支持和管理各个处理器核。在软件开发层面,使用线程库、并行编程语言或者组件化软件等方法编写可并行程序。随着嵌入式系统的应用范围越来越广,密集计算型的应用将普遍的出现在嵌入式设备上,其中字符串匹配是其中一个典型重要应用。如何设计定制的芯片以提升嵌入式系统的性能,是本文研究的出发点。本研究面向嵌入式系统中密集计算、尤其是字符串匹配计算的需求,探索使用软硬件协同的方法,实现异构多核嵌入式系统的性能提升。在硬件上,研究定制面向密集计算的多核架构;在软件上,实现面向处理器核的组件化改造机制。本研究的主要工作集中在以下几点:(1)设计硬件加速的异构多核体系。其中SIMD辅核能面向字符串进行硬件级并行匹配,高速的核间总线支持稳定而高效的核间通信。(2)针对异构多核体系,研究嵌入式操作系统对辅核的支持、板级支持包对硬件的封装和辅核的编程方法,使用户软件能发挥多核体系的特点。(3)设计面向嵌入式系统、对线程进行封装的线程级组件模型,研究线程级组件的应用方式和并行调度策略。同时研究应用于嵌入式系统的组件非功能属性约束,设计组件复用框架。本研究通过软件模拟和开发板实验对设计进行了验证。通过周期精确模拟器验证了硬件实现的算法;使用Xilinx ML403 FPGA开发板进行了SoC集成,通过二进制数据的匹配实验进行了系统验证,而且在这些应用中可以验证线程级组件的调度。最后,以简单的网络协议组件化拆分和动态组装运行为例,验证了嵌入式系统中组件化软件的动态组装和组件复用。本研究设计了通过软件的组件化对线程模型进行封装,实现面向多核体系的并行编程和动态调度的方法;探索了在多核引入嵌入式系统环境下,软硬件协同处理计算密集型任务的新方法。这将推动面向嵌入式系统、基于多核体系和组件化软件的软硬件设计方法研究。