00001 /* 00002 * bpred_panalyzer.h - branch prediction power analysis 00003 * 00004 * 00005 * This file is a part of the PowerAnalyzer tool suite written by 00006 * Taeho Kgil as a part of the PowerAnalyzer Project. 00007 * 00008 * The tool suite is currently maintained by Taeho Kgil. 00009 * 00010 * Copyright (C) 2003 by Taeho Kgil 00011 * 00012 * Revised by Taeho Kgil 00013 * 00014 * This source file is distributed "as is" in the hope that it will be 00015 * useful. The tool set comes with no warranty, and no author or 00016 * distributor accepts any responsibility for the consequences of its 00017 * use. 00018 * 00019 * Everyone is granted permission to copy, modify and redistribute 00020 * this tool set under the following conditions: 00021 * 00022 * This source code is distributed for non-commercial use only. 00023 * Please contact the maintainer for restrictions applying to 00024 * commercial use. 00025 * 00026 * Permission is granted to anyone to make or distribute copies 00027 * of this source code, either as received or modified, in any 00028 * medium, provided that all copyright notices, permission and 00029 * nonwarranty notices are preserved, and that the distributor 00030 * grants the recipient permission for further redistribution as 00031 * permitted by this document. 00032 * 00033 * Permission is granted to distribute this file in compiled 00034 * or executable form under the same conditions that apply for 00035 * source code, provided that either: 00036 * 00037 * A. it is accompanied by the corresponding machine-readable 00038 * source code, 00039 * B. it is accompanied by a written offer, with no time limit, 00040 * to give anyone a machine-readable copy of the corresponding 00041 * source code in return for reimbursement of the cost of 00042 * distribution. This written offer must permit verbatim 00043 * duplication by anyone, or 00044 * C. it is distributed by someone who received only the 00045 * executable form, and is accompanied by a copy of the 00046 * written offer of source code that they received concurrently. 00047 * 00048 * In other words, you are welcome to use, share and improve this 00049 * source file. You are forbidden to forbid anyone else to use, share 00050 * and improve what you give them. 00051 */ 00052 00053 #ifndef BPRED_PANALYZER_H 00054 #define BPRED_PANALYZER_H 00055 00056 /* number of virtual address */ 00057 #define NVA 40 00058 /* number of physicalo address */ 00059 #define NPA 32 00060 00061 /* bpred power specification type: 00062 * contain all the info for analyzing bpred pdissipation */ 00063 typedef struct _fu_lv1_bpred_pspec_t { 00064 char *name; /* name */ 00065 double freq, volt; /* operating frequency/supply voltage */ 00066 double iCeff; 00067 unsigned long bpred_access; 00068 double bpred_total_power; 00069 double bpred_power; 00070 double max_power; 00071 } fu_lv1_bpred_pspec_t; 00072 00073 /* create level 1 power model bpred panalyzer database 00074 * return an allocated location pointer. 00075 * caution: please deallocate the bpred space */ 00076 fu_lv1_bpred_pspec_t * 00077 create_bpred_panalyzer( 00078 char *name, /* bpred name */ 00079 int freq,double volt, 00080 double iCeff); 00081 00082 /* level 1 power model bpred panalyzer */ 00083 void 00084 lv1_bpred_panalyzer( 00085 fu_lv1_bpred_pspec_t *pspec 00086 ); 00087 #endif /* BPRED_PANALYZER_H */