2Computer System as Multilevel Machine Problem-oriented language levelTranslation (compiler)Level 4Assembly language levelTranslation (assembler)Level 3Operating system machine levelPartial interpretation means, that some OS instructions are interpretet, while ISA commands are simply forwarded to the ISA level.Partial interpretation (operating system)Level 2Instruction set architecture levelInterpretation (microprogram) or direct executionLevel 1Microarchitecture levelHardwareLevel 0Digital logic levelTanenbaum: Computer Architecture
3Evolution of Multilevel Machines Clear distinction between hardware and softwareHardware implements machine instructionsSoftware uses those machine instructions for programmingThe invention of microprogramming1951 by Maurice Wilkes, University of CambridgeSimplified hardware reduced tube count and enhanced reliability.By 1970 using a microprogram was dominant
4Evolution of Multilevel Machines In the early days, people:reserved the computer for a block of timebrought in their FORTRAN program as a desk of punched cardstook the FORTRAN compiler out of a cabinetinserted first the compiler and then the programInserted the program again for a second pass of the compilerthe compiler punched out the machine program.put in the machine program…This procedure was normal in many compute centers for years.In 1960 the operators job was automatedIf there was an error, they looked at the console lights and used the console switches. Otherwise they printed the core content and analyzed it at home.
5The Evolution of Multilevel Machines The invention of the operating systemOperating system was kept in memoryIt read and executed jobs consisting of the Fortran code and the data cards for execution.Interspersed with OS commands like compile and executeOne of the first widespread operating systems was FMS (FORTRAN Monitor System)Additions, e.g., IO, were called operating system macros or supervisor calls (today system calls)1960 the timesharing system was developed at MITMultiple users could access the machine simultaneously from remote terminals
6Computer Generations Zeroth Generation -1945: Mechanical Computers First Generation : Vacuum TubesSecond Generation : TransistorsThird Generation – 1980: Integrated CircuitsFourth Generation - …: Very Large Scale IntegrationFifth Generation: The invisible computer
7The Zeroth Generation – Mechanical Computers (1642 – 1945) Blaise Pascalbuilt 1642 a computer to help his father in tax collectionGottfried Leibnizbuilt 1670 a mechanical machine that could also multiply and divide.Gottfried Leibniz entwickelte das binäre Zahlensystem.
8The Zeroth Generation – Mechanical Computers (1642 – 1945) Charles Babbage ( )Built 1822 the difference engine to compute tables for navy navigation. Result was engraved in a copper plate (write-once medium)Built 1846 the analytical machine consisting of store (for variables), the mill (processing unit), input and output section. It could execute different programs on punched cards instead of only one (difference engine).The programs were developed by Ada Augusta Lovelace.Babbagedifference enginge arbeitete mit finiten Differenzen auf der Basis von Polynomenanalytical machine: store: 100 words with 50 decimal digits, mill could read store and store back results.
9The Zeroth Generation Konrad Zuse (late 1930) Howard Aiken (1944) 1938: Z1 mechanical engine, binary system, floating point arithmetic, programs on punched tape1941: Z3 machine based on electromagnetic relays, binary arithmeticWork lost in the war.Howard Aiken (1944)Built a relay-based machine with 72 words of 23 decimal digits, and an instruction time of 6 sec.His work was based on Babbage's work he found in the library.
10The First Generation – Vacuum Tubes (1945–1955) British intelligence (1944)Built COLOSSUS the world first electronic digital computerAlan Turing helped in the designDesigned to decode German messagesJon Mauchley and Presper Eckert (1946)Built ENIAC with tubes, relays. It weighed 30 tons and consumed 140 kilowatt.Decimal arithmetic, each digit represented by 10 tubesGrant by the army.Maurice Wilkes (1946)EDSAC, binary arithmeticFirst stored program computerDeveloped in UK
11The First Generation – Vacuum Tubes (1945–1955) John von NeumannDesigned the von Neumann Architecture in 1945 for EDVACBuilt 1952 the IAS machine where program and data were in the same memory.Parallel additionIt used binary arithmetic.
12The Second Generation – Transistors (1955–1965) Transistor was invented at Bell Labs in 1948Within 10 years vacuum tube computers were obsoleteThe first minicomputer PDP1 was built by DEC in 1961.It cost $ compared to millions for the twice as fast transistorized computer of IBM, the IBM 7090.CDC introduced CDC 6600It was 10 times faster than IBM 7090.The CPU had multiple functional units that could run in parallel.It also had smaller computers inside to do IO etc.The designer was Seymour Cray
13The Third Generation – Integrated Circuits (1965–1980) Integrated circuits were co-invented by Jack Kilby and Robert Noyce in 1958Jack Kilby demonstrated it half a year before Noyce on September 12th@ Texas InstrumentsGot Nobel Prize in physics in 2000Germanium basedDemonstrated continuous sine waveRober Noyce@ Fairchild Seminconductors (Co-Founder)Silicon based1968 he and Gordon Moore founded Intel
14The Third Generation – Integrated Circuits (1965–1980) IBM build the System/360It was the first machine with multiprogramming for better CPU utilization.It could emulate other machines, e.g., the IBM 7094, via special microcode.It had a huge address space of 224 bytes (16 MB) which was sufficient until mid 1980sKey features of lasting impact: 8bit byte, byte addressable memory, 32 bit word, two’s complement, EBCDIC character setDEC developed the PDP-11
15The Third Generation – Integrated Circuits (1965–1980) Xerox designed the Alto I1973Palo Alto Research CenterFirst computer with a graphical interface.Birth ofthe mouseWYSIWYG printingcut-and-pasteEthernet
16The Fourth Generation – Very Large Scale Integration (1980-?) Personal computer started due to price dropApple, Commodore, AtariIBM PC in 1981 based on Intel CPUIn 1984 the Apple Macintosh was the first personal computer with a Graphical User Interface.Mid 1980s RISC was born1992 DEC produced the first 64-bit RISC processor, the Alpha processor.
17The Fifth Generation – Invisible Computers In 1993 the Apple Newton was the first PDASmall embedded processors are changing the worldGoing towards ubiquitous computing or pervasive computingubiquitous: allgegenwärtigpervasive: durchdringend
18Milestones in Computer Architecture JahrBezeichnungHerstellerAnmerkungen1834Analytical EngineBabbageErster Versuch, einen digitalen Computer zu bauen1941Z3ZuseErste funktionierende Relais-Rechenmaschine1943COLOSSUSBritische RegierungErster elektronischer Computer1944Mark IAikenErster amerikanischer Universalcomputer1946ENIAC IEckert/MauchleyBeginn der modernen Computergeschichte1949EDSACWilkesErster speicherprogrammierter Computer1951Whirlwind IM.I.T.Erster Echtzeitcomputer1952IASVon NeumannDie meisten heutigen Maschinen weisen dieses Design auf1960PDP-1DECErster Minicomputer (50 Stück verkauft)19611401IBMSehr beliebter Rechner bei kleinen Firmen19627094Beherrschte Anfang der 60er Jahre die wissenschaftliche Rechenwelt1963B5000BurroughsErste für eine Hochsprache entwickelte Maschine1964360Erste als Familie ausgelegte Produktlinie6600CDCErster wissenschaftlicher SupercomputerDigital: wert und zeitdiskrete Darstellung im Gegensatz zu analog
19Milestones in Computer Architecture 1965PDP‑8DECErster Minicomputer für den Massenmarkt ( Stück verkauft)1970PDP‑11Vorherrschender Minicomputer der 70er Jahre19748080IntelErster 8-Bit-Universalcomputer auf einem ChipCRAY-1CrayErster Vektor-Supercomputer1978VAXErster 32-Bit-Superminicomputer1981IBM PCIBMBeginn der modernen Personalcomputer-ÄraOsborne-1OsborneErster portabler Computer1983LisaAppleErster Personalcomputer mit grafischer Benutzeroberfläche (GUI)1985386Erster 32-Bit-Vorgänger der Pentium-LinieMIPSErster kommerzielle RISC-Rechner1987SPARCSunErste SPARC-basierte RISC-Workstation1990RS6000Erste superskalare Maschine1992AlphaErster 64-Bit-Personalcomputer1993NewtonErster Palmtop-Computer
20Von Neumann Architecture(1946) Computer consists of 4 unitsMemory (programs and data)Control unit (interprets the program)Arithmetic unitI/O unitThe structure is indepent of the problem (programmable)Program and data are in the same memoryThe memory is structured into cells of a fixed lengthThe program consists of instructions that are executed sequentially.There can be (conditional) jumps.The machine is based on binary representation.
21Predecessors Von-Neumann Computer Mechanical Computer Program control Ohne Rechenwerk: Rechenhilfen, z.B. Abakus und Rechenschieber (abstraktes Rechnen)Mit Rechenwerk: tatsächliches mechanisches Rechnen.Mechanical ComputerProgram controlWithout compute unitWith compute unit
22Predecessor of the von Neumann Architecture 1500Suan Pan (Ostasien) Soroban (Japan) Abakus-v. Chr1100Schickard: Mechanical ADD/SUB MachinePascal: “ “ “Leibniz: Four operations machineJaquard: Punched card loomBabbage:Analytical Enginge (punched card, programmable system) Decimal representation, never built