1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut...

38
1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen- Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict

Transcript of 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut...

Page 1: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

1

Hoe werkt een computer nu precies?

Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam

Met steun van stichting Edict

Page 2: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

2

Kern

Huidige informatica-onderwijs mist Digitale techniek tussen poort en processor Hardware/software interface

Urenuitbreiding: behandelen van deze onderwerpen wel mogelijk

Wij bieden een geïntegreerd lespakket Boek met opgaven SIM-PL

SIM-PL simulatie, visualisatie en ontwerp van digitale schakelingen assembler programmeren

Page 3: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

3

Menu Overzicht cursusmateriaal Eisen commissie UUI2007 Drie voorbeelden met SIM-PL

Poortschakeling: Multiplexer Multiplexer met ‘klok’

4 bit opteller Rekenmachine

Bijdrage commissie UUI2007

Page 4: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

4

Overzicht cursusmateriaal

Page 5: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

5

Materiaal: cursusboek

Voor wie bestemd: Basisstof voor havo- en vwo-leerlingen Uitbreiding voor vwo-leerlingen vwo-leerlingen met belangstelling voor logica Voor projecten & werkstukken

Page 6: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

6

Materiaal: cursusboek

Les 1: Poorten en poortschakelingen Poorten: Inverter, AND, OR, XOR Schakelingen met poorten Veel voorkomende poortschakelingen

Les 2: Hoe rekent een computer? Binaire & hexadecimale code Half adder, Full adder, Optelschakeling voor twee getallen van 4 bit Two’s complement code Optel/aftrekschakeling voor twee getallen van 4 bit ALU

Page 7: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

7

Materiaal: cursusboek

Les 3: Hoe werkt een programmeerbare rekenmachine? Registers Program Counter & Instructie Memory Getallen & adressen Assembler code

Les 4: Hoe krijg ik een constant getal in een register? Instructies met constante getallen Operator en operanden Instuctieset Timing & klokpuls

Page 8: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

8

Materiaal: cursusboek

Les 5: Wat gebeurt er precies als een loopje wordt uitgevoerd? Branch instructies

Les 6: Van rekenmachine naar (Harvard) processor? Von Neumann versus Harvard (CISC RISC) Data Memory Load- & Store -instructie Slim algoritme om te vermenigvuldigen

Page 9: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

9

Materiaal: cursusboek Les 7: Het ontwerpen van schakelingen met Boole algebra

Boole algebra Van waarheidstabel “Boole” uitdrukking De NAND-poort Probleem tabel “Boole” uitdrukking Vereenvoudigde “Boole”

uitdrukking implementatie in poortschakeling

Les 8: Schakelingen met geheugenwerking Sequentiële schakelingen (flipflops) Tellers, registers DRAM, SRAM De geheugenhiërarchie

Page 10: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

10

Materiaal: implementatiegids

Les 9: Het ontwerpen van “Eindige automaten” (Finite State Machines) Wat is een Finite State Machine? Voorbeelden van Finite State Machines Hoe ontwerp je een Finite State Machine?

Les 10: Hoe bouw ik zelf een machine met instructieset? Hoe maak ik een basiscomponent? Hoe bouw een machine met instructieset. Voorbeeld: Mastermindspel

Page 11: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

11

Eisen commissie UUI2007

Page 12: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

12

Materiaal: eisen UUI2007

Welke leerdoelen? Inzicht in de opbouw van een computer. Inzicht in de werking van een computer Inzicht wat er gebeurt met de hardware als een programma wordt

uitgevoerd. (Software-hardware-interface)

Voor welke leerlingen? Les 1 t/m 4 voor havo Les 1 t/m 9 voor het vwo Les 10 voor praktische opdrachten, projecten en profielwerkstukken.

Voorkennis? Kennen: geen specifieke voorkennis vereist.

les 10: kennis van expressies in Java of C Kunnen: omgaan met de computer

Page 13: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

13

Materiaal: eisen UUI2007

Hoeveel studielasturen ?• Onze kennis hierover is gering. Graag willen wij hierover met de

commissie van gedachten wisselen. • Het materiaal is flexibel inzetbaar. • Eigen lespakket per doelgroep

Toetsing leerdoelen? Schriftelijk; oefenopgaven in boek. Met Editor zijn op eenvoudige

wijze schema’s te genereren. Middels “hardcopy’s” van ontwerpopdrachten.

Is het materiaal getest? Vorige versie met drie scholen Resultaten

Editor niet robuust Stof te moeilijk voor havo.

Page 14: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

14

Materiaal: eisen UUI2007

Gebruiks-, installatie- en beheerinstructies (met name bij software) Installatie van de Java Runtime Engine is vereist. Website: www.science.uva.nl/amstel/SIM-PL

Kosten en verkrijgen van onderwijsmateriaal Vrij te downloaden via website:

De software Componenten Powerpoint presentaties SIM-PL Tutorial

Een boek(je) zal tegen redelijke vergoeding verkrijgbaar zijn.

Page 15: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

15

Drie voorbeelden met SIM-PL

Page 16: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

16

Voorbeeld 1: Multiplexer (H1, p. 7)

Wisselschakelaar a,b: data S: kanaalkeuze

S a b Y0 0 0 00 0 1 10 1 0 0

0 1 1 11 0 0 01 0 1 0

1 1 0 11 1 1 1

Page 17: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

17

Voorbeeld 2: 4 bits opteller (H2)

