Friday, June 22, 2007

Technology Rules


Today is June 22, 2007. Lets go back in time. To May 12, 1943, 64 years ago. In that day, Z3, the first Programmable Computer was born, pioneered by Konrad Zuse, a German engineer. The Z3 was built with 2,000 relays, had a clock frequency of ~5–10 Hz, and a word length of 22 bits. Simple binary system was invented roughly three centuries earlier by Gottfried Leibniz; Boole later used it to develop his Boolean algebra. In 1937, Claude Shannon of MIT introduced the idea of mapping Boolean algebra onto electronic relays in a seminal work on digital circuit design. Nevertheless, Zuse (who did not know Shannon's work) was the one who put the ideas together and made it work on the program-controlled Z3. The first design of a program-controlled computer was Charles Babbage's Analytical Engine in the 1830s.


After that we have Atanasoff-Berry Computer (Summer 1941), Colossus (December 1943 / January 1944), Harvard Mark I - IBM ASCC (1944) and ENIAC (1944, 1948).

From all the above, ENIAC (Electronic Numerical Integrator And Computer), is considered the first fist computer with the characteristics of a real computing machine. So in history, ENIAC is actually referred as the first computer. ENIAC was designed and built to calculate artillery firing tables for the U.S. Army's Ballistics Research Laboratory. The first problems run on the ENIAC however, were related to the design of the hydrogen bomb. The contract was signed on June 5, 1943 and Project PX was constructed by the University of Pennsylvania's Moore School of Electrical Engineering from July, 1943. It was unveiled on February 14, 1946 at Penn, having cost almost $500,000.


It contained 17,468 vacuum tubes, 7,200 crystal diodes, 1,500 relays, 70,000 resistors, 10,000 capacitors and around 5 million hand-soldered joints. It weighed 30 short tons (27 t), was roughly 8 feet (2.4 m) by 3 feet (0.9 m) by 100 feet (30 m), took up 1800 square feet (167 m²), and consumed 150 kW of power. Input was possible from an IBM card reader, while an IBM card punch was used for output. These cards could be used to produce printed output offline using an IBM accounting machine, probably the IBM 405. ENIAC used ten-position ring counters to store digits; each digit used 36 tubes, 10 of which were the dual triodes making up the flip-flops of the ring counter.


ENIAC used ten-position ring counters to store digits; each digit used 36 tubes, 10 of which were the dual triodes making up the flip-flops of the ring counter. Arithmetic was performed by "counting" pulses with the ring counters and generating carry pulses if the counter "wrapped around", the idea being to emulate in electronics the operation of the digit wheels of a mechanical adding machine. ENIAC had twenty ten-digit signed accumulators that used ten's complement representation and could perform 5,000 simple addition or subtraction operations between any of them and a source (e.g., another accumulator, constant transmitter) every second (Note: It was possible to connect several accumulators to run simultaneously, so the peak speed of operation was potentially much higher due to parallel operation). It was possible to wire the carry of one accumulator into another to perform ENIAC used ten-position ring counters to store digits; each digit used 36 tubes, 10 of which were the dual triodes making up the flip-flops of the ring counter. Arithmetic was performed by "counting" pulses with the ring counters and generating carry pulses if the counter "wrapped around", the idea being to emulate in electronics the operation of the digit wheels of a mechanical adding machine. ENIAC had twenty ten-digit signed accumulators that used ten's complementdouble precision arithmetic but the accumulator carry circuit timing prevented the wiring of three or more for higher precision. The ENIAC used four of the accumulators controlled by a special Multiplier unit and could perform 385 multiplication operations per second.


The ENIAC used five of the accumulators controlled by a special Divider/Square-Rooter unit and could perform forty division operations per second or three square root operations per second. The other nine units in ENIAC were the Initiating Unit (started and stopped the machine), the Cycling Unit (synchronized the other units), the Master Programmer (controlled "loop" sequencing), the Reader (controlled an IBM punch card reader), the Printer (controlled an IBM punch card punch), the Constant Transmitter, and three Function Tables.


The basic machine cycle was 200 microseconds (20 cycles of the 100 kHz clock in the cycling unit), or 5,000 cycles per second for operations on the 10-digit numbers. In one of these cycles, ENIAC could write a number to a register, read a number from a register, or add/subtract two numbers. A multiplication of a 10-digit number by a d-digit number (for d up to 10) took d+4 cycles, so a 10- by 10-digit multiplication took 14 cycles, or 2800 microseconds—a rate of 357 per second. If one of the numbers had fewer than 10 digits, the operation was faster. Division and square roots took 13(d+1) cycles, where d is the number of digits in the result (quotient or square root). So a division or square root took up to 143 cycles, or 28,600 microseconds—a rate of 35 per second. If the result had fewer than ten digits, it was obtained faster.

An average computer knowledge is enough to compare ENIAC with today's Computers (PC or MAC).


Today we have Multi-Touch screen coffee table from Microsoft designed to do away with the need for a traditional mouse and keyboard, users can instead use their fingers to operate the computer. See how lazy-ass we have become?! Those days they had to walk through different rooms to program the computers and now we don't even have to tire our hands, everything is done by moving our fingers! We can order our coffee, pay our bills, play movies and even buy our hand phone using the table!


From the other side, another computer giant, Apple, introduces iPhone to the market-another multi touch screen enabled computer.


We will we be in another 10 years? People will have computers working by them thinking of something (These computers exist, but not everyone is able to buy them). See, you won't even have to move your fingers. lie down on your bed and think!

How do you want your future computer be like?!