首页 > 芯片设计 > 开始阅读并修改SESC模拟器代码,开始写关于SESC的日志

开始阅读并修改SESC模拟器代码,开始写关于SESC的日志

2011年9月5日 sigma 发表评论 阅读评论

这段时间由于“科研”需要,需要改模拟器,经过和师兄们商量,最后基本定了用SESC(SuperESCalar Simulator)。但是,在使用SESC的过程中,发现文档极少(甚至完整的安装文档都没有),唯一比较好的参考来源就是偶尔有一两个更新的SESC邮件列表。

而这些天,我要开始看SESC模拟器代码,并且需要根据实验需求改一些SESC模拟器的结构,趁这个机会,我打算有空的话,把一些阅读的文摘写到这里,也算是对SESC的一些“贡献”吧。

先把官方的SESC介绍简要翻译下吧:

什么是模拟器

在微体系结构领域,经常会有一些新的结构提出,这些结构相比于老的处理器结构,可能(注意,仅仅是可能)性能更高,功耗更小,更可靠,等等。但是,直接将这些结构用硬件实现的代价是昂贵的,因此,出现了微体系结构的模拟器,通过模拟器,不仅能模拟一个微体系结构设计对应的性能,还能模拟面积,功耗等等。

什么是SESC

SESC是最早由UIUC的一些研究单位开发并使用的微体系结构的模拟器。它可以对不同类型的处理器建模,包括单核处理器,片上多核处理器,以及PIM(processors-in-memory)。其可以模拟支持乱序发射,转移猜测的流水线,以及各种其他的现代处理器所有的单元,如cache层次,总线等等。

SESC是一个事件驱动的模拟器,这是一个从MINT衍生而来的,MINT是一个古老的模拟MIPS处理器的项目。处理器核中大部分的功能函数都是每一拍都会执行,不过也有少部分的函数只有需要的时候执行(通过事件驱动)。

 

SESC的代码时用C++写的,基于面向对象的编程思想,主要的类有Resource,GProcessor,FetchEngine,ExecutionFlow,Cluster,DepWindow等,其大致关系如下:

图片来源:http://iacoma.cs.uiuc.edu/~paulsack/sescdoc/project.html#pipeline

本文作者: Sigma    在新浪微博关注SigmaSigmaWeibo    RSS订阅本博客
本文链接: http://www.sigma.me/2011/09/05/start-to-study-sesc.html
本博客采用知识共享署名—非商业性-禁止演绎使用3.0协议进行许可,转载请保留作者和原文链接。

分类: 芯片设计 标签: ,

  1. 2011年9月8日07:06 | #1

    呵呵,强力支持!

  2. 2011年9月8日07:32 | #2

    @xiaoxiao

    谢谢笑姐支持~不过哥因为SESC不支持Directory-based coherence,哥只好转战Godson-simulator…

  1. 本文目前尚无任何 trackbacks 和 pingbacks.

无觅相关文章插件,快速提升流量