Illustratie binair en hexadecimaal rekenen Half-adder (2 bit) en Full-adder (3 bit)

Page 18: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

18

Voorbeeld 3: Rekenmachine (H4, p.19)

Page 19: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

19

Hoe werkt een rekenmachine?

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)

Registers

Rekenmachine bestaat uit 4 hoofdcomponenten:

Page 20: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

20

ALU

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)

Registers

Page 21: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

21

ALU (16 bit)

Y = B(geen operator)11

Y = A & B& (bitwise AND)01

Y = A - B- (min)10

Y = A + B+ (plus)00

FunctieOperatorS0S1

A

B

Y

Figuur 3: Schema ALU

S0 S1

AA

B

Y

S1 S0

Page 22: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

22

Registers

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)

Registers

Page 23: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

23

Registers

16 data uitgangen (16 bit)

Hoeveel bit is dit geheugen?

1010110110111000

16 registers

( register)adres

Hoeveel bit is het adres?

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

adres

Page 24: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

24

Instruction Memory

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)Registers

Page 25: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

25

Instruction Memory

Instruction Memory

Address Datadata uitgang

(31 bit)

adres ingang

(16 bit)

Aantal bits in dit geheugen: 216 x 31 = 65.536 * 31 = 2.031.616

Page 26: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

26

Program Counter

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)Registers

Page 27: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

27

Instructies:

Rekenkundige en logische instructies ADD SUB AND MOVE

Immediate instructies (Instucties met één constant getal) ADDI SUBI ANDI LOAD

Page 28: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

28

Datapad van een rekenkundige/logische instructie: bijv. ADD

Instruction Memory

RegistersALU

PCInstruction

Address

rs reg[rs]

rt reg[rs]

rd

Data

4 bit address 16 bit data

Page 29: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

29

Assembly Language

Instruction Memory

RegistersALU

PCInstruction

Address

rs reg[rs]

rt reg[rs]

rd

Data

Syntax : ADD rd, rs, rtVoorbeeld: ADD $7, $5, $6Betekenis: register 7 = register 5 + register 6

Page 30: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

30

Datapad van een instructie met een constant getal

Instruction Memory Registers ALU

PCInstruction

Address

rs reg[rs]

rt reg[rs]

rd

Data

Constant getal

4 bit address 16 bit data

Page 31: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

31

Assembly Language:

Instruction Memory Registers ALU

PCInstruction

Address

rs reg[rs]

rt reg[rs]

rd

Data

100Hex

Syntax: ADDI rd, rs, getalVoorbeeld: ADDI $7, $5, 0x100Betekenis: register 7 = register 5 + 100Hex

Page 32: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

32

“Control” van de rekenmachine

Instruction Memory

ALU operatie

PC

InstructionAddress

First Register rsAddress Data

Second Register rtAddress Data

Destination Reg. rdAddress Data4 bit address

16 bit data 3 bit control

Registerfile (16)

Control

Multiplexer (Mux)

Page 33: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

33

Demonstratie 16 bit calculator

Page 34: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

34

Bijdrage commissie UUI2007

Page 35: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

35

Gewenste bijdrage commissie UUI2007

Onderwijsmateriaal Discussie commissie over “lessenserie” Is vier lessen algemene basiskennis over werking computer goed idee? Zijn de opgestuurde conceptteksten van les 1 en les 3 ook geschikt voor

havo-leerlingen? Deze zomer werkt Ben verder aan het cursusboek.

Van het AMSTEL instituut is Cees Mulder bereid gevonden mee te lezen.

Het is nuttig een tweede meelezer te hebben die uit het voortgezet onderwijs komt.

Wie van de commissieleden voelt zich geroepen?

Software: op- en aanmerkingen over: de user-interface het gebruikersgemak ontbrekende functionaliteit.

Page 36: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

36

Gewenste bijdrage commissie UUI2007

Testen op school van het nieuwe materiaal Betapartners heeft een budget van € 2000 beschikbaar voor testen

op school. Voor betapartnerscholen (maar niet alleen bij die) kan Ben:

een presentatie verzorgen en/of lessen komen bijwonen.

Er wordt gezorgd voor het schriftelijke materiaal. Het testen dient wel voor november 2006 plaats te vinden. Wie van van de commissie wil zijn leerlingen hieraan blootstellen?

Ik reken op meerdere leden!

Page 37: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

37

Gewenste bijdrage commissie UUI2007

Financiering DU-project “Van Flipflop tot Pentium”.

Doel is SIM-PL implemetatie bij een zevental cursussen aan de Hogeschool van Amsterdam, de Fontys Hogeschool voor Informatica en bij de UvA.

Tijdsbesteding: Wouter en Ben ieder één dag per week Extra financiering mogelijk mits verklaring dat SIM-PL ook echt gebruikt

gaat worden. Als de commissie UUI 2007 van mening is dat de SIM-PL software goed

bruikbaar is voor het vo dan verzoek ik de commissie dat voor eind juni aan mij te mailen.

Deze mail moet mede als aanbevelingsbrief dienen voor aanvullende financiering van de DU.

Resultaat: verdere ontwikkeling van de software bouw componenten maken lesmateriaal

Page 38: 1 Hoe werkt een computer nu precies? Ben Bruidegom & Wouter Koolen-Wijkstra AMSTEL Instituut Universiteit van Amsterdam Met steun van stichting Edict.

38

Vragen?

Software Executer (Simulator) Editor

Bibliotheek modellen Van poort tot processor

Lesmateriaal Presentaties Practica