【论文阅读】基于 SimpleScalar 的龙芯CPU模拟器 Sim-Godson

学习体会:

学习追踪龙芯系列"工程流"论文,看看如何做工程,完成→完美

之前写过体系结构模拟器,龙芯团队自研模拟器在ICT-godson 模拟器基础上,继续开发了Sim-Godson.

PS:这篇文章读的不够细致,后面再来拜读


摘录文章:
  • 背景介绍

    • 现代高性能处理器设计复杂,模拟器在性能分析中至关重要。

    • 龙芯2号是中国科学院计算技术研究所研制的高性能通用处理器。P1

    • 早期开发的信号级模拟器 ICT-Godson 准确性高但速度和灵活性有限。

      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-GodsonJ.计算机学报,2007,(01):68-73.

2 张福新.微处理器性能分析与优化D.中国科学院研究生院(计算技术研究所),2005.

相关推荐
冬奇Lab1 小时前
Code Agent 解剖(17):AgentTeams——消息怎么在 agent 之间传递?
人工智能·开源
冬奇Lab1 小时前
一天一个开源项目(第205篇):PenguinHarness - 让 AI 来构建 AI
人工智能·开源·资讯
EQUINOX13 小时前
【论文精读】| LLaVA
论文阅读·人工智能·深度学习
pnoker3 小时前
IoT DC3 参与指南:文档、Demo、CLI 与贡献路径
物联网·开源·开源社区·agpl·贡献指南
m4Rk_4 小时前
【论文阅读】Agent 记忆机制(57):MemSearch-o1——从查询词元生长证据,重组 Deep Search 记忆路径
论文阅读·人工智能·学习·开源·github
Crazy_MT5 小时前
不越狱,iPhone 为什么也能安装任意 IPA?聊聊 iLoader、SideStore 和 LiveContainer 的原理
ios·开源
ccbw165 小时前
CH397 技术解析:USB2.0转百兆网口单芯片的紧耦合IP
硬件架构
ApacheSeaTunnel6 小时前
用 Apache SeaTunnel 同步 DynamoDB 到 Redis,一个配置文件就够
redis·开源·seatunnel·数据同步·dynamodb
白鲸开源8 小时前
DolphinScheduler 挂了你不知道?Prometheus + Grafana 监控兜底方案,亲测可用
开源·grafana·监控