【论文阅读】基于 SimpleScalar 的龙芯CPU模拟器 Sim-Godson
学习体会:
学习追踪龙芯系列“工程流”论文,看看如何做工程,完成→完美
之前写过体系结构模拟器,龙芯团队自研模拟器在ICT-godson 模拟器基础上,继续开发了Sim-Godson.
PS:这篇文章读的不够细致,后面再来拜读
摘录文章:
-
背景介绍:
-
现代高性能处理器设计复杂,模拟器在性能分析中至关重要。
-
龙芯2号是中国科学院计算技术研究所研制的高性能通用处理器。P1
-
早期开发的信号级模拟器 ICT-Godson 准确性高但速度和灵活性有限。
-
Sim-Godson 基于 SimpleScalar 工具集,具有高速度、高灵活性和高准确性。
-
-
背景介绍:
-
SimpleScalar 是一个用于构建各种模拟程序的系统软件框架,提供参考模拟器和机器定义框架。P2
-
龙芯2号是 64 位 MIPS-like 指令集的 RISC 处理器,采用四发射超标量结构、乱序执行和激进 Cache 设计。
-
-
Sim-Godson 的设计与实现:
-
设计目标:高速度和高灵活性。
-
实现方法:
-
功能模拟和时序模拟分离的执行驱动方式,使用独立的指令执行引擎。P2
-
软件实现优化技术:缓存常用数据、指针传递、结构缓冲等。P2
-
灵活性:充分利用 SimpleScalar 工具集提供的框架结构,提供参数化部件、调试、统计、可视化等功能。P3
-
-
基础工作:
-
实现 Linux/MIPS 体系结构支持:目标机器定义、目标二进制文件装载、目标操作系统调用代理。P3
-
实现龙芯2号微体系结构:
-
逆向调用流水级,避免流水级管理开销,提高速度。P3
-
多重误预测支持,模拟误预测路径上的指令执行。P3
-
寄存器重命名,维护指令间的依赖关系。P3P4
-
功能部件:采用事件调度方式,支持可变延迟和端口竞争。P4
-
发射:精确模拟龙芯2号的发射策略。P4
-
访存:详细模拟访存部件的各流水级。P4
-
-
-
-
Sim-Godson 的验证:
-
验证流程:设计微基准程序、验证模拟器、修正模拟器、采用完整应用程序验证、分析验证误差。P4
-
微基准程序:考察控制、执行、访存等微体系结构特性。P4
-
完整应用程序:SPEC CPU2000 基准测试程序集。P5
-
-
评测:
-
准确性测试:采用 SPEC CPU2000 程序,以 IPC 作为指标,与 ICT-Godson 进行比较。结果表明,Sim-Godson 的准确性很高。P5
-
性能评测:在 3.0 GHz Pentium 4 微机上,Sim-Godson 的速度约为 500 K 指令/秒,比 ICT-Godson 快约一个数量级。P5
-
-
结论和未来的工作:
-
Sim-Godson 在龙芯2号的性能分析工作中发挥了重要作用。
-
计划进一步优化代码,提高速度及可读性,并将其与多处理器模拟器 SimOS 结合起来。
-
参考文献:
[1] 张福新,章隆兵,胡伟武.基于SimpleScalar的龙芯CPU模拟器Sim-Godson[J].计算机学报,2007,(01):68-73.
[2] 张福新.微处理器性能分析与优化[D].中国科学院研究生院(计算技术研究所),2005.
原文地址:https://blog.csdn.net/qq_41876354/article/details/144405200
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!