source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/src/Parameters.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: 2.5 KB
Line 
1/*
2 * $Id$
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/include/Parameters.h"
9#include "Common/include/Max.h"
10
11namespace morpheo {
12namespace behavioural {
13namespace core {
14namespace multi_ooo_engine {
15namespace ooo_engine {
16namespace rename_unit {
17namespace rename_select {
18
19
20#undef  FUNCTION
21#define FUNCTION "Rename_select::Parameters"
22  Parameters::Parameters (uint32_t          nb_front_end         ,
23                          uint32_t *        nb_context           ,
24                          uint32_t          max_branch_speculated,
25                          uint32_t          size_general_data    ,
26                          uint32_t          nb_inst_rename       ,
27                          uint32_t *        nb_inst_decod        ,
28                          uint32_t          nb_front_end_select  ,
29                          Tpriority_t       priority             ,
30                          Tload_balancing_t load_balancing       )
31  {
32    log_printf(FUNC,Rename_select,FUNCTION,"Begin");
33
34    _nb_front_end          = nb_front_end         ;
35    _nb_context            = nb_context           ;
36    _max_branch_speculated = max_branch_speculated;
37    _size_general_data     = size_general_data    ;
38    _nb_inst_rename        = nb_inst_rename       ;
39    _nb_inst_decod         = nb_inst_decod        ;
40    _nb_front_end_select   = nb_front_end_select  ;
41    _priority              = priority             ;
42    _load_balancing        = load_balancing       ;
43
44    _max_nb_inst_decod     = max<uint32_t>(nb_inst_decod,nb_front_end);
45
46    _size_front_end_id     = log2(nb_front_end);
47    _size_context_id       = log2(max<uint32_t>(nb_context,nb_front_end));
48    _size_depth            = log2(max_branch_speculated);
49
50    _have_port_front_end_id= _size_front_end_id > 0;
51    _have_port_context_id  = _size_context_id   > 0;
52    _have_port_depth       = _size_depth        > 0;
53       
54    test();
55    log_printf(FUNC,Rename_select,FUNCTION,"End");
56  };
57 
58// #undef  FUNCTION
59// #define FUNCTION "Rename_select::Parameters (copy)"
60//   Parameters::Parameters (Parameters & param)
61//   {
62//     log_printf(FUNC,Rename_select,FUNCTION,"Begin");
63//     test();
64//     log_printf(FUNC,Rename_select,FUNCTION,"End");
65//   };
66
67#undef  FUNCTION
68#define FUNCTION "Rename_select::~Parameters"
69  Parameters::~Parameters () 
70  {
71    log_printf(FUNC,Rename_select,FUNCTION,"Begin");
72    log_printf(FUNC,Rename_select,FUNCTION,"End");
73  };
74
75}; // end namespace rename_select
76}; // end namespace rename_unit
77}; // end namespace ooo_engine
78}; // end namespace multi_ooo_engine
79}; // end namespace core
80
81}; // end namespace behavioural
82}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.