source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Register_translation_unit/Register_Address_Translation_unit/src/Register_Address_Translation_unit_deallocation.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: 3.1 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/Register_Address_Translation_unit.h"
9
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::deallocation"
22  void Register_Address_Translation_unit::deallocation (void)
23  {
24    log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"Begin");
25
26    if (_usage & USE_SYSTEMC)
27      {
28        delete     in_CLOCK ;
29        delete     in_NRESET;
30
31        delete []  in_RENAME_VAL             ;
32        delete [] out_RENAME_ACK             ;
33        if (_param->_have_port_front_end_id)
34        delete []  in_RENAME_FRONT_END_ID    ;
35        if (_param->_have_port_context_id)
36        delete []  in_RENAME_CONTEXT_ID      ;
37        delete []  in_RENAME_NUM_REG_RA_LOG  ;
38        delete []  in_RENAME_NUM_REG_RB_LOG  ;
39        delete []  in_RENAME_NUM_REG_RC_LOG  ;
40        delete []  in_RENAME_NUM_REG_RD_LOG  ;
41        delete []  in_RENAME_NUM_REG_RE_LOG  ;
42        delete [] out_RENAME_NUM_REG_RA_PHY  ;
43        delete [] out_RENAME_NUM_REG_RB_PHY  ;
44        delete [] out_RENAME_NUM_REG_RC_PHY  ;
45        delete [] out_RENAME_NUM_REG_RD_PHY_OLD;
46        delete [] out_RENAME_NUM_REG_RE_PHY_OLD;
47
48        delete []  in_INSERT_VAL             ;
49        delete [] out_INSERT_ACK             ;
50//      if (_param->_have_port_front_end_id)
51//      delete []  in_INSERT_FRONT_END_ID    ;
52//      if (_param->_have_port_context_id)
53//      delete []  in_INSERT_CONTEXT_ID      ;
54        delete []  in_INSERT_WRITE_RD        ;
55        delete []  in_INSERT_WRITE_RE        ;
56        delete []  in_INSERT_NUM_REG_RD_LOG  ;
57        delete []  in_INSERT_NUM_REG_RE_LOG  ;
58        delete []  in_INSERT_NUM_REG_RD_PHY  ;
59        delete []  in_INSERT_NUM_REG_RE_PHY  ;
60
61        delete []  in_RETIRE_VAL               ;
62        delete [] out_RETIRE_ACK               ;
63        if (_param->_have_port_front_end_id)
64        delete []  in_RETIRE_FRONT_END_ID      ;
65        if (_param->_have_port_context_id)
66        delete []  in_RETIRE_CONTEXT_ID        ;
67        delete []  in_RETIRE_EVENT_STATE       ;
68        delete []  in_RETIRE_WRITE_RD          ;
69        delete []  in_RETIRE_WRITE_RE          ;
70        delete []  in_RETIRE_NUM_REG_RD_LOG    ;
71        delete []  in_RETIRE_NUM_REG_RE_LOG    ;
72        delete []  in_RETIRE_NUM_REG_RD_PHY_OLD;
73        delete []  in_RETIRE_NUM_REG_RE_PHY_OLD;
74      }
75    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
76    delete [] internal_RENAME_ACK;
77    delete [] internal_INSERT_ACK;
78    delete [] internal_RETIRE_ACK;
79
80    delete [] rat_gpr             ;
81    delete [] rat_gpr_update_table;
82    delete [] rat_spr             ;
83    delete [] rat_spr_update_table;
84    delete    _component;
85
86    log_printf(FUNC,Register_Address_Translation_unit,FUNCTION,"End");
87  };
88
89}; // end namespace register_address_translation_unit
90}; // end namespace register_translation_unit
91}; // end namespace rename_unit
92}; // end namespace ooo_engine
93}; // end namespace multi_ooo_engine
94}; // end namespace core
95
96}; // end namespace behavioural
97}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.