4a5
> * Copyright (c) 2010-2013 Advanced Micro Devices, Inc.
28c29
< * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.”
---
> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
46,49c47,49
< class ArrayST :public Component{
< public:
< ArrayST(){};
< ArrayST(const InputParameter *configure_interface, string _name, enum Device_ty device_ty_, bool opt_local_=true, enum Core_type core_ty_=Inorder, bool _is_default=true);
---
> class ArrayST : public McPATComponent {
> public:
> static double area_efficiency_threshold;
51,57c51,63
< InputParameter l_ip;
< string name;
< enum Device_ty device_ty;
< bool opt_local;
< enum Core_type core_ty;
< bool is_default;
< uca_org_t local_result;
---
> // These are used for the CACTI interface.
> static int ed;
> static int delay_wt;
> static int cycle_time_wt;
> static int area_wt;
> static int dynamic_power_wt;
> static int leakage_power_wt;
> static int delay_dev;
> static int cycle_time_dev;
> static int area_dev;
> static int dynamic_power_dev;
> static int leakage_power_dev;
> static int cycle_time_dev_threshold;
59,62c65,71
< statsDef tdp_stats;
< statsDef rtp_stats;
< statsDef stats_t;
< powerDef power_t;
---
> InputParameter l_ip;
> enum Device_ty device_ty;
> bool opt_local;
> enum Core_type core_ty;
> bool is_default;
> uca_org_t local_result;
> statsDef stats_t;
64,66c73,80
< virtual void optimize_array();
< virtual void compute_base_power();
< virtual ~ArrayST();
---
> ArrayST(XMLNode* _xml_data, const InputParameter *configure_interface,
> string _name, enum Device_ty device_ty_, double _clockRate = 0.0f,
> bool opt_local_ = true,
> enum Core_type core_ty_ = Inorder, bool _is_default = true);
> void computeArea();
> void computeEnergy();
> void compute_base_power();
> ~ArrayST();
68c82
< void leakage_feedback(double temperature);
---
> void leakage_feedback(double temperature);
71,101c85
< class InstCache :public Component{
< public:
< ArrayST* caches;
< ArrayST* missb;
< ArrayST* ifb;
< ArrayST* prefetchb;
< powerDef power_t;//temp value holder for both (max) power and runtime power
< InstCache(){caches=0;missb=0;ifb=0;prefetchb=0;};
< ~InstCache(){
< if (caches) {//caches->local_result.cleanup();
< delete caches; caches=0;}
< if (missb) {//missb->local_result.cleanup();
< delete missb; missb=0;}
< if (ifb) {//ifb->local_result.cleanup();
< delete ifb; ifb=0;}
< if (prefetchb) {//prefetchb->local_result.cleanup();
< delete prefetchb; prefetchb=0;}
< };
< };
<
< class DataCache :public InstCache{
< public:
< ArrayST* wbb;
< DataCache(){wbb=0;};
< ~DataCache(){
< if (wbb) {//wbb->local_result.cleanup();
< delete wbb; wbb=0;}
< };
< };
<
< #endif /* TLB_H_ */
---
> #endif /* ARRAY_H_ */