00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049 #ifndef BASIC_COMPONENTS_H_
00050 #define BASIC_COMPONENTS_H_
00051
00052 #include "XML_Parse.h"
00053 #include "area.h"
00054 #include "decoder.h"
00055 #include "parameter.h"
00056
00057 #include "array.h"
00058 #include "wires.h"
00059 #include "arbiter.h"
00060
00061 #include <vector>
00062
00063
00064
00065 typedef struct{
00066 Cache gpredictor, lpredictor, chooser, ras;
00067 final_results result_gpredictor, result_lpredictor, result_chooser, result_ras;
00068 int predictor_accesses, ras_accesses;
00069 powerDef tot_power, max_power;
00070 double area, maxPower, runtimeDynamicPower, totalLeakage, totalPower;
00071 } predictor_core;
00072
00073 typedef struct{
00074
00075 Cache tlb;
00076 final_results result_tlb;
00077
00078 int total_accesses;
00079 int read_accesses;
00080 int write_accesses;
00081 int write_hits;
00082 int read_hits;
00083 int read_misses;
00084 int write_misses;
00085 int total_hits;
00086 int total_misses;
00087 powerDef tot_power, max_power;
00088 double area, maxPower, runtimeDynamicPower;
00089 } tlb_core;
00090
00091 typedef struct{
00092
00093 Cache caches, missb, ifb, prefetchb, wbb;
00094 final_results result_caches, result_missb, result_ifb, result_prefetchb, result_wbb;
00095
00096 int total_accesses;
00097 int read_accesses;
00098 int write_accesses;
00099 int total_hits;
00100 int total_misses;
00101 int read_hits;
00102 int write_hits;
00103 int read_misses;
00104 int write_misses;
00105 int replacements;
00106 int write_backs;
00107 int miss_buffer_access;
00108 int fill_buffer_accesses;
00109 int prefetch_buffer_accesses;
00110 int prefetch_buffer_writes;
00111 int prefetch_buffer_reads;
00112 int prefetch_buffer_hits;
00113 int wbb_writes;
00114 int wbb_reads;
00115 powerDef tot_power, max_power;
00116 double area, maxPower, runtimeDynamicPower;
00117 } cache_processor;
00118
00119 typedef struct{
00120
00121 Cache btb;
00122 final_results result_btb;
00123
00124 int total_accesses;
00125 int read_accesses;
00126 int write_accesses;
00127 int total_hits;
00128 int total_misses;
00129 int read_hits;
00130 int write_hits;
00131 int read_misses;
00132 int write_misses;
00133 int replacements;
00134 powerDef tot_power, max_power;
00135 double area, maxPower, runtimeDynamicPower, totalLeakage, totalPower;;
00136 } BTB_core;
00137
00138 typedef struct{
00139
00140 Cache rat;
00141 final_results result_rat;
00142
00143 int total_accesses;
00144 int read_accesses;
00145 int write_accesses;
00146 powerDef tot_power, max_power;
00147 double area, maxPower, runtimeDynamicPower, totalLeakage, totalPower;
00148 } RAT_core;
00149
00150 typedef struct{
00151
00152 Cache RF;
00153 final_results result_RF;
00154
00155 int total_accesses;
00156 int read_accesses;
00157 int write_accesses;
00158 powerDef tot_power, max_power;
00159 double area, maxPower, runtimeDynamicPower;
00160 } RF_core;
00161
00162 typedef struct{
00163
00164 Cache ROB;
00165 final_results result_ROB;
00166
00167 int total_accesses;
00168 int read_accesses;
00169 int write_accesses;
00170 powerDef tot_power, max_power;
00171 double area, maxPower, runtimeDynamicPower, totalLeakage, totalPower;
00172 } ROB_core;
00173
00174 typedef struct{
00175
00176 Cache IB;
00177 final_results result_IB;
00178
00179 int total_accesses;
00180 int read_accesses;
00181 int write_accesses;
00182 powerDef tot_power, max_power;
00183 double area, maxPower, runtimeDynamicPower;
00184 } IB_core;
00185
00186 typedef struct{
00187
00188 Cache RS;
00189 final_results result_RS;
00190
00191 int total_accesses;
00192 int read_accesses;
00193 int write_accesses;
00194 powerDef tot_power, max_power;
00195 double area, maxPower, runtimeDynamicPower;
00196 } RS_core;
00197
00198 typedef struct{
00199
00200 Cache LSQ;
00201 final_results result_LSQ;
00202
00203 int total_accesses;
00204 int read_accesses;
00205 int write_accesses;
00206 powerDef tot_power, max_power;
00207 double area,maxPower, runtimeDynamicPower;
00208 } LSQ_core;
00209
00210 typedef struct{
00211
00212 wire wires;
00213 final_results result_wire;
00214
00215 int total_accesses;
00216 powerDef tot_power, max_power;
00217 double area,maxPower, runtimeDynamicPower;
00218 } resultbus;
00219
00220 #endif