GEM5中各种对象继承关系

基本模块继承关系如下(不一定全,但是有参考价值):

 继承SimObject的类如下:

继承SimObject的模拟对象(对应上图中的Too much objects...)

CPU处理单元、指令控制相关

MinorFU(cpu/minor/func_unit.hh)

FUPool(cpu/o3/fu_pool.hh)

MinorFUPool(cpu/minor/func_unit.hh)

OpDesc(cpu/func_unit.hh)

FUDesc(cpu/func_unit.hh)

IntrControl(cpu/intr_control.hh)

MinorFUTiming(cpu/minor/func_unit.hh)

MinorOpClassSet(cpu/minor/func_unit.hh)

MinorOpClass(cpu/minor/func_unit.hh)

BPredUnit(cpu/pred/bpred_unit.hh)

TimingExpr(cpu/timing_expr.hh)

KvmVM(cpu/kvm/vm.hh)

BaseTLB(sim/tlb.hh)

DVFSHandler(sim/dvfs_handler.hh)

InstTracer(sim/insttracer.hh)

中断相关

Interrupts(arch/*/interrupts.hh)

ISA相关

ISA (arch/*/isa.hh)

系统时钟类

ClockDomain(sim/clock_domain.hh)

系统电压控制类

VoltageDomain(sim/voltage_domain.hh)

Bios相关类

SMBiosStructure(arch/x86/bios/smbios.hh)

SMBiosTable(arch/x86/bios/smbios.hh)

RSDP(arch/x86/bios/acpi.hh)

SysDescTable(arch/x86/bios/acpi.hh)

E820Entry(arch/x86/bios/e820.hh)

FloatingPointer(arch/x86/bios/intelmp.hh)

ExtConfigEntry(arch/x86/bios/intelmp.hh)

ConfigTable(arch/x86/bios/intelmp.hh)

 

BaseConfigEntry(arch/x86/bios/intelmp.hh)

内存&&cache相关类

CacheMemory(mem/ruby/system/CacheMemory.h)

DirectoryMemory(mem/ruby/system/DirectoryMemory.hh)

Prefetcher(mem/ruby/structures/Prefetcher.hh)

网络相关

FaultModel(mem/ruby/network/fault_model/FaultModel.h)

BasicLink(mem/ruby/network/BasicLink.hh)

EtherObject(dev/etherobject.hh)

WireBuffer(mem/ruby/system/WireBuffer.hh)

Vnc模拟类

VncInput(base/vnc/vncinput.hh)

终端terminal模拟类

Terminal(dev/terminal.hh)

进程模拟类

Process(sim/process.hh)

模拟类根节点

Root(sim/root.hh)

探测器模拟类

ProbeListenerObject(sim/probe/probe.hh)

外设相关

IntLine(dev/x86/intdev.hh)

IdeDisk(dev/ide_disk.hh)

EtherDump(dev/etherdump.hh)

DiskImage(dev/disk_image.hh)

IntSourcePin(dev/x86/intdev.hh)

IntSinkPin(dev/x86/intdev.hh)

SimpleDisk(dev/simple_disk.hh)

SouthBridge(dev/x86/south_bridge.hh)

平台模拟

Platform(dev/platform.hh)

 

gem5学习基础完整版,介绍了gem5环境的安装,以及一些基本概念。 gem5仿真器是用于计算机系统体系结构研究的模块化平台,涵盖系统级体系结构以及处理器微体系结构。1、多个可互换的CPU型号。 gem5提供了四种基于解释的CPU模型:简单的单CPI CPU; 有序CPU的详细模型和无序CPU的详细模型。 这些CPU模型使用通用的高级ISA描述。 此外,gem5具有基于KVM的CPU,该CPU使用虚拟化来加速仿真。 2、完全集成的GPU模型,可以执行真实计算机ISA,并支持与主机CPU共享的虚拟内存。 3、NoMali GPU模型。 gem5带有集成的NoMali GPU模型,该模型与Linux和Android GPU驱动程序堆栈兼容,因此无需进行软件渲染。 NoMali GPU不产生任何输出,但可以确保以CPU为心的实验产生代表性的结果。 4、事件驱动的内存系统。 gem5具有详细的,事件驱动的内存系统,包括高速缓存,交叉开关,探听过滤器以及快速而准确的DRAM控制器模型,用于捕获当前和新兴内存的影响,例如内存。 LPDDR3 / 4/5,DDR3 / 4,GDDR5,HBM1 / 2/3,HMC,WideIO1 / 2。 可以灵活地布置组件,例如,以具有异构存储器的复杂的多级非均匀高速缓存层次结构来建模。 5、基于跟踪的CPU模型,可播放弹性跟踪,这些跟踪是由附着到乱序CPU模型的探针生成的依赖项和定时注释的跟踪。 跟踪CPU模型的重点是以快速,合理的方式而不是使用详细的CPU模型来实现内存系统(高速缓存层次结构,互连和主内存)的性能探索。 6、异构和异构多核。 可以将CPU模型和缓存组合到任意拓扑,从而创建同构异构的多核系统。 MOESI侦听缓存一致性协议可保持缓存一致性。 7、多种ISA支持。 gem5将ISA语义与其CPU模型解耦,从而实现对多个ISA的有效支持。 目前gem5支持Alpha,ARM,SPARC,MIPS,POWER,RISC-V和x86 ISA。 有关更多信息,请参见支持的体系结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值