gem5 se.py总结
来源:互联网 发布:阿里云登陆 编辑:程序博客网 时间:2024/05/21 23:48
gem5有两种基本模式
FS:
能够启动完整的操作系统
建模硬件设备
中断,例外, 特权指令,故障处理函数。
SE:
用来运行单个应用,一系列指令在MP/SMT上。
建模用户可见的ISA和常见的系统调用
模拟系统调用,通过调用主机操作系统。
简化的地址翻译模型,没有调度
这两个模式是在编译时进行选择的,尽管代码没有很大差别。
你所关注的就是一个对象(C++或者python对象)
从SimObject基类继承而来。
基类包含创建的一般代码,配置参数,命名,检查点。等等。
针对对象类型的统一的基于方法的API
CPU, cache, memory
跨实现的插入兼容性。
功能性,详细的CPU模型
传统的cache VS 间接索引cache
很容易复制,多核,多个系统。
关于event
标准的事件队列timing模型。
全局逻辑时间,用tick计算
与实际时间没有固定关系
在我们的例子中通常以皮秒计量【百亿分之一秒】
每一个object调度它自己的事件。
可以做详细程度和性能的trade-off
现在你知道一个事件驱动的模拟器是如何工作的了,simulator从事件队列取出事件,object会产生事件,object又把它产生的新事件加入到事件队列中。
例如:
一个cpu通常按照固定的时间间隔来调度事件,
每个周期或者n个皮秒
如果stalled或者idle就不会调度
关于端口
端口是把MemObjects链接在一起的方法。
每个MemObjects子类都有它自己的端口子类。
这些端口子类用来给相应MemObjects子类发送packets
每对MemObjects都是通过一对端口连接的。
函数对来负责在端口之间传输packets。
sendTiming() ------recvTiming()
- gem5 se.py总结
- gem5 Multiprogrammed workloads in se mode
- gem5 x86 se 连接调试器错误
- gem5 Multiprogrammed workloads in se mode
- Gem5学习方法总结
- GEM5使用总结
- Run SPLAHS2 under SE mode on gem5在gem5的SE模式下,运行SPLASH2程序
- SE总结
- gem5下用se模式运行自己的测试程序
- gem5
- 新版本gem5的splash2 run.py修改版本
- gem5: 可运行的spec2006 benchmark总结
- protel99 se 使用 总结
- JAVA SE 总结
- java se 知识点 总结
- Java SE初步总结
- java se基础知识总结!!
- java se总结
- Order Management Suite - Pricing and Availability Form Library
- Python如何打开外部文件?
- Symmetric Tree -- leetcode
- 汇编参数入栈的理解
- win7 64位与Ubuntu14.10 64位启动的问题
- gem5 se.py总结
- 黑马程序员--java高新技术--反射
- Kmeans K值的确定
- jQuery获取url链接
- RAM,SRAM,SDRAM,DDR SDRAM区别
- hibernate4实战1—入门
- 核心定位和地图的相关功能-浅析
- OAuth 2.0
- theta连接