当前位置: 首页 > news >正文

【论文阅读】体系结构模拟器在处理器设计过程中的作用

学习体会:

体系结构模拟器在处理器设计中扮演着越来越重要的角色,调研下常见的模拟器寻找合适的模拟器,未来需要应对多核互联模拟器复杂化、虚拟化环境模拟、功耗评估等挑战。


摘录文章:
模拟器用途:

1)在芯片开发早期,基于模拟器可以进行微结构探索和粗粒度微结构定义,此时模拟器的开发抽 象层次较高.

2)随着处理器设计的不断推进和模拟器的不断完善,基于模拟器可以持续对芯片微结构进行评 估、修改和取舍.

3)当模拟器趋于成熟,可以对微结构、多核互 联系统、一致性协议等进行详细性能分析,基于分析结果对微结构进行微调.

4)在对处理器逻辑设计进行验证的阶段,模拟器可以作为参考模型辅助进行验证,可以快速定位 逻辑设计错误.

5)在未流片之前基于模拟器就可以开展系统软件开发和适配工作,这样可以在芯片流片结束后 以最快速度启动系统软件.

6)流片结束后,基于模拟器可以辅助进行芯片硅后验证环境的搭建以及测试用例编写工作.为了 保证模拟器可以顺利辅助进行处理器设计,在整个芯片开发过程中,需要持续对模拟器进行校准,通过 持续对比模拟器和寄存器传输层(RTL)之间的差别,可以互相校准并发现模拟 器或者RTL的设计错误.

辅助处理器设计的模拟器分类:

        模拟器是体系结构量化分析的重要手段,从辅助进行处理器设计的角度看,计算机体系结构模拟 器可以分为3类:

        1)微结构探索和性能优化,为了精准模拟处理器微结构并提高模拟器运行速度,同时为了方便开发和维护,一般会继续细分为单核性能模拟器多核互联性能模拟器

        2)辅助进行系统软件开发

        3)辅助进行处理器验证

模拟器速度及作用:

不同的模拟器有不同的作用并且运行速度不同,

        1)1~10 HZ.RTL仿真运行速度.对性能模拟器和RTL进行互相校准时需要运行RTL仿真,通过校准可以找到RTL中的逻辑错误和性能模拟器的模拟错误.

        2)1~10 kHZ.时钟精准的单核性能模拟器的运行速度.intel和 AMD的时钟精确模拟器运行速度都是这个级别,基于性能模拟器可以进行处 理器微结构分析和探索.

        3)10~100 KIPS (Million Instructions Per Second).踪迹分析模拟器和处理器抽象模型的运行速度.此时基于模拟器可以初步对踪迹进行分析,获取微结构信息,还可以对处理器进行抽象,基于抽象模型对未来性能进行估算.

        4)100~500 KIPS.这是大多经过优化加速(例如通过翻译执行)后时钟精确模拟器的执行速度,例如SimpleScalar的sim-outorder 模式和 PTLSim 速度分别是740 KIPS和270 KIPS. 

        5)1~100 MIPS.指令集功能模拟器的运行速度.基于功能模拟器可以对指令集进行模拟和研究, 作为对比模型进行处理器验证等工作.

  • 处理器厂商使用模拟器的方法

    • 龙芯: 基于SimpleScalar框架开发了Sim-Godson和SimOS-Godson模拟器,用于单核和多核性能评估、系统软件开发和验证。P3

    • IBM: 使用Mamba和M1模拟器进行微结构探索和性能分析,使用Mars和Twinstar进行多核互联系统模拟和验证,并基于Mamba、Simics和BGLsim等平台进行系统软件开发。P4

    • AMD: 使用SimNow进行微结构探索,开发AMD-Core和AMD-NB模拟器进行性能评估,并使用SimNow作为参考模型进行验证,基于SimNow平台进行系统软件开发。P4P5

    • 高通: 开发了基于QEMU的ARMv8多核互联模拟器,用于模拟多级缓存、内存控制器和互联总线等模块,并进行性能评估。P6

模拟器校准方法
  • 与RTLL(寄存器传输层)进行校准: 通过微程序和完整应用程序对比模拟器和RTLL的运行结果,寻找误差原因并进行修正。P8

  • 与真实硬件进行校准: 通过程序测试获取处理器微结构信息,例如指令执行延迟,然后调整模拟器中的参数进行校准。P8P9

模拟器优化方法
  • 纵向优化

    • FPGA加速: 使用FPGA硬件实现处理器微结构,提高模拟速度。P9

    • 二进制翻译: 将目标架构指令翻译成宿主机指令进行执行,加速模拟。P9

    • 直接执行: 在宿主机上直接执行目标架构指令,结合取样技术进一步加速。P10

  • 横向优化

    • 区间模拟: 通过数学分析模型对处理器核进行抽象,提高模拟速度。P10

    • SST模拟框架: 集成多个模拟器组件,构建模块化并行模拟系统。P11

    • 并行模拟加速: 使用并行离散事件仿真技术提高模拟速度。P11

新型模拟器
  • 异构模拟器: 用于模拟GPU、FPGA等异构体系结构。P11

  • 硬件构建语言Chisel: 使用面向对象的设计方法学描述处理器功能,并生成不同目标的模拟器和硬件平台。P12

  • 自研模拟器: 用于体系结构研究中的实验评估,例如基于Pin工具的模拟器。P13

  • 专用模拟器: 用于模拟和评估处理器的某个部件或某些方面,例如缓存模拟器、功耗模拟器和面积模拟器。P13P14

总结及展望: 
  • 体系结构模拟器在处理器设计中扮演着越来越重要的角色,未来需要应对多核互联模拟器复杂化、虚拟化环境模拟、功耗评估等挑战。

原文地址:https://blog.csdn.net/qq_41876354/article/details/144334724
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mrgr.cn/news/79486.html

相关文章:

  • 扫二维码进小程序的指定页面
  • CODA 离线安装及虚幻镜迁移
  • uniapp扭蛋机组件
  • 关于GaussDB
  • 软件工程知识点
  • maven多模块开发
  • 电子商务人工智能指南 3/6 - 聊天机器人和客户服务
  • 快充诱骗协议芯片XSP08Q应用案例
  • pika:适用于大数据量持久化的类redis组件|简介及安装(一)
  • Qt之第三方库‌QXlsx使用(三)
  • shell脚本实战案例
  • UE_C++ —— 数据类型
  • 【动手学电机驱动】STM32-MBD(1)安装 STM32 硬件支持包
  • 使用IntelliJ IDEA开发Gradle插件并发布到本地
  • openharmony5.0版本源码一二级目录概览
  • 【C++游戏程序】easyX图形库还原游戏《贪吃蛇大作战》(三)
  • Scala-隐式转换
  • “切片赋值”创建列表批量操作“新”方法(Python)
  • JDK17 CompletableFuture
  • shell自动显示当前git的branch