论文部分内容阅读
JavaScript语言作为一种动态脚本语言,在交互式网络应用中得到了广泛的应用。尤其是近年来随着Web2.0的兴起,基于JavaScript的应用得到学术界和工业界的认可。和JavaScript应用的增速相比,其解释器性能相对落后,如何提高其解释器性能进而提高上层应用的用户体验是一个热点问题。可重构计算体系结构是异构多核研究的一个分支,它同时具有传统硬件的高效率,又能通过动态重配置来克服传统硬件设计高成本的劣势,从而在学术界得到越来越多的关注。
调研了现有JavaScript实现和解释器技术后,笔者发现以前的研究曾经试图为某种高级语言定制体系结构,虽然相关研究在特定语言的性能方面取得了不错的结果,但是由于其成本高昂,以及和传统系统结构不兼容等特点,最终被认为是不太可取的尝试。而可重构计算体系结构正好能够克服传统硬件实现的劣势,故而在本文中笔者选择将可重构计算体系结构这种硬件加速技术应用到软件实现的语言解释器上来。
首先,通过对JavaScript程序的行为分析以及解释器执行的性能分析,找到解释器执行的热点单元。然后针对这些热点单元,使用硬件技术对其进行加速。这些加速实现通过模拟环境获取加速数据,同时考虑到引入硬件加速所带来的额外开销,最终得到加速的性能分析。
在进行模拟分析之后,笔者还设计并实现了应用于可重构计算体系结构的基于FPGA的仿真器。相比起软件实现的模拟器,基于FPGA的仿真器的仿真能力要高出若干数量级,这也使得仿真器可以运行真实的复杂程序,进一步验证相关理论的可行性。该仿真器更可用于可重构计算体系结构领域的其他相关研究,作为研究理论的实际验证工具。