source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Reservation_station/include/Types.h

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

1) Add new algo in ifetch queue
2) Add Cancel bit
3) new config

File size: 4.9 KB
Line 
1#ifndef morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_read_unit_read_unit_reservation_station_Types_h
2#define morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_read_unit_read_unit_reservation_station_Types_h
3
4/*
5 * $Id$
6 *
7 * [ Description ]
8 *
9 */
10
11#include "Behavioural/include/Types.h"
12
13namespace morpheo {
14namespace behavioural {
15namespace core {
16namespace multi_execute_loop {
17namespace execute_loop {
18namespace multi_read_unit {
19namespace read_unit {
20namespace reservation_station {
21
22  class Treservation_station_entry_t
23  {
24  public    : Tcontext_t         _context_id     ;
25  public    : Tcontext_t         _front_end_id   ;
26  public    : Tcontext_t         _ooo_engine_id  ;
27  public    : Tpacket_t          _rob_id         ;
28  public    : Toperation_t       _operation   ;
29  public    : Ttype_t            _type        ;
30  public    : Tcontrol_t         _cancel      ;
31  public    : Tlsq_ptr_t         _store_queue_ptr_write;
32  public    : Tlsq_ptr_t         _store_queue_ptr_read ;
33  public    : Tcontrol_t         _store_queue_empty    ;
34  public    : Tlsq_ptr_t         _load_queue_ptr_write ;
35  public    : Tcontrol_t         _has_immediat;
36  public    : Tgeneral_data_t    _immediat    ;
37//public    : Tcontrol_t         _read_ra     ;
38  public    : Tgeneral_address_t _num_reg_ra  ;
39  public    : Tcontrol_t         _data_ra_val ;
40  public    : Tgeneral_data_t    _data_ra     ;
41//public    : Tcontrol_t         _read_rb     ;
42  public    : Tgeneral_address_t _num_reg_rb  ;
43  public    : Tcontrol_t         _data_rb_val ;
44  public    : Tgeneral_data_t    _data_rb     ;
45//public    : Tcontrol_t         _read_rc     ;
46  public    : Tspecial_address_t _num_reg_rc  ;
47  public    : Tcontrol_t         _data_rc_val ;
48  public    : Tspecial_data_t    _data_rc     ;
49  public    : Tcontrol_t         _write_rd    ;
50  public    : Tgeneral_address_t _num_reg_rd  ;
51  public    : Tcontrol_t         _write_re    ;
52  public    : Tspecial_address_t _num_reg_re  ;
53
54    friend std::ostream& operator<< (std::ostream& output_stream,
55                                morpheo::behavioural::core::multi_execute_loop::execute_loop::multi_read_unit::read_unit::reservation_station::Treservation_station_entry_t & x)
56    {
57      output_stream << " * _context_id            : " << toString(x._context_id     ) << std::endl
58                    << " * _front_end_id          : " << toString(x._front_end_id   ) << std::endl
59                    << " * _ooo_engine_id         : " << toString(x._ooo_engine_id  ) << std::endl
60                    << " * _rob_id                : " << toString(x._rob_id         ) << std::endl
61                    << " * _operation             : " << toString(x._operation      ) << std::endl
62                    << " * _type                  : " << toString(x._type           ) << std::endl
63                    << " * _cancel                : " << toString(x._cancel         ) << std::endl
64                    << " * _store_queue_ptr_write : " << toString(x._store_queue_ptr_write) << std::endl
65                    << " * _store_queue_ptr_read  : " << toString(x._store_queue_ptr_read ) << std::endl
66                    << " * _store_queue_empty     : " << toString(x._store_queue_empty    ) << std::endl
67                    << " * _load_queue_ptr_write  : " << toString(x._load_queue_ptr_write ) << std::endl
68                    << " * _has_immediat          : " << toString(x._has_immediat   ) << std::endl
69                    << " * _immediat              : " << toString(x._immediat       ) << std::endl
70//                  << " * _read_ra               : " << toString(x._read_ra        ) << std::endl
71                    << " * _num_reg_ra            : " << toString(x._num_reg_ra     ) << std::endl
72                    << " * _data_ra_val           : " << toString(x._data_ra_val    ) << std::endl
73                    << " * _data_ra               : " << toString(x._data_ra        ) << std::endl
74//                  << " * _read_rb               : " << toString(x._read_rb        ) << std::endl
75                    << " * _num_reg_rb            : " << toString(x._num_reg_rb     ) << std::endl
76                    << " * _data_rb_val           : " << toString(x._data_rb_val    ) << std::endl
77                    << " * _data_rb               : " << toString(x._data_rb        ) << std::endl
78//                  << " * _read_rc               : " << toString(x._read_rc        ) << std::endl
79                    << " * _num_reg_rc            : " << toString(x._num_reg_rc     ) << std::endl
80                    << " * _data_rc_val           : " << toString(x._data_rc_val    ) << std::endl
81                    << " * _data_rc               : " << toString(x._data_rc        ) << std::endl
82                    << " * _write_rd              : " << toString(x._write_rd       ) << std::endl
83                    << " * _num_reg_rd            : " << toString(x._num_reg_rd     ) << std::endl
84                    << " * _write_re              : " << toString(x._write_re       ) << std::endl
85                    << " * _num_reg_re            : " << toString(x._num_reg_re     ) << std::endl;
86
87      return output_stream;
88    }
89  };
90
91}; // end namespace reservation_station
92}; // end namespace read_unit
93}; // end namespace multi_read_unit
94}; // end namespace execute_loop
95}; // end namespace multi_execute_loop
96}; // end namespace core
97
98}; // end namespace behavioural
99}; // end namespace morpheo             
100
101#endif
Note: See TracBrowser for help on using the repository browser.