32
1 Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

Embed Size (px)

Citation preview

Page 1: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

1Ben Bruidegom

Hoe werkt een rekenmachine?

Ben Bruidegom

AMSTEL Instituut Universiteit van Amsterdam

Page 2: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

2Ben Bruidegom

Onderwerpen:

Uit welke hardware-componenten bestaat de machine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachinesimulator I Uitbreiding van de machine voor het verwerken van

constante getallen Practicum met de rekenmachinesimulator II

Page 3: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

3Ben Bruidegom

Hardware-componenten:

Uit welke hardware-componenten bestaat de machine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachinesimulator I Uitbreiding van de machine voor het verwerken van

constante getallen Practicum met de rekenmachinesimulator II

Page 4: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

4Ben Bruidegom

Hardwarecomponenten

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)

Registers

Rekenmachine bestaat uit 4 hoofdcomponenten:

Page 5: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

5Ben Bruidegom

Hoe werkt een rekenmachine?

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)

Registers

Rekenmachine bestaat uit 4 hoofdcomponenten:

De ALU voert de berekeningen uit

Page 6: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

6Ben Bruidegom

ALU

S1 S0 Operator Functie

0 0 + (plus) Y = A + B

0 1 - (min) Y = A - B

1 0 & (bitwise AND) Y = A & B

1 1 B-doorlaten Y = B

A

B

Y

S0 S1

AA

B

Y

S1 S0

Data-ingangen A en B en uitgang Y zijn 16 bits

Ingangen S1 en S2 selecteren de operator

Page 7: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

7Ben Bruidegom

Architectuur van de rekenmachine4 hoofdcomponenten:

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)

Registers

Registers bewaren (tussen)resultaten van berekeningen

Page 8: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

8Ben Bruidegom

Registers

16 data uitgangen (16 bits)

Hoeveel bits is dit geheugen?

( register)adres

Hoeveel bits is het adres?

adres adres 16 registers

15 1111

14 1110

13 1101

12 1100

11 1011

10 1010

9 1001

8 1000

7 0111

6 0110

5 0101

4 0100 1010110110111000

3 0011

2 0010

1 0001

0 0000

Page 9: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

9Ben Bruidegom

Hoeveel bits is het adres? 4 bits

Hoeveel bits is dit geheugen? 16 * 16 = 256 bits

Page 10: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

10Ben Bruidegom

In- en uitgangen registers

First Register rsAdres Data

Second Register rtAdres Data

Destination Reg. rdAddres

Data

Adres-ingang rs (4bits)

Data-uitgang rs (16 bits)

Data-ingang rd

Data-uitgang rt (16 bits)Adres-ingang rt (4bits)

Adres-ingang rd(4 bits)

clock

Page 11: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

11Ben Bruidegom

Architectuur van de rekenmachine4 hoofdcomponenten:

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)Registers

In het instructiegeheugen worden de instructies opgeslagen

Page 12: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

12Ben Bruidegom

Instruction Memory

Instruction Memory

Address Datadata uitgang

(14 bits)

adres ingang

(16 bits)

Hoeveel bits kan je opslaan in dit geheugen?

Iedere instructie is 14 bits

Page 13: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

13Ben Bruidegom

Hoeveel bits kan je opslaan in dit geheugen?

Totaal: 216 x 14 = 65.536 x 14 = 917.504 bits

Page 14: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

14Ben Bruidegom

Architectuur van de rekenmachine4 hoofdcomponenten:

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)Registers

Program Counter houdt bij welke instructie wordt uitgevoerd

Page 15: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

15Ben Bruidegom

Software:

Uit welke hardware-componenten bestaat de machine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachinesimulator I Uitbreiding van de machine voor het verwerken van

constante getallen Practicum met de rekenmachinesimulator II

Page 16: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

16Ben Bruidegom

Instructies

Rekenkundige instructies: ADD (optellen) SUB (aftrekken)

Logische instructie AND (bitwise AND)

