5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen Sessie 1(1): inleiding
Huishoudelijke mededelingen Docenten: Ad Verschueren & Michael Franssen Vak ‘homepage’: http://www.ics.ele.tue.nl/averschu/comparch/ uitgebreide studiewijzer practicum handleiding programmatuur voor practicum laptop! powerpoint sheets van college
Onderdelen van de cursus College: 2 (INF/TM) of 4 (EIT) uur/week Practicum: 6 x 3 uur (INF/TM) of 5 x 4 uur (EIT) Zalen EH 9.05 en EH 9.19 2 studenten per groepje, 1 laptop ! Zie roosters voor tijden… Terugkoppeling: 1 uur/week Gepland voor EIT… Zelfstudie: minimaal 2 uur/week !
Doel van dit vak Bruikbare basiskennis computerarchitectuur Richten op raakvlak ‘hardware’ - ’software’: Processor bezien vanuit software ‘instructieset architectuur’ en ‘assembleertalen’ Processor bezien vanuit hardware computer- en processor ‘architectuur’, geheugens, in- en uitvoer Ondersteuning ‘hogere’ talen en besturingssystemen speciale instructies en geheugen-’modellen’, programma-onderbrekingen en parallelle processen
En dan nog dit... Examen in deelexamens voor INF/TM: In tussenweek over weken 1-5, minimaal 5,0 halen! Eind wintertrimester over weken 6-10 plus herkansing over weken 1-5 punt is gemiddelde van niet afgerondde deelpunten Volledige herkansing halfweg lentetrimester Oefenopgaven in boek van Tanenbaum Aan het eind van ieder hoofdstuk: maak ze! Vragen en uitwerkingen tijdens terugkoppeling...
De ‘computer’ is al heel oud... Mechanische rekenmachine (Pascal): 1642 Alleen + en – * en ÷ rond 1670 (von Leibnitz) Mechanische computer (Babbage): 1834 Ponskaart in- en uitvoer, programma op ponskaarten 1000 getallen geheugen
De ‘Von Neumann-machine’: 1952 Binair rekenen met 40 bit getallen Programma en gegevens in een geheugen Geheugen Besturing Aritmetische en logische eenheid (ALU) Invoer Uitvoer Accumulator Dit alles met vacuumbuizen!
De PDP-8: een 12 bits minicomputer Circa 1965: losse transistoren, ‘slechts’ $16000 Belangrijkste vernieuwing: de ‘bus’ CPU Geheugen Console- teminal Pons- band I/O Andere I/O De ‘Omnibus’
De eerste microprocessor: Intel 4004 15 november 1971 2300 transistors 4 bits processor, 4096 byte programma, 640 x 4 bit gegevens 60000 instructies/sec Voor zakrekenmachine!
De toekomst: de ‘wet van Moore’ Voorspelling in 1965 door oprichter van Intel: “aantal transistoren per chip verdubbeld iedere 18 maanden” (60% groei per jaar) Aantal bits op geheugenchips, ‘K’ = 1024, ‘M’ = 1048576
We vinden processoren overal... “Zingende wenskaart”: computer van 50 cent! “Embedded” in apparatuur: 1..10 gulden Spelcomputer/PC: 100..1000 gulden Intel Pentium-Pro: 5,5 miljoen transistoren, 600 miljoen instructies/sec. Weersvoorspelling: 10 miljoen gulden monster
Lagen in een computer Computers en op te lossen problemen complex Deel ze op in gestapelde lagen of schillen: Iedere laag/schil gebruikt onderliggende lagen … voegt nieuwe functies toe … vormt een nieuwe (‘virtuele’) machine … kent eigen ‘machinetaal’ voor het beschrijven van het op te lossen probleem
Vertaling in Tx: geschikt maken voor (directe) uitvoering op Mx Virtuele machine M2 met machinetaal T2 Niveau 2 Virtuele machine Mn met machinetaal Tn Niveau n Interpretatie op Mx: Tx programma op Mx ‘leest’ hoger niveau programma en voert het stap voor stap uit Programma’s in T1 worden eerst vertaald in T0, of geinterpreteerd door een programma op M0 Virtuele machine M1 met machinetaal T1 Niveau 1 Echte computer M0 met machinetaal T0 Niveau 0 Programma’s in T0 worden direct door electronica uitgevoerd
Niveaugrenzen verschuiven steeds! Probleemgerichte taal Niveau 5 Vertaling (compiler) Assembleertaal Niveau 4 Vertaling (assembler) Besturingssysteemmachine Niveau 3 Gedeeltelijke interpretatie Instructiesetarchitectuur Niveau 2 Interpretatie (‘microprogramma’) of directe uitvoering Microarchitectuur Niveau 1 Hardware Digitale logica Niveau 0 Hieronder: elektronische componenten!
De lagen 0..2: Digitale logica: schakeltechniek! Microarchitectuur: ‘datapad’ binnen processor ‘registers’, ‘rekenorganen’ en ‘bussen’ per ‘klok’ uitgevoerde bewerkingen eventueel ‘besturing’ om complexe bewerkingen op te delen over meerdere klokken (‘microprogramma’) Instructiesetarchitectuur: zo gebruik je ‘m beschikbare instructies (basisbewerkingen) geheugens en invoer/uitvoer
De lagen 3..5: De besturingssysteemmachine: VIRTUEEL Voegt algemeen bruikbare complexe functies toe Is al vertaald uit assembleer- en/of hogere taal Assembleertaal: een-op-een met instructies Symbolische namen in plaats van getallen! Hogere talen: concepten i.p.v. instructies Standaard talen: BASIC, C, Java, LISP, Fortran Applicatietalen: databases, symbolische wiskunde