Mano Machine
   HOME

TheInfoList



OR:

The Mano machine is a
computer A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
theoretically described by M. Morris Mano. It contains a
central processing unit A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, an ...
,
random access memory Random-access memory (RAM; ) is a form of computer memory that can be read and changed in any order, typically used to store working Data (computing), data and machine code. A Random access, random-access memory device allows data items to b ...
, and an input-output bus. Its limited instruction set and small address space limit it to use as a
Microcontroller A microcontroller (MCU for ''microcontroller unit'', often also MC, UC, or μC) is a small computer on a single VLSI integrated circuit (IC) chip. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable i ...
. But it can easily be expanded to have a 32-bit accumulator register, and 28-bit addressing using a HDL language like Verilog or VHDL; And at the same time, make room for new instructions.


Characteristics

The Mano machine is similar in many respects to the
PDP-8 The PDP-8 is a 12-bit computing, 12-bit minicomputer that was produced by Digital Equipment Corporation, Digital Equipment Corporation (DEC). It was the first commercially successful minicomputer, with over 50,000 units being sold over the model's ...
, such as the same address space, only one accumulator register, and many similar instructions. The Mano machine has a 4096x16 shared data/program memory segment requiring a 12-bit address bus. The data bus is 16 bits. There are 8-bit input/output buses for external communication, and associated interrupt flags. There is one 16-bit accumulator register, and single-bit registers (latches) for addition carry and system halt.


Instruction set

There are 25 instructions that fall into 3 categories: direct / indirect memory referencing operations, register referencing operations, and input/output / interrupt operations. Each instruction is 16 bits long nybbles, or 1 word This means that memory referencing instructions contain 4 bits of op-code data, and 12 bits dedicated to the address.


Applications to computer optimization theory

The machine specifications include a
finite state machine A finite-state machine (FSM) or finite-state automaton (FSA, plural: ''automata''), finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finite number o ...
that determines the processor's micro-operations. The canonical implementation of the state machine is an excellent candidate for reduction, and can also be re-implemented as a pipelined processor.


External links


Mark Roth's Mano machine assembler/simulator

MANOSIM and MANOASM binaries and guide page

A VHDL implementation of the Mano Machine by N. Narasimhamurthi

A Verilog implementation of the Mano Machine by Greg Toombs



References

Educational abstract machines {{Compu-hardware-stub