Tutorials/Redstone computers

=Preface= This article examines the design and implementation of computing systems within the world of Minecraft.

=Computers= A computer is a type of machine; specifically one which operates on abstract symbolic representations.

=Planning a Computer= When designing a computer ( Redstone or otherwise ) key design decisions will affect the organization, size and performance of your prospective computer these decisions should be made concretely prior to the construction of any components.

Select your computers:


 * Execution model ( The computers organization of memory relating to program storage and execution )
 * Word-size ( The size of the information blocks which your computer will operate on )
 * Instruction Set ( That set of operations which your computer will execute )

having a selection decided upon will provide strong guidance during the design of various components in your computer.

Execution model
The technique of storing blocks of instructions called programs within memory is what allows computers to perform varying tasks.

The apparatus employed by a computer for storing and retrieving these programs is the computers Execution model.

Two of the worlds most successful Execution models Harvard and von Neumann run on nearly 100% of the the computers available today.

Harvard
The Harvard architecture physically separates the apparatus for retrieving the instructions which makeup an active program from that of the data access apparatus which the program accesses during execution.

Programs written for computers employing a Harvard architecture may perform upto %100 faster for tasks which access the main memory bus, note however certain memory circuitry is necessarily larger for those who select a Harvard architecture.

von Neumann
The von Neumann architecture uses a two-step process to execute instructions, first memory containing the next instruction is loaded, then the new instruction just loaded is allowed to access this same memory as it executes, using a single memory for both program and data facilitates Meta-Programming technology like compilers and Self modifying Code.

The von Neumann architecture was the first proposed model of computation and almost all real-world computers are von Neumann in nature.

Word sizes
Word-size is a primary factor in a computers physical size.

Common real-world Word-sizes were once quite fragmented, until the advent of the IBM System/360 which brought with it the now familiar 8-bit Byte and forever standardized machine words-sizes as multiples of 8.

In Minecraft; machines from 1-bit all the way to 32-bit have been successfully constructed.

The most common word-size combinations are:

Data-Word
The amount of information ( measured in bits ) a computer can manipulate at any particular time is representative of the computers Data Word-size.

In Digital Binary computers ( almost all computers ) Data-Word size in bits is equal to the width or number of channels in the computers main bus.

Data-Words commonly represent integers; whole numbers encoded sparsely as patterns of binary bits.

The maximum sized number representable by a Binarily encoded integer is given by 2 ^ Data-word width in bits.

Some common Integer data-sizes are:

It governs the maximum size of numbers which can be processed by the ALU.

Instruction-Word
The amount of data a computer needs to complete one single instruction is a representation of it's Instruction Word-size.

To minimize memory misalignment while retrieving instructions to execute, most computers Instruction-Word size is also a multiple of it's Data-word size.

=Designing a Computer=