Go to the documentation of this file.
34 #ifndef TTA_UNIVERSAL_MACHINE_HH
35 #define TTA_UNIVERSAL_MACHINE_HH
44 #define DATA_MEMORY_SIZE (static_cast<unsigned int>(4096)*1024*1024)
106 #define UM_BUS_NAME "universal_bus"
107 #define UM_SEGMENT_NAME "universal_segment"
108 #define UM_INPUT_SOCKET_NAME "universal_input_socket"
109 #define UM_OUTPUT_SOCKET_NAME "universal_output_socket"
110 #define UM_BOOLEAN_RF_NAME "universal_boolean_rf"
111 #define UM_BOOLEAN_RF_WRITE_PORT "universal_boolean_write_port"
112 #define UM_BOOLEAN_RF_READ_PORT "universal_boolean_read_port"
113 #define UM_INTEGER_URF_NAME "universal_integer_rf"
114 #define UM_INTEGER_URF_WRITE_PORT "universal_rf_write_port"
115 #define UM_INTEGER_URF_READ_PORT "universal_rf_read_port"
116 #define UM_DOUBLE_URF_NAME "universal_double_rf"
117 #define UM_DOUBLE_URF_WRITE_PORT "universal_drf_write"
118 #define UM_DOUBLE_URF_READ_PORT "universal_drf_read"
119 #define UM_SPECIAL_RF_NAME "universal_special_rf_return_value"
120 #define UM_SPECIAL_RF_WRITE_PORT "universal_special_rf_write"
121 #define UM_SPECIAL_RF_READ_PORT "universal_special_rf_read"
122 #define UM_UNIVERSAL_FU_NAME "universal_fu"
123 #define UM_IMEM_NAME "universal_instructions"
124 #define UM_DMEM_NAME "universal_data"
125 #define UM_GCU_NAME "universal_gcu"
virtual void removeFunctionUnit(TTAMachine::FunctionUnit &unit)
UnboundedRegisterFile & integerRegisterFile() const
virtual void addBridge(TTAMachine::Bridge &bridge)
TTAMachine::AddressSpace & dataAddressSpace() const
TTAMachine::RegisterFile & booleanRegisterFile() const
virtual void addAddressSpace(TTAMachine::AddressSpace &as)
TTAMachine::Bus & universalBus() const
OperationPool opPool
The operation pool instance to use for finding operations.
static UniversalMachine & instance()
UnboundedRegisterFile & doubleRegisterFile() const
virtual void removeRegisterFile(TTAMachine::RegisterFile &unit)
bool isBuilt_
Indicates whether the UniversalMachine is built completely.
virtual void loadState(const ObjectState *state)
virtual void deleteAddressSpace(TTAMachine::AddressSpace &as)
virtual void addInstructionTemplate(TTAMachine::InstructionTemplate &iTemp)
virtual void addFunctionUnit(TTAMachine::FunctionUnit &unit)
virtual void addRegisterFile(TTAMachine::RegisterFile &unit)
virtual void removeBus(TTAMachine::Bus &bus)
static UniversalMachine * instance_
The singleton instance. Use this instance everywhere. Creating multiple instances of UM is deprecated...
TTAMachine::AddressSpace & instructionAddressSpace() const
UniversalFunctionUnit & universalFunctionUnit() const
virtual void setGlobalControl(TTAMachine::ControlUnit &unit)
virtual void addImmediateUnit(TTAMachine::ImmediateUnit &unit)
virtual void addBus(TTAMachine::Bus &bus)
virtual void unsetGlobalControl()
TTAMachine::RegisterFile & specialRegisterFile() const
virtual void addSocket(TTAMachine::Socket &socket)
virtual void removeSocket(TTAMachine::Socket &socket)
virtual bool isUniversalMachine() const
virtual ~UniversalMachine()