source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/src/Parameters_print.cpp @ 78

Last change on this file since 78 was 78, checked in by rosiere, 16 years ago

Add :

  • Execute_loop (must be test systemC)
  • Prediction
    • Direction : predifined scheme
    • Branch Target Buffer
  • iFetch_unit
    • ifetch_queue
    • pc management
  • Decod_unit
    • coming soon : support for custom operation
  • Rename_unit
    • RAT
    • Free_list
    • Dependence RAW check
    • Load store unit pointer
  • New Environnement (hierarchy_memory will remove in a next version)


Modif :

  • Manage Custom Operation
  • All component in execute_loop to use the new statistics management

Not Finish :

  • Return Address Stack
  • Environnement
File size: 2.4 KB
Line 
1/*
2 * $Id$
3 *
4 * [ Description ]
5 *
6 */
7
8#include "Behavioural/Core/Multi_Front_end/Front_end/Prediction_unit/Branch_Target_Buffer/Branch_Target_Buffer_Glue/include/Parameters.h"
9#include "Behavioural/include/XML.h"
10
11namespace morpheo                    {
12namespace behavioural {
13namespace core {
14namespace multi_front_end {
15namespace front_end {
16namespace prediction_unit {
17namespace branch_target_buffer {
18namespace branch_target_buffer_glue {
19
20
21#undef  FUNCTION
22#define FUNCTION "Branch_Target_Buffer_Glue::print"
23  std::string Parameters::print (uint32_t depth)
24  {
25    log_printf(FUNC,Branch_Target_Buffer_Glue,FUNCTION,"Begin");
26
27    XML xml ("branch_target_buffer_glue");
28
29    xml.balise_open("branch_target_buffer_glue");
30    xml.singleton_begin("max_nb_instruction"); xml.attribut("value",toString(_max_nb_instruction)); xml.singleton_end();
31    xml.singleton_begin("size_buffer       "); xml.attribut("value",toString(_size_buffer       )); xml.singleton_end();
32    xml.singleton_begin("associativity     "); xml.attribut("value",toString(_associativity     )); xml.singleton_end();
33    xml.singleton_begin("size_address      "); xml.attribut("value",toString(_size_address      )); xml.singleton_end();
34    xml.singleton_begin("nb_inst_predict   "); xml.attribut("value",toString(_nb_inst_predict   )); xml.singleton_end();
35    xml.singleton_begin("nb_inst_decod     "); xml.attribut("value",toString(_nb_inst_decod     )); xml.singleton_end();
36    xml.singleton_begin("nb_inst_update    "); xml.attribut("value",toString(_nb_inst_update    )); xml.singleton_end();
37    xml.balise_close();
38
39    log_printf(FUNC,Branch_Target_Buffer_Glue,FUNCTION,"End");
40   
41    return xml.get_body(depth);
42  };
43
44#undef  FUNCTION
45#define FUNCTION "Branch_Target_Buffer_Glue::operator<<"
46  std::ostream& operator<< (std::ostream& output_stream ,
47                            morpheo::behavioural::core::multi_front_end::front_end::prediction_unit::branch_target_buffer::branch_target_buffer_glue::Parameters & x)
48  {
49    log_printf(FUNC,Branch_Target_Buffer_Glue,FUNCTION,"Begin");
50
51    output_stream << x.print(0);
52   
53    log_printf(FUNC,Branch_Target_Buffer_Glue,FUNCTION,"End");
54
55    return output_stream;
56  };
57
58}; // end namespace branch_target_buffer_glue
59}; // end namespace branch_target_buffer
60}; // end namespace prediction_unit
61}; // end namespace front_end
62}; // end namespace multi_front_end
63}; // end namespace core
64
65}; // end namespace behavioural
66}; // end namespace morpheo             
Note: See TracBrowser for help on using the repository browser.