【论文阅读】基于 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-Godson[J].计算机学报,2007,(01):68-73.

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

相关推荐
开源架构师1 小时前
开源架构与云计算的传奇融合
大数据·架构·开源·云计算·应用案例·开源架构·容器化部署
开源架构师3 小时前
开源架构的性能优化:极致突破,引领卓越
性能优化·架构·开源·代码优化·数据库优化·异步处理·缓存策略
lalahappy3 小时前
Qwen 论文阅读记录
论文阅读
小嗷犬7 小时前
【论文笔记】VisionZip: Longer is Better but Not Necessary in Vision Language Models
论文阅读·人工智能·语言模型·大模型·多模态
杨荧9 小时前
【开源免费】基于Vue和SpringBoot的图书进销存管理系统(附论文)
前端·javascript·vue.js·spring boot·spring cloud·java-ee·开源
说私域10 小时前
社区团购创新模式与新兴技术融合的深度探索:基于开源、AI 智能名片、2+1 链动模式与 S2B2C 商城小程序
人工智能·小程序·开源
薛定谔的短耳猫10 小时前
【开源】基于SpringBoot框架的音乐网站与分享平台(计算机毕业设计)+万字说明文档 T011
spring boot·开源·课程设计
奥顺10 小时前
从零开始:PHP基础教程系列-第3篇:控制结构:条件语句与循环
大数据·mysql·开源·php
过去式的马马马11 小时前
aippt:AI 智能生成 PPT 的开源项目
人工智能·开源·powerpoint