The History of Computing A. Early developments and developers (through 19th century) 1. Blaise Pascal (approx. 1650) built a machine with 8 gears called the Pascaline to assist French government in compiling tax reports 2. Von Leibniz (1694) German mathematician developed a mechanical device to +-/x 3. Jacquard developed a loom that used punched cards (the equivalent of stored programs) emphasized that a. information coded on cards (forerunner of storage devices) b. cards could be linked in a series (forerunner of programs) c. Such programs can automate human tasks 4. Charles Babbage British scientist and inventor, known as the Father of Computers a. Difference Engine - compute and print tables, but never got out of 'working prototype' stage because of technological limits b. Analytical Engine - steam powered calculating machine using programs on punched cards. Contained all the elements of modern computers including 'mill' (for calculating) 'store' (for holding instructions) 'operator' (for carrying out instructions) reading and writing device The analytical engine was never completed in his lifetime. 5. Herman Hollerith (1890 census) a. Invented a tabulating machine using punched cards (same size as ours today). Founded forerunner of IBM 6. Thomas Watson, Sr. (head of IBM in 1924) B. Early electronic computers 1. Mark I, Harvard 1944, automatic calculator used paper tapes 2. John von Neumann credited with inventing stored program concept (data and instructions stored in memory in binary form). 1940's 3. ENIAC (Electronic Numerical Integrator Calculator) designed by John Mauchly and J. Presper Eckert at U of Pennsylvania in 1946 1st large-scale computer designed to calculate missile trajectories finished after WWII ended 18,000 vacuum tubes 8' high by 80' long '...only 7 would be needed to perform all the calculations the world would ever need.' Problem: all calculations were performed by setting switches by hand. 4. EDVAC (Electronic Discrete Variable Automatic Computer) - first electronic, stored program computer C. The First Generation of Computers (1951-1958) 1. Vacuum tubes for internal operations 2. Magnetic drums for memory 3. Limited memory 4. Heat and maintenance problems 5. Punched cards for input and output 6. Slow input, processing and output 7. Low-level symbolic languages for programming UNIVAC I developed by Mauchley and Eckert for Remington Rand (1951), replaced IBM tabulating machines at the Census Bureau Machine language: 0's and 1's, the only language a computer can directly execute. Assembly language: developed to make programming easier. Uses abbreviations instead of binary code. ie. LD for load. Still a very hostile programming environment. Not portable from one type of computer to another. D. The Second Generation of Computers (1959-1964) 1. Transistors for internal operations 2. Magnetic cores for memory 3. Increased memory capacity 4. Magnetic tapes and disks for storage 5. Reductions in size and heat generation 6. Increase in processing speed and reliability 7. Increased use of high-level languages Magnetic tape: sequential storage medium consisting of narrow strip of partially magnetized tape. Magnetic disk: Direct-access storage medium consisting of a partially magnetized platter The first high-level programming languages were developed FORTRAN (1954) COBOL (1956) LISP (1961) BASIC (1964) E. The Third Generation of Computers (1965-1970) 1. Integrated circuits on silicon chips for internal operations 2. Increased memory capacity 3. common use of minicomputers 4. emergence of the software industry 5. reduction in size and cost 6. increase in speed and reliability 7. introduction of families of computers LSI (Large Scale Integration) - method by which circuits containing thousands of components are packed on a single chip (rightly belongs to 3rd generation - unlike Table 1-3 says) Compatibility problems (languages, I/O devices, etc. were informally standardized) Minicomputers popular in offices. F. The Fourth Generation of Computers (1971-Today) 1. VLSI (100,000s of components/chip) 2. Development of the microprocessor 3. microcomputers and supercomputers 4. greater versatility in software 5. increase in speed, power and storage capacity 6. parallel processing 7. artificial intelligence and expert systems 8. robotics Microprocessor: programmable unit on a single silicon chip, containing all essential CPU components (ALU, controller) Microcomputer: small, low-priced, personal computer. Supercomputer: perform millions of operations per second and process enormous amounts of data Cray II costs $20,000,000 or more G. Future generations Superconductivity, bio-chips