没有合适的资源?快使用搜索试试~ 我知道了~
3. SimpleScalar简单分析1
需积分: 0 0 下载量 16 浏览量
2022-08-03
14:46:19
上传
评论
收藏 179KB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/86287709/0001-71934b04cb5c35e3c544f076ca9f360a_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
2页
2. SimpleScalar中的虚拟的资源部件SimpleScalar 模拟器采用的是执行驱动,所以在模拟器中要对大部分传统的RISC-CPU部件进行说明,诸
资源推荐
资源详情
资源评论
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![tgz](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/release/download_crawler_static/86287709/bg1.jpg)
SimpleScalar Simple Analysis
1. SimpleScalar introduction
Simplescalar工具
集起源于 80 年代中后期由Manoj Franklin开发的模拟工具。1995
年夏,Steve Bennett开发了SimpleScalar x86 工具。SimpleScalar模拟器由Intel公司微
型计算机研究室的Todd M. Austin在 1996 年最终编写而成,美国麦迪逊威斯康星大学计
算机学院的Doug Burger参与开发和文档整理工作,二人共同拥有该模拟器的版权。
Austin与Bennett两人都是威斯康星大学计算机学院的助手,由Guri Sohi教授指导研究工
作。
SimpleScalar模拟器模拟
的是一个超标量,5 级流水的RISC体系结构的CPU模型,提
供了从最简单到超标量乱序发射的不同的模拟程序。sim-outorder 是一个具有完整功能的
模拟程序。在sim-outorder中使用了几乎所有的模拟资源,在阅读代码之前对模拟的体系
结构和模拟资源充分的了解,能够大大提高下一步工作的效率。
Simplescalar 模拟器在功能级上实现了执行驱动、解释执行,在行为级上实现了流
水
线模拟。该工具集提供了一个以 GCC 为主的编译器以及相关组件,能够产生基于
Simplescalar 体系结构的目标代码,然后在 Simplescalar 模拟器上运行。
运行模拟器时,主程序 main( )做所有的初始化工作,并将二进制目标代码载入内存,
然后调用 sim_main(),sim_main()在每个模拟器中单独说明,预先译码整个正文段,加快
模拟,然后开始目标程序的模拟。
2. SimpleScalar中的虚拟的资源部件
SimpleScalar 模拟器采用的是执行驱动,所以在模拟器中要对大部分传统的
RISC-CPU部件进行说明,诸如寄存器文件,存储系统(cache+mem),TLB,功能单元,
保留站,再定序缓冲,分支预测部件,和 5 级流水线等。同时针对模拟的需要,在几乎所
有硬件资源的软描述中都添加或简化了许多功能。
SimpleScalar是使用C语言编写的。下面以sim-outorder为例说明SimpleScalar的执行
流程。主流
程从main.c文件中的主函数main()开始。阅读main()可以看到它主要在作模拟前
的准备工作,而真正的模拟执行跳转到 sim-outorder.c文件中模拟主函数sim_main()。函
数sim_main()主干是一个死循环,它的流程完全模拟流水线的处理过程,不同的是由于模拟
的需要将流水的顺序逆转,以使逻辑上的流水站不要提前处理要下一拍才能处理的指令。模
拟结束通过信号量返回主函数main(),退出。
3. sim_main()流程
首先是一些准备工作,然后开始进入 5 级流水:
ruu_commit()→ruu_writeback()→ruu_issue()→ruu_dispatch()→ruu_fetch(),然后在
每个流水周期结束后,cycle需要加“1”。
SimpleScalar是采
用的执行方式驱动,所以在模拟器中要对目标处理器+存储器的几
乎全部单元进行说明,而被模拟程序就在这些虚拟的部件上“运行”,从中得到统计分析所需
的数据。要理解SimpleScalar的代码,首先要熟悉它所定义的虚拟部件。模拟器中的部分
资源是处理器的映像,部分资源是模拟所需引入的特有资源,不好直接映射到硬件资源。下
面分别说明这些资源在模拟器中的描述方式:
模拟器运行的可执行文件描述:在模拟器中运行的是由SimpleScalar附带的
编译器sslittle-na-sstrix-gcc或者ssbig-na-sstrix-gcc编译生成的。这种可执行文件
1/2
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/dc9f17732fc442dc9b3f171e8a8d1947_weixin_35797090.jpg!1)
城北伯庸
- 粉丝: 28
- 资源: 315
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)