V1CP1(c) les 6

advertisement
V1CP1 – week 6
Central Processing Unit
Blokschema computersysteem
(recap)
CPU
MEMORY
I/O
adresbus
databus
controlebus
2
Central Processing Unit (CPU)
n bepaalt het adresbereik – max. 2n geheugenregisters
m – vaak gelijk aan het aantal bits per register
Bron: Wikipedia
3
Opbouw van de CPU
Instructie register
1001001001001110
adresbus
ICU
Registers
BIU
databus
TU
1001001001001110
PC
Stack pointer
Status register
4
ALU
controlebus
Onderdelen van de CPU
CPU = Central Processing Unit









5
ICU = Internal Control Unit
TU = Timing Unit
ALU = Arithmetic Logic Unit
BIU = Bus Interface Unit
Registers (general purpose)
Program Counter (PC)
Stackpointer
Statusregister
Instruction register
Stored Program Architecture
John von Neumann (28-12-1903 - 8-2-1957)
6
Data en instructies staan in
het geheugen
Instructie register
ICU
1001001001001110
1001101101100011
Registers
BIU
TU
1001001001001110
PC
0011100101111010
Stack pointer
Status register
7
ALU
Von Neumann cyclus
8
S
F
Store
Result
Instruction
Fetch
E
D
Instruction
Execution
Instruction
Decode
Werking van een processor
1. Haal een instructie op (Fetch)
-
2.
3.
4.
5.
9
zet inhoud PC op adresbus
geef een leessignaal op controlebus
verhoog inoud van PC
plaats data van databus in Instructie Register
Decodeer de instructie (Decode)
Voer de instructie uit (Execute)
Sla het resultaat op (Store)
Ga naar 1
Bus timing
Lees cyclus
adres
data
adres
stabiel
R/W
10
Schrijf cyclus
Schrijf cyclus
Arithmetic/Logic Unit (ALU)
B
A
functie
ALU
status
nzvc
f3
f2
f1
f0 functie
0
0
0
0
C=A
0
0
0
1
C=B
0
0
1
0
C=A+1
0
0
1
1
C=A+B
0
1
0
0
C=A-B
0
1
0
1
C=A and B
0
1
1
0
C=A or B
…etc…
C
11
Machine instructies
0000011000001000
0x0608
1010011000001000
0xC608 6809: LDB #8
0000011000001000
0x0608
0x324523
0xB72345
High
12
Low
Z80: LD B,8
8080: MVI B,8
Z80: LD (2345),A
6809: STA 2345
Little Endian
Big Endian
Kenmerken van een instructie





13
Binaire code (instruction format)
Lengte (aantal geheugenadressen)
Invloed op de statusvlaggen
Hoe vindt de CPU de data voor de instructie
(adressing mode)
Hoeveel klokcycli kost de uitvoering
Instructietypen


Verplaatsing
Bewerking





14
(and, or, lsl, … )
(add, sub, mul, … )
Sprong


Logisch
Rekenkundig
(mov, ldr, str)
Conditioneel
Niet conditioneel
Subroutine aanroep
Speciale instructies
(beq, bne, … )
(jmp, bra, … )
(call, ret, …)
(nop, hlt, swi, … )
CPU demo (ZEP2)
15
Cache geheugen
(in Core 2 Duo)
Bron: www.zdnet.com.au
16
17
PCI gebaseerd computersysteem
18
Accellerated Graphics Port (AGP)
19
Intel PM855 Chipset
Bron: www.intel.com
20
PCI Express Based System
Bron: AV Bhatt, Intel
21
PCI
Express
Lanes
22
Bron: AV Bhatt, Intel
Opdrachten


23
Bestudeer hfdst. 7.4 t/m 7.4.3
Bestudeer hfdst. 8.3
Download