230 likes | 366 Views
V1CP1 – week 6. Central Processing Unit. CPU. MEMORY. I/O. adresbus databus controlebus. Blokschema computersysteem (recap). n bepaalt het adresbereik – max. 2 n geheugenregisters m – vaak gelijk aan het aantal bits per register. Central Processing Unit (CPU). Bron: Wikipedia.
E N D
V1CP1 – week 6 Central Processing Unit
CPU MEMORY I/O adresbus databus controlebus Blokschema computersysteem(recap)
n bepaalt het adresbereik – max. 2n geheugenregisters m – vaak gelijk aan het aantal bits per register Central Processing Unit (CPU) Bron: Wikipedia
Instructie register 1001001001001110 adresbus ICU Registers BIU databus TU 1001001001001110 PC Stack pointer controlebus ALU Status register Opbouw van de CPU
Onderdelen van de CPU CPU = Central Processing Unit • 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)
Instructie register 1001001001001110 1001101101100011 ICU Registers BIU TU 1001001001001110 PC 0011100101111010 Stack pointer ALU Status register Data en instructies staan in het geheugen
Von Neumann cyclus S Store Result F Instruction Fetch E Instruction Execution D Instruction Decode
Werking van een processor • Haal een instructie op (Fetch) • 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
Lees cyclus Schrijf cyclus Schrijf cyclus adres data adres stabiel R/W Bus timing
B A f3 f2 f1 f0 functie 0 0 0 0 C=A 0 0 0 1 C=B 0 0 1 0 C=A+1 functie 0 0 1 1 C=A+B ALU status n z v c 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 Arithmetic/Logic Unit (ALU)
0000011000001000 0x0608Z80: LD B,8 1010011000001000 0xC6086809: LDB #8 0000011000001000 0x06088080: MVI B,8 0x324523 Z80: LD (2345),ALittle Endian 0xB72345 6809: STA 2345Big Endian HighLow Machine instructies
Kenmerken van een instructie • 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(mov, ldr, str) • Bewerking • Logisch(and, or, lsl, … ) • Rekenkundig(add, sub, mul, … ) • Sprong • Conditioneel(beq, bne, … ) • Niet conditioneel(jmp, bra, … ) • Subroutine aanroep(call, ret, …) • Speciale instructies(nop, hlt, swi, … )
Cache geheugen(in Core 2 Duo) Bron: www.zdnet.com.au
Intel PM855 Chipset Bron: www.intel.com
PCI Express Based System Bron: AV Bhatt, Intel
PCI Express Lanes Bron: AV Bhatt, Intel
Opdrachten • Bestudeer hfdst. 7.4 t/m 7.4.3 • Bestudeer hfdst. 8.3