计算机研究与发展2023,Vol.60Issue(7) :1678-1691.DOI:10.7544/issn1000-1239.202220158

针对gem5 指令集实现及其功能测试的自动代码生成

An Automated Code Generation of Instruction Set Implementation and Functional Testing for gem5

赵紫微 涂航 刘芹 李莉 余涛
计算机研究与发展2023,Vol.60Issue(7) :1678-1691.DOI:10.7544/issn1000-1239.202220158

针对gem5 指令集实现及其功能测试的自动代码生成

An Automated Code Generation of Instruction Set Implementation and Functional Testing for gem5

赵紫微 1涂航 1刘芹 1李莉 1余涛1
扫码查看

作者信息

  • 1. 武汉大学国家网络安全学院 武汉 430072
  • 折叠

摘要

在嵌入式领域,计算机系统模拟器是研究与原型开发的重要工具.对于采用解释执行的模拟器,其CPU模型的译码过程会影响性能,如何提升译码过程的性能是提高仿真效率的关键问题之一.此外,对于无标准测试集的指令集来说(例如自定义指令),手动编写指令功能测试的开发效率较低,并且其与实现译码过程所需的指令信息基本相同.为解决上述问题,提出一个代码生成方案,输入一份指令集描述,输出针对gem5优化后的指令集实现代码和功能测试代码.首先,扩展gem5的指令集描述语言,将其分为编码描述、功能描述和测试描述.其次,针对gem5优化译码决策树构建算法,并为gem5生成译码模块代码、指令集实现代码和指令功能测试用例.最后,以Cortex-M3指令集为例与原方案相比,总生成时间减少约64%,编译后的可执行文件代码大小减少约407 KB,性能提升约13%,并且能够提高开发效率.

关键词

代码生成/指令集/译码/模拟器/功能测试

引用本文复制引用

基金项目

国家重点研发计划(2018YFC1315404)

国家重点研发计划(2018YFC1604004)

出版年

2023
计算机研究与发展
中国科学院计算技术研究所 中国计算机学会

计算机研究与发展

CSTPCDCSCD北大核心
影响因子:2.649
ISSN:1000-1239
参考文献量1
段落导航相关论文