inst_queue.hh (5529:9ae69b9cd7fd) | inst_queue.hh (5999:3cf8e71257e0) |
---|---|
1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 429 unchanged lines hidden (view full) --- 438 void dumpLists(); 439 440 /** Debugging function to dump out all instructions that are in the 441 * IQ. 442 */ 443 void dumpInsts(); 444 445 /** Stat for number of instructions added. */ | 1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 429 unchanged lines hidden (view full) --- 438 void dumpLists(); 439 440 /** Debugging function to dump out all instructions that are in the 441 * IQ. 442 */ 443 void dumpInsts(); 444 445 /** Stat for number of instructions added. */ |
446 Stats::Scalar<> iqInstsAdded; | 446 Stats::Scalar iqInstsAdded; |
447 /** Stat for number of non-speculative instructions added. */ | 447 /** Stat for number of non-speculative instructions added. */ |
448 Stats::Scalar<> iqNonSpecInstsAdded; | 448 Stats::Scalar iqNonSpecInstsAdded; |
449 | 449 |
450 Stats::Scalar<> iqInstsIssued; | 450 Stats::Scalar iqInstsIssued; |
451 /** Stat for number of integer instructions issued. */ | 451 /** Stat for number of integer instructions issued. */ |
452 Stats::Scalar<> iqIntInstsIssued; | 452 Stats::Scalar iqIntInstsIssued; |
453 /** Stat for number of floating point instructions issued. */ | 453 /** Stat for number of floating point instructions issued. */ |
454 Stats::Scalar<> iqFloatInstsIssued; | 454 Stats::Scalar iqFloatInstsIssued; |
455 /** Stat for number of branch instructions issued. */ | 455 /** Stat for number of branch instructions issued. */ |
456 Stats::Scalar<> iqBranchInstsIssued; | 456 Stats::Scalar iqBranchInstsIssued; |
457 /** Stat for number of memory instructions issued. */ | 457 /** Stat for number of memory instructions issued. */ |
458 Stats::Scalar<> iqMemInstsIssued; | 458 Stats::Scalar iqMemInstsIssued; |
459 /** Stat for number of miscellaneous instructions issued. */ | 459 /** Stat for number of miscellaneous instructions issued. */ |
460 Stats::Scalar<> iqMiscInstsIssued; | 460 Stats::Scalar iqMiscInstsIssued; |
461 /** Stat for number of squashed instructions that were ready to issue. */ | 461 /** Stat for number of squashed instructions that were ready to issue. */ |
462 Stats::Scalar<> iqSquashedInstsIssued; | 462 Stats::Scalar iqSquashedInstsIssued; |
463 /** Stat for number of squashed instructions examined when squashing. */ | 463 /** Stat for number of squashed instructions examined when squashing. */ |
464 Stats::Scalar<> iqSquashedInstsExamined; | 464 Stats::Scalar iqSquashedInstsExamined; |
465 /** Stat for number of squashed instruction operands examined when 466 * squashing. 467 */ | 465 /** Stat for number of squashed instruction operands examined when 466 * squashing. 467 */ |
468 Stats::Scalar<> iqSquashedOperandsExamined; | 468 Stats::Scalar iqSquashedOperandsExamined; |
469 /** Stat for number of non-speculative instructions removed due to a squash. 470 */ | 469 /** Stat for number of non-speculative instructions removed due to a squash. 470 */ |
471 Stats::Scalar<> iqSquashedNonSpecRemoved; | 471 Stats::Scalar iqSquashedNonSpecRemoved; |
472 // Also include number of instructions rescheduled and replayed. 473 474 /** Distribution of number of instructions in the queue. 475 * @todo: Need to create struct to track the entry time for each 476 * instruction. */ | 472 // Also include number of instructions rescheduled and replayed. 473 474 /** Distribution of number of instructions in the queue. 475 * @todo: Need to create struct to track the entry time for each 476 * instruction. */ |
477// Stats::VectorDistribution<> queueResDist; | 477// Stats::VectorDistribution queueResDist; |
478 /** Distribution of the number of instructions issued. */ | 478 /** Distribution of the number of instructions issued. */ |
479 Stats::Distribution<> numIssuedDist; | 479 Stats::Distribution numIssuedDist; |
480 /** Distribution of the cycles it takes to issue an instruction. 481 * @todo: Need to create struct to track the ready time for each 482 * instruction. */ | 480 /** Distribution of the cycles it takes to issue an instruction. 481 * @todo: Need to create struct to track the ready time for each 482 * instruction. */ |
483// Stats::VectorDistribution<> issueDelayDist; | 483// Stats::VectorDistribution issueDelayDist; |
484 485 /** Number of times an instruction could not be issued because a 486 * FU was busy. 487 */ | 484 485 /** Number of times an instruction could not be issued because a 486 * FU was busy. 487 */ |
488 Stats::Vector<> statFuBusy; 489// Stats::Vector<> dist_unissued; | 488 Stats::Vector statFuBusy; 489// Stats::Vector dist_unissued; |
490 /** Stat for total number issued for each instruction type. */ | 490 /** Stat for total number issued for each instruction type. */ |
491 Stats::Vector2d<> statIssuedInstType; | 491 Stats::Vector2d statIssuedInstType; |
492 493 /** Number of instructions issued per cycle. */ 494 Stats::Formula issueRate; 495 496 /** Number of times the FU was busy. */ | 492 493 /** Number of instructions issued per cycle. */ 494 Stats::Formula issueRate; 495 496 /** Number of times the FU was busy. */ |
497 Stats::Vector<> fuBusy; | 497 Stats::Vector fuBusy; |
498 /** Number of times the FU was busy per instruction issued. */ 499 Stats::Formula fuBusyRate; 500}; 501 502#endif //__CPU_O3_INST_QUEUE_HH__ | 498 /** Number of times the FU was busy per instruction issued. */ 499 Stats::Formula fuBusyRate; 500}; 501 502#endif //__CPU_O3_INST_QUEUE_HH__ |