source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/src/Parameters.cpp @ 48

Last change on this file since 48 was 48, checked in by rosiere, 17 years ago

Modification des Makefile : pas de creation inutile de shell

File size: 6.1 KB
Line 
1/*
2 * $Id$
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor/Meta_Predictor_Glue/include/Parameters.h"
9
10namespace morpheo {
11namespace behavioural {
12namespace core {
13namespace multi_front_end {
14namespace front_end {
15namespace prediction_unit {
16namespace direction {
17
18namespace meta_predictor {
19namespace meta_predictor_glue {
20
21
22  Parameters::Parameters (bool     have_meta_predictor               ,
23                          bool     predictor_0_have_bht              ,
24                          uint32_t predictor_0_bht_size_shifter      ,
25                          bool     predictor_0_have_pht              ,
26                          uint32_t predictor_0_pht_size_counter      ,
27                          bool     predictor_1_have_bht              ,
28                          uint32_t predictor_1_bht_size_shifter      ,
29                          bool     predictor_1_have_pht              ,
30                          uint32_t predictor_1_pht_size_counter      ,
31                          bool     predictor_2_have_bht              ,
32                          uint32_t predictor_2_bht_size_shifter      ,
33                          bool     predictor_2_have_pht              ,
34                          uint32_t predictor_2_pht_size_counter      ,
35                          uint32_t nb_prediction                     ,
36                          uint32_t nb_branch_complete                ) :
37    _have_meta_predictor                (have_meta_predictor               ),
38   
39    _predictor_0_have_bht               ((have_meta_predictor==false)?false:predictor_0_have_bht              ),
40    _predictor_0_bht_size_shifter       ((_predictor_0_have_bht==false)?0:predictor_0_bht_size_shifter      ),
41    _predictor_0_have_pht               ((have_meta_predictor==false)?false:predictor_0_have_pht              ),
42    _predictor_0_pht_size_counter       ((_predictor_0_have_pht==false)?0:predictor_0_pht_size_counter      ),
43
44    _predictor_1_have_bht               ((have_meta_predictor==false)?false:predictor_1_have_bht              ),
45    _predictor_1_bht_size_shifter       ((_predictor_1_have_bht==false)?0:predictor_1_bht_size_shifter      ),
46    _predictor_1_have_pht               ((have_meta_predictor==false)?false:predictor_1_have_pht              ),
47    _predictor_1_pht_size_counter       ((_predictor_1_have_pht==false)?0:predictor_1_pht_size_counter      ),
48
49    _predictor_2_have_bht               (predictor_2_have_bht              ),
50    _predictor_2_bht_size_shifter       ((_predictor_2_have_bht==false)?0:predictor_2_bht_size_shifter      ),
51    _predictor_2_have_pht               (predictor_2_have_pht              ),
52    _predictor_2_pht_size_counter       ((_predictor_2_have_pht==false)?0:predictor_2_pht_size_counter      ),
53
54    _nb_prediction                      (nb_prediction                     ),
55    _nb_branch_complete                 (nb_branch_complete                ),
56
57    _size_history                       (_predictor_0_bht_size_shifter + _predictor_0_pht_size_counter +
58                                         _predictor_1_bht_size_shifter + _predictor_1_pht_size_counter +
59                                         _predictor_2_bht_size_shifter + _predictor_2_pht_size_counter ),
60
61    _shift_0                            (0),
62    _shift_1                            (_shift_0 + _predictor_0_bht_size_shifter),
63    _shift_2                            (_shift_1 + _predictor_0_pht_size_counter),
64    _shift_3                            (_shift_2 + _predictor_1_bht_size_shifter),
65    _shift_4                            (_shift_3 + _predictor_1_pht_size_counter),
66    _shift_5                            (_shift_4 + _predictor_2_bht_size_shifter),
67    _shift_6                            (_shift_5 + _predictor_2_pht_size_counter)
68  {
69    log_printf(FUNC,Meta_Predictor_Glue,"Parameters","Begin");
70    test();
71    log_printf(FUNC,Meta_Predictor_Glue,"Parameters","End");
72  };
73 
74  Parameters::Parameters (Parameters & param):
75    _have_meta_predictor                (param._have_meta_predictor                ),
76
77    _predictor_0_have_bht               (param._predictor_0_have_bht               ),
78    _predictor_0_bht_size_shifter       (param._predictor_0_bht_size_shifter       ),
79    _predictor_0_have_pht               (param._predictor_0_have_pht               ),
80    _predictor_0_pht_size_counter       (param._predictor_0_pht_size_counter       ),
81
82    _predictor_1_have_bht               (param._predictor_1_have_bht               ),
83    _predictor_1_bht_size_shifter       (param._predictor_1_bht_size_shifter       ),
84    _predictor_1_have_pht               (param._predictor_1_have_pht               ),
85    _predictor_1_pht_size_counter       (param._predictor_1_pht_size_counter       ),
86
87    _predictor_2_have_bht               (param._predictor_2_have_bht               ),
88    _predictor_2_bht_size_shifter       (param._predictor_2_bht_size_shifter       ),
89    _predictor_2_have_pht               (param._predictor_2_have_pht               ),
90    _predictor_2_pht_size_counter       (param._predictor_2_pht_size_counter       ),
91
92    _nb_prediction                      (param._nb_prediction                      ),
93    _nb_branch_complete                 (param._nb_branch_complete                 ),
94
95    _size_history                       (param._size_history                       ),
96
97    _shift_0                            (param._shift_0                            ),
98    _shift_1                            (param._shift_1                            ),
99    _shift_2                            (param._shift_2                            ),
100    _shift_3                            (param._shift_3                            ),
101    _shift_4                            (param._shift_4                            ),
102    _shift_5                            (param._shift_5                            ),
103    _shift_6                            (param._shift_6                            )
104
105  {
106    log_printf(FUNC,Meta_Predictor_Glue,"Parameters","Begin");
107    test();
108    log_printf(FUNC,Meta_Predictor_Glue,"Parameters","End");
109  };
110
111  Parameters::~Parameters () 
112  {
113    log_printf(FUNC,Meta_Predictor_Glue,"~Parameters","Begin");
114    log_printf(FUNC,Meta_Predictor_Glue,"~Parameters","End");
115  };
116
117}; // end namespace meta_predictor_glue
118}; // end namespace meta_predictor
119
120}; // end namespace core
121}; // end namespace multi_front_end
122}; // end namespace front_end
123}; // end namespace prediction_unit
124}; // end namespace direction
125
126
127}; // end namespace behavioural
128}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.