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

Post on 13-May-2015

215 views 2 download

Transcript of 1Ben Bruidegom Hoe werkt een rekenmachine? Ben Bruidegom AMSTEL Instituut Universiteit van...

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

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

4Ben Bruidegom

Hardwarecomponenten

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)

Registers

Rekenmachine bestaat uit 4 hoofdcomponenten:

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

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

7Ben Bruidegom

Architectuur van de rekenmachine4 hoofdcomponenten:

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)

Registers

Registers bewaren (tussen)resultaten van berekeningen

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

9Ben Bruidegom

Hoeveel bits is het adres? 4 bits

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

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

11Ben Bruidegom

Architectuur van de rekenmachine4 hoofdcomponenten:

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)Registers

In het instructiegeheugen worden de instructies opgeslagen

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

13Ben Bruidegom

Hoeveel bits kan je opslaan in dit geheugen?

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

14Ben Bruidegom

Architectuur van de rekenmachine4 hoofdcomponenten:

Instruction Memory

Arithmetic Logic Unit(ALU)

ProgramCounter

(PC)Registers

Program Counter houdt bij welke instructie wordt uitgevoerd

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

16Ben Bruidegom

Instructies

Rekenkundige instructies: ADD (optellen) SUB (aftrekken)

Logische instructie AND (bitwise AND)

Datatransfer COPY (Register Register)

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

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

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

20Ben Bruidegom

Rekenmachine I

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

22Ben Bruidegom

Practicum met de Rekenmachine I

Voer opdrachten van paragraaf 3.4 uit

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

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

25Ben Bruidegom

Welke immediate instructies zijn er:

LOADI ADDI SUBI ANDI

26Ben Bruidegom

Alle instructies:

Rekenkundige en logische instructies ADD SUB AND

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

Datatransfer COPY

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

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

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

30Ben Bruidegom

Rekenmachine II

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

32Ben Bruidegom

Voer opdrachten van paragraaf 3.6 en paragraaf 3.7 uit.