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

Preview:

Citation preview

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

3

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

Poortschakeling: Multiplexer Multiplexer met ‘klok’

4 bit opteller Rekenmachine

Bijdrage commissie UUI2007

4

Overzicht cursusmateriaal

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

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

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

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

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

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

11

Eisen commissie UUI2007

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

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.

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.

15

Drie voorbeelden met SIM-PL

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

17

Voorbeeld 2: 4 bits opteller (H2)

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

18

Voorbeeld 3: Rekenmachine (H4, p.19)

19

Hoe werkt een rekenmachine?

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)

Registers

Rekenmachine bestaat uit 4 hoofdcomponenten:

20

ALU

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)

Registers

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

22

Registers

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)

Registers

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

24

Instruction Memory

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)Registers

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

26

Program Counter

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)Registers

27

Instructies:

Rekenkundige en logische instructies ADD SUB AND MOVE

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

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

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

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

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

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)

33

Demonstratie 16 bit calculator

34

Bijdrage commissie UUI2007

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.

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!

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

38

Vragen?

Software Executer (Simulator) Editor

Bibliotheek modellen Van poort tot processor

Lesmateriaal Presentaties Practica

Recommended