论文部分内容阅读
随着智能手机与平板电脑等移动智能终端设备的迅猛发展,嵌入式多核技术得到了长足的进步。但是多核技术的应用也引入了处理器核间数据共享与同步等,这些处理器核间通信是通过Cache一致性协议实现,而维持一致性会产生一致性缺失事件,损耗多核处理器的性能,影响多核加速比的线性化。所以本文基于嵌入式多核处理器,研究与评估核间通信引起的一致性缺失事件在不同结构参数下对于嵌入式多核性能的影响。同时在Android交互式应用场景下,探索嵌入式多核的最优Cache微结构,评估结果为Cache的最优结构参数设计提供参考。 本文选用学界广泛使用的Gem5作为研究平台,Gem5是时钟周期精确型的仿真模型,其ARMDetailed模型可以模拟ARM Cortex-A9处理器,仿真数据真实可靠。本文首先详细分析了多核处理器核间通信的主要技术和Cache一致性的实现方式。通过Gem5的Cache Trace信息,提取了Gem5中引起Cache无效操作的主要请求事件,以及无效操作引起的一致性缺失事件和时间开销。然后在ARM Detailed模型上运行交互式应用测试集Bbench,评估不同处理器核心数目,L1 Data Cache的大小和Cache行大小结构参数下,一致性缺失对于嵌入式多核性能的影响,并给出基于Android交互式应用场景下不同核心数目的Cache最优微结构,以及核心数目对于最优Cache微结构的影响。 实验结果表明:一致性缺失及其延迟会损耗嵌入式多核处理器的性能。增大Cache大小和Cache行大小是降低DCache缺失数的有效方法,但由于假共享的影响,一致性缺失数目会随着Cache行大小的增大而逐渐增加。在2核、4核和8核情况下,当Cache微结构(Cache大小,Cache行大小)分别为(32KB、32B),(32KB、64B),(64KB、64B)时,交互式应用Bbench性能分别达到最优,此时一致性缺失延迟开销最低,分别为0.085s、0.132s、0.165s。最优DCache大小和Cache行大小均会随着核心数目增加而呈现逐渐增大的趋势。核心数的变化会影响最优Cache微结构的选择。