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/Core_Glue/SelfTest/src/main.cpp

    r88 r117  
    2525  err (_(" * ooo_engine_nb_inst_branch_complete    [nb_ooo_engine]                                            (uint32_t         )\n"));
    2626  err (_(" * nb_inst_insert                        [nb_ooo_engine]                                            (uint32_t         )\n"));
    27   err (_(" * nb_inst_issue                         [nb_ooo_engine]                                            (uint32_t         )\n"));
     27//err (_(" * nb_inst_issue_queue                   [nb_ooo_engine]                                            (uint32_t         )\n"));
     28  err (_(" * nb_inst_issue_slot                    [nb_ooo_engine]                                            (uint32_t         )\n"));
    2829  err (_(" * nb_inst_execute                       [nb_ooo_engine][ooo_engine_nb_execute_loop]                (uint32_t         )\n"));
    2930  err (_(" * nb_read_unit                          [nb_execute_loop]                                          (uint32_t         )\n"));
     
    4041  err (_(" * dispatch_load_balancing                                                                          (Tload_balancing_t)\n"));
    4142  err (_(" * table_dispatch                        [nb_ooo_engine][nb_inst_issue][execute_loop][nb_read_unit] (bool             )\n"));
     43//   err (_(" * table_issue_type                      [execute_loop][nb_read_unit][MAX_TYPE]                      (bool             )\n"));
     44//   err (_("   * TYPE_ALU    \n"));
     45//   err (_("   * TYPE_SHIFT  \n"));
     46//   err (_("   * TYPE_MOVE   \n"));
     47//   err (_("   * TYPE_TEST   \n"));
     48//   err (_("   * TYPE_MUL    \n"));
     49//   err (_("   * TYPE_DIV    \n"));
     50//   err (_("   * TYPE_EXTEND \n"));
     51//   err (_("   * TYPE_FIND   \n"));
     52//   err (_("   * TYPE_SPECIAL\n"));
     53//   err (_("   * TYPE_CUSTOM \n"));
     54//   err (_("   * TYPE_BRANCH \n"));
     55//   err (_("   * TYPE_MEMORY \n"));
    4256  err (_(" * translate_ooo_engine_num_front_end    [nb_ooo_engine][ooo_engine_nb_front_end]                   (uint32_t         )\n"));
    4357  err (_(" * translate_ooo_engine_num_execute_loop [nb_ooo_engine][ooo_engine_nb_execute_loop]                (uint32_t         )\n"));
     
    7286  uint32_t              * ooo_engine_nb_inst_branch_complete   ;//[nb_ooo_engine]
    7387  uint32_t              * nb_inst_insert                       ;//[nb_ooo_engine]
    74   uint32_t              * nb_inst_issue                        ;//[nb_ooo_engine]
     88  uint32_t              * nb_inst_issue_slot                   ;//[nb_ooo_engine]
    7589  uint32_t             ** nb_inst_execute                      ;//[nb_ooo_engine][ooo_engine_nb_execute_loop]
    7690  uint32_t              * nb_read_unit                         ;//[nb_execute_loop]
     
    86100  Tpriority_t             dispatch_priority                    ;
    87101  Tload_balancing_t       dispatch_load_balancing              ;
    88   bool               **** table_dispatch                       ;//[nb_ooo_engine][nb_inst_issue][execute_loop][nb_read_unit]
     102  bool               **** table_dispatch                       ;//[nb_ooo_engine][nb_inst_issue_slot][execute_loop][nb_read_unit]
     103  bool                *** table_issue_type                     ;//                                   [execute_loop][nb_read_unit][MAX_TYPE]
    89104  uint32_t             ** translate_ooo_engine_num_front_end   ;//[nb_ooo_engine][ooo_engine_nb_front_end]
    90105  uint32_t             ** translate_ooo_engine_num_execute_loop;//[nb_ooo_engine][ooo_engine_nb_execute_loop]
     
    119134  SELFTEST1(ooo_engine_nb_inst_branch_complete   ,uint32_t         ,argv,x,nb_ooo_engine);
    120135  SELFTEST1(nb_inst_insert                       ,uint32_t         ,argv,x,nb_ooo_engine);
    121   SELFTEST1(nb_inst_issue                        ,uint32_t         ,argv,x,nb_ooo_engine);
     136  SELFTEST1(nb_inst_issue_slot                   ,uint32_t         ,argv,x,nb_ooo_engine);
    122137
    123138  uint32_t sum_ooo_engine_nb_front_end    = 0;
     
    129144      sum_ooo_engine_nb_front_end    += ooo_engine_nb_front_end    [i];
    130145      sum_ooo_engine_nb_execute_loop += ooo_engine_nb_execute_loop [i];
    131       sum_nb_inst_issue              += nb_inst_issue              [i];
     146      sum_nb_inst_issue              += nb_inst_issue_slot         [i];
    132147    }
    133148
     
    177192  SELFTEST0(dispatch_load_balancing              ,Tload_balancing_t,argv,x);
    178193
    179   SELFTEST4(table_dispatch                       ,bool             ,argv,x,nb_ooo_engine,nb_inst_issue[it1],nb_execute_loop,nb_read_unit[it3]);
     194  SELFTEST4(table_dispatch                       ,bool             ,argv,x,nb_ooo_engine,nb_inst_issue_slot[it1],nb_execute_loop,nb_read_unit[it3]);
     195
     196  ALLOC3   (table_issue_type                     ,bool                                                     ,nb_execute_loop,nb_read_unit[it1],MAX_TYPE);
     197
     198  for (uint32_t i=0; i<nb_execute_loop; ++i)
     199    for (uint32_t j=0; j<nb_read_unit[i]; ++j)
     200      for (uint32_t k=0; k<MAX_TYPE; ++k)
     201//         table_issue_type [i][j][k] = false;
     202        table_issue_type [i][j][k] = true;
     203
     204//   for (uint32_t i=0; i<nb_execute_loop; ++i)
     205//     for (uint32_t j=0; j<nb_read_unit[i]; ++j)
     206//       {
     207//         table_issue_type [i][j][TYPE_ALU    ] = fromString<bool>(argv[x++]);
     208//         table_issue_type [i][j][TYPE_SHIFT  ] = fromString<bool>(argv[x++]);
     209//         table_issue_type [i][j][TYPE_MOVE   ] = fromString<bool>(argv[x++]);
     210//         table_issue_type [i][j][TYPE_TEST   ] = fromString<bool>(argv[x++]);
     211//         table_issue_type [i][j][TYPE_MUL    ] = fromString<bool>(argv[x++]);
     212//         table_issue_type [i][j][TYPE_DIV    ] = fromString<bool>(argv[x++]);
     213//         table_issue_type [i][j][TYPE_EXTEND ] = fromString<bool>(argv[x++]);
     214//         table_issue_type [i][j][TYPE_FIND   ] = fromString<bool>(argv[x++]);
     215//         table_issue_type [i][j][TYPE_SPECIAL] = fromString<bool>(argv[x++]);
     216//         table_issue_type [i][j][TYPE_CUSTOM ] = fromString<bool>(argv[x++]);
     217//         table_issue_type [i][j][TYPE_BRANCH ] = fromString<bool>(argv[x++]);
     218//         table_issue_type [i][j][TYPE_MEMORY ] = fromString<bool>(argv[x++]);
     219//       }
     220
    180221  SELFTEST2(translate_ooo_engine_num_front_end   ,uint32_t         ,argv,x,nb_ooo_engine,ooo_engine_nb_front_end[it1]);
    181222  SELFTEST2(translate_ooo_engine_num_execute_loop,uint32_t         ,argv,x,nb_ooo_engine,ooo_engine_nb_execute_loop[it1]);
     
    198239         ooo_engine_nb_inst_branch_complete   ,//[nb_ooo_engine]
    199240         nb_inst_insert                       ,//[nb_ooo_engine]
    200          nb_inst_issue                        ,//[nb_ooo_engine]
     241         nb_inst_issue_slot                   ,//[nb_ooo_engine]
     242         nb_inst_issue_slot                   ,//[nb_ooo_engine]
    201243         nb_inst_execute                      ,//[nb_ooo_engine][ooo_engine_nb_execute_loop]
    202244         nb_read_unit                         ,//[nb_execute_loop]
     
    212254         dispatch_priority                    ,
    213255         dispatch_load_balancing              ,
    214          table_dispatch                       ,//[nb_ooo_engine][nb_inst_issue][execute_loop][nb_read_unit]
     256         table_dispatch                       ,//[nb_ooo_engine][nb_inst_issue_slot][execute_loop][nb_read_unit]
     257         table_issue_type                     ,//                                   [execute_loop][nb_read_unit][MAX_TYPE]
    215258         translate_ooo_engine_num_front_end   ,//[nb_ooo_engine][ooo_engine_nb_front_end]
    216259         translate_ooo_engine_num_execute_loop,//[nb_ooo_engine][ooo_engine_nb_execute_loop]
     
    245288  DELETE2(translate_ooo_engine_num_execute_loop,nb_ooo_engine,ooo_engine_nb_execute_loop[it1]);
    246289  DELETE2(translate_ooo_engine_num_front_end   ,nb_ooo_engine,ooo_engine_nb_front_end[it1]);
    247   DELETE4(table_dispatch                       ,nb_ooo_engine,nb_inst_issue[it1],nb_execute_loop,nb_read_unit[it2]);
     290  DELETE3(table_issue_type                                                           ,nb_execute_loop,nb_read_unit[it1],MAX_TYPE);
     291  DELETE4(table_dispatch                       ,nb_ooo_engine,nb_inst_issue_slot[it1],nb_execute_loop,nb_read_unit[it2]);
    248292  DELETE1(nb_write_unit                        ,nb_execute_loop);
    249293  DELETE1(nb_read_unit                         ,nb_execute_loop);
    250294  DELETE2(nb_inst_execute                      ,nb_ooo_engine,ooo_engine_nb_execute_loop[it1]);
    251   DELETE1(nb_inst_issue                        ,nb_ooo_engine);
     295  DELETE1(nb_inst_issue_slot                   ,nb_ooo_engine);
    252296  DELETE1(ooo_engine_nb_inst_branch_complete   ,nb_ooo_engine);
    253297  DELETE1(front_end_nb_inst_branch_complete    ,nb_front_end);
Note: See TracChangeset for help on using the changeset viewer.