Introduction Introduction to the to the History History of of Computing Computing
Dec 27, 2015
History of ComputersHistory of Computers
AbacusAbacus invented in Babylonia in invented in Babylonia in 3000BC3000BC
Adding machineAdding machine by by Blaise PascalBlaise Pascal (1642)(1642)
Difference engineDifference engine and the and the analytical engineanalytical engine by by Charles Charles BabbageBabbage (1842) (1842)
Alan Turing (1912- Alan Turing (1912- 1954)1954)
British Mathematician who did fundamental British Mathematician who did fundamental work on the theory of modern computer work on the theory of modern computer science.science.
Defined a simple but elegant mathematical Defined a simple but elegant mathematical model of a general purpose computer, now model of a general purpose computer, now called the Turing Machine, and used it to called the Turing Machine, and used it to prove what was possible or impossible for prove what was possible or impossible for computers to do. Couldn’t get the money to computers to do. Couldn’t get the money to build one. build one.
Today, the ACM’s Turing Award is considered Today, the ACM’s Turing Award is considered to be like the Nobel Prize of computing.to be like the Nobel Prize of computing.
Alan TuringInvented the Turing testLaid the foundation for modern computersHelped crack German codes during WWII
A German Enigma message encoder
Evolution of the ComputerEvolution of the Computer
Eniac, 1947
Telephone,1876
Computer+ Modem
1957
Early WirelessPhones, 1978
First Color TVBroadcast, 1953
HBO Launched, 1972
Interactive TV, 1990
Handheld PortablePhones, 1990
First PCAltair,1974
IBMPC,
1981
AppleMac,1984
ApplePowerbook,
1990
IBMThinkpad,
1992
HPPalmtop,
1991
AppleNewton,
1993
PentiumPC, 1993
Red Herring, 10/99
Evolution of the ComputerEvolution of the Computer
PentiumPC, 1993
Atari HomePong, 1972
AppleiMac, 1998
Pentium IIPC, 1997
Palm VIIPDA, 1999
NetworkComputer,
1996
FreePC, 1999
SegaDreamcast,
1999
Internet-enabledSmart Phones,
1999
Red Herring, 10/99
Convergence, Competition, Divergence
in Computing and Communications
COMPUTER COMPUTER GENERATIONSGENERATIONS
The first computers were results of The first computers were results of world war 2 developments, aimed at world war 2 developments, aimed at military usesmilitary uses1944 Aiken at Harvard1944 Aiken at HarvardMark 1: first electromechanical Mark 1: first electromechanical digital computer (electromagnetic digital computer (electromagnetic relays -- magnets open and closes relays -- magnets open and closes metal switches).metal switches).
COMPUTER COMPUTER GENERATIONSGENERATIONS
First electromechanical computer First electromechanical computer (using relays) designed by (using relays) designed by Howard Howard AikenAiken (1937) was based on punched (1937) was based on punched cards. cards.
Used to calculate tables of Used to calculate tables of mathematical functionsmathematical functions
THE “FIRST THE “FIRST GENERATION:” GENERATION:” VACUMN TUBESVACUMN TUBES
1946: ENIAC (Electronic Numerical 1946: ENIAC (Electronic Numerical Integrator and Computer) Integrator and Computer) First electronic digital computer, First electronic digital computer, constructed with 19,000 vacuum tubes. constructed with 19,000 vacuum tubes. Eight feet tall and 80 feet long. Eight feet tall and 80 feet long. External (wired) program.External (wired) program.ENIAC could do 333 multiplications per ENIAC could do 333 multiplications per second and cost the equivalent of $5- second and cost the equivalent of $5- $10 million$10 million
John Von Neumann & ENIAC
Computers Should:1. Use Binary2. Have Stored Programs3. Be Function-oriented
UNIVAC-1 the
UNIVAC-1 the
1st Commercially
1st Commercially
available
available
computer
computer
"I think there is a world market for about five computers.”
--Thomas J. WatsonIBM Chairman of the
Board
SECOND GENERATIONSECOND GENERATIONUsed semiconductor transistor Used semiconductor transistor chips developed at Bell Labschips developed at Bell Labs1955 : IBM computer with 2000 1955 : IBM computer with 2000 transistors. By 1959, deliveries transistors. By 1959, deliveries made the vacuum tube computers made the vacuum tube computers outmoded. Included very large outmoded. Included very large mainframes, such as the IBM 7090, mainframes, such as the IBM 7090, and smaller machines, such as the and smaller machines, such as the IBM 1401.IBM 1401.
THIRD GENERATIONTHIRD GENERATIONThe distinction among subsequent The distinction among subsequent generations is not as clear as that generations is not as clear as that between the first and second generation between the first and second generation computers. computers. Third generation is characterized by the Third generation is characterized by the ability to support multi-programming. ability to support multi-programming. Computers that use integrated circuit Computers that use integrated circuit technologies are part of the third technologies are part of the third generation (LSI, or large scale generation (LSI, or large scale integration).integration).
THIRD GENERATIONTHIRD GENERATIONAs part of the third generation, As part of the third generation, we also saw the emergence of we also saw the emergence of “mini-computers”-“mini-computers”-1968 DEC-- first mini1968 DEC-- first mini1972 IBM 370 semi-conductor 1972 IBM 370 semi-conductor memory chipsmemory chips60’s and 70’s punch card & batch 60’s and 70’s punch card & batch processing still dominant.processing still dominant.
Applications and Applications and ImpactsImpacts
Through the first three generations Through the first three generations of computers (40’s 50’s and 60’s) of computers (40’s 50’s and 60’s) they were used almost entirely for they were used almost entirely for business (payroll and inventory), business (payroll and inventory), government, and scientific government, and scientific computing. computing.
Punch cards and batch processing.Punch cards and batch processing.
Trends of the
Trends of the
70’s and
70’s and
80’s80’s1. Cost is Down, Power is Up2. Usability is Better3. Networks, Networks, Networks
In the 1970’s-In the 1970’s- Integrated circuits began to to Integrated circuits began to to
make computers smaller and make computers smaller and cheaper. cheaper.
1974- first “personal 1974- first “personal computers” sold as kitscomputers” sold as kits
1977 Wozniak and Jobs released 1977 Wozniak and Jobs released the Apple II (first mass the Apple II (first mass marketed PC)marketed PC)
FOURTH GENERATIONFOURTH GENERATIONNo generally accepted definition No generally accepted definition of fourth generation. Some say of fourth generation. Some say it is the VSLI (very large scale it is the VSLI (very large scale integration) super-computers. integration) super-computers. Some say it is the emergence of Some say it is the emergence of the microcomputer in the form of the microcomputer in the form of personal computers and work personal computers and work stations.stations.
1983 JAPANESE 1983 JAPANESE ANNOUNCE “5TH ANNOUNCE “5TH
GENERATION” PROJECTGENERATION” PROJECTCOMPUTERS THAT WILL TAKE COMPUTERS THAT WILL TAKE SPEECH INPUT AND OUTPUT, IN SPEECH INPUT AND OUTPUT, IN “NATURAL LANGUAGE”“NATURAL LANGUAGE”““Easy to use” computers require Easy to use” computers require tremendous speed. By the end of the tremendous speed. By the end of the 20th century, speeds are measured in 20th century, speeds are measured in MIPS- millions of instructions per MIPS- millions of instructions per second. Many computers now do 1000 second. Many computers now do 1000 MIPS ( a billion instructions/sec)MIPS ( a billion instructions/sec)
SOME HISTORICAL EVENTS SOME HISTORICAL EVENTS OF NOTEOF NOTE
1971 : INTEL’S microprocessor chip (COST 1971 : INTEL’S microprocessor chip (COST $210 EACH IN 1977; 1984 $50 EACH; $210 EACH IN 1977; 1984 $50 EACH; Today?? (is it 50c?) Today?? (is it 50c?) 1975- Bill Gates & Paul Allen found 1975- Bill Gates & Paul Allen found Microsoft Microsoft 1977 PET- first fully assembled PC1977 PET- first fully assembled PC1982 IBM PC1982 IBM PCCommunicating with a computer has Communicating with a computer has evolved from writing assembly code or evolved from writing assembly code or typing arcane commands, to pointing and typing arcane commands, to pointing and clicking with a mouse. clicking with a mouse.
Pervasive Pervasive ComputingComputing
1990’s: Spread of the Internet and 1990’s: Spread of the Internet and adoption of the “World Wide Web” adoption of the “World Wide Web” conventions turn computing into a mass conventions turn computing into a mass medium medium
Smaller, cheaper, faster, easier to use, Smaller, cheaper, faster, easier to use, and interconnected through networks-- and interconnected through networks--
By the end of the 20th century, By the end of the 20th century, computers have become “pervasive”- computers have become “pervasive”- they are integrated into all aspects of they are integrated into all aspects of post industrial or “information” based post industrial or “information” based societiessocieties
Application AreasApplication Areas
Scientific:Scientific: weather forecasting, simulation, weather forecasting, simulation, space-program.space-program. one of the earliest application areas.one of the earliest application areas. heavy computation but small amount of data.heavy computation but small amount of data.
Commercial:Commercial: accounting, banking, inventory, accounting, banking, inventory, sales.sales. changes nature of business – information is money.changes nature of business – information is money. high data throughput, simple calculations.high data throughput, simple calculations.
Manufacturing:Manufacturing: numerical control, CAD/CAM, numerical control, CAD/CAM, integration.integration. graphics, interfacing, device-drivers, networks.graphics, interfacing, device-drivers, networks.
Application AreasApplication Areas
Real-time & Control System:Real-time & Control System: air-traffic control, air-traffic control, aircraft,nuclear power station.aircraft,nuclear power station. real time, very fast, safety-critical.real time, very fast, safety-critical.
Educational & RecreationalEducational & Recreational CAI software, multi-media, games, Internet, World CAI software, multi-media, games, Internet, World
Wide Web.Wide Web.
TelecommunicationTelecommunication Network, SCV, Singapore One.Network, SCV, Singapore One.
Types of ComputersTypes of Computers
Supercomputers:Supercomputers: very fast (Gflops) but expensive machine($10m), very fast (Gflops) but expensive machine($10m),
vector or parallel processors, used in scientific vector or parallel processors, used in scientific applications and simulations.applications and simulations.
Mainframes:Mainframes: fast (>10mips) but expensive ($1m), high-fast (>10mips) but expensive ($1m), high-
throughput, used in large commercial organisations, throughput, used in large commercial organisations, support many concurrent users interactively.support many concurrent users interactively.
Mini-computers:Mini-computers: fast but affordable ($200k), used in medium-sized fast but affordable ($200k), used in medium-sized
organisations (e.g. SoC), support multiple users.organisations (e.g. SoC), support multiple users.
Types of ComputersTypes of Computers
Workstations:Workstations: affordable ($20k) and fast single-user systems (20 affordable ($20k) and fast single-user systems (20
riscs mips), good graphics capabilities, engineering, riscs mips), good graphics capabilities, engineering, network-based computing.network-based computing.
Micro/Personal/Home Computers:Micro/Personal/Home Computers: cheap and affordable ($3k), transportable, home use, cheap and affordable ($3k), transportable, home use,
good for games and as educational tool, word good for games and as educational tool, word processing, suitable for small enterprise.processing, suitable for small enterprise.
Computer Computer ConfigurationsConfigurations
Stand-alone computer systemStand-alone computer system
Modem connectionModem connection
Computers as Information Computers as Information ProcessorsProcessors
Example: An automobile augments our power of locomotion.
A computer is a device capable of solving problems according to designed program. It simply augments our power of storage and speed of calculation.
Driver
Programmer
Computers as Information Computers as Information ProcessorsProcessors
Unlike previous inventions, computers are Unlike previous inventions, computers are special because they are special because they are general-purposegeneral-purpose. . Could be used to perform a variety of tasks.Could be used to perform a variety of tasks.
Computer = Computer = Hardware + SoftwareHardware + Software.. HardwareHardware: physical components for : physical components for
computation/processing; should be simple, fast, computation/processing; should be simple, fast, reliable.reliable.
SoftwareSoftware: set of instructions to perform tasks to : set of instructions to perform tasks to specifications; should be flexible, user-friendly, specifications; should be flexible, user-friendly, sophisticated.sophisticated.
Computer as Information Computer as Information ProcessorsProcessors
Computer are Information Processors
Data Units: 1 bit (binary digit): one of two values (0 or 1) 1 byte: 8-bits 1 word: 1, 2, or 4 bytes, or more (depends on ALU)
Computer system
Raw data
Processed information
Basic Machine Hardware Basic Machine Hardware ArchitectureArchitecture
Main Components:Main Components: CPUCPU (Central Processing Unit: controls devices and (Central Processing Unit: controls devices and
processes data).processes data). MemoryMemory: stores programs and intermediate data.: stores programs and intermediate data. Input DevicesInput Devices: accept data from outside world.: accept data from outside world. Output DevicesOutput Devices: presents data to the outside world.: presents data to the outside world.
An analogy with Human Information Processors:An analogy with Human Information Processors: CPU – brain’s reasoning powersCPU – brain’s reasoning powers Memory – brain’s memory Memory – brain’s memory Input Devices – eyes, ears, sensory sub-system Input Devices – eyes, ears, sensory sub-system Output Devices – mouth, hands, facial and body Output Devices – mouth, hands, facial and body
expressionsexpressions
Basic Machine Hardware Basic Machine Hardware ArchitectureArchitecture
Monitor (Output)
Mouse and Keyboard (Input)
Headphone (Output)
Hardware box (has processor, memory, buses etc.)
Basic Machine Hardware Basic Machine Hardware ArchitectureArchitecture
Motherboard (Printed Circuit Board)
Processor
Slots for RAM chips
Network card and CRT card
Cage for mounting drives
Floppy disk drive and Hard disk drive
© above picture: Patterson and Hennessy
Hardware – CPUHardware – CPU
CPU = control unit + ALU + registersCPU = control unit + ALU + registers
Control Unit :Control Unit : monitors and directs sequences monitors and directs sequences of instructionsof instructions
Execution CycleExecution Cycle (repeated): (repeated): fetch (next instruction)fetch (next instruction) decode decode executeexecute
Hardware – CPUHardware – CPU
ALU:ALU: performs simple arithmetic and logical performs simple arithmetic and logical operations.operations. Examples: Add, subtract, and, or, invert, increment etc.Examples: Add, subtract, and, or, invert, increment etc.
A B
ALUselect
R = A op B
n-bits operations
R
Hardware – CPUHardware – CPU
Registers:Registers: temporary results + status information temporary results + status information ACC (accumulator) – current dataACC (accumulator) – current data PC (program counter) – points to next instructionPC (program counter) – points to next instruction IR (instruction register) – current instructionIR (instruction register) – current instruction MA (memory address) – address to read/writeMA (memory address) – address to read/write MB (memory buffer) – data to read/writeMB (memory buffer) – data to read/write
Hardware – Hardware – Memory/StorageMemory/Storage
Purpose: to store program and data.Purpose: to store program and data.
Desirable Traits: fast access, large capacity, Desirable Traits: fast access, large capacity, economical, non-volatile.economical, non-volatile.
However, most memory devices do not have However, most memory devices do not have all these traits.all these traits.
Hardware – Hardware – Memory/StorageMemory/Storage
Solution: hierarchical combinationSolution: hierarchical combination
registers
main memory
disk storage
magnetic tapes
Fast, expensive (small numbers), volatile
Slow, cheap (large numbers), non-volatile
Hardware – Main MemoryHardware – Main Memory
FastFast BUT BUT volatilevolatile (need power to maintain data) (need power to maintain data) Logical structure – table of memory cells/units.Logical structure – table of memory cells/units.
0123
2m-32m-22m-1
addresses
memory cells
8 bits or more
MAR
MBR
address
data
Hardware – Main MemoryHardware – Main Memory
Memory cells may be grouped into Memory cells may be grouped into pagespages (say (say 512 consecutive words per page).512 consecutive words per page).
UnitsUnits 1 KBytes = 1024 (or 21 KBytes = 1024 (or 21010) bytes) bytes 1 MBytes = 1024 Kbytes (or 21 MBytes = 1024 Kbytes (or 22020 bytes) bytes) 1 GBytes = 1024 Mbytes (or 21 GBytes = 1024 Mbytes (or 23030 bytes) bytes)
Hardware – Input/Output Hardware – Input/Output DevicesDevices
Input devicesInput devices: read/accept data (into computer): read/accept data (into computer) obsolete: card reader, paper tape readerobsolete: card reader, paper tape reader present: keyboard, mouse, light-pen, optical char present: keyboard, mouse, light-pen, optical char
readerreader future: voice and vision recognition. future: voice and vision recognition.
Output devicesOutput devices: write/display data (to users): write/display data (to users) obsolete: card & paper punch, teletypeobsolete: card & paper punch, teletype present: VDU (visual display unit), printers, plotters, present: VDU (visual display unit), printers, plotters,
graphics display, soundgraphics display, sound future: voice synthesis. future: voice synthesis.
History of Software History of Software CreationCreation
First program was written by a First program was written by a Frenchman called Jaquard in 1804Frenchman called Jaquard in 1804Very basic program punched on the Very basic program punched on the punched cardspunched cardsThis technology was later adapted by This technology was later adapted by IBMIBM
First real program written by First real program written by Lady Ada LovelaceLady Ada Lovelace
Conveyed her original ideas Conveyed her original ideas about a machine that creates about a machine that creates music, thinks, graphs and music, thinks, graphs and solves complicated problemssolves complicated problems
The writer of the papers “ the The writer of the papers “ the machine that changes the machine that changes the worldworld””
George Bool: in the 1850-George Bool: in the 1850-1860 he presented the 1860 he presented the relationship between relationship between Logic and MathematicsLogic and Mathematics
In 1952 Dr. Grace Murray In 1952 Dr. Grace Murray HopperHopper developed the developed the first compiler first compiler
She also was a major She also was a major help in the development help in the development of COBOL programming of COBOL programming language. language.
Basic Machine SoftwareBasic Machine Software
SoftwareSoftware is the key to making computers is the key to making computers general purpose.general purpose.
Software are often built hierarchically, with Software are often built hierarchically, with layers of software providing successive higher-layers of software providing successive higher-level of abstractions.level of abstractions.
This structure is reflected by the following This structure is reflected by the following onion layer view of software.onion layer view of software.