source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Direction/Meta_Predictor_Glue/include/Parameters.h @ 45

Last change on this file since 45 was 45, checked in by rosiere, 17 years ago
  • Documentation : specification d'un cache de donnée non bloquant
  • Modification de l'aborescence
File size: 3.2 KB
Line 
1#ifndef morpheo_behavioural_stage_1_ifetch_predictor_meta_predictor_meta_predictor_glue_Parameters_h
2#define morpheo_behavioural_stage_1_ifetch_predictor_meta_predictor_meta_predictor_glue_Parameters_h
3
4/*
5 * $Id$
6 *
7 * [ Description ]
8 *
9 */
10
11#include "Common/include/Debug.h"
12#include "Behavioural/include/Parameters.h"
13#include <math.h>
14
15namespace morpheo {
16namespace behavioural {
17namespace stage_1_ifetch {
18namespace predictor {
19namespace meta_predictor {
20namespace meta_predictor_glue {
21
22
23  class Parameters : public morpheo::behavioural::Parameters
24  {
25    //-----[ fields ]------------------------------------------------------------
26  public : const bool     _have_meta_predictor               ;
27
28  public : const bool     _predictor_0_have_bht              ;
29  public : const uint32_t _predictor_0_bht_size_shifter      ;
30  public : const bool     _predictor_0_have_pht              ;
31  public : const uint32_t _predictor_0_pht_size_counter      ;
32
33  public : const bool     _predictor_1_have_bht              ;
34  public : const uint32_t _predictor_1_bht_size_shifter      ;
35  public : const bool     _predictor_1_have_pht              ;
36  public : const uint32_t _predictor_1_pht_size_counter      ;
37
38  public : const bool     _predictor_2_have_bht              ;
39  public : const uint32_t _predictor_2_bht_size_shifter      ;
40  public : const bool     _predictor_2_have_pht              ;
41  public : const uint32_t _predictor_2_pht_size_counter      ;
42
43  public : const uint32_t _nb_prediction                     ;
44  public : const uint32_t _nb_branch_complete                ;
45
46  public : const uint32_t _size_history                      ;
47
48  public : const uint32_t _shift_0;
49  public : const uint32_t _shift_1;
50  public : const uint32_t _shift_2;
51  public : const uint32_t _shift_3;
52  public : const uint32_t _shift_4;
53  public : const uint32_t _shift_5;
54  public : const uint32_t _shift_6;
55
56    //-----[ methods ]-----------------------------------------------------------
57  public : Parameters  (bool     have_meta_predictor               ,
58                        bool     predictor_0_have_bht              ,
59                        uint32_t predictor_0_bht_size_shifter      ,
60                        bool     predictor_0_have_pht              ,
61                        uint32_t predictor_0_pht_size_counter      ,
62                        bool     predictor_1_have_bht              ,
63                        uint32_t predictor_1_bht_size_shifter      ,
64                        bool     predictor_1_have_pht              ,
65                        uint32_t predictor_1_pht_size_counter      ,
66                        bool     predictor_2_have_bht              ,
67                        uint32_t predictor_2_bht_size_shifter      ,
68                        bool     predictor_2_have_pht              ,
69                        uint32_t predictor_2_pht_size_counter      ,
70                        uint32_t nb_prediction                     ,
71                        uint32_t nb_branch_complete                );
72  public : Parameters  (Parameters & param) ;
73  public : ~Parameters () ;
74
75  public : string msg_error (void);
76
77  public :        string   print      (uint32_t depth);
78  public : friend ostream& operator<< (ostream& output_stream,
79                                       morpheo::behavioural::stage_1_ifetch::predictor::meta_predictor::meta_predictor_glue::Parameters & x);
80  };
81
82}; // end namespace meta_predictor_glue
83}; // end namespace meta_predictor
84}; // end namespace predictor
85}; // end namespace stage_1_ifetch
86
87}; // end namespace behavioural
88}; // end namespace morpheo             
89
90#endif
Note: See TracBrowser for help on using the repository browser.