Procesor
Co je procesor ?
CPU je stroj, který může vykonat počítačový program.
Základní pojmy:• Instrukce• Program• Proces• Stav procesu
Procesor jako součástka
Fyzické části procesoru
• Wafer (o průměru 200 mm a 300 mm )
• Ukázka tranzistorů procesoru
Úloha procesoru
Neumannovo blokové schéma Neumannovo blokové schéma počítačepočítače ::
Logika procesoru
• Strojový jazyk • Instrukční pole• Instrukční sady• Základní architektury procesorů• Doplňkové instrukční sady
Strojový kód (jazyk)
Příklad instrukce assembleru:
mov al, 61hKterá se přeloží na strojový kód:
10110000 01100001
Instrukce procesoru
Instrukční pole se skládá:příklad instrukce mov al, 61h
• Operační kód (operační znak) sčítání, odečítání, skok, přesun atp - mov
• OperandyTo, s čím se bude pracovat - al, 61h
• Šířka instrukčního poleVelikost instrukce v bitech
Instrukční sada
je množina instrukcí, kterou je procesor vybavenUkázka: Instruční sada procesoru Motorola 680 rozdělena do následujících kategorií
• Načítání a podržení (Move.B, Move.W, Move.L) • Aritmetické (Add, Sub, Mul, Div) • Bitové operátory (pravé nebo levé, logické nebo aritmetické) • Rotace bitů (ROR, ROL, ROXL, ROXR) • Logické operace (And, Or, Not, EOr) • Typová konverze • Podmíněné a nepodmíněné skoky (Bra, BCS, BEq, BNE, BHI, BLO, BMI, BPL, etc.) • Funkce vyvolání a navracení (BSR, RTS) • Management zásobníků (push, pop) • Práce s přerušením • Zpracování výjimek
Kompatibilita strojového kódu
Základní architektura procesorů
Základní dělení :• architektury RISC a CISC
Complex Instruction Set Computer (CISC)Reduced Instruction Set Computer (RISC)
RISC• redukovaná sada instrukcí obsahuje hlavně
jednoduché instrukce,• délka provádění jedné instrukce je vždy jeden cyklus
(tj. délka v bitech všech instrukcí je stejná),• mikroinstrukce jsou hardwarově implementovány na
procesoru, čímž je velmi výrazně zvýšena rychlost jejich provádění,
• registry jsou pouze víceúčelové (nezáleží, který z nich instrukce využije, což zjednodušuje návrh překladačů),
• využívají řetězení instrukcí (pipelining).
Pipelining = zřetězené zpracování, či překrývání instrukcí.
• Fáze zpracování instrukce je rozdělena na 2 a více useků.
=> vytvoření procesoru složeného ze dvou spolupracujících subprocesorů (skalární architektura), kdy každá část realizuje danou fázi zpracování.
• možno dokončit více, než 1 instrukci za 1 hodinový cyklusZa jakýsi standard je považována pipeline s pěti stupni :• Instruction fetch - vyzvednutí instrukce• Decode - dekódování instrukce, zároveň se načítají registry• Execute - provedení instrukce• Access - čtení z paměti• Writeback - zápis výsledku do registrůKromě toho jsou procesory superskalární,které dokážou v jednom stupni pipeline
zpracovávat paralelně více instrukcí.
CISC
• velká sadou procesorových instrukcí (řádově stovky) • malým počtem registrů (jejich počet obvykle nepřesahuje 30) • instrukce trvají různý počet taktů
CISC / RISC
Příklad vykonání stejné operace :
„Nové“ architektury
Další architektury
• post-RISC • EPICExplicitly Parallel Instruction Computing
Instrukční sady a technologie
• MMX (MultiMedia eXtensions )• 3DNow!• SSE,SSE2,SSE3• AMD64• EMT64
…
Součásti procesoru
• řadič • sada registrů (v řadiči) k uchování operandů a
mezivýsledků • jedna nebo více aritmeticko logických
jednotek • některé procesory obsahují jednu nebo
několik jednotek plovoucí čárky (FPU-koprocesor)
Dělení procesorů
• Podle uplatnění • Dělení podle délky operandu v bitech• Dělení podle počtu jader • Podle patic
Podle uplatnění
• MCU (Micro Controller Unit) • CPU (Central Processor Unit) • DSP (Digital Signal Processor)
Dělení podle délky operandu v bitech
Architektury procesorů:• x86 (16bitovou, registrovou, s CISCovou instrukční sadou)
• IA-32 (Intel Architecture, 32-bit) • IA-64 (Intel Architecture, 64-bit)
• AMD64 (dříve x86-64) je 64bitová architektura procesoru od firmy AMD
Ukázka registrů x86• aritmetické
– AX - akumulátor (řada instrukcí ho má jako implicitní operand)– BX - bázový registr (tj. určený pro adresaci)– CX - čítač (tj. určený pro počítání cyklů)– DX - rozšíření akumulátoru– SI - source index - index pro zdroj (tj. pro čtení)– DI - destination index - index pro cíl (tj. pro zápis)– BP - base pointer - určen jako ukazatel na záznam aktivní procedury na zásobníku (tím,
že se implicitně spojoval s SS)– SP - stack pointer - ukazatel vrcholu zásobníku
• segmentové – CS - segment kódu– DS - datový segment– ES - extra segment– SS - zásobníkový (stack) segment
• registr IP (instrukční pointer neboli čítač instrukcí), vždy odkazovaný implicitně• registr FLAGS (příznaky)
Patice ProcesoruDělení podle patic• Socket 462 (Socket A, AMD Athlon, Duron, výběhový)• Socket 478 (Intel Pentium III, Pentium 4 (Northwood), Celeron
Pentium 4, výběhový)• Socket 479 (Intel, původně pro mobily, výběhový)• Socket 604 (Intel pro servery, výběhový)• Socket 754 (AMD, výběhový)• Socket 771 (Intel pro servery)• Socket 775 (Intel)• Socket 939 (AMD, výběhový)• Socket 940 (AMD pro servery, výběhový)• Socket AM2 (AMD)• Socket F (AMD pro servery)
Základní parametry procesorů
Pojmy:• Core clock (externí takt procesoru – generátor taktu )
• Násobič(multiplier) procesoru
Parametry: takt procesoru
Ext.takt + multiplier = výsledný takt
Základní parametry procesorů
Velikost hardwarové paměti cache :
Level :Cache L1 (zásobování procesoru daty, které přichází po
sběrnici)
Cache L2 (zrychlení komunikace mezi procesorem a pamětí )
Cache L3 (využívána prosnížení latence samotných )
Další uváděné parametry
• frekvence sběrnice FSB nebo HTFSB(externí takt) x násobič HT = frekvence HT
• napětí a TDP procesoruTDP (Thermal Design Power )označuje maximální
možný příkon (spotřebu), kterého mohou čipy dosáhnout při maximálním vytížení.
Identifikace procesoru
Zjištění informací a různých nastavení procesoru lze provést dvěma způsoby.1) softwarově pomocí CPUID instrukce například programy CPU-Z nebo Everest. 2) "mechanicky" - resp. pohledem na samotný procesor a jeho identifikační znaky.
CPU-Z
Štítek procesoru - AMD
Pro socket ASocket AM2
Oficiálních materiály AMD
Štítek procesoru - INTEL
identifikace procesorů společnosti Intel není za pomoci P/N, ale za pomoci kódu sSpec Number
Sběrnice procesoru
Dělení:
• Datová• Adresová • Řídící
Významné architektury procesorůshrnutí
Architektury mikropočítačů a osobních počítačů• Intel: x86• AMD: x86-64• Motorola: 6800, 6809 a 68000• MOS Technology 6502• Zilog Z80• IBM a později AIM alliance: PowerPCArchitektury mikročipů• PowerPC 440 firmy IBM• 8051• Atmel AVR• PIC firmy Microchip• ARM
Významné architektury procesorůshrnutí
Architektury procesorů pracovních stanic a serverů• SPARC firmy Sun Microsystems• POWER firmy IBM• Architektura MIPS od MIPS Computer Systems Inc. a její instrukční sada je nosnou částí knihy
Davida A. Pattersona a Johna L. Hennessyho Computer Organization and Design ISBN 1-55860-428-6 1998 (2. vydání)
• PA-RISC od HP• Alpha od DEC• Advanced RISC Machines (původně Acorn) architektury ARM a StrongARM/XScale• Procesor LEON2Malé/střední/velké architektury procesorů• System/360 od IBM• PDP-11 od DEC a jeho následníci, architektura VAX• SuperH od SuperH• UNIVAC série 1100/2200 (momentálně používaná v počítačích ClearPath IX od Unisysu)• AP-101 – počítač raketoplánuNadcházející architektury procesorů• Cell od IBM (Sony/IBM/Toshiba)
Historicky významné procesory
• EDSAC – první praktický počítač s uloženým programem
• Navigační počítač Apollo použitý při letech na měsíc
• MIPS R4000 – první 64-bitový mikroprocesor• Intel 4004 – první mikroprocesor
Zdroje
http://cs.wikipedia.org/wiki/CPU
http://en.wikipedia.org/wiki/Central_processing_unit
http://www.svethardware.cz/art_doc-67186A42FE81D194C12571DF0040BFB6.html
Scripta Teorie počítačů