Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1
Innehåll CPU ALU Kontrollenhet Register Maskinspråk Exekvering av program Program / data Aritmetiska/logiska instruktioner Kommunikation med periferienheter Alternativa datorarkitekturer 2004-11-09 IT och Medier 2
Central Processing Unit (CPU) Arithmetic Logic Unit, ALU Bearbetar data Kontrollenhet Koordinerar allt arbete Register = snabb, temporär datalagringplats General purpose placerade i CPU. Data till/från ALU, och mellanlagring Special purpose. Cache minne. Utanför, men nära CPU Primärminne, Sekundärminne Register < > Minnet < > Hårddisk 2004-11-09 IT och Medier 3
Exempel på uppgift Addera två tal som ligger i (primär)minnet och spara resultatet. Hämta första talet till ett register. Hämta andra talet till ett annat register. Tala om för ALU att addera talen. Talen i de två registren adderas Resultatet hamnar i ett register Lagra resultatet i minne. Stopp. 2004-11-09 IT och Medier 4
CPU-arkitekturer Complex Instruction Set Computer CISC Vanlig processor. Komplexa operationer i många varianter Pentium Reduced Instruction Set Computer RISC Enklare CPU, färre effektivare instruktioner mer komplicerade program. PowerPC 2004-11-09 IT och Medier 5
Maskinspråk Data transfer LOAD, STORE Aritmetiska/Logiska ADD, SUB, AND, OR, ROTATE Flödeskontroll JUMP 2004-11-09 IT och Medier 6
Maskinkod I tidiga datorer var kod och data separerade John von Neumann, stored-program concept Maskininstruktioner kodas Kod och data lagras tillsammans i minnet Maskinkod Op-code - operational code Operand 2004-11-09 IT och Medier 7
Simple Simulator Appendix C 12 instruktioner 16+2 register 256 byte minne Laboration 1 Exempel 2004-11-09 IT och Medier 8
Maskinarkitektur 2004-11-09 IT och Medier 9
Maskininstruktioner En maskininstruktion består av Op-kod generell del Operand specifik del Ex: 0010 0111 0100 1111 2 7 4 F (Hex) Op-kod Operand (SimpSim) 2004-11-09 IT och Medier 10
Maskininstruktioner forts. Avkodning av instruktion 274F 16 Op-kod2 16 har RXY som operand och betyder load R,XY Ladda register 7 med 4F 2004-11-09 IT och Medier 11
Maskininstruktioner forts. Avkodning av instruktion 174F 16 Op-kod2 16 har RXY som operand och betyder load R,[XY] Ladda register 7 med innehållet i minnescell 4F 2004-11-09 IT och Medier 12
Maskininstruktioner forts. Exempel på instruktioner Maskinkod Opkod Operand Assembler Betydelse 3155 3 155 store R,[XY] store R1,[55] Spara det som ligger i register 1 i minnescell 55h 5012 5 012 addi R,S,T addi R0,R1,R2 Addera innehållen i register 1 och 2 (två-komplement) och lägg resultatet i register 0. C000 C (000) halt Stoppa programmet 2004-11-09 IT och Medier 13
Exekvering av program Kontrollenheten i CPU:n upprepar maskincykeln: Fetch, Decode, Execute, (Write) om och om igen Fetch: Läs in till instruktionsregistret Decode: Tolka instruktionen Execute: Utför begärd aktivitet (Write: Lagra resultatet) Programräknaren pekar alltid på nästa instruktion Ingen skillnad på kod och data i minnet Felaktigt lagrad data kan förstöra programmet. Ett program kan förändra sin egen kod. 2004-11-09 IT och Medier 14
Simple Simulator 2004-11-09 IT och Medier 15
Logiska operationer AND kan maska fram en eller flera bitar 1xxx AND 1000 = 1000 0xxx AND 1000 = 0000 OR kan sätta bitar xx0x OR 0010 = xx1x xx1x OR 0010 = xx1x XOR kan toggla bitar 1011 XOR 1111 = 0100 2004-11-09 IT och Medier 16
Övning logiska operationer Utför följande logiska operationer: 10101010 10101010 10101010 AND 11011000 OR 11011000 XOR 10101010 10001000 11111010 00000000 Vilken logisk operation har använts? 01111010 01111010 11100110 XOR? 10010000 OR? 10010000 AND? 10101010 11101010 11111010 10100010 2004-11-09 IT och Medier 17
Logiska operationer forts. ROTATE Cirkulär Höger Vänster 01000000 10000000 00000001 SHIFT Icke cirkulär Höger Vänster Aritmetiskt skift räddar teckenbiten 01000000 10000000 00000000 10010000 10100000 2004-11-09 IT och Medier 18
Controller Periferienheter Sköter kommunikationen Specialkonstruerad Bussar: Adress-, Data-, Kontrollbuss Externa Interna Von Nemanns flaskhals 2004-11-09 IT och Medier 19
Flaskhalslösningar Memory-mapped I/O CPU skriver till en speciell minnesadress (port) Direct Memory Access - DMA Periferienheten har tillgång till minnet 2004-11-09 IT och Medier 20
Datakommunikation Överföringshastighet Bitar per sekund - bps kbps, Mbps, Gbps Seriell En tråd En bit i taget USB Universial Serial Bus, 480 Mbps, IEEE 1394 FireWire, 400 Mbps, Digital Video Parallell Buss med flera parallella ledningar En bit per ledning Bussar Skrivare 2004-11-09 IT och Medier 21
Alternativa datorarkitekturer Pipelining fetch, decode, execute kan pågå samtidigt genom flera kanaler (pipes) in till ALU Pentium 4 har 20 pipelines Trixigt med beroende instruktioner Multiprocessordatorer Flera processorer i samma maskin eller i samarbete Parallellprogrammering 2004-11-09 IT och Medier 22
En processor i ett chip 2004-11-09 IT och Medier 23