mem 学习分析 —— 1. DRAMSys Interface
在 gem5/src/python/gem5/components/memory/dramsys.py 中给出统一DRAM interface,
主要解释 dramsys.hh、 dramsys.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

浙公网安备 33010602011771号