SE SE-273: Processor Design 273: Processor Design History of Computers History of Computers Virendra Singh Virendra Singh Virendra Singh Virendra Singh Indian Institute of Science Indian Institute of Science Bangalore Bangalore Bangalore Bangalore [email protected][email protected]1
37
Embed
History of Computers - Supercomputer Education …viren/Courses/2011/SE273/Lecture2.pdf · History of Computers ... Computer Architecture and Organization, New York: McGraw-Hill,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
SESE--273: Processor Design 273: Processor Design
History of Computers History of Computers
Virendra SinghVirendra SinghVirendra SinghVirendra SinghIndian Institute of ScienceIndian Institute of Science
Historic EventsHistoric EventsHistoric EventsHistoric Events1623, 1642: Wilhelm Strickland/1623, 1642: Wilhelm Strickland/BlaiseBlaise Pascal built a Pascal built a mechanical counter with carrymechanical counter with carrymechanical counter with carry.mechanical counter with carry.18231823--34: Charles Babbage designed difference engine. 34: Charles Babbage designed difference engine. http://www.youtube.com/watch?v=0anIyVGeWOI&feature=relatedhttp://www.youtube.com/watch?v=0anIyVGeWOI&feature=related19431943 44: John44: John MauchlyMauchly (professor) and J(professor) and J PresperPresper19431943--44: John 44: John MauchlyMauchly (professor) and J. (professor) and J. PresperPresperEckert (graduate student) built ENIAC at U. Eckert (graduate student) built ENIAC at U. Pennsylvania.Pennsylvania.1944: Howard Aiken used 1944: Howard Aiken used “separate data and program “separate data and program memories”memories” in MARK I in MARK I –– IV computers IV computers –– Harvard Harvard ArchitectureArchitecture..19451945--52: John von Neumann proposed a “52: John von Neumann proposed a “stored stored program computerprogram computer” EDVAC (Electronic Discrete Variable ” EDVAC (Electronic Discrete Variable Automatic Computer) Automatic Computer) –– Von Neumann Architecture Von Neumann Architecture ––
33
p )p )use the same memory for program and data.use the same memory for program and data.
Most Influential DocumentMost Influential DocumentMost Influential DocumentMost Influential Document
“Preliminary Discussion of the Logical“Preliminary Discussion of the LogicalPreliminary Discussion of the Logical Preliminary Discussion of the Logical Design of an Electronic Computing Design of an Electronic Computing Instrument ” 1946 report by A W BurksInstrument ” 1946 report by A W BurksInstrument, 1946 report by A. W. Burks, Instrument, 1946 report by A. W. Burks, H. H. Holdstine and J. von Neumann. H. H. Holdstine and J. von Neumann. Appears inAppears in Papers of John von NeumannPapers of John von NeumannAppears in Appears in Papers of John von NeumannPapers of John von Neumann, , W. Aspray and A. Burks (editors), MIT W. Aspray and A. Burks (editors), MIT Press Cambridge Mass 1987 pp 97Press Cambridge Mass 1987 pp 97--Press, Cambridge, Mass., 1987, pp. 97Press, Cambridge, Mass., 1987, pp. 97146.146.
44
History ContinuesHistory Continuesyy
19461946--52: Von Neumann built the IAS computer52: Von Neumann built the IAS computer19461946 52: Von Neumann built the IAS computer 52: Von Neumann built the IAS computer at the Institute of Advanced Studies, Princeton at the Institute of Advanced Studies, Princeton ––A prototype for most future computersA prototype for most future computers..19471947--50: Eckert50: Eckert--Mauchly Computer Corp. built Mauchly Computer Corp. built UNIVAC I (Universal Automatic Computer), used UNIVAC I (Universal Automatic Computer), used in the 1950 census.in the 1950 census.1949: Maurice Wilkes built EDSAC (Electronic 1949: Maurice Wilkes built EDSAC (Electronic D l S A i C l l ) h fiD l S A i C l l ) h fiDelay Storage Automatic Calculator), the first Delay Storage Automatic Calculator), the first storedstored--program computer.program computer.
55
First GeneralFirst General--Purpose ComputerPurpose ComputerFirst GeneralFirst General Purpose ComputerPurpose ComputerElectronic Numerical Electronic Numerical Integrator and CalculatorIntegrator and CalculatorIntegrator and Calculator Integrator and Calculator (ENIAC) built in World War II (ENIAC) built in World War II was the first general was the first general purpose computerpurpose computerp p pp p p–– Used for computing artillery Used for computing artillery
firing tablesfiring tables–– 80 feet long, 8.5 feet high and 80 feet long, 8.5 feet high and
several feet wideseveral feet wideseveral feet wideseveral feet wide–– Twenty 10 digit registers, each Twenty 10 digit registers, each
The Atanasoff StoryThe Atanasoff StoryThe Atanasoff StoryThe Atanasoff StoryJohn Vincent Atanasoff, a professor of John Vincent Atanasoff, a professor of physics at Iowa State College (now physics at Iowa State College (now University), and his technical assistant, University), and his technical assistant, Clifford Berry, built a working electronic Clifford Berry, built a working electronic computer in 1942.computer in 1942.The First Electronic Computer, the The First Electronic Computer, the Atanasoff StoryAtanasoff Story, by Alice R. Burks and , by Alice R. Burks and yy yyArthur W. Burks, Ann Arbor, Michigan: Arthur W. Burks, Ann Arbor, Michigan: The University of Michigan Press, 1991.The University of Michigan Press, 1991.
Late 1940s and 1950sLate 1940s and 1950sLate 1940s and 1950sLate 1940s and 1950sStoredStored--program computersprogram computersP d i bl lP d i bl lProgrammed in assembly languageProgrammed in assembly languageUsed magnetic devices and earlier forms Used magnetic devices and earlier forms of memoriesof memoriesExamples: IAS, ENIAC, EDVAC, UNIVAC, Examples: IAS, ENIAC, EDVAC, UNIVAC, p , , , ,p , , , ,Mark I, IBM 701Mark I, IBM 701
88
The Organization of IAS ComputerThe Organization of IAS ComputerThe Organization of IAS ComputerThe Organization of IAS ComputerAccumulator (AC) Multiplier/Quotient (MQ) Input/
How IAS Computer Adds Two How IAS Computer Adds Two N bN bNumbersNumbers
Suppose the numbers are stored inSuppose the numbers are stored in memory locations 100 and 101, andThe sum is to be saved in memoryThe sum is to be saved in memory location 102
I t ti O d D i tiInstruction Opcode DescriptionLOAD M(100) 00000001 AC ← M(100)ADD M(101) 00000101 AC AC M(101)ADD M(101) 00000101 AC ← AC+M(101)STOR M(102) 00100001 M(102) ← AC
IAS Instruction CyclesIAS Instruction CyclesStore machine code in contiguous words of memory.Store machine code in contiguous words of memory.Place starting address in program counter (PC)Place starting address in program counter (PC)Place starting address in program counter (PC).Place starting address in program counter (PC).Start program: MAR ← PCStart program: MAR ← PCRead memory: IBR ← MBR ← M(MAR), Read memory: IBR ← MBR ← M(MAR), fetchfetchy ( )y ( )Place left instruction (Load) in IR and operand (address) Place left instruction (Load) in IR and operand (address) 100 in MAR, 100 in MAR, decodedecodeRead memory: AC ← M(100)Read memory: AC ← M(100) executeexecuteRead memory: AC ← M(100), Read memory: AC ← M(100), executeexecutePlace right instruction (Add) in IR and operand (address) Place right instruction (Add) in IR and operand (address) 101 in MAR, 101 in MAR, decodedecodeRead memory and add: AC ← AC + M(101), Read memory and add: AC ← AC + M(101), executeexecutePC ← PC + 1PC ← PC + 1
2020
IAS Instruction Cycles (Cont )IAS Instruction Cycles (Cont )IAS Instruction Cycles (Cont.)IAS Instruction Cycles (Cont.)MAR ← PCMAR ← PCRead memory: IBR ← MBR ← M(MAR), Read memory: IBR ← MBR ← M(MAR), fetchfetchPlace left instruction (Place left instruction (StorStor) in IR and operand ) in IR and operand (( ) p) p(address) 102 in MAR, (address) 102 in MAR, decodedecodeMBR ← AC, MBR ← AC, executeexecuteWrite memoryWrite memoryPlace right instruction (Stop) in IR and operand Place right instruction (Stop) in IR and operand 000 in MAR000 in MAR decodedecode000 in MAR, 000 in MAR, decodedecodeStop, Stop, executeexecute
Decode and execution devicesDecode and execution devicesExecution unit (arithmetic logic unit, ALU)Execution unit (arithmetic logic unit, ALU)( g , )( g , )Data transfer busesData transfer busesControl unitControl unit
2222
Registers in IASRegisters in IASgg
Register Size(bit ) FunctionRegister (bits) Function
Program counter (PC) 12 Holds mem. address of next instruction
Accumulator (AC) 40 Temporary data storage
Multiplier quotient (MQ) 40 Temporary data storage
Memory buffer (MBR) 40 Memory read / write data
Instruction buffer (IBR) 20 Holds right instr. (bits 20-39)
Instruction register (IR) 8 Holds opcode part of instruction
Memory address (MAR) 12 Holds mem. address part of instruction
2323
Register TransferRegister TransferRegister TransferRegister Transfer
Transfer data synchronously with clockTransfer data synchronously with clockRegister to registerRegister to register through ALU logicRegisters to register through memory (write)Register to register through memory (read)
D t t f th h i ti bData transfer through communication busSource register writes on busDestination register reads from busDestination register reads from busControl circuit provides read / write signals for bus and memory
2424
Communication BusCommunication BusCommunication BusCommunication BusA device writing
on busA device neither
writing on nor
outputs inputs
greading from busoutputs inputs
1 010
00
01
Control signalsBus
1
outputs inputs
A d i diControlcircuitpc
ode
ontro
lgn
als
2525
A device readingfrom bus
circuit
Op
Co
sig
Control CircuitControl Circuit –– Finite State MachineFinite State MachineControl Circuit Control Circuit Finite State MachineFinite State MachineStart
Readmemory
Decodeleft
instruction
MAR ← PCPC ← PC+1
Fetch Instruction
y instruction
ExecuteDecode
righti t ti
Executeinstruction
2626
Von Neumann BottleneckVon Neumann BottleneckVon Neumann BottleneckVon Neumann BottleneckVon Neumann architecture uses the same
f i t ti ( ) dmemory for instructions (program) and data.Th ti t iThe time spent in memory accesses can limit the performance. This phenomenon is referred to as von Neumann bottleneckreferred to as von Neumann bottleneck.To avoid the bottleneck, later architectures restrict most operands to registersrestrict most operands to registers (temporary storage in processor).
Ref : D E Comer Essentials of Computer Architecture Upper Saddle
2727
Ref.: D. E. Comer, Essentials of Computer Architecture, Upper SaddleRiver, NJ: Pearson Prentice-Hall, 2005, p. 87.
John von Neumann (1903John von Neumann (1903--1957)1957)John von Neumann (1903John von Neumann (1903 1957)1957)
2828
Second Generation ComputersSecond Generation ComputersSecond Generation ComputersSecond Generation Computers1955 to 1964Transistor replaced vacuum tubesMagnetic core memoriesFloating-point arithmeticHigh-level languages used: ALGOL, g g g ,COBOL and FORTRANSystem software: compilers, subroutine y p ,libraries, batch processingExample: IBM 7094
2929
p
Third Generation ComputersThird Generation ComputersThird Generation ComputersThird Generation ComputersBeyond 1965Integrated circuit (IC) technologySemiconductor memoriesMemory hierarchy, virtual memories and cachesTime-sharinggParallel processing and pipeliningMicroprogrammingMicroprogrammingExamples: IBM 360 and 370, CYBER, ILLIAC IV, DEC PDP and VAX, Amdahl 470
3030
,
C Programming Language and C Programming Language and O SO SUNIX Operating SystemUNIX Operating System
N
3131
1972 Now
Theory of ComputingTheory of Computingy p gy p gAlan Turing (1912-1954) gave a model of computing in 1936 – Turing Machine.Original paper: A. M. Turing, “On Computable Numbers with an Application to the Entscheidungsproblem*,” Proc. Royal Math. Soc., ser. 2, vol. 42, pp. 230-265, 1936.Recent book: David Leavitt, The Man ,Who Knew Too Much: Alan Turing and the Invention of the Computer (Great Discoveries), W. W. Norton & Co., 2005.), ,
* The question of decidability, posed by mathematician Hilbert
Turing MachineTuring MachineggFour operations:– oj = tj, replace present symbol ti by tj
o R mo e head one position to right– oj = R, move head one position to right– oj = L, move head one position to left– oj = H, halt the computationj
Universal Turing Machine: small instruction set, #symbols × #states < 30; can perform any possible (computable) computation.possible (computable) computation.Computable means that Turing machine halts in finite number of steps.R l t h fi it th fi dReal computers have finite memory – they find certain problems intractable.
Ref: J P Hayes Computer Architecture and Organization New York:
3434
Ref: J. P. Hayes, Computer Architecture and Organization, New York: McGraw-Hill, 1978.
Incompleteness TheoremIncompleteness TheoremIncompleteness TheoremIncompleteness TheoremIn 1931, the Czech-born mathematician K Göd l (1906 1978) d dKurt Gödel (1906-1978) demonstrated that within any given branch of mathematics, there would always be some propositions that couldn't besome propositions that couldn t be proven either true or false using the rules and axioms.Gödel's Theorem has been used to argue that a computer can never be as smart as a human being because the extent of its knowledge is limited by a fixed set of axioms whereas people canfixed set of axioms, whereas people can discover unexpected truths. See http://www.miskatonic.org/godel.htmland other websites.
3535
The Barber ParadoxThe Barber ParadoxBy Linda ShaverBy Linda Shaver
(An Example of(An Example of UndecidabilityUndecidability))(An Example of (An Example of UndecidabilityUndecidability))
In a particular town, there’s a particular barbershop with a peculiar sign in the window that reads:
“This barber shaves all and only those men ofthe town who do not shave themselves.”
Question: According to the sign in the window, does the barber shave himself?
3636
The Now GenerationThe Now GenerationPersonal computersLaptops and PalmtopsNetworking and wirelessSOC and MEMS technologyAnd the future!And the future!
Biological computingMolecular computing N t h lNanotechnologyOptical computingQuantum computing