source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/src/Branch_Target_Buffer_statistics_allocation.cpp @ 78

Last change on this file since 78 was 78, checked in by rosiere, 16 years ago

Add :

  • Execute_loop (must be test systemC)
  • Prediction
    • Direction : predifined scheme
    • Branch Target Buffer
  • iFetch_unit
    • ifetch_queue
    • pc management
  • Decod_unit
    • coming soon : support for custom operation
  • Rename_unit
    • RAT
    • Free_list
    • Dependence RAW check
    • Load store unit pointer
  • New Environnement (hierarchy_memory will remove in a next version)


Modif :

  • Manage Custom Operation
  • All component in execute_loop to use the new statistics management

Not Finish :

  • Return Address Stack
  • Environnement
File size: 1.4 KB
Line 
1#ifdef STATISTICS
2/*
3 * $Id$
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/include/Branch_Target_Buffer.h"
10
11namespace morpheo {
12namespace behavioural {
13namespace core {
14namespace multi_front_end {
15namespace front_end {
16namespace prediction_unit {
17namespace branch_target_buffer {
18
19
20#undef  FUNCTION
21#define FUNCTION "Branch_Target_Buffer::statistics_allocation"
22  void Branch_Target_Buffer::statistics_allocation (morpheo::behavioural::Parameters_Statistics * param_statistics)
23  {
24    log_printf(FUNC,Branch_Target_Buffer,FUNCTION,"Begin");
25
26    _stat = new Stat (static_cast<std::string>(_name),
27                      "Branch_Target_Buffer",
28                      param_statistics);
29
30    if (_param->_have_component_victim)
31      {
32        for (uint32_t i=0; i<_param->_nb_inst_predict; i++)
33          _stat->add_stat(_component_sort [i]->_stat);
34        _stat->add_stat(_component_victim ->_stat);
35      }
36    _stat->add_stat(_component_branch_target_buffer_glue    ->_stat);
37    _stat->add_stat(_component_branch_target_buffer_register->_stat);
38
39    log_printf(FUNC,Branch_Target_Buffer,FUNCTION,"End");
40  };
41
42}; // end namespace branch_target_buffer
43}; // end namespace prediction_unit
44}; // end namespace front_end
45}; // end namespace multi_front_end
46}; // end namespace core
47
48}; // end namespace behavioural
49}; // end namespace morpheo             
50#endif
Note: See TracBrowser for help on using the repository browser.