APP下载

HyWarm:针对处理器 RTL 仿真的自适应混合预热方法

2023-06-07周耀阳韩博阳蔺嘉炜王凯帆张林隽余子濠孙凝晖包云岗

计算机研究与发展 2023年6期
关键词:指令功能

周耀阳 韩博阳 蔺嘉炜 王凯帆 张林隽 余子濠 唐 丹,3 王 卅,2 孙凝晖包云岗,2

1 (处理器芯片全国重点实验室(中国科学院计算技术研究所)北京 100190)

2 (中国科学院大学计算机科学与技术学院 北京 100049)

3 (北京开源芯片研究院 北京 100080)

4 (香港大学电机电子工程系 香港 999077)

在近几年的芯片敏捷开发浪潮中,得益于Chisel,BlueSpec,PyMtl 等新兴的硬件描述语言和Rocketchip等SoC 平台,直接基于寄存器传输级(register-transfer level,RTL)描述进行CPU 架构的设计变得越来越常见[1-6].随着社区的不断发展,基于这些语言的开源设计架构越来越先进,其设计也越来越复杂,例如加州大学伯克利分校开源的Boom 和中国科学院计算技术研究所开源的香山处理器[4,6-8].复杂的设计对现有的性能评估设施提出了更高的要求,例如AWS 的云化FPGA 已经难以容纳目前最复杂的开源处理器核[4].

为了使设计规模不受限制,部分工作[4]采用了基于RTL 软件仿真器的技术路线.但是对于复杂设计而言,常用的RTL 软件仿真器(例如Verilator[9]和VCS)仿真复杂设计的速度仅有500~3 000 cycle/s[4].为了加速仿真流程,利用采样和功能预热来减少仿真指令数是最常见的方法[10-12].虽然这些方法起初是在GEM5等CPU 架构模拟器上诞生,但在RTL 软件仿真器上,有越来越多的工作通过采样和检查点等方法来减少仿真指令数、缩短仿真时间[4,13].

采样方法基于机器学习或者统计学方法从冗长的程序中选择很少一部分片段作为代表来进行性能测量,获得程序性能计数器,用于估算整个程序的性能(如图1 所示).这些采样方法的……

登录APP查看全文

猜你喜欢

指令功能
听我指令:大催眠术
也谈诗的“功能”
ARINC661显控指令快速验证方法
LED照明产品欧盟ErP指令要求解读
关于非首都功能疏解的几点思考
怀孕了,凝血功能怎么变?
“简直”和“几乎”的表达功能
杀毒软件中指令虚拟机的脆弱性分析
一种基于滑窗的余度指令判别算法
中西医结合治疗甲状腺功能亢进症31例