iew_impl.hh (8232:b28d06a175be) | iew_impl.hh (8240:38befb82b2c9) |
---|---|
1/* 2 * Copyright (c) 2010 ARM Limited 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 180 unchanged lines hidden (view full) --- 189 .flags(total); 190 191 iewExecSquashedInsts 192 .name(name() + ".iewExecSquashedInsts") 193 .desc("Number of squashed instructions skipped in execute"); 194 195 iewExecutedSwp 196 .init(cpu->numThreads) | 1/* 2 * Copyright (c) 2010 ARM Limited 3 * All rights reserved. 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 180 unchanged lines hidden (view full) --- 189 .flags(total); 190 191 iewExecSquashedInsts 192 .name(name() + ".iewExecSquashedInsts") 193 .desc("Number of squashed instructions skipped in execute"); 194 195 iewExecutedSwp 196 .init(cpu->numThreads) |
197 .name(name() + ".EXEC:swp") | 197 .name(name() + ".exec_swp") |
198 .desc("number of swp insts executed") 199 .flags(total); 200 201 iewExecutedNop 202 .init(cpu->numThreads) | 198 .desc("number of swp insts executed") 199 .flags(total); 200 201 iewExecutedNop 202 .init(cpu->numThreads) |
203 .name(name() + ".EXEC:nop") | 203 .name(name() + ".exec_nop") |
204 .desc("number of nop insts executed") 205 .flags(total); 206 207 iewExecutedRefs 208 .init(cpu->numThreads) | 204 .desc("number of nop insts executed") 205 .flags(total); 206 207 iewExecutedRefs 208 .init(cpu->numThreads) |
209 .name(name() + ".EXEC:refs") | 209 .name(name() + ".exec_refs") |
210 .desc("number of memory reference insts executed") 211 .flags(total); 212 213 iewExecutedBranches 214 .init(cpu->numThreads) | 210 .desc("number of memory reference insts executed") 211 .flags(total); 212 213 iewExecutedBranches 214 .init(cpu->numThreads) |
215 .name(name() + ".EXEC:branches") | 215 .name(name() + ".exec_branches") |
216 .desc("Number of branches executed") 217 .flags(total); 218 219 iewExecStoreInsts | 216 .desc("Number of branches executed") 217 .flags(total); 218 219 iewExecStoreInsts |
220 .name(name() + ".EXEC:stores") | 220 .name(name() + ".exec_stores") |
221 .desc("Number of stores executed") 222 .flags(total); 223 iewExecStoreInsts = iewExecutedRefs - iewExecLoadInsts; 224 225 iewExecRate | 221 .desc("Number of stores executed") 222 .flags(total); 223 iewExecStoreInsts = iewExecutedRefs - iewExecLoadInsts; 224 225 iewExecRate |
226 .name(name() + ".EXEC:rate") | 226 .name(name() + ".exec_rate") |
227 .desc("Inst execution rate") 228 .flags(total); 229 230 iewExecRate = iewExecutedInsts / cpu->numCycles; 231 232 iewInstsToCommit 233 .init(cpu->numThreads) | 227 .desc("Inst execution rate") 228 .flags(total); 229 230 iewExecRate = iewExecutedInsts / cpu->numCycles; 231 232 iewInstsToCommit 233 .init(cpu->numThreads) |
234 .name(name() + ".WB:sent") | 234 .name(name() + ".wb_sent") |
235 .desc("cumulative count of insts sent to commit") 236 .flags(total); 237 238 writebackCount 239 .init(cpu->numThreads) | 235 .desc("cumulative count of insts sent to commit") 236 .flags(total); 237 238 writebackCount 239 .init(cpu->numThreads) |
240 .name(name() + ".WB:count") | 240 .name(name() + ".wb_count") |
241 .desc("cumulative count of insts written-back") 242 .flags(total); 243 244 producerInst 245 .init(cpu->numThreads) | 241 .desc("cumulative count of insts written-back") 242 .flags(total); 243 244 producerInst 245 .init(cpu->numThreads) |
246 .name(name() + ".WB:producers") | 246 .name(name() + ".wb_producers") |
247 .desc("num instructions producing a value") 248 .flags(total); 249 250 consumerInst 251 .init(cpu->numThreads) | 247 .desc("num instructions producing a value") 248 .flags(total); 249 250 consumerInst 251 .init(cpu->numThreads) |
252 .name(name() + ".WB:consumers") | 252 .name(name() + ".wb_consumers") |
253 .desc("num instructions consuming a value") 254 .flags(total); 255 256 wbPenalized 257 .init(cpu->numThreads) | 253 .desc("num instructions consuming a value") 254 .flags(total); 255 256 wbPenalized 257 .init(cpu->numThreads) |
258 .name(name() + ".WB:penalized") | 258 .name(name() + ".wb_penalized") |
259 .desc("number of instrctions required to write to 'other' IQ") 260 .flags(total); 261 262 wbPenalizedRate | 259 .desc("number of instrctions required to write to 'other' IQ") 260 .flags(total); 261 262 wbPenalizedRate |
263 .name(name() + ".WB:penalized_rate") | 263 .name(name() + ".wb_penalized_rate") |
264 .desc ("fraction of instructions written-back that wrote to 'other' IQ") 265 .flags(total); 266 267 wbPenalizedRate = wbPenalized / writebackCount; 268 269 wbFanout | 264 .desc ("fraction of instructions written-back that wrote to 'other' IQ") 265 .flags(total); 266 267 wbPenalizedRate = wbPenalized / writebackCount; 268 269 wbFanout |
270 .name(name() + ".WB:fanout") | 270 .name(name() + ".wb_fanout") |
271 .desc("average fanout of values written-back") 272 .flags(total); 273 274 wbFanout = producerInst / consumerInst; 275 276 wbRate | 271 .desc("average fanout of values written-back") 272 .flags(total); 273 274 wbFanout = producerInst / consumerInst; 275 276 wbRate |
277 .name(name() + ".WB:rate") | 277 .name(name() + ".wb_rate") |
278 .desc("insts written-back per cycle") 279 .flags(total); 280 wbRate = writebackCount / cpu->numCycles; 281} 282 283template<class Impl> 284void 285DefaultIEW<Impl>::initStage() --- 1374 unchanged lines hidden --- | 278 .desc("insts written-back per cycle") 279 .flags(total); 280 wbRate = writebackCount / cpu->numCycles; 281} 282 283template<class Impl> 284void 285DefaultIEW<Impl>::initStage() --- 1374 unchanged lines hidden --- |