mem 学习分析 —— 1. DRAMSys Interface

gem5/src/python/gem5/components/memory/dramsys.py 中给出统一DRAM interface,

主要解释 dramsys.hhdramsys.cc 的内容解析。

首先给出 dramsys 的代码:

#ifndef __MEM_DRAMSYS_H__
#define __MEM_DRAMSYS_H__

#include "DRAMSys/config/DRAMSysConfiguration.h"
#include "mem/abstract_mem.hh"
#include "mem/dramsys_wrapper.hh"
#include "params/DRAMSys.hh"

namespace gem5
{

namespace memory
{

class DRAMSys : public AbstractMemory
{
    PARAMS(DRAMSys);
    sc_gem5::TlmTargetWrapper<> tlmWrapper;

  public:
    DRAMSys(Params const& params);

    gem5::Port& getPort(const std::string& if_name, PortID idx) override;

    DrainState drain() override;

    void serialize(CheckpointOut& cp) const override;
    void unserialize(CheckpointIn& cp) override;

  private:
    ::DRAMSys::Config::Configuration config;
    DRAMSysWrapper dramSysWrapper;
};

} // namespace memory
} // namespace gem5

#endif // __MEM_DRAMSYS_HH__

如何通过接口port实现通信的?

下一章我们将主要讲一下继承的父类 AbstractMemory

下一章节zhuyao

posted @ 2025-06-20 15:34  松—松  阅读(39)  评论(0)    收藏  举报