Many people take computers for granted, as they use them to maintain their very lives. Few people realize how complex computers really are:
This is the Industrial Arithmatic Computing Unit! It was made by me, without the use of WorldEdit, buildcraft, etc. It is by definition a computer. It is entirely made from RedPower Wires, bundled cables, and RP logic gates. I also didn't use any Wireless Redstone. It Contains 17,506 Meters of Wiring, and 1,258 Logic Gates...
As in any computer, it is made of several Units, all interconnected by a tangled spiderweb of wireing. The Different Units are as follows:
The Adder is a device that takes two 8-bit numbers in Binary Code, adds them together, then outputs another 8-bit number. 8-bits means that it cannot handle any numbers over 255, and cannot comprehend decimals, fractions, or negative numbers.
The Subtraction Units
These units, when used in conjunction with the adder, allow the computer to subtract. There are a few of these units, which are as follows:
The Selective Inverter: (Diamond Blocks) This will invert an 8-bit number, or not invert it, depending on the state of a separate bit.
The Subtraction Unit: (Gold Blocks) This makes the first and only the first 1 bit of an 8-bit number a zero.
The Special Adder: (Wood Blocks) This takes an 8-bit number in, adds one to it, then outputs it.
The bypass: (Red wool) This allows the computer to bypass these units when it doesn't want to subtract.
The Program Counter
(The Program counter is the Nether Brick thing in the front, the sandstone is the Program Memory) The Program Counter Is a simple device that outputs a 5-bit number, that increases by one each time it receives a pulse. This is used to keep track of where the computer is in its program. (Like a finger in a book)
The Program Memory
Yes, those are all levers. They are carefully switched to a binary code in 24 "bytes" of 5-bits each. (I know a byte is supposed to be 8-bits, but for conveinence I refur to any bundle of bits that specifies a single positive integer to be a byte.) These bytes are essentially ROM, Read-Only Memory, that contains the instructions for the computer. The program I have here will be explained later.
The Control Rooom
Looking down the room
This room controls the computer. Simple as that. Most of the controls are labeled. In the last picture, all the lamps running down the left side display the state of the 13 bytes of RAM. The last set of levers on the Far wall are for manual input of data into the computer.
If the processor was a person, the RAM would be his scratch-pad where he did his calculations. In my computer, it also serves as the permenant memory for all data.
The Multiplying Units
These three units permit the computer to multiply.
The Multiplication Unit: (Obsidian) This multiplies two 4-bit numbers, and them out puts four different 4-bit numbers. This is done in 4-bit, because multiplication doubles the number of bits. Multiplying two 4-bit numbers, gives you an 8-bit number.
The offset Unit: (Cobblestone) This takes the 4 4-bit numbers from the previous unit, and offsets them each by one. So, the first 4 bits aren't touched, but the second, if it was 0011, becomes 0110. 0110, becomes 1100. Etc.
The Multiplication Control: (Wooden Planks) This unit tells the System to output the final four 8-bit numbers to the RAM. Then, these four bytes must be added together by the Adder, and then you will have your answer.
The Processor Decoders
Arguably Part of the Processor, these take the Commands from the Program Memory, and then does something with it. There are 45 of them, each one set to a different code. When the a 6-bit byte is inputed, only the decoder that matches, will output a 1. This will then tell the processor to do.. whatever that bit was connected to.
The Processor Itself
The Workhorse of the computer. It is remarkabley simply, if not huge. It (mostly) just flips on and off switches. These switches can connect any 13 of the RAM bytes to the first two of the Processors "Buses", and the first 10 bytes of RAM to the third Bus. The first two buses go to the adder and the multiplier, the third is the result that comes back from the adder. By controling this, the computer can do alot.
So... How does all this work?
Well... Lets go through this simple 11 step program.
a =(b + c)- d
a = e - d
Add a number, then subtract another. 11 Steps, and with a 0.2 Hz Clock speed, that takes exactly 55 seconds. So lets look at the steps.
1) Clear: We want to make sure the processor doesn't have any lingering data on it, also makes sure we are going to add.
2) RAM Byte 2 to Bus 1: Connect the second byte of RAM to the first bus of the processor (Adder Input)
3) RAM Byte 3 to Bus 2: Same as above, but with second bus and third byte.
4) RAM Byte 5 to Bus 3: This adds bytes 2 and 3, and puts the result on Byte 5. byte 5 holds b+c, in our formula.
5) Clear: Resets the processor for a new operation
6) Subtract: Make sure we will be subtracting
7) Byte 5 to Bus 1
8) Byte 4 to Bus 2
9) byte 1 to Bus 3: This last one subtracts Byte 4 from Byte 5, and outputs the answer to byte 1.
10) Clear: Keep things tidy.
11) Done: This command stops the clock, rings a bell, and resets the Program counter.
For those who are curious, this is the Binary Equivalent of that program:
100101 001100 011000 100000 100101 100110 001001 010111 100100 100101 101010
Weph! You Don't wanna see the 22 step program to solve the famous y=mx+b formula! O_O
In any case, the computer is a Private SSP world on tekkit, and you can't have it.
I would like to see any similar computers you guys have made, or anything similar to this (I didn't find anything when I looked... not with this scale) So Happy Tekkiting!