Ignore:
Timestamp:
Feb 19, 2009, 5:31:47 PM (15 years ago)
Author:
rosiere
Message:

1) OOO_egine : add stat to depiste low perf source
2) Commit : add stat
3) LSU_Pointer : retire - always ack (else combinatory loop). insert - max nb_inst_memory
4) TopLevel? : add debug_idle_time to stop combinatory loop.
5) Issue_queue : add reexecute_queue, new implementation (routage after issue_queue)
6) Decod / Predictor : add "can_continue"

Location:
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest/configuration.cfg

    r108 r110  
    54542       2       +1      # size_store_queue                  [0][0]            [nb_rename_unit][nb_load_store_queue]
    55551       1       +1      # size_load_queue                   [0][0]            [nb_rename_unit][nb_load_store_queue]
     561       1       +1      # nb_inst_memory                    [0][0]            [nb_rename_unit][nb_load_store_queue]
    56570       0       +1      # link_load_store_unit_with_thread  [0][0]            [nb_front_end][nb_context]           
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest/src/main.cpp

    r108 r110  
    77
    88#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest/include/test.h"
     9#include "Behavioural/include/Allocation.h"
    910
    1011#define NB_PARAMS 23
     
    6970  err (_(" * size_store_queue                  [nb_rename_unit][nb_load_store_queue] (uint32_t         )\n"));
    7071  err (_(" * size_load_queue                   [nb_rename_unit][nb_load_store_queue] (uint32_t         )\n"));
     72  err (_(" * nb_inst_memory                    [nb_rename_unit][nb_load_store_queue] (uint32_t         )\n"));
    7173  err (_(" * link_load_store_unit_with_thread  [nb_front_end][nb_context]            (uint32_t         )\n"));
    7274
     
    215217    }
    216218
    217   if (argc != static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+11*_nb_rename_unit+_nb_execute_loop+_nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue+2*_sum_nb_load_store_queue))
     219  if (argc != static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+11*_nb_rename_unit+_nb_execute_loop+_nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue+3*_sum_nb_load_store_queue))
    218220    usage (argc, argv);
    219221
     
    233235      for (uint32_t j=0; j<_nb_load_store_queue[i]; j++)
    234236        _size_load_queue [i][j] = fromString<uint32_t>(argv[x++]);
     237    }
     238
     239  uint32_t           ** _nb_inst_memory                   = new uint32_t * [_nb_rename_unit];
     240  for (uint32_t i=0; i<_nb_rename_unit; i++)
     241    {
     242      _nb_inst_memory  [i] = new uint32_t [_nb_load_store_queue[i]];
     243      for (uint32_t j=0; j<_nb_load_store_queue[i]; j++)
     244        _nb_inst_memory  [i][j] = fromString<uint32_t>(argv[x++]);
    235245    }
    236246
     
    258268        }
    259269    }
     270
     271  uint32_t          _nb_thread                          ;
     272  uint32_t       ** _translate_num_context_to_num_thread; //[nb_front_end][nb_context]
     273
     274  ALLOC2(_translate_num_context_to_num_thread,uint32_t,_nb_front_end,_nb_context[it1]);
     275
     276  _nb_thread = 0;
     277  for (uint32_t i=0; i<_nb_front_end; i++)
     278    for (uint32_t j=0; j<_nb_context [i]; j++)
     279      _translate_num_context_to_num_thread [i][j] = _nb_thread ++;
    260280
    261281  int _return = EXIT_SUCCESS;
     
    307327         _size_store_queue                 ,
    308328         _size_load_queue                  ,
     329         _nb_inst_memory                   ,
    309330         _link_load_store_unit_with_thread ,
    310331         _implement_group                  ,
     332         _nb_thread                          ,
     333         _translate_num_context_to_num_thread,
    311334         true //is_toplevel
    312335         );
     
    337360    }
    338361
     362  DELETE2(_translate_num_context_to_num_thread,_nb_front_end,_nb_context[it1]);
     363
    339364  for (uint32_t i=0; i<_nb_front_end; i++)
    340365    {
     
    348373    delete [] _link_load_store_unit_with_thread [i];
    349374  delete [] _link_load_store_unit_with_thread;
     375
     376  for (uint32_t i=0; i<_nb_rename_unit; i++)
     377    delete [] _nb_inst_memory  [i];
     378  delete [] _nb_inst_memory ;
    350379
    351380  for (uint32_t i=0; i<_nb_rename_unit; i++)
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest/src/test.cpp

    r108 r110  
    99#include "Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest/include/test.h"
    1010#include "Behavioural/include/Allocation.h"
     11#include "Behavioural/include/Simulation.h"
    1112
    1213void test (string name,
     
    1819  morpheo::behavioural::Parameters_Statistics * _parameters_statistics = new morpheo::behavioural::Parameters_Statistics (5,CYCLE_MAX);
    1920#endif
     21
     22  simulation_init(0,0);
     23
     24  debug_idle_cycle = CYCLE_MAX;
    2025
    2126  Tusage_t _usage = USE_ALL;
Note: See TracChangeset for help on using the changeset viewer.