Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Commit_unit.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Commit_unit.h	(revision 109)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Commit_unit.h	(revision 110)
@@ -54,10 +54,12 @@
 #ifdef STATISTICS
   public    : Stat                           * _stat;
-  public    : counter_t                     ** _stat_nb_inst_insert;
-  public    : counter_t                      * _stat_nb_inst_commit;
+  public    : counter_t                     ** _stat_nb_inst_insert               ;//[nb_rename_unit]
+  public    : counter_t                     ** _stat_nb_inst_retire               ;//[nb_rename_unit]
+  public    : counter_t                      * _stat_nb_inst_commit               ;
   public    : counter_t                      * _stat_nb_inst_commit_conflit_access;
-  public    : counter_t                     ** _stat_nb_inst_retire_ok;
-  public    : counter_t                     ** _stat_nb_inst_retire_ko;
-  public    : counter_t                     ** _stat_bank_nb_inst;// [nb_bank]
+  public    : counter_t                     ** _stat_nb_inst_retire_ok            ;//[nb_thread]
+  public    : counter_t                     ** _stat_nb_inst_retire_ko            ;//[nb_thread]
+  public    : counter_t                     ** _stat_nb_inst_type                 ;//[nb_type]
+  public    : counter_t                     ** _stat_bank_nb_inst                 ;//[nb_bank]
 #endif
 
@@ -254,4 +256,5 @@
   private   : entry_t *                    ** internal_BANK_COMMIT_ENTRY           ;//[nb_bank][nb_bank_access_commit]
 
+  private   : uint32_t                        internal_BANK_RETIRE_HEAD            ;
   private   : Tcontrol_t                    * internal_BANK_RETIRE_VAL             ;//[nb_bank]
   private   : uint32_t                      * internal_BANK_RETIRE_NUM_RENAME_UNIT ;//[nb_bank]
Index: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Parameters.h
===================================================================
--- trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Parameters.h	(revision 109)
+++ trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/Commit_unit/include/Parameters.h	(revision 110)
@@ -24,25 +24,27 @@
   {
     //-----[ fields ]------------------------------------------------------------
-  public : uint32_t            _nb_front_end            ;
-  public : uint32_t          * _nb_context              ;//[nb_front_end]
-  public : uint32_t            _nb_rename_unit          ;
-  public : uint32_t            _size_queue              ;
-  public : uint32_t            _nb_bank                 ;
-  public : uint32_t          * _nb_inst_insert          ;//[nb_rename_unit]
-  public : uint32_t          * _nb_inst_retire	        ;//[nb_rename_unit]
-  public : uint32_t            _nb_inst_commit          ;
-  public : uint32_t            _nb_inst_reexecute       ;
-  public : uint32_t            _nb_inst_branch_complete ;
-  public : uint32_t         ** _nb_branch_speculated    ;//[nb_front_end][nb_context]
-//public : uint32_t            _size_general_data       ;
-//public : uint32_t            _size_store_queue_ptr    ;
-//public : uint32_t            _size_load_queue_ptr     ;
-//public : uint32_t            _size_general_register   ;
-//public : uint32_t            _size_special_register   ;
-  public : Tpriority_t         _priority                ;
-  public : Tload_balancing_t   _load_balancing          ;
-  public : uint32_t            _nb_rename_unit_select   ;
-  public : const uint32_t      _nb_bank_access_commit   ;
-  public : const retire_ooo_t  _retire_ooo              ;
+  public : uint32_t            _nb_front_end                       ;
+  public : uint32_t          * _nb_context                         ;//[nb_front_end]
+  public : uint32_t            _nb_rename_unit                     ;
+  public : uint32_t            _size_queue                         ;
+  public : uint32_t            _nb_bank                            ;
+  public : uint32_t          * _nb_inst_insert                     ;//[nb_rename_unit]
+  public : uint32_t          * _nb_inst_retire	                   ;//[nb_rename_unit]
+  public : uint32_t            _nb_inst_commit                     ;
+  public : uint32_t            _nb_inst_reexecute                  ;
+  public : uint32_t            _nb_inst_branch_complete            ;
+  public : uint32_t         ** _nb_branch_speculated               ;//[nb_front_end][nb_context]
+//public : uint32_t            _size_general_data                  ;
+//public : uint32_t            _size_store_queue_ptr               ;
+//public : uint32_t            _size_load_queue_ptr                ;
+//public : uint32_t            _size_general_register              ;
+//public : uint32_t            _size_special_register              ;
+  public : Tpriority_t         _priority                           ;
+  public : Tload_balancing_t   _load_balancing                     ;
+  public : uint32_t            _nb_rename_unit_select              ;
+  public : uint32_t            _nb_thread                          ;
+  public : uint32_t         ** _translate_num_context_to_num_thread; //[nb_front_end][nb_context]
+  public : const uint32_t      _nb_bank_access_commit              ;
+  public : const retire_ooo_t  _retire_ooo                         ;
 
   public : uint32_t            _max_nb_context          ;
@@ -69,25 +71,29 @@
 //public : bool             ** _have_port_depth         ;//[nb_front_end][nb_context]
 
+  public : bool              * _have_thread             ;//[nb_thread]
+
     //-----[ methods ]-----------------------------------------------------------
-  public : Parameters  (uint32_t            nb_front_end            ,
-			uint32_t          * nb_context              ,
-			uint32_t            nb_rename_unit          ,
-			uint32_t            size_queue              ,
-			uint32_t            nb_bank                 ,
-			uint32_t          * nb_inst_insert          ,
-			uint32_t          * nb_inst_retire          ,
-			uint32_t            nb_inst_commit          ,
-			uint32_t            nb_inst_reexecute       ,
-			uint32_t            nb_inst_branch_complete ,
-			uint32_t         ** nb_branch_speculated    ,
-                        uint32_t            size_nb_inst_decod      ,
-			uint32_t            size_general_data       ,
-			uint32_t            size_store_queue_ptr    ,
-			uint32_t            size_load_queue_ptr     ,
-			uint32_t            size_general_register   ,
-			uint32_t            size_special_register   ,
-			Tpriority_t         priority                ,
-			Tload_balancing_t   load_balancing          ,
-			uint32_t            nb_rename_unit_select   ,
+  public : Parameters  (uint32_t            nb_front_end                       ,
+			uint32_t          * nb_context                         ,//[nb_front_end]
+			uint32_t            nb_rename_unit                     ,
+			uint32_t            size_queue                         ,
+			uint32_t            nb_bank                            ,
+			uint32_t          * nb_inst_insert                     ,//[nb_rename_unit]
+			uint32_t          * nb_inst_retire                     ,//[nb_rename_unit]
+			uint32_t            nb_inst_commit                     ,
+			uint32_t            nb_inst_reexecute                  ,
+			uint32_t            nb_inst_branch_complete            ,
+			uint32_t         ** nb_branch_speculated               ,//[nb_front_end][nb_context]
+                        uint32_t            size_nb_inst_decod                 ,
+			uint32_t            size_general_data                  ,
+			uint32_t            size_store_queue_ptr               ,
+			uint32_t            size_load_queue_ptr                ,
+			uint32_t            size_general_register              ,
+			uint32_t            size_special_register              ,
+			Tpriority_t         priority                           ,
+			Tload_balancing_t   load_balancing                     ,
+			uint32_t            nb_rename_unit_select              ,
+                        uint32_t            nb_thread                          ,
+                        uint32_t         ** translate_num_context_to_num_thread, //[nb_front_end][nb_context]
                         bool                is_toplevel=false
 			);
