diff options
Diffstat (limited to 'src/gpuwattch/memoryctrl.h')
| -rw-r--r-- | src/gpuwattch/memoryctrl.h | 156 |
1 files changed, 75 insertions, 81 deletions
diff --git a/src/gpuwattch/memoryctrl.h b/src/gpuwattch/memoryctrl.h index 5a15d3e..e725e85 100644 --- a/src/gpuwattch/memoryctrl.h +++ b/src/gpuwattch/memoryctrl.h @@ -29,8 +29,7 @@ * ***************************************************************************/ /******************************************************************** -* Modified by: -** +* Modified by: * * Jingwen Leng, Univeristy of Texas, Austin * * Syed Gilani, University of Wisconsin–Madison * * Tayler Hetherington, University of British Columbia * @@ -49,100 +48,95 @@ #include "basic_components.h" class MCBackend : public Component { - public: - InputParameter l_ip; - uca_org_t local_result; - enum MemoryCtrl_type mc_type; - MCParam mcp; - statsDef tdp_stats; - statsDef rtp_stats; - statsDef stats_t; - powerDef power_t; - MCBackend(InputParameter *interface_ip_, const MCParam &mcp_, - enum MemoryCtrl_type mc_type_); - void compute(); - void computeEnergy(bool is_tdp = true); - void displayEnergy(uint32_t indent = 0, int plevel = 100, bool is_tdp = true); - ~MCBackend(){}; + public: + InputParameter l_ip; + uca_org_t local_result; + enum MemoryCtrl_type mc_type; + MCParam mcp; + statsDef tdp_stats; + statsDef rtp_stats; + statsDef stats_t; + powerDef power_t; + MCBackend(InputParameter* interface_ip_, const MCParam & mcp_, enum MemoryCtrl_type mc_type_); + void compute(); + void computeEnergy(bool is_tdp=true); + void displayEnergy(uint32_t indent = 0,int plevel = 100, bool is_tdp=true); + ~MCBackend(){}; }; class MCPHY : public Component { - public: - InputParameter l_ip; - uca_org_t local_result; - enum MemoryCtrl_type mc_type; - MCParam mcp; - statsDef tdp_stats; - statsDef rtp_stats; - statsDef stats_t; - powerDef power_t; - MCPHY(InputParameter *interface_ip_, const MCParam &mcp_, - enum MemoryCtrl_type mc_type_); - void compute(); - void computeEnergy(bool is_tdp = true); - void displayEnergy(uint32_t indent = 0, int plevel = 100, bool is_tdp = true); - ~MCPHY(){}; + public: + InputParameter l_ip; + uca_org_t local_result; + enum MemoryCtrl_type mc_type; + MCParam mcp; + statsDef tdp_stats; + statsDef rtp_stats; + statsDef stats_t; + powerDef power_t; + MCPHY(InputParameter* interface_ip_, const MCParam & mcp_, enum MemoryCtrl_type mc_type_); + void compute(); + void computeEnergy(bool is_tdp=true); + void displayEnergy(uint32_t indent = 0,int plevel = 100, bool is_tdp=true); + ~MCPHY(){}; }; class MCFrontEnd : public Component { - public: - ParseXML *XML; - InputParameter interface_ip; - enum MemoryCtrl_type mc_type; - MCParam mcp; - selection_logic *MC_arb; - ArrayST *frontendBuffer; - ArrayST *readBuffer; - ArrayST *writeBuffer; + public: + ParseXML *XML; + InputParameter interface_ip; + enum MemoryCtrl_type mc_type; + MCParam mcp; + selection_logic * MC_arb; + ArrayST * frontendBuffer; + ArrayST * readBuffer; + ArrayST * writeBuffer; - ArrayST *PRT; - ArrayST *threadMasks; - ArrayST *PRC; - double coalesce_scale; + ArrayST * PRT; + ArrayST * threadMasks; + ArrayST * PRC; + double coalesce_scale; - MCFrontEnd(ParseXML *XML_interface, InputParameter *interface_ip_, - const MCParam &mcp_, enum MemoryCtrl_type mc_type_); - void computeEnergy(bool is_tdp = true); - void displayEnergy(uint32_t indent = 0, int plevel = 100, bool is_tdp = true); - ~MCFrontEnd(); + MCFrontEnd(ParseXML *XML_interface,InputParameter* interface_ip_, const MCParam & mcp_, enum MemoryCtrl_type mc_type_); + void computeEnergy(bool is_tdp=true); + void displayEnergy(uint32_t indent = 0,int plevel = 100, bool is_tdp=true); + ~MCFrontEnd(); }; class DRAM : public Component { - public: - ParseXML *XML; - InputParameter interface_ip; - enum Dram_type dram_type; - DRAMParam dramp; - powerDef power_t; - DRAM(ParseXML *XML_interface, InputParameter *interface_ip_, - enum Dram_type dram_type_); - void set_dram_param(); - void computeEnergy(bool is_tdp = true); - void displayEnergy(uint32_t indent = 0, int plevel = 100, bool is_tdp = true); - ~DRAM(); + public: + ParseXML *XML; + InputParameter interface_ip; + enum Dram_type dram_type; + DRAMParam dramp; + powerDef power_t; + DRAM(ParseXML *XML_interface,InputParameter* interface_ip_, enum Dram_type dram_type_); + void set_dram_param(); + void computeEnergy(bool is_tdp=true); + void displayEnergy(uint32_t indent = 0,int plevel = 100, bool is_tdp=true); + ~DRAM(); }; class MemoryController : public Component { - public: - ParseXML *XML; - InputParameter interface_ip; - enum MemoryCtrl_type mc_type; - MCParam mcp; - DRAM *dram; - MCFrontEnd *frontend; - MCBackend *transecEngine; - MCPHY *PHY; - Pipeline *pipeLogic; + public: + ParseXML *XML; + InputParameter interface_ip; + enum MemoryCtrl_type mc_type; + MCParam mcp; + DRAM * dram; + MCFrontEnd * frontend; + MCBackend * transecEngine; + MCPHY * PHY; + Pipeline * pipeLogic; - // Add coalescing logic related modules with each memory controller --Syed - // Gilani + //Add coalescing logic related modules with each memory controller --Syed Gilani + - // clock_network clockNetwork; - MemoryController(ParseXML *XML_interface, InputParameter *interface_ip_, - enum MemoryCtrl_type mc_type_, enum Dram_type dram_type_); - void set_mc_param(); - void computeEnergy(bool is_tdp = true); - void displayEnergy(uint32_t indent = 0, int plevel = 100, bool is_tdp = true); - ~MemoryController(); + //clock_network clockNetwork; + MemoryController(ParseXML *XML_interface,InputParameter* interface_ip_, enum MemoryCtrl_type mc_type_,enum Dram_type dram_type_); + void set_mc_param(); + void computeEnergy(bool is_tdp=true); + void displayEnergy(uint32_t indent = 0,int plevel = 100, bool is_tdp=true); + ~MemoryController(); }; #endif /* MEMORYCTRL_H_ */ |