Datatransfer COPY (Register Register)

Page 17: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

17Ben Bruidegom

Instruction Memory

Registers

ALU

PCInstruction

Address

rs Adres Data

Adres rd

Data rd

rt Adres Data

Datapad van een rekenkundige/logische instructie: bijv. ADD

4 bits adres 16 bits data

Page 18: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

18Ben Bruidegom

Instructieformaat

Instruction Memory

Registers

ALU

PCInstruction

Address

rs Adres Data

Adres rd

Data rd

rt Adres Data

Voorbeeld: ADD rd, rs, rtSyntax: ADD $7, $5, $6Betekenis: register 7 = register 5 + register 6

Page 19: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

19Ben Bruidegom

Instructieformaat

Instruction Memory

Registers

ALU

PCInstruction

Address

rs Adres Data

Adres rd

Data rd

Syntax: ADD rd, rs, rtVoorbeeld: ADD $7, $5, $6

Instructie ADD Adres rs Adres rt Adres rd

00 0101 0110 0111

rt Adres Data

Page 20: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

20Ben Bruidegom

Rekenmachine I

Page 21: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

21Ben Bruidegom

SIM-PL:

Uit welke hardware-componenten bestaat de machine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachinesimulator I Uitbreiding van de machine voor het verwerken van

constante getallen Practicum met de rekenmachinesimulator II

Page 22: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

22Ben Bruidegom

Practicum met de Rekenmachine I

Voer opdrachten van paragraaf 3.4 uit

Page 23: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

23Ben Bruidegom

Vervolg hardware:

Uit welke hardware-componenten bestaat de machine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachinesimulator I Uitbreiding van de machine voor het verwerken van

constante getallen Practicum met de rekenmachinesimulator II

Page 24: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

24Ben Bruidegom

Rekenen met constante getallen

Waarom zijn constante getallen zo belangrijk? Heel veel instructies bevatten een constant getal Waar worden constante getallen opgeslagen? In het instructiegeheugen Welke instructies werken met constante getallen? Immediate instructies

Page 25: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

25Ben Bruidegom

Welke immediate instructies zijn er:

LOADI ADDI SUBI ANDI

Page 26: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

26Ben Bruidegom

Alle instructies:

Rekenkundige en logische instructies ADD SUB AND

Immediate instructies (Instructies met één constant getal) LOADI ADDI SUBI ANDI

Datatransfer COPY

Page 27: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

27Ben Bruidegom

Datapad van een instructie met een constant getal

Instruction Memory

RegistersALU

PCInstruction

Address

Constant getal

4 bits address 16 bits data

rs Adres Data

Adres rd

Data rd

rt Adres Data

Page 28: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

28Ben Bruidegom

Assembly Language:

Instruction Memory

RegistersALU

PCInstruction

Address

100Hex

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

rs Adres Data

Adres rd

Data rd

rt Adres Data

Page 29: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

29Ben Bruidegom

“Control” van de rekenmachine

Instruction Memory

ALU operatie

PC

InstructionAddress

First Register rsAddress Data

Second Register rtAddress Data

Destination Reg. rdAddress Data4 bits address

16 bits data 3 bits control

Registerfile (16)

Control

Multiplexer (Mux)

ADDI rs rt rd Constant getal

000 0101 x 0111 000 1000 0000 0000

Instructieformaat

ADDI $7, $5, 0x100

Page 30: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

30Ben Bruidegom

Rekenmachine II

Page 31: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

31Ben Bruidegom

SIM-PL:

Uit welke hardware-componenten bestaat de machine? Welke instructies kan de machine uitvoeren? Practicum met de rekenmachinesimulator I Uitbreiding van de machine voor het verwerken van

constante getallen Opdrachten Practicum met de rekenmachinesimulator II

Page 32: 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van Amsterdam

32Ben Bruidegom

Voer opdrachten van paragraaf 3.6 en paragraaf 3.7 uit.