OpenASIP  2.0
Machine.hh
Go to the documentation of this file.
1 /*
2  Copyright (c) 2002-2009 Tampere University.
3 
4  This file is part of TTA-Based Codesign Environment (TCE).
5 
6  Permission is hereby granted, free of charge, to any person obtaining a
7  copy of this software and associated documentation files (the "Software"),
8  to deal in the Software without restriction, including without limitation
9  the rights to use, copy, modify, merge, publish, distribute, sublicense,
10  and/or sell copies of the Software, and to permit persons to whom the
11  Software is furnished to do so, subject to the following conditions:
12 
13  The above copyright notice and this permission notice shall be included in
14  all copies or substantial portions of the Software.
15 
16  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  DEALINGS IN THE SOFTWARE.
23  */
24 /**
25  * @file Machine.hh
26  *
27  * Declaration of Machine class.
28  *
29  * @author Lasse Laasonen 2003 (lasse.laasonen-no.spam-tut.fi)
30  * @note reviewed 16 Jun 2004 by ml, tr, jm, ll
31  * @note rating: red
32  */
33 
34 #ifndef TTA_MACHINE_HH
35 #define TTA_MACHINE_HH
36 
37 #include <vector>
38 #include <string>
39 
40 #include "Exception.hh"
41 #include "Serializable.hh"
42 #include "TCEString.hh"
43 
44 class MachineTester;
45 class DummyMachineTester;
46 
47 namespace TTAMachine {
48 
49 class Bus;
50 class Socket;
51 class AddressSpace;
52 class Unit;
53 class Bridge;
54 class InstructionTemplate;
55 class FunctionUnit;
56 class ImmediateUnit;
57 class RegisterFile;
58 class Machine;
59 class ControlUnit;
60 class Component;
61 class ImmediateSlot;
62 class OperationTriggeredFormat;
63 
64 template <typename ComponentType>
66 
67 template <typename ComponentType>
68 class Navigator;
69 
70 /**
71  * Represents a complete TTA processor.
72  */
73 class Machine : public Serializable {
74 public:
75 
76  /**
77  * Extension mode applied to a number when it is narrower than the place
78  * where it is placed e.g. bus.
79  */
80  enum Extension {
81  ZERO, ///< Zero extension.
82  SIGN ///< Sign extension.
83  };
84 
85  Machine();
86  Machine(const Machine& old);
87  virtual ~Machine();
88 
89  virtual bool isUniversalMachine() const;
90 
91  virtual void addBus(Bus& bus);
92  virtual void addSocket(Socket& socket);
93  void addUnit(Unit& unit);
94  virtual void addFunctionUnit(FunctionUnit& unit);
95  virtual void addImmediateUnit(ImmediateUnit& unit);
96  virtual void addRegisterFile(RegisterFile& unit);
97  virtual void addAddressSpace(AddressSpace& as);
98  virtual void addBridge(Bridge& bridge);
99  virtual void addInstructionTemplate(InstructionTemplate& instrTempl);
100  virtual void addOperationTriggeredFormat(
101  OperationTriggeredFormat& format);
102  virtual void addImmediateSlot(ImmediateSlot& slot);
103  virtual void setGlobalControl(ControlUnit& unit);
104  virtual void unsetGlobalControl();
105 
106  virtual ControlUnit* controlUnit() const;
107 
108  virtual void removeBus(Bus& bus);
109  virtual void removeSocket(Socket& socket);
110  virtual void removeUnit(Unit& unit);
111  virtual void removeFunctionUnit(FunctionUnit& unit);
112  virtual void removeImmediateUnit(ImmediateUnit& unit);
113  virtual void removeRegisterFile(RegisterFile& unit);
114  virtual void deleteBridge(Bridge& bridge);
115  virtual void deleteInstructionTemplate(InstructionTemplate& instrTempl);
116  virtual void deleteOperationTriggeredFormat(
117  OperationTriggeredFormat& format);
118  virtual void deleteImmediateSlot(ImmediateSlot& slot);
119  virtual void deleteAddressSpace(AddressSpace& as);
120 
121  void setBusPosition(const Bus& bus, int newPosition);
122 
123  MachineTester& machineTester() const;
124 
125  bool alwaysWriteResults() const;
126  bool triggerInvalidatesResults() const;
127  bool isFUOrdered() const;
128  void setAlwaysWriteResults(bool);
129  void setTriggerInvalidatesResults(bool);
130  void setFUOrdered(bool);
131 
132  int maximumLatency() const;
133 
134  // functions inherited from Serializable interface
135  virtual void loadState(const ObjectState* state);
136  virtual ObjectState* saveState() const;
137 
138  virtual void copyFromMachine(Machine& machine);
139 
140  static Machine* loadFromADF(const std::string& adfFileName);
141 
142  void writeToADF(const std::string& adfFileName) const;
143 
144  TCEString hash() const;
145 
146  bool hasOperation(const TCEString& opName) const;
147  bool isRISCVMachine() const;
148 
149  /**
150  * A template class which contains machine components.
151  */
152  template <typename ComponentType>
154  public:
157 
158  void addComponent(ComponentType* component);
159  void removeComponent(ComponentType* component);
160  void deleteAll();
161  ComponentType* item(int index) const;
162  ComponentType* item(const std::string& name) const;
163  int count() const;
164  void moveToPosition(const ComponentType* component, int position);
165 
166  /// Table of ComponentType pointers.
167  typedef std::vector<ComponentType*> ComponentTable;
168 
169  typedef typename ComponentTable::const_iterator const_iterator;
170 
171  const_iterator begin() const noexcept;
172  const_iterator end() const noexcept;
173 
174  private:
175  /// Contains all the components of the container.
177  };
178 
179  /**
180  * A template class which is a handle to a ComponentContainer.
181  *
182  * An instance of this class is intended to return outside the Machine
183  * class to allow clients to access individual components in Machine.
184  */
185  template <typename ComponentType>
186  class Navigator {
187  public:
188  Navigator(
190  ~Navigator();
191 
192  Navigator(const Navigator& old);
193  Navigator& operator=(const Navigator& old);
194 
195  ComponentType* item(int index) const;
196  ComponentType* item(const std::string& name) const;
197  bool hasItem(const std::string& name) const;
198  int count() const;
199 
200  typedef typename
203 
204  const_iterator begin() const noexcept;
205  const_iterator end() const noexcept;
206 
207  private:
208  /// The container which this navigator handles.
209  const Machine::ComponentContainer<ComponentType>* container_;
210  };
211 
212  /// Navigator type for BusNavigator.
214  /// Navigator type for SocketNavigator.
216  /// Navigator type for FunctionUnitNavigator.
218  /// Navigator type for AddressSpaceNavigator.
220  /// Navigator type for BridgeNavigator.
222  /// Navigator type for ImmediateUnitNavigator.
224  /// Navigator type for InstructionTemplateNavigator.
226  /// Navigator type for RegisterFileNavigator.
228  /// Navigator type for ImmediateSlotNavigator.
230  /// Navigator type for OperationTriggeredFormatNavigator
233 
234  virtual BusNavigator busNavigator() const;
235  virtual SocketNavigator socketNavigator() const;
238  virtual BridgeNavigator bridgeNavigator() const;
241  const;
246 
247 
248  /// ObjectState name for Machine.
249  static const std::string OSNAME_MACHINE;
250  /// ObjectState attribute key for always-write-back-results.
251  static const std::string OSKEY_ALWAYS_WRITE_BACK_RESULTS;
252  /// ObjectState attribute key for trigger-invalidates-old-results
253  static const std::string OSKEY_TRIGGER_INVALIDATES_OLD_RESULTS;
254  /// ObjectState attribute key for function units ordered in order
255  /// of their sequential presence in ADF
256  static const std::string OSKEY_FUNCTION_UNITS_ORDERED;
257 
258  bool isLittleEndian() const { return littleEndian_; }
259  void setLittleEndian(bool flag) { littleEndian_ = flag; }
260  bool is64bit() const { return bitness64_; }
261  void set64bits(bool flag) { bitness64_ = flag; }
262 private:
263  /// Assignment not allowed.
264  Machine& operator=(const Machine&);
265 
266  template <typename ContainerType, typename ComponentType>
267  void addComponent(ContainerType& container, ComponentType& toAdd);
268 
269  template <typename ContainerType, typename ComponentType>
270  void addRegisteredComponent(ContainerType& container, ComponentType& toAdd);
271 
272  template <typename ContainerType, typename ComponentType>
273  void removeComponent(ContainerType& container, ComponentType& toRemove);
274 
275  template <typename ContainerType, typename ComponentType>
276  void deleteComponent(ContainerType& container, ComponentType& toDelete);
277 
278  template <typename ContainerType>
279  static void saveComponentStates(
280  ContainerType& container,
281  ObjectState* parent);
282 
283  /// Contains all the busses attached to the machine.
285  /// Contains all the sockets attached to the machine.
287  /// Contains all the instruction templates of the machine.
289  /// Contains all the register files of the machine.
291  /// Contains all the immediate units of the machine.
293  /// Contains all the function units of the machine.
295  /// Contains all the address spaces of the machine.
297  /// Contains all the bridges of the machine.
299  /// Contains all the immediate slots of the machine.
301  /// Contains all the OTA Formats of the machine.
303 
304  /// Global control unit.
306 
307  /// Tells whether to do validity checks or not.
309  /// Machine tester for the machine.
311  /// Dummy machine tester for the machine.
313 
314  // Name of the empty instruction template created by default.
315  const std::string EMPTY_ITEMP_NAME_;
316 
317  // Result move have to be always written to register. Effectively
318  // disable dead result read elimination.
320  // Triggering invalidates content of register where value of result will be
321  // written. Previous value can not be read any more.
323  // Function units relative order can be important (SPU).
324  // If set to 1, each FU will be given order id based on their sequential
325  // ordering in the ADF.
327  // True in case the machine is little-endian, big-endian otherwise.
329  // True in case the machine is 64-bit. Also has to be little-endian.
331 };
332 }
333 
334 #include "Machine.icc"
335 
336 #endif
TTAMachine::Machine::functionUnits_
ComponentContainer< FunctionUnit > functionUnits_
Contains all the function units of the machine.
Definition: Machine.hh:294
TTAMachine::Machine::removeFunctionUnit
virtual void removeFunctionUnit(FunctionUnit &unit)
Definition: Machine.cc:530
TTAMachine::Machine::maximumLatency
int maximumLatency() const
Definition: Machine.cc:1029
TTAMachine::Machine::bridges_
ComponentContainer< Bridge > bridges_
Contains all the bridges of the machine.
Definition: Machine.hh:298
TTAMachine::Machine::ZERO
@ ZERO
Zero extension.
Definition: Machine.hh:81
TTAMachine::Machine::sockets_
ComponentContainer< Socket > sockets_
Contains all the sockets attached to the machine.
Definition: Machine.hh:286
TTAMachine::Machine::hasOperation
bool hasOperation(const TCEString &opName) const
Definition: Machine.cc:1048
TTAMachine::Machine::deleteInstructionTemplate
virtual void deleteInstructionTemplate(InstructionTemplate &instrTempl)
Definition: Machine.cc:599
TTAMachine::Machine::deleteImmediateSlot
virtual void deleteImmediateSlot(ImmediateSlot &slot)
Definition: Machine.cc:635
TTAMachine::Machine::setBusPosition
void setBusPosition(const Bus &bus, int newPosition)
Definition: Machine.cc:651
TTAMachine::Machine::isRISCVMachine
bool isRISCVMachine() const
Definition: Machine.cc:1063
machine
TTAMachine::Machine * machine
the architecture definition of the estimated processor
Definition: EstimatorCmdLineUI.cc:59
TTAMachine::Machine::ComponentContainer
Definition: Machine.hh:153
TTAMachine::AddressSpace
Definition: AddressSpace.hh:51
Exception.hh
TTAMachine::Machine::OSKEY_TRIGGER_INVALIDATES_OLD_RESULTS
static const std::string OSKEY_TRIGGER_INVALIDATES_OLD_RESULTS
ObjectState attribute key for trigger-invalidates-old-results.
Definition: Machine.hh:253
TTAMachine::Bridge
Definition: Bridge.hh:51
TTAMachine::Machine::isUniversalMachine
virtual bool isUniversalMachine() const
Definition: Machine.cc:127
TTAMachine::Machine::Navigator::const_iterator
Machine::ComponentContainer< ComponentType >::const_iterator const_iterator
Definition: Machine.hh:202
Serializable
Definition: Serializable.hh:44
TTAMachine::Machine::OSNAME_MACHINE
static const std::string OSNAME_MACHINE
ObjectState name for Machine.
Definition: Machine.hh:249
TTAMachine::Bus
Definition: Bus.hh:53
TTAMachine::Machine::set64bits
void set64bits(bool flag)
Definition: Machine.hh:261
TTAMachine::Machine::removeBus
virtual void removeBus(Bus &bus)
Definition: Machine.cc:477
TTAMachine::Machine::is64bit
bool is64bit() const
Definition: Machine.hh:260
ObjectState
Definition: ObjectState.hh:59
TTAMachine::Machine::addUnit
void addUnit(Unit &unit)
Definition: Machine.cc:175
TTAMachine::Machine::ComponentContainer::addComponent
void addComponent(ComponentType *component)
TTAMachine::Machine::triggerInvalidatesResults_
bool triggerInvalidatesResults_
Definition: Machine.hh:322
TTAMachine::Machine::Machine
Machine()
Definition: Machine.cc:76
TTAMachine::Machine::addOperationTriggeredFormat
virtual void addOperationTriggeredFormat(OperationTriggeredFormat &format)
Definition: Machine.cc:287
TTAMachine::Machine::unsetGlobalControl
virtual void unsetGlobalControl()
Definition: Machine.cc:565
TTAMachine::Machine::triggerInvalidatesResults
bool triggerInvalidatesResults() const
Definition: Machine.cc:964
TTAMachine::Navigator
Definition: Machine.hh:68
TTAMachine::Machine::ComponentContainer::item
ComponentType * item(int index) const
TTAMachine::Machine::ComponentContainer::removeComponent
void removeComponent(ComponentType *component)
TTAMachine::Machine::addInstructionTemplate
virtual void addInstructionTemplate(InstructionTemplate &instrTempl)
Definition: Machine.cc:275
TTAMachine::Machine::instructionTemplates_
ComponentContainer< InstructionTemplate > instructionTemplates_
Contains all the instruction templates of the machine.
Definition: Machine.hh:288
TTAMachine::Machine::hash
TCEString hash() const
Definition: Machine.cc:932
TTAMachine::Machine::ComponentContainer::count
int count() const
TTAMachine::Machine::loadState
virtual void loadState(const ObjectState *state)
Definition: Machine.cc:728
TTAMachine::Machine::addImmediateUnit
virtual void addImmediateUnit(ImmediateUnit &unit)
Definition: Machine.cc:224
TTAMachine::Machine::OSKEY_ALWAYS_WRITE_BACK_RESULTS
static const std::string OSKEY_ALWAYS_WRITE_BACK_RESULTS
ObjectState attribute key for always-write-back-results.
Definition: Machine.hh:251
TTAMachine::Machine::isLittleEndian
bool isLittleEndian() const
Definition: Machine.hh:258
TTAMachine::Machine::deleteAddressSpace
virtual void deleteAddressSpace(AddressSpace &as)
Definition: Machine.cc:623
TCEString.hh
TTAMachine::InstructionTemplate
Definition: InstructionTemplate.hh:49
TTAMachine::Machine::removeUnit
virtual void removeUnit(Unit &unit)
Definition: Machine.cc:505
TTAMachine::Machine::alwaysWriteResults
bool alwaysWriteResults() const
Definition: Machine.cc:954
TTAMachine::FunctionUnit
Definition: FunctionUnit.hh:55
DummyMachineTester
Definition: DummyMachineTester.hh:41
TTAMachine::Machine::ComponentContainer::const_iterator
ComponentTable::const_iterator const_iterator
Definition: Machine.hh:169
TTAMachine::Machine::operationTriggeredFormatNavigator
virtual OperationTriggeredFormatNavigator operationTriggeredFormatNavigator() const
Definition: Machine.cc:439
TTAMachine::Machine::addRegisterFile
virtual void addRegisterFile(RegisterFile &unit)
Definition: Machine.cc:236
TTAMachine::Machine::OSKEY_FUNCTION_UNITS_ORDERED
static const std::string OSKEY_FUNCTION_UNITS_ORDERED
ObjectState attribute key for function units ordered in order of their sequential presence in ADF.
Definition: Machine.hh:256
TTAMachine::Machine::immediateUnits_
ComponentContainer< ImmediateUnit > immediateUnits_
Contains all the immediate units of the machine.
Definition: Machine.hh:292
TTAMachine::Machine::controlUnit
virtual ControlUnit * controlUnit() const
Definition: Machine.cc:345
TTAMachine::Machine::addRegisteredComponent
void addRegisteredComponent(ContainerType &container, ComponentType &toAdd)
TTAMachine::Unit
Definition: Unit.hh:51
TTAMachine::Machine::bridgeNavigator
virtual BridgeNavigator bridgeNavigator() const
Definition: Machine.cc:404
TTAMachine::Machine::immediateUnitNavigator
virtual ImmediateUnitNavigator immediateUnitNavigator() const
Definition: Machine.cc:416
TTAMachine::ControlUnit
Definition: ControlUnit.hh:50
TTAMachine::Machine::machineTester
MachineTester & machineTester() const
Definition: Machine.cc:671
TTAMachine::Machine::registerFiles_
ComponentContainer< RegisterFile > registerFiles_
Contains all the register files of the machine.
Definition: Machine.hh:290
TTAMachine::Machine::functionUnitNavigator
virtual FunctionUnitNavigator functionUnitNavigator() const
Definition: Machine.cc:380
TTAMachine::Machine::alwaysWriteResults_
bool alwaysWriteResults_
Definition: Machine.hh:319
TTAMachine::Socket
Definition: Socket.hh:53
TTAMachine::Machine::removeImmediateUnit
virtual void removeImmediateUnit(ImmediateUnit &unit)
Definition: Machine.cc:542
TTAMachine::Machine::littleEndian_
bool littleEndian_
Definition: Machine.hh:328
TTAMachine::Machine::deleteBridge
virtual void deleteBridge(Bridge &bridge)
Definition: Machine.cc:587
TTAMachine::Machine::addAddressSpace
virtual void addAddressSpace(AddressSpace &as)
Definition: Machine.cc:248
TTAMachine::Machine::removeRegisterFile
virtual void removeRegisterFile(RegisterFile &unit)
Definition: Machine.cc:554
TTAMachine::Machine::saveState
virtual ObjectState * saveState() const
Definition: Machine.cc:686
TTAMachine::Machine::doValidityChecks_
bool doValidityChecks_
Tells whether to do validity checks or not.
Definition: Machine.hh:308
TTAMachine::Machine::addressSpaceNavigator
virtual AddressSpaceNavigator addressSpaceNavigator() const
Definition: Machine.cc:392
TTAMachine::Machine::socketNavigator
virtual SocketNavigator socketNavigator() const
Definition: Machine.cc:368
TTAMachine::Machine::operationTriggeredFormats_
ComponentContainer< OperationTriggeredFormat > operationTriggeredFormats_
Contains all the OTA Formats of the machine.
Definition: Machine.hh:302
TTAMachine::Machine::addBus
virtual void addBus(Bus &bus)
Definition: Machine.cc:139
TTAMachine::Machine::SIGN
@ SIGN
Sign extension.
Definition: Machine.hh:82
TTAMachine::Machine::immediateSlotNavigator
virtual ImmediateSlotNavigator immediateSlotNavigator() const
Definition: Machine.cc:462
TTAMachine::OperationTriggeredFormat
Definition: OperationTriggeredFormat.hh:44
TTAMachine::Machine::writeToADF
void writeToADF(const std::string &adfFileName) const
Definition: Machine.cc:913
TTAMachine::Machine::setGlobalControl
virtual void setGlobalControl(ControlUnit &unit)
Definition: Machine.cc:317
TTAMachine::Machine::EMPTY_ITEMP_NAME_
const std::string EMPTY_ITEMP_NAME_
Definition: Machine.hh:315
Serializable.hh
TTAMachine::Machine::ComponentContainer::ComponentTable
std::vector< ComponentType * > ComponentTable
Table of ComponentType pointers.
Definition: Machine.hh:167
TTAMachine::Machine::addBridge
virtual void addBridge(Bridge &bridge)
Definition: Machine.cc:263
TTAMachine::Machine::registerFileNavigator
virtual RegisterFileNavigator registerFileNavigator() const
Definition: Machine.cc:450
TTAMachine::Machine::dummyMachineTester_
DummyMachineTester * dummyMachineTester_
Dummy machine tester for the machine.
Definition: Machine.hh:312
TTAMachine::Machine::ComponentContainer::begin
const_iterator begin() const noexcept
TTAMachine::Machine::deleteComponent
void deleteComponent(ContainerType &container, ComponentType &toDelete)
TTAMachine::Machine::addFunctionUnit
virtual void addFunctionUnit(FunctionUnit &unit)
Definition: Machine.cc:202
TTAMachine::Machine::ComponentContainer::components_
ComponentTable components_
Contains all the components of the container.
Definition: Machine.hh:176
TTAMachine::Machine::ComponentContainer::ComponentContainer
ComponentContainer()
TTAMachine::Machine::addressSpaces_
ComponentContainer< AddressSpace > addressSpaces_
Contains all the address spaces of the machine.
Definition: Machine.hh:296
TTAMachine::Machine::addImmediateSlot
virtual void addImmediateSlot(ImmediateSlot &slot)
Definition: Machine.cc:299
TTAMachine::Machine::setLittleEndian
void setLittleEndian(bool flag)
Definition: Machine.hh:259
TCEString
Definition: TCEString.hh:53
TTAMachine::Machine::busNavigator
virtual BusNavigator busNavigator() const
Definition: Machine.cc:356
TTAMachine::Machine::ComponentContainer::moveToPosition
void moveToPosition(const ComponentType *component, int position)
TTAMachine::Machine::copyFromMachine
virtual void copyFromMachine(Machine &machine)
Definition: Machine.cc:890
TTAMachine::Machine::machineTester_
MachineTester * machineTester_
Machine tester for the machine.
Definition: Machine.hh:310
TTAMachine::Machine::busses_
ComponentContainer< Bus > busses_
Contains all the busses attached to the machine.
Definition: Machine.hh:284
TTAMachine::Machine::removeSocket
virtual void removeSocket(Socket &socket)
Definition: Machine.cc:490
TTAMachine::Machine::Extension
Extension
Definition: Machine.hh:80
TTAMachine::Machine::ComponentContainer::~ComponentContainer
~ComponentContainer()
TTAMachine::Machine::isFUOrdered
bool isFUOrdered() const
Definition: Machine.cc:977
TTAMachine::RegisterFile
Definition: RegisterFile.hh:47
TTAMachine::Machine::setTriggerInvalidatesResults
void setTriggerInvalidatesResults(bool)
Definition: Machine.cc:993
TTAMachine::Machine::~Machine
virtual ~Machine()
Definition: Machine.cc:114
TTAMachine
Definition: Assembler.hh:48
TTAMachine::Machine::setFUOrdered
void setFUOrdered(bool)
Definition: Machine.cc:1005
TTAMachine::Machine::ComponentContainer::end
const_iterator end() const noexcept
TTAMachine::ComponentContainer
Definition: Machine.hh:65
TTAMachine::Machine::instructionTemplateNavigator
virtual InstructionTemplateNavigator instructionTemplateNavigator() const
Definition: Machine.cc:428
MachineTester
Definition: MachineTester.hh:46
TTAMachine::Machine::setAlwaysWriteResults
void setAlwaysWriteResults(bool)
Definition: Machine.cc:985
TTAMachine::Machine::immediateSlots_
ComponentContainer< ImmediateSlot > immediateSlots_
Contains all the immediate slots of the machine.
Definition: Machine.hh:300
TTAMachine::Machine::ComponentContainer::deleteAll
void deleteAll()
TTAMachine::Machine::Navigator
Definition: Machine.hh:186
TTAMachine::Machine::addSocket
virtual void addSocket(Socket &socket)
Definition: Machine.cc:157
TTAMachine::Machine::controlUnit_
ControlUnit * controlUnit_
Global control unit.
Definition: Machine.hh:305
TTAMachine::ImmediateSlot
Definition: ImmediateSlot.hh:44
Machine.icc
TTAMachine::Machine::deleteOperationTriggeredFormat
virtual void deleteOperationTriggeredFormat(OperationTriggeredFormat &format)
Definition: Machine.cc:611
TTAMachine::Machine::operator=
Machine & operator=(const Machine &)
Assignment not allowed.
TTAMachine::Machine
Definition: Machine.hh:73
TTAMachine::Machine::bitness64_
bool bitness64_
Definition: Machine.hh:330
TTAMachine::Machine::fuOrdered_
bool fuOrdered_
Definition: Machine.hh:326
TTAMachine::Machine::loadFromADF
static Machine * loadFromADF(const std::string &adfFileName)
Definition: Machine.cc:905
TTAMachine::Machine::saveComponentStates
static void saveComponentStates(ContainerType &container, ObjectState *parent)
Definition: Machine.cc:1018
TTAMachine::ImmediateUnit
Definition: ImmediateUnit.hh:50