source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Meta_Predictor_Glue/src/Parameters.cpp @ 4

Last change on this file since 4 was 4, checked in by rosiere, 17 years ago
File size: 4.8 KB
Line 
1/*
2 * $Id$
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Stage_1_Ifetch/Predictor/Meta_Predictor/Meta_Predictor_Glue/include/Parameters.h"
9
10namespace morpheo {
11namespace behavioural {
12namespace stage_1_ifetch {
13namespace predictor {
14namespace meta_predictor {
15namespace meta_predictor_glue {
16
17
18  Parameters::Parameters (bool     have_meta_predictor               ,
19                          bool     predictor_0_have_bht              ,
20                          uint32_t predictor_0_bht_size_shifter      ,
21                          bool     predictor_0_have_pht              ,
22                          uint32_t predictor_0_pht_size_counter      ,
23                          bool     predictor_1_have_bht              ,
24                          uint32_t predictor_1_bht_size_shifter      ,
25                          bool     predictor_1_have_pht              ,
26                          uint32_t predictor_1_pht_size_counter      ,
27                          bool     predictor_2_have_bht              ,
28                          uint32_t predictor_2_bht_size_shifter      ,
29                          bool     predictor_2_have_pht              ,
30                          uint32_t predictor_2_pht_size_counter      ,
31                          uint32_t nb_prediction                     ,
32                          uint32_t nb_branch_complete                ) :
33    _have_meta_predictor                (have_meta_predictor               ),
34   
35    _predictor_0_have_bht               ((have_meta_predictor==false)?false:predictor_0_have_bht              ),
36    _predictor_0_bht_size_shifter       ((_predictor_0_have_bht==false)?0:predictor_0_bht_size_shifter      ),
37    _predictor_0_have_pht               ((have_meta_predictor==false)?false:predictor_0_have_pht              ),
38    _predictor_0_pht_size_counter       ((_predictor_0_have_pht==false)?0:predictor_0_pht_size_counter      ),
39
40    _predictor_1_have_bht               ((have_meta_predictor==false)?false:predictor_1_have_bht              ),
41    _predictor_1_bht_size_shifter       ((_predictor_1_have_bht==false)?0:predictor_1_bht_size_shifter      ),
42    _predictor_1_have_pht               ((have_meta_predictor==false)?false:predictor_1_have_pht              ),
43    _predictor_1_pht_size_counter       ((_predictor_1_have_pht==false)?0:predictor_1_pht_size_counter      ),
44
45    _predictor_2_have_bht               (predictor_2_have_bht              ),
46    _predictor_2_bht_size_shifter       ((_predictor_2_have_bht==false)?0:predictor_2_bht_size_shifter      ),
47    _predictor_2_have_pht               (predictor_2_have_pht              ),
48    _predictor_2_pht_size_counter       ((_predictor_2_have_pht==false)?0:predictor_2_pht_size_counter      ),
49
50    _nb_prediction                      (nb_prediction                     ),
51    _nb_branch_complete                 (nb_branch_complete                ),
52
53    _size_history                       (_predictor_0_bht_size_shifter + _predictor_0_pht_size_counter +
54                                         _predictor_1_bht_size_shifter + _predictor_1_pht_size_counter +
55                                         _predictor_2_bht_size_shifter + _predictor_2_pht_size_counter )
56  {
57    log_printf(FUNC,Meta_Predictor_Glue,"Parameters","Begin");
58    test();
59    log_printf(FUNC,Meta_Predictor_Glue,"Parameters","End");
60  };
61 
62  Parameters::Parameters (Parameters & param):
63    _have_meta_predictor                (param._have_meta_predictor                ),
64
65    _predictor_0_have_bht               (param._predictor_0_have_bht               ),
66    _predictor_0_bht_size_shifter       (param._predictor_0_bht_size_shifter       ),
67    _predictor_0_have_pht               (param._predictor_0_have_pht               ),
68    _predictor_0_pht_size_counter       (param._predictor_0_pht_size_counter       ),
69
70    _predictor_1_have_bht               (param._predictor_1_have_bht               ),
71    _predictor_1_bht_size_shifter       (param._predictor_1_bht_size_shifter       ),
72    _predictor_1_have_pht               (param._predictor_1_have_pht               ),
73    _predictor_1_pht_size_counter       (param._predictor_1_pht_size_counter       ),
74
75    _predictor_2_have_bht               (param._predictor_2_have_bht               ),
76    _predictor_2_bht_size_shifter       (param._predictor_2_bht_size_shifter       ),
77    _predictor_2_have_pht               (param._predictor_2_have_pht               ),
78    _predictor_2_pht_size_counter       (param._predictor_2_pht_size_counter       ),
79
80    _nb_prediction                      (param._nb_prediction                      ),
81    _nb_branch_complete                 (param._nb_branch_complete                 ),
82
83    _size_history                       (param._size_history                       )
84  {
85    log_printf(FUNC,Meta_Predictor_Glue,"Parameters","Begin");
86    test();
87    log_printf(FUNC,Meta_Predictor_Glue,"Parameters","End");
88  };
89
90  Parameters::~Parameters () 
91  {
92    log_printf(FUNC,Meta_Predictor_Glue,"~Parameters","Begin");
93    log_printf(FUNC,Meta_Predictor_Glue,"~Parameters","End");
94  };
95
96}; // end namespace meta_predictor_glue
97}; // end namespace meta_predictor
98}; // end namespace predictor
99}; // end namespace stage_1_ifetch
100
101}; // end namespace behavioural
102}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.