Transcript Procesor

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 počí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, 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
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).
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
Další architektury
• post-RISC
• EPIC
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 (FPUkoprocesor)
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 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 155860-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_processi
ng_unit
http://www.svethardware.cz/art_doc67186A42FE81D194C12571DF0040BFB6.html
Scripta Teorie počítačů