source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/src/Rename_select_deallocation.cpp @ 108

Last change on this file since 108 was 108, checked in by rosiere, 15 years ago

1) decod_queue : add reg_LAST_SLOT.
2) Commit : insert on event -> to pop decod_queue. Head test : add information (speculative or not)
3) Context State / UPT : Branch miss and Load miss in same cycle.
4) Free List : Bank is on LSB not MSB.
5) Platforms : move data

  • Property svn:keywords set to Id
File size: 3.3 KB
Line 
1/*
2 * $Id: Rename_select_deallocation.cpp 108 2009-02-12 11:55:06Z rosiere $
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Rename_unit/Rename_select/include/Rename_select.h"
9#include "Behavioural/include/Allocation.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::deallocation"
22  void Rename_select::deallocation (void)
23  {
24    log_printf(FUNC,Rename_select,FUNCTION,"Begin");
25
26    if (usage_is_set(_usage,USE_SYSTEMC))
27      {
28        delete    in_CLOCK ;
29        delete    in_NRESET;
30
31        delete []  in_RENAME_IN_VAL           ;
32        delete [] out_RENAME_IN_ACK           ;
33        if (_param->_have_port_front_end_id)
34        delete []  in_RENAME_IN_FRONT_END_ID  ;
35        if (_param->_have_port_context_id)
36        delete []  in_RENAME_IN_CONTEXT_ID    ;
37        if (_param->_have_port_depth)
38        delete []  in_RENAME_IN_DEPTH         ;
39        delete []  in_RENAME_IN_TYPE          ;
40        delete []  in_RENAME_IN_OPERATION     ;
41        delete []  in_RENAME_IN_NO_EXECUTE    ;
42        delete []  in_RENAME_IN_IS_DELAY_SLOT ;
43#ifdef DEBUG
44        delete []  in_RENAME_IN_ADDRESS       ;
45#endif
46        delete []  in_RENAME_IN_ADDRESS_NEXT  ;
47        delete []  in_RENAME_IN_HAS_IMMEDIAT  ;
48        delete []  in_RENAME_IN_IMMEDIAT      ;
49        delete []  in_RENAME_IN_READ_RA       ;
50        delete []  in_RENAME_IN_NUM_REG_RA    ;
51        delete []  in_RENAME_IN_READ_RB       ;
52        delete []  in_RENAME_IN_NUM_REG_RB    ;
53        delete []  in_RENAME_IN_READ_RC       ;
54        delete []  in_RENAME_IN_NUM_REG_RC    ;
55        delete []  in_RENAME_IN_WRITE_RD      ;
56        delete []  in_RENAME_IN_NUM_REG_RD    ;
57        delete []  in_RENAME_IN_WRITE_RE      ;
58        delete []  in_RENAME_IN_NUM_REG_RE    ;
59        delete []  in_RENAME_IN_EXCEPTION_USE ;
60        delete []  in_RENAME_IN_EXCEPTION     ;
61
62        delete [] out_RENAME_OUT_VAL          ;
63        delete []  in_RENAME_OUT_ACK          ;
64        if (_param->_have_port_front_end_id)
65        delete [] out_RENAME_OUT_FRONT_END_ID ;
66        if (_param->_have_port_context_id)
67        delete [] out_RENAME_OUT_CONTEXT_ID   ;
68        if (_param->_have_port_depth)
69        delete [] out_RENAME_OUT_DEPTH        ;
70        delete [] out_RENAME_OUT_TYPE         ;
71        delete [] out_RENAME_OUT_OPERATION    ;
72#ifdef DEBUG
73        delete [] out_RENAME_OUT_ADDRESS      ;
74#endif
75        delete [] out_RENAME_OUT_ADDRESS_NEXT ;
76        delete [] out_RENAME_OUT_HAS_IMMEDIAT ;
77        delete [] out_RENAME_OUT_IMMEDIAT     ;
78        delete [] out_RENAME_OUT_READ_RA      ;
79        delete [] out_RENAME_OUT_NUM_REG_RA   ;
80        delete [] out_RENAME_OUT_READ_RB      ;
81        delete [] out_RENAME_OUT_NUM_REG_RB   ;
82        delete [] out_RENAME_OUT_READ_RC      ;
83        delete [] out_RENAME_OUT_NUM_REG_RC   ;
84        delete [] out_RENAME_OUT_WRITE_RD     ;
85        delete [] out_RENAME_OUT_NUM_REG_RD   ;
86        delete [] out_RENAME_OUT_WRITE_RE     ;
87        delete [] out_RENAME_OUT_NUM_REG_RE   ;
88        delete [] out_RENAME_OUT_EXCEPTION_USE;
89
90        DELETE2_SIGNAL( in_RETIRE_EVENT_STATE          ,_param->_nb_front_end, _param->_nb_context[it1],_param->_size_event_state);
91      }
92    // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
93    delete _priority;
94    delete _component;
95
96    log_printf(FUNC,Rename_select,FUNCTION,"End");
97  };
98
99}; // end namespace rename_select
100}; // end namespace rename_unit
101}; // end namespace ooo_engine
102}; // end namespace multi_ooo_engine
103}; // end namespace core
104
105}; // end namespace behavioural
106}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.