1.06k likes | 1.26k Views
Structuur en organisatie van computersystemen: deel 2. Yolande Berbers 200A 03.20. praktische organisatie. lessenschema: 14 lessen dinsdag 26 en woensdag 27 maart paas-’vakantie’ dinsdag 16 en woensdag 17 april dinsdag 23 en woensdag 24 april pauze: ik zit een week in het buitenland
E N D
Structuur en organisatie van computersystemen: deel 2 Yolande Berbers 200A 03.20
praktische organisatie • lessenschema: 14 lessen • dinsdag 26 en woensdag 27 maart paas-’vakantie’ • dinsdag 16 en woensdag 17 april • dinsdag 23 en woensdag 24 april pauze: ik zit een week in het buitenland • dinsdag 7 en woensdag 8 mei • dinsdag 14 en woensdag 15 mei • dinsdag 21 en woensdag 22 mei • dinsdag 10.35-12u35, S01.03 • woensdag 10.35-12u35, S01.03
doelstellingen van de cursus • direct doel • inzicht in • huidige tendensen in computerarchitectuur • achtergrond • algemene kenmerken • invloed voor de software • huidige tendensen in basissoftware • besturingssystemen • compilers • specifieke aandacht voor • snelheid • parallellisme (op alle niveaus) • via case studies kennis maken met belangrijke architecturen
doelstellingen van de cursus (vervolg) • verder doel • studenten voorbereiden op een veelvoorkomende latere job: kiezen van gepaste apparatuur en basisprogrammatuur • voor een bepaalde omgeving • voor een bepaald doel • wat voor soort producten zijn er op de markt • wat moet je wel en niet geloven van de verkopers • ‘materiaal-cursus’: niet afstuderen met alleen theoretische kennis
doelstellingen van de cursus (vervolg) • verder doel (vervolg) • na deze cursus moeten studenten • offertes voor computersystemen met kennis van zaken kunnen vergelijken • technische artikels over computerarchitecturen kunnen begrijpen • de vooruitgang in computerarchitectuur in de komende jaren gemakkelijk kunnen volgen
doelstellingen van de cursus (vervolg) • verhouding hardware / software • de cursus beschrijft de ‘structuur en organisatie van computersystemen’ voor zover die van belang is voor een software specialist
karakteristieken van de cursus • een domein dat in continue en snelle beweging is(geen historisch overzicht maar huidige state-of-the-art) • breed domein • moeilijkheidsgraad: niet zo hoog • de cursus brengt • nieuwe methoden, technieken, begrippen, modellen, ... analytisch • nieuwe terminologie beschrijvend • de cursus wil praktisch zijn • vergelijkbaar met SOCS1
overzicht van de cursus • inleiding tot computerarchitectuur (H1) • performantie (H1) • instructie-set principes, RISC-architecturen (H2) • pipelining (H3) • parallellisme op het instructieniveau (H4) • geheugen-hiërarchie (H5) • parallelle machines (slides) • niet-traditionele systemen (slides, kopies) • een aantal case studies (slides)
tekstboeken • Computer Architecture. A Quantitive Approach(2nd edition)David A. Patterson, John L. HennessyMorgan Kaufmann Publishers, 1996, ISBN 1-55860-329-8 • boek richt zich in de eerste plaats tot ontwerpers van systemen • wij zullen die elementen benadrukken die ons helpen de huidige systemen te begrijpen en te evalueren • Advanced Computer Architectures. A Design Space Approach Deszo Sima, Terence Fountain, Peter KacsukAddison Wesley, 1997, ISBN 0-201-42291-3 • gebruikt voor het deel over parallelle machines en niet-traditionele systemen
slides • www.cs.kuleuven.ac.be/~yolande/slides/socs2.html • slides worden continu up to date gehouden
plaats van cursus in curriculum • directe opvolger van SOCS1 • steunt nogal op besturingssystemen
vorm van het examen • mogelijkheid tot alternatief examen (zie verder) • gesloten boek examen • mondeling met schriftelijke voorbereiding • vraag 1 • peilt naar inzicht in de cursus • overzichtsvraag • combinatie van 2 of meer (hoofd)stukken • vraag 2 • peilt naar diepte-kennis van een bepaald stuk cursus • vraag 3 • peilt naar terminologie-kennis • bestaat uit meerdere kleine vragen
van belang voor het examen • ‘vergelijk x en y’ betekent niet bespreek achter elkaar eerst x en dan y, maar bespreek x en y zodat ze vergelijkbaar worden (dus volgens hetzelfde stramien) en vergelijk ze dan • cijfers: orde van grootte zijn van belang exacte cijfers niet
mogelijkheid tot alternatief examen • bespreking van een hedendaagse architectuur • voorstelling van 20 min (indien één student) • voorstelling van 40 min (indien twee studenten) • redelijke vrijheid bij de keuze van architectuur (niet Intel) • keuzes kenbaar maken eerste week na pasen • zelf zoeken naar documentatie (op het web is er veel te vinden) • bespreking in het licht van de behandelde topics uit de cursus • begrippen uit cursus, voor en nadelen van bepaalde technieken … moeten gekend zijn • ik kan hierbij vragen stellen
overzicht van deze inleiding • vooruitgang van computermogelijkheden • computerontwerp • trends • software • hardware • cpu chips • geheugen chips • disks • kostprijs
vooruitgang van computermogelijkheden • 2 elementen die spelen bij vooruitgang • vooruitgang in de technologie die gebruikt wordt in het bouwen van computers (onderwerp van elektronica) • vooruitgang in computerontwerp (onderwerp van deze cursus) • vooruitgang niet gelijkmatig: • in technologie: nogal regelmatig • in computerontwerp: onregelmatig, met sprongen • tot eind jaren 70: 25% verbetering per jaar • vanaf eind jaren 70: microprocessoren • kunnen de technologische vooruitgang beter uitbuiten • 35% verbetering per jaar (zie grafiek verder) • massaproductie mogelijk, dus goedkoper
vooruitgang van computermogelijkheden (vervolg) • wet van Moore uit 1965 • voorspelde dat de kracht van een chip zou verdubbelen elke 18 maanden • voorspelling is grotendeels juist gebleken • deze vooruitgang zal wellicht nog een tijdje lang doorgaan
vooruitgang van computermogelijkheden (vervolg) • vroegere rem op vernieuwingen in computerarchitecturen • veel code werd geschreven in assembler • heel architectuur afhankelijk • grote investering: moest nog kunnen draaien op volgende machine uit zelfde reeks • object-code compatibiliteit is heel belangrijk • besturingssystemen • merkafhankelijk • in assembler geschreven • risico en kost van een nieuwe architectuur waren heel hoog • UNIX bracht hierin verandering
vooruitgang van computermogelijkheden (vervolg) • RISC architecturen • ontworpen begin jaren 80, op de markt sinds 85 • vanaf dan: 50% verbetering per jaar
1.54X/yr vooruitgang van computermogelijkheden
vooruitgang van computermogelijkheden (vervolg) • gevolgen van deze enorme vooruitgang • het krachtigste werkstation in 93 (IBM Power-2) vgl. met de krachtigste computer in 88 (Cray Y-MP) • werkstation is even snel voor floating point berekeningen • werkstation is sneller voor integerberekeningen • werkstation kost minder dan 10% van supercomputer • microprocessoren worden gebruikt voor alle maten van computers, ook voor mainframes en supercomputers
vooruitgang van computermogelijkheden (vervolg) • gebruikte terminologie • personal computers • servers voor werkstations • mainframes • minicomputers: worden vervangen door servers gemaakt met microprocessoren • mainframes: worden vervangen door grote multiprocessoren gemaakt met microprocessoren • supercomputers: verzamelingen van microprocessoren • werkstations • supercomputers
1000 Supercomputers 100 Mainframes 10 Minicomputers Microprocessors 1 0.1 1965 1970 1975 1980 1985 1990 1995 2000 Year Technology Trends
intermezzo: perspective on Post-PC Era • PostPC Era will be driven by 2 technologies: 1) “Gadgets”:Tiny Embedded or Mobile Devices • ubiquitous: in everything • e.g., successor to PDA, cell phone, wearable computers 2) Infrastructure to Support such Devices • e.g., successor to Big Fat Web Servers, Database Servers
New Architecture Directions • “…media processing will become the dominant force in computer arch. and microprocessor design.” • “...new media-rich applications ... involve significant real-time processing of continuous media streams, and make heavy use of vectors of packed 8-, 16-, 32-bit integer and Fl. Pt.” • Needs include real-time response, continuous media data types (no temporal locality), fine grain parallelism, coarse grain parallelism, memory bandwidth
computerontwerp • complexe taak • functionele eisen bepalen • maximaliseren van de performantie • maar binnen de kostenbeperkingen • aspecten • ontwerp van instructieset: grens tussen software en hardware • functionele organisatie • logisch ontwerp • implementatie • ontwerp van geïntegreerd circuit • verpakking, koeling, voedingseenheid • kennis nodig van o.a. compilers, besturingssystemen
computerontwerp • Architecture is an iterative process: • Searching the space of possible designs • At all levels of computer systems Creativity Cost / Performance Analysis Good Ideas Mediocre Ideas Bad Ideas
computerontwerp • vroegere verdeling • computer architectuur = ontwerp van instructie set • implementatie • organisatie • hardware • huidige tendens • computer architectuur omvat al deze aspecten
computerontwerp • organisatie • geheugensysteem, busstructuur, interne CPU • mogelijk: gelijke instructieset maar verschillende organisatie (vb SPARCstation-2 en SPARCstation-20) • hardware • gedetailleerd logisch ontwerp, klok-snelheid, cache, verpakking • mogelijk: gelijke instructieset en organisatie maar verschillende hardware (vb Intel-reeks, Silicon Graphics Indy)
functionele eisen • functionele eisen hangen af van veel factoren • voor welke gebruikers is de machine bedoeld • voor welke applicaties • op welke besturingssystemen mikt men • welke standaarden wilt men volgen • vaak zijn markt-elementen heel belangrijk • figuur 1.2: werkt deze verschillende punten meer uit • optimiseren van ontwerp • meestal kost vs snelheid (ook nadruk in deze cursus) • ook mogelijk: fouttolerantie en betrouwbaarheid
software trends • programma’s gebruiken meer en meer geheugen • factor 1.5 tot 2 per jaar • adresruimten moeten groter worden, dus adressen nemen meer bits in beslag: 0.5 tot 1 per jaar • komt zowel door programma’s als door verbeteringen in DRAM technologie (zie verder)
software trends • rol van compiler wordt steeds groter • assembler is ongeveer helemaal verdwenen • compilers bepalen mee in grote mate de performantie • compilers: belangrijkste interface gebruiker / machine • verbeteringen in compiler technologie • optimisaties, herschikken van code (pipelining, geheugen systeem) • ook onderwerp van deze cursus
trends in implementatietechnologie • integrated circuit technologie • densiteit: toename van 50% per jaar (verviervoudiging in 3 jaar) • chip-oppervlakte: toenamen van 10 tot 25% per jaar • gecombineerd effect: toename van het aantal transistoren per chip van 60 tot 80% per jaar
Alpha 21264: 15 million Pentium Pro: 5.5 million PowerPC 620: 6.9 million Alpha 21164: 9.3 million Sparc Ultra: 5.2 million Moore’s Law • CMOS improvements: • Die size: 2X every 3 yrs • Line width: halve / 7 yrs trends in implementatietechnologie
trends in implementatietechnologie • semiconductor DRAM technologie • densiteit: toename van 60% per jaar (verviervoudiging in 3 jaar) • cyclus tijd: veel kleinere verbetering vermindering van een derde in 10 jaar Capacity Speed Logic 2x in 3 years 2x in 3 years DRAM 4x in 3 years 1.4x in 10 years Disk 2x in 3 years 1.4x in 10 years Speed increases of memory and I/O have not kept pace with processor speed increases.
year size(Mb) cyc time 1980 0.0625 250 ns 1983 0.25 220 ns 1986 1 190 ns 1989 4 165 ns 1992 16 145 ns 1996 64 120 ns 2000 256 100 ns trends in implementatietechnologie Moore’s Law for Memory: Transistor capacity increases by 4x every 3 years
Memory History/Trends/State of Art • DRAM: main memory of all computers • Commodity chip industry: no company >20% share • Packaged in SIMM or DIMM (e.g.,16 DRAMs/SIMM) • Capacity: 4X/3 yrs (60%/yr..) • Moore’s Law • MB/$: + 25%/yr. • Latency: – 7%/year, Bandwidth: + 20%/yr. (so far) source: www.pricewatch.com, 5/21/98
Memory Summary • DRAM • rapid improvements in capacity, MB/$, bandwidth • slow improvement in latency • Processor-memory interface (cache+memory bus): bottleneck to bandwidth
µProc 60%/yr.. 1000 CPU “Moore’s Law” 100 Processor-Memory Performance Gap:(grows 50% / year) Performance 10 DRAM 7%/yr.. DRAM 1 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 Processor Limit: DRAM Gap • Alpha 21264 full cache miss in instructions executed: 180 ns/1.7 ns =108 clks x 4 or 432 instructions • Caches in Pentium Pro: 64% area, 88% transistors
trends in implementatie technologie (vervolg) • harde schijf technologie • densiteit: toename van 50% per jaar bijna verviervoudiging in 3 jaar • cyclus tijd: veel kleinere verbetering vermindering van een derde in 10 jaar
Disk Description / History Track Embed. Proc. (ECC, SCSI) Sector Track Buffer Arm Head Platter 1973: 1. 7 Mbit/sq. in 140 MBytes 1979: 7. 7 Mbit/sq. in 2,300 MBytes Cylinder
Disk History 1989: 63 Mbit/sq. in 60,000 MBytes 1997: 1450 Mbit/sq. in 2300 MBytes 1997: 3090 Mbit/sq. in 8100 MBytes
Latency = Queuing Time + Controller time + Seek Time + Rotation Time + Size / Bandwidth { per access + per byte Performance Model /Trends • Capacity • + 60%/year (2X / 1.5 yrs) • Transfer rate (BW) • + 40%/year (2X / 2.0 yrs) • Rotation + Seek time • – 8%/ year (1/2 in 10 yrs) • MB/$ • > 60%/year (2X / <1.5 yrs) • Fewer chips + areal density source: Ed Grochowski, 1996, “IBM leadership in disk drive technology”; www.storage.ibm.com/storage/technolo/grochows/grocho01.htm,
C C C C Disk Limit: I/O Buses • Cannot use 100% of bus • Queuing Theory (< 70%) • Command overhead(Effective size = size x 1.2) • Multiple copies of data,SW layers • Bus rate vs. Disk rate • SCSI: Ultra2 (40 MHz), Wide (16 bit): 80 MByte/s • FC-AL: 1 Gbit/s = 125 MByte/s (single disk in 2002) Memory bus CPU Internal I/O bus Memory External I/O bus (PCI) (SCSI) (15 disks) Controllers
Disk Limit • Continued advance in • capacity (60%/yr) • bandwidth (40%/yr.) • Slow improvement in seek, rotation (8%/yr) • Time to read whole disk Year Sequentially Randomly 1990 4 minutes 6 hours 2000 12 minutes 1 week • Dynamically change data layout to reduce seek, rotation delay? Leverage space vs. spindles? • External I/O bus bottleneck to transfer rate, cost? => move to fast serial lines (FC-AL)? • how to use speed of embedded processor inside disk?
trends in implementatie technologie (vervolg) • huidige tijdschaal van microprocessoren • ontwerp 2 jaar • productie 2 jaar • levensduur van minimum 5 jaar • gevolg: wanneer productie op volle toeren draait zijn sleuteltechnologieën (DRAM bv.) reeds een stap verder • technologische veranderingen gebeuren vaak niet op een continue manier maar in discrete stappen • bv. DRAM groeit steeds met factor 4 • vanaf een bepaalde grens kan opeens iets heel anders (bv. 32-bit, 64-bit)
Clock Frequency Growth Rate • 30% per year
Transistor Count Growth Rate • 100 million transistors on chip by early 2000’s A.D. • Transistor count grows much faster than clock rate • - 40% per year, order of magnitude more contribution in 2 decades
Description 1995 1998 2001 2004 2007 2010 Line width (mm) 0.35 0.25 0.18 0.13 0.10 0.07 Number of masks 18 20 20 22 22 24 Wafer size (mm) 200 200 300 300 400 400 Number of wiring levels 4-5 5 5-6 6 6-7 7-8 Power supply V: desktop 3.3 2.5 1.8 1.5 1.2 0.9 Power supply V: battery 2.5 1.8-2.5 0.9-1.8 0.9 0.9 0.9 Max. power dissipation/chip 80 100 120 140 160 180 The future: general characteristics