source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/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.4 KB
Line 
1/*
2 * $Id$
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/include/Parameters.h"
9#include "Common/include/Max.h"
10namespace morpheo {
11namespace behavioural {
12namespace core {
13namespace multi_ooo_engine {
14namespace ooo_engine {
15namespace rename_unit {
16namespace register_translation_unit {
17namespace register_address_translation_unit {
18
19
20#undef  FUNCTION
21#define FUNCTION "Register_Address_Translation_unit::Parameters"
22  Parameters::Parameters (uint32_t   nb_front_end       ,
23                          uint32_t * nb_context         ,
24                          uint32_t   nb_general_register,
25                          uint32_t   nb_special_register,
26                          uint32_t   nb_inst_insert     ,
27                          uint32_t   nb_inst_retire     )
28  {
29    log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin");
30
31    _nb_front_end           = nb_front_end       ;
32    _nb_context             = nb_context         ;
33    _nb_general_register    = nb_general_register;
34    _nb_special_register    = nb_special_register;
35    _nb_inst_insert         = nb_inst_insert     ;
36    _nb_inst_retire         = nb_inst_retire     ;
37
38    _size_front_end_id      = log2(nb_front_end       );
39    _size_context_id        = log2(max<uint32_t>(nb_context, nb_front_end));
40    _size_general_register  = log2(nb_general_register);
41    _size_special_register  = log2(nb_special_register);
42   
43    _have_port_front_end_id = _size_front_end_id>0;
44    _have_port_context_id   = _size_context_id  >0;
45
46    test();
47
48    log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"End");
49  };
50 
51// #undef  FUNCTION
52// #define FUNCTION "Register_Address_Translation_unit::Parameters (copy)"
53//   Parameters::Parameters (Parameters & param)
54//   {
55//     log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin");
56//     test();
57//     log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"End");
58//   };
59
60#undef  FUNCTION
61#define FUNCTION "Register_Address_Translation_unit::~Parameters"
62  Parameters::~Parameters () 
63  {
64    log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin");
65    log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"End");
66  };
67
68}; // end namespace register_address_translation_unit
69}; // end namespace register_translation_unit
70}; // end namespace rename_unit
71}; // end namespace ooo_engine
72}; // end namespace multi_ooo_engine
73}; // end namespace core
74
75}; // end namespace behavioural
76}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.