HOME

TheInfoList



OR:

The Mano machine is a computer 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 and machine code. A random-access memory device allows data items to be read or written in almost the s ...
, 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 programma ...
. 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 minicomputer that was produced by Digital Equipment Corporation (DEC). It was the first commercially successful minicomputer, with over 50,000 units being sold over the model's lifetime. Its basic design follows the pioneeri ...
, 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