同时可记录的处理器硬件事件数量受限于处理器硬件性能计算器的数量.目前主流处理器可支持大量(数百个)硬件事件,但由于片上寄存器数量有限,仅提供了少量(通常6~12个)硬件性能计数器.为缓解这一矛盾,硬件计数器复用技术(multiplexing,M...同时可记录的处理器硬件事件数量受限于处理器硬件性能计算器的数量.目前主流处理器可支持大量(数百个)硬件事件,但由于片上寄存器数量有限,仅提供了少量(通常6~12个)硬件性能计数器.为缓解这一矛盾,硬件计数器复用技术(multiplexing,MPX)通过分时复用策略,利用少量计算寄存器来估算大量硬件事件.但在实践中,由于已有基于时间局部性的MPX估计算法结果准确率偏低,导致MPX一直未被广泛采用.为了提升MPX结果准确率,主要工作包括3部分:1)通过Kolmogorov-Smirnov正态性检验,发现针对同一硬件事件,相同代码在单计数器记录单事件(one counter one event,OCOE)的OCOE模式和MPX模式下,存在数据分布一致性的规律;2)基于此规律,提出了轮廓线估计法(outline estimation,OLE);3)在开源MPX库NeoMPX上实现了OLE算法,并在主流X86和ARM处理器上进行了验证.实验结果表明:在对16个硬件事件同时进行采集时,OLE算法相比PAPI默认的MPX估计算法,结果准确率平均提高了10.5%左右,最多可提升46.6%;相比已有算法,结果准确率分别提升了18.8%和17.7%.展开更多
在IntelP6系列处理器与Microsoft Windows NT平台上开发了一个工具软件PTracker,它利用处理器中的硬件性能计数器来获取程序性能数据,并结合机器体系结构参数对数据进行分析。它无需用户编程,与应用程序所使用的编程语言无关,使用很方...在IntelP6系列处理器与Microsoft Windows NT平台上开发了一个工具软件PTracker,它利用处理器中的硬件性能计数器来获取程序性能数据,并结合机器体系结构参数对数据进行分析。它无需用户编程,与应用程序所使用的编程语言无关,使用很方便。它不仅能够通过性能计数器获得精确的性能参数,而且还能通过对测试得到的性能数据的分析,揭示程序高层次的性能特征,对程序性能评价与优化具有一定的指导作用。本文介绍了PTracker的技术背景、设计与系统实现,并给出了一个应用实例。展开更多
文摘同时可记录的处理器硬件事件数量受限于处理器硬件性能计算器的数量.目前主流处理器可支持大量(数百个)硬件事件,但由于片上寄存器数量有限,仅提供了少量(通常6~12个)硬件性能计数器.为缓解这一矛盾,硬件计数器复用技术(multiplexing,MPX)通过分时复用策略,利用少量计算寄存器来估算大量硬件事件.但在实践中,由于已有基于时间局部性的MPX估计算法结果准确率偏低,导致MPX一直未被广泛采用.为了提升MPX结果准确率,主要工作包括3部分:1)通过Kolmogorov-Smirnov正态性检验,发现针对同一硬件事件,相同代码在单计数器记录单事件(one counter one event,OCOE)的OCOE模式和MPX模式下,存在数据分布一致性的规律;2)基于此规律,提出了轮廓线估计法(outline estimation,OLE);3)在开源MPX库NeoMPX上实现了OLE算法,并在主流X86和ARM处理器上进行了验证.实验结果表明:在对16个硬件事件同时进行采集时,OLE算法相比PAPI默认的MPX估计算法,结果准确率平均提高了10.5%左右,最多可提升46.6%;相比已有算法,结果准确率分别提升了18.8%和17.7%.
文摘在IntelP6系列处理器与Microsoft Windows NT平台上开发了一个工具软件PTracker,它利用处理器中的硬件性能计数器来获取程序性能数据,并结合机器体系结构参数对数据进行分析。它无需用户编程,与应用程序所使用的编程语言无关,使用很方便。它不仅能够通过性能计数器获得精确的性能参数,而且还能通过对测试得到的性能数据的分析,揭示程序高层次的性能特征,对程序性能评价与优化具有一定的指导作用。本文介绍了PTracker的技术背景、设计与系统实现,并给出了一个应用实例。
文摘经过多年的发展, X86架构与ARM架构的处理器逐渐分别占据了桌面端和移动端市场的主导地位.虽然无论从技术角度还是从生态体系方面,这两类架构的处理器性能越来越高,但是由于其指令集臃肿、技术复杂、授权困难等原因,使得开发这两类架构的处理器的门槛较高.研究院所还没有一个合适的指令集用于体系结构的研究和创新. RISC-V指令集的开源使得这一局面得以缓解.其具备精简、开源、敏捷开发等特点引起了工业界与学术界的广泛关注与积极参与.性能计数器(Hardware Performance Counter, HPC)是处理器研究和性能调优的重要工具.由于RISC-V制定的标准性能计数器的可拓展性欠佳、可同时捕获事件的数量有限等不足,本文提出一种新的基于RISC-V的分布式硬件性能计数器.本文使用Genesys2开发板作为实验平台,将这种性能计数器适配到lowRISC-v0.4开源SoC项目上,完成了对该设计方案的验证与评估.该性能计数器只占用3个控制状态寄存器(Control and Status Registers, CSRs)就可以同时捕获比标准的性能计数器多近乎一个数量级的事件,在RISC-V处理器的性能分析、结构优化、侧信道攻防等方面为研究者提供了翔实的统计数据.