Procesor
který může vykonat počítačový program. 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 počítače :
Logika procesoru Strojový jazyk Instrukční pole Instrukční sady Základní architektury procesorů Doplňkové instrukční sady
Která se přeloží na strojový kód: Strojový kód (jazyk) Příklad instrukce assembleru: mov al, 61h Která 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 Operandy To, s čím se bude pracovat - al, 61h Šířka instrukčního pole Velikost instrukce v bitech
je množina instrukcí, kterou je procesor vybaven Instrukční sada je množina instrukcí, kterou je procesor vybaven Uká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).
= zřetězené zpracování, či překrývání instrukcí. 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ý cyklus Za 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 post-RISC EPIC Další architektury Explicitly 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é segmentové 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 Procesoru Dě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 HT FSB(externí takt) x násobič HT = frekvence HT napětí a TDP procesoru TDP (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 Socket AM2 Pro socket A
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: PowerPC Architektury 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 LEON2 Malé/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ánu Nadchá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čů