Upload
brecht-wouters
View
217
Download
1
Embed Size (px)
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