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