Date post: | 12-May-2015 |
Category: |
Documents |
Upload: | johan-janssens |
View: | 212 times |
Download: | 0 times |
1/
/ faculty of Electrical Engineering
eindhoven university of technology
5JJ20: Computerarchitectuur2M200: Inleiding Computersystemen
Sessie 1(1):inleiding
1/
/ faculty of Electrical Engineering
eindhoven university of technology
Huishoudelijke mededelingen• Docenten: Ad Verschueren & Michael Franssen
• Vak ‘homepage’:
http://www.ics.ele.tue.nl/averschu/com
parch/– uitgebreide studiewijzer– practicum handleiding– programmatuur voor practicum laptop!– powerpoint sheets van college
1/
/ faculty of Electrical Engineering
eindhoven university of technology
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 !
1/
/ faculty of Electrical Engineering
eindhoven university of technology
Doel van dit vak• Bruikbare basiskennis computerarchitectuur• Richten op raakvlak ‘hardware’ - ’software’:
– Processor bezien vanuit software‘instructieset architectuur’ en ‘assembleertalen’
– Processor bezien vanuit hardwarecomputer- en processor ‘architectuur’, geheugens,in- en uitvoer
– Ondersteuning ‘hogere’ talen en besturingssystemenspeciale instructies en geheugen-’modellen’,programma-onderbrekingen en parallelle processen
1/
/ faculty of Electrical Engineering
eindhoven university of technology
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-10plus herkansing over weken 1-5punt 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...
1/
/ faculty of Electrical Engineering
eindhoven university of technology
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
1/
/ faculty of Electrical Engineering
eindhoven university of technology
De ‘Von Neumann-machine’: 1952• Binair rekenen met 40 bit getallen• Programma en gegevens in een geheugen
Geheugen
Besturing
Aritmetische en logische
eenheid (ALU)Invoe
r
Uitvoer
Accumulator
Dit alles met vacuumbuize
n!
Dit alles met vacuumbuize
n!
1/
/ faculty of Electrical Engineering
eindhoven university of technology
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
AndereI/O
De ‘Omnibus’
1/
/ faculty of Electrical Engineering
eindhoven university of technology
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!
1/
/ faculty of Electrical Engineering
eindhoven university of technology
De toekomst: de ‘wet van Moore’• Voorspelling in 1965 door oprichter van Intel:
“aantal transistoren per chip verdubbeldiedere 18 maanden” (60% groei per jaar)
Aantal bits op geheugenchips,‘K’ = 1024, ‘M’ = 1048576
1/
/ faculty of Electrical Engineering
eindhoven university of technology
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.
Intel Pentium-Pro:5,5 miljoen transistoren,600 miljoen instructies/sec.• Weersvoorspelling: 10 miljoen gulden monster
1/
/ faculty of Electrical Engineering
eindhoven university of technology
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
1/
/ faculty of Electrical Engineering
eindhoven university of technology
Echte computer M0met machinetaal T0
Niveau 0
Virtuele machine M1met machinetaal T1
Niveau 1
Virtuele machine M2met machinetaal T2
Niveau 2
Virtuele machine Mnmet machinetaal Tn
Niveau n
Programma’s in T0 worden direct door electronica uitgevoerd
Programma’s in T1 worden eerst vertaald in T0, of geinterpreteerd door een programma op M0
Vertaling in Tx:geschikt maken voor (directe) uitvoering op Mx
Vertaling in Tx:geschikt maken voor (directe) uitvoering op Mx
Interpretatie op Mx:Tx programma op Mx ‘leest’ hoger niveau programma en voert het stap voor stap uit
Interpretatie op Mx:Tx programma op Mx ‘leest’ hoger niveau programma en voert het stap voor stap uit
1/
/ faculty of Electrical Engineering
eindhoven university of technology
MicroarchitectuurNiveau 1 Hardware
Instructiesetarchitectuur
Niveau 2 Interpretatie
(‘microprogramma’)of directe uitvoering
Besturingssysteemmachine
Niveau 3 Gedeeltelijke interpretatie
AssembleertaalNiveau 4 Vertaling (assembler)
Probleemgerichte taal
Niveau 5 Vertaling (compiler)
Digitale logicaNiveau 0 Hieronder: elektronische
componenten!
Niveaugrenzenverschuiven
steeds!
1/
/ faculty of Electrical Engineering
eindhoven university of technology
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
1/
/ faculty of Electrical Engineering
eindhoven university of technology
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