论文部分内容阅读
在嵌入式系统快速发展的今天,以无线通信、数字媒体、移动计算等为代表的新一代应用,对电子设备的速度、功耗、集成度、成本以及灵活性等多个方面提出了苛刻的要求。在军事航天领域,则更加看重可靠性、重量、体积、能耗。微小卫星等应用标志着国防科技对低成本和易用性的重视。从传统的以通用处理器(GPP)为基础的软件执行方式,到专用集成电路ASIC为代表的硬件执行方式,对上述的各项指标都没有得到很好的解决。一方面,GPP以指令驱动方式串行执行,功能单元和指令集的有限性使得GPP的性能并不理想。同时指令流执行方式对存储器带宽要求较高。另一方面,ASIC虽然能够获得很高的性能,但它并不能满足日益缩短的设计周期的需要。开发难度大,工程费用高使得ASIC只有在大批量的时候才能显示出其优势。以高密度FPGA为代表的可重构计算填补了GPP和ASIC之间的空白,兼具高性能和灵活性的特点,在各项性能指标中取得更好的平衡,获得越来越广泛的应用。 可重构计算是一种新型的时空域上的计算方式。可重构计算系统通常包含大量的可编程硬件资源和路由资源。算法在硬件上实现,以空域的方式并行执行,可以获得非常高的性能。同时,系统可以根据目标算法的运行时特征,在时域上动态调整硬件,使之更好的匹配算法的数据宽度和运算特点等,具有更好的灵活性和动态适应性。 由于半导体技术历史发展的原因,可重构计算最初由用户设计定制的可编程器件实现,之后才逐渐转向使用FPGA之类通用器件的道路上来。在可重构计算发展的过程中,出现了多种多样的体系结构。从计算单元考虑有位级、字级和混合级等不同粒度,从网络拓扑考虑有一维线性、二维网孔或交叉开关等不同连接方式,从通讯总线考虑有全局共享、局部共享和局部专用等不同的总线形式。体系结构的多样性为可重构计算的研究和应用无形中设置了障碍。 为解决可重构计算的通用性问题,同时实现易用和高效的目标,本文从可