1/1/ / faculty of computer science eindhoven university of technology 2ic20:computersystemen week 1:...

16
1/ / faculty of Computer Science eindhoven university of technology 2IC20: Computersystemen Week 1: inleiding

Upload: antoon-boender

Post on 04-Jun-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

1/

/ faculty of Computer Science

eindhoven university of technology

2IC20: Computersystemen

Week 1: inleiding

Page 2: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

2

1/

/ faculty of Computer Science

eindhoven university of technology

Huishoudelijke mededelingenDocent: Michael Franssen

Vak ‘homepage’:

http://www.win.tue.nl/michaelf/2IC20/practicum handleidingprogrammatuur voor practicum laptop!powerpoint slides van collegeoude tentamens met uitwerkingen (pré-IDaSS)

Page 3: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

3

1/

/ faculty of Computer Science

eindhoven university of technology

Onderdelen van de cursusCollege: 2 uur/week dinsdag uur 3+4Practicum: 3 uur/week vanaf week 2 (9 sessies)

2 groepen do. uur 5-7 & vr. uur 2-4telkens in zaal MA144 (Matrixgebouw)

2 studenten per groepje, 1 laptop!Twee onderwerpen in practicum:

µProcessor simuleren Programmeren in assembler

Zelfstudie: gemiddeld 2 uur/week!

Page 4: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

4

1/

/ faculty of Computer Science

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

Page 5: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

5

1/

/ faculty of Computer Science

eindhoven university of technology

En dan nog dit... Examen in deelexamens:

In tussenweek over weken 1-5, minimaal 5,0 halen! Eind wintertrimester over weken 6-10

(wederom minimaal 5,0 halen) plus herkansing over weken 1-5

punt is gemiddelde van niet afgerondde deelpunten Volledige herkansing medio lentetrimester Open boek tentamen

(Boek, slides; géén laptop/aantekeningen)

Oefenopgaven in boek van Tanenbaum Aan het eind van ieder hoofdstuk: maak ze!

Page 6: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

6

1/

/ faculty of Computer Science

eindhoven university of technology

De ‘computer’ is al heel oud...Mechanische rekenmachine (Pascal): 1642

Alleen + en – * en ÷ rond 1670

(von Leibniz)

Mechanische computer (Babbage): 1834Ponskaart in- en uitvoer, programma op

ponskaarten1000 getallen geheugen

Page 7: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

7

1/

/ faculty of Computer Science

eindhoven university of technology

De ‘Von Neumann-machine’: 1952Binair rekenen met 40 bit getallenProgramma en gegevens in één geheugen

Geheugen

Besturing

Aritmetische en logische eenheid

(ALU)Invoer

UitvoerAccumulator

Dit alles met vacuumbuizen!

Dit alles met vacuumbuizen!

Page 8: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

8

1/

/ faculty of Computer Science

eindhoven university of technology

De PDP-8: een 12 bits minicomputer Circa 1965: losse transistoren, ‘slechts’ $16000 Belangrijkste vernieuwing: de ‘bus’

CPU GeheugenConsole-terminal

Pons-band I/O

AndereI/O

De ‘Omnibus’

Page 9: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

9

1/

/ faculty of Computer Science

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!

Page 10: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

10

1/

/ faculty of Computer Science

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

Page 11: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

11

1/

/ faculty of Computer Science

eindhoven university of technology

We vinden processoren overal...“Zingende wenskaart”: computer van 20 cent!“Embedded” in apparatuur: 1..5 euroSpelcomputer/PC:

50..500 euro

Intel Pentium-Pro:5,5 miljoen transistoren,600 miljoen instructies/sec.

Intel Pentium-Pro:5,5 miljoen transistoren,600 miljoen instructies/sec.

Weersvoorspelling: 5 miljoen euro monster

Page 12: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

12

1/

/ faculty of Computer Science

eindhoven university of technology

Lagen in een computerComputers 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

Page 13: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

13

1/

/ faculty of Computer Science

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 geïnterpreteerd 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

Page 14: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

14

1/

/ faculty of Computer Science

eindhoven university of technology

MicroarchitectuurNiveau 1

Hardware

InstructiesetarchitectuurNiveau 2

Interpretatie (‘microprogramma’)of directe uitvoering

BesturingssysteemmachineNiveau 3

Gedeeltelijke interpretatie

AssembleertaalNiveau 4

Vertaling (assembler)

Probleemgerichte taalNiveau 5

Vertaling (compiler)

Digitale logicaNiveau 0

Hieronder: elektronische componenten!

Niveaugrenzenverschuiven

steeds!

Page 15: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

15

1/

/ faculty of Computer Science

eindhoven university of technology

De lagen 0..2:Digitale logica: schakeltechniek!Microarchitectuur: ‘datapad’ binnen processor

‘registers’, ‘rekenorganen’ en ‘bussen’per ‘klok’ uitgevoerde bewerkingeneventueel ‘besturing’ om complexe bewerkingen

op te delen over meerdere klokken (‘microprogramma’)

Instructiesetarchitectuur: zo gebruik je ‘mbeschikbare instructies (basisbewerkingen)geheugens en invoer/uitvoer

Page 16: 1/1/ / faculty of Computer Science eindhoven university of technology 2IC20:Computersystemen Week 1: inleiding

16

1/

/ faculty of Computer Science

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 instructiesSymbolische namen in plaats van getallen!

Hogere talen: concepten i.p.v. instructiesStandaard talen: BASIC, C, Java, LISP, FortranApplicatietalen: databases, symbolische wiskunde