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)

 

原文地址:https://www.cnblogs.com/cyjsegull/p/4526297.html