SST/macro
instruction_processor.h
Go to the documentation of this file.
1 /*
2  * This file is part of SST/macroscale:
3  * The macroscale architecture simulator from the SST suite.
4  * Copyright (c) 2009 Sandia Corporation.
5  * This software is distributed under the BSD License.
6  * Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
7  * the U.S. Government retains certain rights in this software.
8  * For more information, see the LICENSE file in the top
9  * SST/macroscale directory.
10  */
11 
12 #ifndef SSTMAC_HARDWARE_PROCESSOR_INSTRUCTIONPROCESSOR_H_INCLUDED
13 #define SSTMAC_HARDWARE_PROCESSOR_INSTRUCTIONPROCESSOR_H_INCLUDED
14 
17 #include <sstmac/common/rng.h>
20 
21 namespace sstmac {
22 namespace hw {
23 
25  public simple_processor
26 {
27  public:
29  simple_processor(mem, nd),
30  noise_model_(nullptr)
31  {
32  }
33 
34  virtual std::string
35  to_string() const {
36  return "instruction processor";
37  }
38 
39  virtual ~instruction_processor();
40 
41  virtual void
42  init_factory_params(sprockit::sim_parameters* params);
43 
44  virtual void
45  finalize_init();
46 
47  virtual void
48  compute(event* ev, callback* cb);
49 
50  protected:
51  void
52  set_memop_distribution(double stdev);
53 
54  void
55  set_flop_distribution(double stdev);
56 
57  double
59 
60  protected:
61  double tflop_;
62  double tintop_;
63  double tmemseq_;
64  double tmemrnd_;
65 
67 
69 
70  double parallelism_;
71 
73 
74 };
75 
76 }
77 } // end of namespace sstmac
78 
79 #endif
80 
void set_memop_distribution(double stdev)
double instruction_time(sw::basic_compute_event *msg)
A very simple processor model.
instruction_processor(memory_model *mem, node *nd)
virtual void compute(event *ev, callback *cb)
void set_flop_distribution(double stdev)
virtual void init_factory_params(sprockit::sim_parameters *params)
SUMI = Simulator unified messagine interface It is also the name for a solid ink in Japanese - i...
virtual std::string to_string() const