Upload
fenna-pauwels
View
216
Download
2
Embed Size (px)
Citation preview
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.