Ignore:
Timestamp:
May 16, 2009, 4:42:39 PM (15 years ago)
Author:
rosiere
Message:

1) Platforms : add new organization for test
2) Load_Store_Unit : add array to count nb_check in store_queue
3) Issue_queue and Core_Glue : rewrite the issue network
4) Special_Register_Unit : add reset value to register CID
5) Softwares : add multicontext test
6) Softwares : add SPECINT
7) Softwares : add MiBench?
7) Read_queue : inhib access for r0
8) Change Core_Glue (network) - dont yet support priority and load balancing scheme

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_OOO_Engine/OOO_Engine/SelfTest/src/main.cpp

    r112 r117  
    99#include "Behavioural/include/Allocation.h"
    1010
    11 #define NB_PARAMS 24
     11#define NB_PARAMS 23
    1212
    1313void usage (int argc, char * argv[])
     
    2222  err (_(" * nb_inst_insert                    [nb_rename_unit]                      (uint32_t             )\n"));
    2323  err (_(" * nb_inst_retire                    [nb_rename_unit]                      (uint32_t             )\n"));
    24   err (_(" * nb_inst_issue                                                           (uint32_t             )\n"));
     24//err (_(" * nb_inst_issue                                                           (uint32_t             )\n"));
    2525  err (_(" * nb_inst_execute                   [nb_execute_loop]                     (uint32_t             )\n"));
    2626  err (_(" * nb_inst_reexecute                                                       (uint32_t             )\n"));
     
    4343  err (_(" * issue_priority                                                          (Tpriority_t          )\n"));
    4444  err (_(" * issue_load_balancing                                                    (Tload_balancing_t    )\n"));
    45   err (_(" * table_routing                     [nb_rename_unit][nb_inst_issue]       (bool                 )\n"));
    46   err (_(" * table_issue_type                  [nb_inst_issue][nb_type]              (bool                 )\n"));
    47   err (_("   * TYPE_ALU    \n"));
    48   err (_("   * TYPE_SHIFT  \n"));
    49   err (_("   * TYPE_MOVE   \n"));
    50   err (_("   * TYPE_TEST   \n"));
    51   err (_("   * TYPE_MUL    \n"));
    52   err (_("   * TYPE_DIV    \n"));
    53   err (_("   * TYPE_EXTEND \n"));
    54   err (_("   * TYPE_FIND   \n"));
    55   err (_("   * TYPE_SPECIAL\n"));
    56   err (_("   * TYPE_CUSTOM \n"));
    57   err (_("   * TYPE_BRANCH \n"));
    58   err (_("   * TYPE_MEMORY \n"));
     45//   err (_(" * table_routing                     [nb_rename_unit][nb_inst_issue]       (bool                 )\n"));
     46//   err (_(" * table_issue_type                  [nb_inst_issue][nb_type]              (bool                 )\n"));
     47//   err (_("   * TYPE_ALU    \n"));
     48//   err (_("   * TYPE_SHIFT  \n"));
     49//   err (_("   * TYPE_MOVE   \n"));
     50//   err (_("   * TYPE_TEST   \n"));
     51//   err (_("   * TYPE_MUL    \n"));
     52//   err (_("   * TYPE_DIV    \n"));
     53//   err (_("   * TYPE_EXTEND \n"));
     54//   err (_("   * TYPE_FIND   \n"));
     55//   err (_("   * TYPE_SPECIAL\n"));
     56//   err (_("   * TYPE_CUSTOM \n"));
     57//   err (_("   * TYPE_BRANCH \n"));
     58//   err (_("   * TYPE_MEMORY \n"));
    5959  err (_(" * size_reexecute_queue                                                    (uint32_t         )\n"));
    6060  err (_(" * reexecute_priority                                                      (Tpriority_t      )\n"));
     
    120120    _nb_inst_retire [i] = fromString<uint32_t>(argv[x++]);
    121121
    122   uint32_t              _nb_inst_issue                     = fromString<uint32_t         >(argv[x++]);
     122//uint32_t              _nb_inst_issue                     = fromString<uint32_t         >(argv[x++]);
    123123  uint32_t            * _nb_inst_execute                   = new uint32_t [_nb_execute_loop];
    124124  for (uint32_t i=0; i<_nb_execute_loop; i++)
     
    152152  Tpriority_t           _issue_priority                    = fromString<Tpriority_t      >(argv[x++]);
    153153  Tload_balancing_t     _issue_load_balancing              = fromString<Tload_balancing_t>(argv[x++]);
    154   bool               ** _table_routing                     = new bool * [_nb_rename_unit];
    155   for (uint32_t i=0; i<_nb_rename_unit; i++)
    156     {
    157       _table_routing [i] = new bool [_nb_inst_issue];
    158       for (uint32_t j=0; j<_nb_inst_issue; j++)
    159         _table_routing [i][j] = fromString<bool>(argv[x++]);
    160     }
    161 
    162   if (argc <= static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+10*_nb_rename_unit+_nb_execute_loop+_nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue))
     154//   bool               ** _table_routing                     = new bool * [_nb_rename_unit];
     155//   for (uint32_t i=0; i<_nb_rename_unit; i++)
     156//     {
     157//       _table_routing [i] = new bool [_nb_inst_issue];
     158//       for (uint32_t j=0; j<_nb_inst_issue; j++)
     159//         _table_routing [i][j] = fromString<bool>(argv[x++]);
     160//     }
     161
     162  if (argc <= static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+10*_nb_rename_unit+_nb_execute_loop//+_nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue
     163                               ))
    163164    usage (argc, argv);
    164165 
    165   bool               ** _table_issue_type                  = new bool * [_nb_inst_issue];
    166   for (uint32_t i=0; i<_nb_inst_issue; i++)   
    167     {
    168       _table_issue_type [i] = new bool [MAX_TYPE];
    169       for (uint32_t j=0; j<MAX_TYPE; j++)
    170         _table_issue_type [i][j] = false;
    171 
    172       _table_issue_type [i][TYPE_ALU    ] = fromString<bool>(argv[x++]);
    173       _table_issue_type [i][TYPE_SHIFT  ] = fromString<bool>(argv[x++]);
    174       _table_issue_type [i][TYPE_MOVE   ] = fromString<bool>(argv[x++]);
    175       _table_issue_type [i][TYPE_TEST   ] = fromString<bool>(argv[x++]);
    176       _table_issue_type [i][TYPE_MUL    ] = fromString<bool>(argv[x++]);
    177       _table_issue_type [i][TYPE_DIV    ] = fromString<bool>(argv[x++]);
    178       _table_issue_type [i][TYPE_EXTEND ] = fromString<bool>(argv[x++]);
    179       _table_issue_type [i][TYPE_FIND   ] = fromString<bool>(argv[x++]);
    180       _table_issue_type [i][TYPE_SPECIAL] = fromString<bool>(argv[x++]);
    181       _table_issue_type [i][TYPE_CUSTOM ] = fromString<bool>(argv[x++]);
    182       _table_issue_type [i][TYPE_BRANCH ] = fromString<bool>(argv[x++]);
    183       _table_issue_type [i][TYPE_MEMORY ] = fromString<bool>(argv[x++]);
    184     }
     166//   bool               ** _table_issue_type                  = new bool * [_nb_inst_issue];
     167//   for (uint32_t i=0; i<_nb_inst_issue; i++)   
     168//     {
     169//       _table_issue_type [i] = new bool [MAX_TYPE];
     170//       for (uint32_t j=0; j<MAX_TYPE; j++)
     171//         _table_issue_type [i][j] = false;
     172
     173//       _table_issue_type [i][TYPE_ALU    ] = fromString<bool>(argv[x++]);
     174//       _table_issue_type [i][TYPE_SHIFT  ] = fromString<bool>(argv[x++]);
     175//       _table_issue_type [i][TYPE_MOVE   ] = fromString<bool>(argv[x++]);
     176//       _table_issue_type [i][TYPE_TEST   ] = fromString<bool>(argv[x++]);
     177//       _table_issue_type [i][TYPE_MUL    ] = fromString<bool>(argv[x++]);
     178//       _table_issue_type [i][TYPE_DIV    ] = fromString<bool>(argv[x++]);
     179//       _table_issue_type [i][TYPE_EXTEND ] = fromString<bool>(argv[x++]);
     180//       _table_issue_type [i][TYPE_FIND   ] = fromString<bool>(argv[x++]);
     181//       _table_issue_type [i][TYPE_SPECIAL] = fromString<bool>(argv[x++]);
     182//       _table_issue_type [i][TYPE_CUSTOM ] = fromString<bool>(argv[x++]);
     183//       _table_issue_type [i][TYPE_BRANCH ] = fromString<bool>(argv[x++]);
     184//       _table_issue_type [i][TYPE_MEMORY ] = fromString<bool>(argv[x++]);
     185//     }
    185186 
    186187  uint32_t              _size_reexecute_queue              = fromString<uint32_t         >(argv[x++]);
     
    220221    }
    221222
    222   if (argc != static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+10*_nb_rename_unit+_nb_execute_loop+_nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue+3*_sum_nb_load_store_queue))
     223  if (argc != static_cast<int>(2+NB_PARAMS+3*_nb_front_end+2*_sum_nb_context+10*_nb_rename_unit+_nb_execute_loop+// _nb_rename_unit*_nb_inst_issue+12*_nb_inst_issue
     224                               3*_sum_nb_load_store_queue))
    223225    usage (argc, argv);
    224226
     
    294296         _nb_inst_insert                   ,
    295297         _nb_inst_retire                   ,
    296          _nb_inst_issue                    ,
     298//       _nb_inst_issue                    ,
    297299         _nb_inst_execute                  ,
    298300         _nb_inst_reexecute                ,
     
    315317         _issue_priority                   ,
    316318         _issue_load_balancing             ,
    317          _table_routing                    ,
    318          _table_issue_type                 ,
     319//          _table_routing                    ,
     320//          _table_issue_type                 ,
    319321         _size_reexecute_queue             ,
    320322         _reexecute_priority               ,
     
    400402  delete [] _rename_select_priority            ;
    401403
    402   for (uint32_t i=0; i<_nb_inst_issue; i++)   
    403     delete [] _table_issue_type [i];
    404   delete [] _table_issue_type; 
    405 
    406   for (uint32_t i=0; i<_nb_rename_unit; i++)
    407     delete [] _table_routing [i];
    408   delete [] _table_routing;
     404//   for (uint32_t i=0; i<_nb_inst_issue; i++)   
     405//     delete [] _table_issue_type [i];
     406//   delete [] _table_issue_type; 
     407
     408//   for (uint32_t i=0; i<_nb_rename_unit; i++)
     409//     delete [] _table_routing [i];
     410//   delete [] _table_routing;
    409411
    410412  delete [] _link_rename_unit_with_front_end;
Note: See TracChangeset for help on using the changeset viewer.