500 likes | 591 Views
Basic Concepts . http://www.pds.ewi.tudelft.nl/~iosup/Courses/2011_ti1400_2.ppt. Making functions . nand gates. A. Y. ADD. B. Y. A,B. . time. delay. 2. Functional Units. It would be very uneconomical to construct separate combinatorial circuits for every function needed
E N D
Basic Concepts http://www.pds.ewi.tudelft.nl/~iosup/Courses/2011_ti1400_2.ppt
Making functions nandgates A Y ADD B Y A,B time delay 2
Functional Units It would be very uneconomical to construct separate combinatorial circuits for every function needed Hence, functional units are parameterized A specific function is activated by a special control stringF 3
Arithmetic and Logic Unit A Y F B F A B F F Y 4
Repeated operations Y : = Y + Bi, i=1..n Repeated addition requires feedback Cannot be done without intermediate storage of results Y F B F 5
Registers Y F B F = storage element 6
Outline • Programmable Devices • A History of Computer Architectures • Pre-History (to 1930s) • 1st Generation: Electro-Mechanical (1930s-1950s) • 2nd Generation: Transistors (1955—1975) • 3rd Generation: Microprocessors (1960s—today) • 4th Generation: Multi-Computing (1969—today)
Memory Organization • In most computers bitstrings are grouped in strings of 8 bit, called byte • A word consists of a number of bytes • Is dependent on the type of computer
Main memory • Organized as a linear listof registers or memory locations • Each memory location has a separate address, usually starting from 0 onwards
Memory Organization • A main memory with a total number of bits can be organized in various ways depending on: • the size of the smallest addressable word • the number of memory locations • For example: memory contains 4096 bits • 512 bytes of8bit • 256 words of 16 bit • 128 words of 32 bits
Question Why is the memory size usually a power of 2 ?
Programmable devices • A program is a sequence of operationson a stream of operands • Operationsare functions, like F • Operandsare data elements (e.g. numbers)
Programmable device Programmable Device 3 2,1 • READ(X) means read next input value from input stream and store it internally as variable X • WRITE(X) means put value in variable X on output stream • ADD(X,Y,Z) means assign value of X+Y to Z input stream output stream program READ(X) READ(Y) ADD(X,Y,Z) WRITE(Z)
Program sequencing • We need a mechanism to execute a program • FETCH operation that reads next instruction • EXECUTE operation that performs specified operation on operands • And....repeat it forever: forever loop FETCH EXECUTE end loop
X: 1 Y: 2 Z: ?? • • READ(X) READ(Y) ADD(X,Y,Z) WRITE(Z) FETCH Central Processing Unit TEMP_A: TEMP_B: RESULT: arithmetic unit IR: ADD(X,Y,Z) PC: Harvard Architecture
X: 1 Y: 2 Z: 3 • • READ(X) READ(Y) ADD(X,Y,Z) WRITE(Z) EXECUTE Central Processing Unit TEMP_A: 1 TEMP_B: 2 RESULT: 3 arithmetic unit IR: ADD(X,Y,Z) PC:= PC+1 Harvard Architecture
Question How can the previous scheme be simplified ?
Von Neumann “Conceptually we have [...] two different forms ofmemory: storage of numbers and storage of orders. If, however, the orders to the machine are reduced to a numerical code and if the machine can in some fashion distinguish a number from an order, the memory organ can be used to store both numbers and orders” Burks, Goldstine, von Neumann “Preliminary discussion of the logical design of an electronic computing instrument”
X: 1 Y: 2 Z: 3 • • READ(X) READ(Y) ADD(X,Y,Z) WRITE(Z) Von Neumann Architecture Memory Central Processing Unit TEMP_A: TEMP_B: RESULT: arithmetic unit Input IR: CONTROL Output PC:
High Level Programming • Simple program: P:= M*N • Simplify program: P:= M+ .... + M(N times) • Can be expressed as: R:=0; P:=0; while R<N loop P:=P+M; R:=R+1; end loop
Three levels of instructions high level programming language program expressed in a high-level language translation instruction set program expressed as a series of instructions direct implementation fetch/execute implementation program execution in hardware
Operating system service programs keyboard handler storage manager main store processor disks keyboard processor scheduler disk handler hardware
Virtual, Multi-layer Machine operating system interface service programs programming language language translator instruction set hardware
Outline • Programmable Devices • A History of Computer Architectures • Pre-History (to 1930s) • 1st Generation: Electro-Mechanical (1930s-1950s) • 2nd Generation: Transistors (1955—1975) • 3rd Generation: Microprocessors (1960s—today) • 4th Generation: Multi-Computing (1969—today)
History • Improving speed of operation by mechanical means • bicycle -> 5 times faster than walking (1 order of magnitude) • airplane -> 200 times faster than walking (2 o.m.) • Multiplication of two 9 figure numbers • by hand: 10minutes • by computer: 100nanosec (10 o.m.) • Predicting weather? (accurately)
Invention • Computer is not a single invention • Ideas from mathematics, physics, mechanical and electrical engineering • Development of calculation machines strated in 17-th Century: • Pascal: two (+,-) operation machine in 1642 • Leibnitz: four operation machine in 1671
Calculators • Machines of Pascaland Leibnitz were mechanical calculators • Could do single operation at a time • Lead to electronic calculators in 1975
Programmable devices • Devices that could execute a program existed in different areas: • Mechanical Music Instruments • Bagdad, 9-th Century • Carillons • Chess / Mechanical Turk (1770)? • Punch Cards for weaving machines • Jaquard (end 18-thCentury)
Difference Engine • Invented by Johann Helfrich von Müller (1786) • Used by Charles Babbage (1822)
Charles Babbage • Inspired byJaquardmechanism • Designed “Analytical Engine” (1837) • Never completed • First machine with stored program concept (calculations+order sequences)
Herman Hollerith • Punch Cards for processing census data of the 1890 census in US • Great success • Founded Tabulating Machine Company (1889). Later became IBM.
Mathematical Influence • George Boole(1854) showed that logic could be reduced to a simple algebraic system • Work remained a curiosity until rediscovered by Whitehead and Russell in Principia Mathematica (1910-1913) • Then, formal logic developed resulting in Gödel and the work of Alan Turing
Analog Computers • Analog computers predated digital computers • Slide rule • Mechanical integrators used in differential analyzers (Vannevar Bush, 1931) • First systems that enabled significant reduction of calculation times
Outline • Programmable Devices • A History of Computer Architectures • Pre-History (to 1930s) • 1st Generation: Electro-Mechanical (1930s-1950s) • 2nd Generation: Transistors (1955—1975) • 3rd Generation: Microprocessors (1960s—today) • 4th Generation: Multi-Computing (1969—today)
Electro-Mechanical DevicesASCC • 1937-1944, Howard Aikenbuilds the Automatic Sequence Controlled Calculator (ASCC), an electro-mechanical device • First general-purpose digital computer • 750,000 components, 5 tons • Goal: 100 times faster than by hand • Reality: 3-5 times faster “Only six electronic digital computers would be required to satisfy the computing needs of the entire United States.”
Electro-Mechanical DevicesENIAC • 1943-1947, John Mauchlyand John Presper Eckertstarted building the Electronic Numerical Integrator and Calculator (ENIAC). • First all-electronic computer • 18,000tubes, 1,500 relays, 150 kilowatt dissipation • Large office space
Electro-Mechanical DevicesProblems with ENIAC • Each time switched on: 10 tubes failed • Difficult to program • Not very flexible • Technologically too complex • Decentralized control • Too small a memory
Electro-Mechanical DevicesEDVAC • Problems analyzed by John von Neumann • Proposed new design: Electronic Discrete Variable Automatic Computer (EDVAC) • Basis so called Von Neumann Architecture Memory CPU I O
Harvard or von Neumann Architecture? • Harvard Architecture • Separate Instruction and Data memories (word size) • Separate memory-CPU pathways • Von Neumann Architecture • Single Instruction and Data memory • Separate memory-CPU pathways • Answer: Modified Harvard Architecture (hybrid) • Separate CPU (L1) caches for Instruction and Data • Unified memory hierarchy outside L1
Outline • Programmable Devices • A History of Computer Architectures • Pre-History (to 1930s) • 1st Generation: Electro-Mechanical (1930s-1950s) • 2nd Generation: Transistors (1955—1975) • 3rd Generation: Microprocessors (1960s—today) • 4th Generation: Multi-Computing (1969—today)
Transistors (1955—1975) and Microprocessors (1960s—today) • Integrated Circuits • Enabled small, low-costmicroprocessors • MOS Tech (ATARI) • Commodore PET • Apple & Apple ][ • Current technology • Transistors • Reliable • Less power • Smaller • U. Manchester (1953) • PDP-1 • 10 us / arith. instruction
Outline • Programmable Devices • A History of Computer Architectures • Pre-History (to 1930s) • 1st Generation: Electro-Mechanical (1930s-1950s) • 2nd Generation: Transistors (1955—1975) • 3rd Generation: Microprocessors (1960s—today) • 4th Generation: Multi-Computing (1969—today)
The Internet: Early History • 1965-1969 ARPANET • Leonard Kleinrock developsthe Queueing Theory (theoretical properties of the Internet) • 4 computers at UC Santa BarbaraUC Los AngelesStanford Research Inst.U of Utah • 1972 ARPANET public + Email • 1974 TCP/IP at Stanford • 1982 ARPANET + TCP/IP = the (early) Internet Drawing by Alex McKenzie, Dec 1969
The Internet Today net, ca, us com, org mil, gov, edu asia de, uk, it, fr, pl br, kr, nl unknown Source: http://www.opte.org/maps/
ResearchABILENE: Backbone Research Network • Test: Land Speed Record • ~ 7 Gb/s in single TCP stream from Geneva to Caltech Source: MonALISA monitoring framework, 2005
ResearchGrid Computing Just plug in the computing grid and get your results • The Grid = integration of computers as day-to-day computing utility, similar to phone, water, and electricity • Economy of scale: better service at lower cost • Large-scale reality: operational overhead, functionality (robustness + manageability), real heterogeneity • Primary users • E-Science: high-energy physics, earth sciences, bioinformatics • Industry: financial services, search engines (Google)
ResearchGrids: Vision vs. Reality • Many grids deployed, but notThe Grid • Cloud computing?