Jak funguje procesor pro figuríny. Co potřebujete vědět o centrální procesorové jednotce vašeho počítače

Používáte počítač popř mobilní zařízeníčíst toto téma nyní. Počítač nebo mobilní zařízení používá k provádění těchto akcí mikroprocesor. Mikroprocesor je srdcem každého zařízení, serveru nebo notebooku. Existuje mnoho značek mikroprocesorů od široké škály výrobců, ale všechny dělají téměř totéž a téměř stejným způsobem.
Mikroprocesor- také známý jako procesor nebo centrální procesorová jednotka, je výpočetní jádro, které je vyrobeno na jediném čipu. Prvním mikroprocesorem byl Intel 4004, který se objevil v roce 1971 a nebyl tak výkonný. Uměl sčítat a odečítat, a to jsou pouze 4 bity najednou. Procesor byl úžasný, protože byl provozován na jediném čipu. Budete se ptát proč? Moje odpověď je, že inženýři v té době vyráběli procesory buď z více čipů, nebo z diskrétních součástek (tranzistory byly použity v samostatných obalech).

Pokud vás někdy zajímalo, co mikroprocesor v počítači dělá, jak vypadá nebo jaké jsou jeho rozdíly oproti jiným typům mikroprocesorů, pak přejděte pod řezem- tam jsou všechny nejzajímavější a podrobnosti.

Pokrok mikroprocesoru: Intel

První mikroprocesor, který se později stal srdcem jednoduchých domácí počítač, byl Intel 8080, kompletní 8bitový počítač na jediném čipu, který se objevil v roce 1974. První mikroprocesor způsobil skutečný nárůst na trhu. Později v roce 1979 byl propuštěn nový model- Intel 8088. Pokud jste obeznámeni s trhem PC a jeho historií, pak víte, že trh s PC se přesunul z Intel 8088 na Intel 80286, a to na Intel 80386 a Intel 80486 a poté na Pentium, Pentium II, Pentium III a Pentium 4 Všechny tyto mikroprocesory jsou vyrobeny společností Intel a všechny jsou vylepšením základního návrhu Intel 8088. Pentium 4 může spouštět jakýkoli kód, ale dělá to 5000krát rychleji.

V roce 2004 Intel představil mikroprocesory s více jádry a milionem tranzistorů, ale i tyto mikroprocesory následovaly hlavní pravidla jako dříve vyráběné čipy. dodatečné informace ve stole:

  • datum: je rok, kdy byl poprvé představen procesor. Mnoho procesorů bylo znovu vydáno, ale s vyššími takty, a to pokračovalo ještě mnoho let po původním datu vydání.
  • Tranzistory: Toto je počet tranzistorů na čipu. Můžete vidět, že počet tranzistorů na matrici se v průběhu let neustále zvyšuje.
  • Mikron: šířka nejmenšího drátu na čipu v mikronech. Pro srovnání mohu uvést lidský vlas, který má tloušťku asi 100 mikronů. Jak se rozměry zmenšovaly a zmenšovaly, zvyšoval se počet tranzistorů.
  • Frekvence hodin: maximální rychlost, kterou čip může dosáhnout. O frekvenci hodin vám řeknu o něco později.
  • Údaje o šířce (sběrnici).: je šířka ALU (aritmetická logická jednotka). 8bitová ALU může sčítat, odečítat, násobit atd. V mnoha případech má datová sběrnice stejnou šířku jako ALU, ale ne vždy. Intel 8088 byl 16bitový a měl 8bitovou sběrnici, zatímco moderní modely Pentium jsou 64bitové.
  • MIPS: Tento sloupec v tabulce představuje počet operací za sekundu. Je to měrná jednotka pro mikroprocesory. Moderní procesory umí tolik různých věcí, že dnešní hodnocení uvedená v tabulce ztrácí smysl. Ale můžete cítit relativní sílu mikroprocesorů té doby.
Z této tabulky můžete vidět, že obecně existuje vztah mezi rychlostí hodin a MIPS (operace za sekundu). Maximální takt je funkcí výrobního procesoru. Existuje také vztah mezi počtem tranzistorů a počtem operací za sekundu. Například Intel 8088 taktovaný na 5 MHz (nyní 2,5-3 GHz) běží pouze 0,33 MIPS (asi jedna instrukce na každých 15 hodinových cyklů). Moderní procesory mohou často vykonávat dvě instrukce za takt. Toto zvýšení přímo souvisí s počtem tranzistorů na čipu a budu o tom mluvit dále.

co je čip?


Čip se také nazývá integrovaný obvod. Obvykle se jedná o malý tenký kousek křemíku, na kterém jsou vyryty tranzistory tvořící mikroprocesor. Čip může být malý až jeden palec, ale stále obsahuje desítky milionů tranzistorů. Jednodušší procesory se mohou skládat z několika tisíc tranzistorů vyrytých na čip o velikosti jen několik čtverečních milimetrů.

Jak to funguje



Intel Pentium 4

Abychom pochopili, jak mikroprocesor funguje, bylo by užitečné podívat se dovnitř a dozvědět se něco o jeho vnitřnostech. V tomto procesu se také můžete dozvědět o jazyce symbolických instrukcí, mateřském jazyce mikroprocesoru a mnoha činnostech, které mohou inženýři udělat pro zvýšení rychlosti procesoru.

Mikroprocesor vykonává kolekci strojových instrukcí, které procesoru říkají, co má dělat. Na základě pokynů dělá mikroprocesor tři hlavní věci:

  • Pomocí své ALU (Arithmetic Logic Unit) může mikroprocesor provádět matematické operace. Například sčítání, odčítání, násobení a dělení. Moderní mikroprocesory jsou schopny extrémně složitých operací
  • Mikroprocesor může přesouvat data z jednoho paměťového místa do druhého
  • Mikroprocesor se může rozhodovat a na základě těchto rozhodnutí přejít k nové sadě instrukcí


Řečeno na rovinu, mikroprocesor dělá složité věci, ale výše jsem popsal tři hlavní činnosti. Následující diagram ukazuje velmi jednoduchý mikroprocesor schopný dělat tyto tři věci. Tento mikroprocesor má:

  • Adresová sběrnice (8, 16 nebo 32 bitů), která odesílá přístup do paměti
  • Datová sběrnice (8, 16 nebo 32 bitů), která přenáší data do paměti nebo přijímá data z paměti
  • RD (čtení) a WR (zápis) sdělují paměti, zda chtějí nainstalovat nebo získat adresované umístění
  • Clock line, která umožňuje zobrazit sekvenci hodin procesoru
  • Resetovací řádek, který resetuje počítadlo příkazů na nulu a restartuje provádění

Paměť mikroprocesoru

Dříve jsme mluvili o adresových a datových sběrnicích, stejně jako o čtení a zápisu řádků. To vše se připojuje buď k RAM (paměť s náhodným přístupem) nebo ROM (paměť pouze pro čtení nebo paměť pouze pro čtení, ROM) - obvykle obojí. V našem příkladu mikroprocesoru máme širokou 8bitovou adresovou sběrnici a stejně širokou datovou sběrnici — rovněž 8bitovou. To znamená, že mikroprocesor má přístup k 2 ^ 8 až 256 bytům paměti a může číst a zapisovat 8 bitů paměti najednou. Předpokládejme, že tento jednoduchý mikroprocesor má 128 bajtů vnitřní paměti, počínaje adresou 0 a 128 bajty. paměť s náhodným přístupem začíná na adrese 128.

Paměť s náhodným přístupem znamená paměť pouze pro čtení. Paměťový čip pouze pro čtení je naprogramován s permanentně přednastavenými bajty. Adresa sběrnice sděluje čipu RAM, na který bajt se má dostat a který se na datovou sběrnici vejde. Když čtecí řádek změní stav, paměťový čip pouze pro čtení předá vybraný bajt datové sběrnici.

RAM je zkratka pro RAM, lol. RAM obsahuje bajt informací a mikroprocesor může tyto bajty číst nebo zapisovat v závislosti na tom, zda čtecí nebo zapisovací řádek signalizuje. Jedním z problémů, které lze u dnešních čipů najít, je to, že na všechno zapomenou, jakmile dojde energie. Počítač tedy musí mít RAM.



Čip RAM nebo čip paměti pouze pro čtení (ROM).

Mimochodem, téměř všechny počítače obsahují nějaké množství paměti RAM. Na osobním počítači se paměť pouze pro čtení nazývá BIOS (Basic Input/Output System). Při spuštění začne mikroprocesor provádět instrukce, které najde v BIOSu. Pokyny pro BIOS, mimochodem, také plní své role: zkontrolují hardware a všechny informace pak jdou do HDD vytvořit boot sektor. Boot sektor je jeden malý program a BIOS jej po načtení z disku uloží do paměti. Mikroprocesor poté začne provádět instrukce pro boot sektor z RAM. Program zaváděcího sektoru ukáže mikroprocesoru, co si s sebou ještě vzít. pevný disk do RAM, a pak to všechno udělá a tak dále. Takto se mikroprocesor načte a spustí celý operační systém.

Instrukce pro mikroprocesor

Dokonce i neuvěřitelně jednoduchý mikroprocesor, který jsem právě popsal, bude mít poměrně velkou sadu instrukcí, které může provádět. Kolekce instrukcí je implementována jako bitové vzory, z nichž každý má při načítání do sektoru instrukcí jiný význam. Lidé nejsou příliš dobří v zapamatování bitových vzorů, protože jsou sbírkou krátkých slov. Mimochodem, tato sada krátkých slov se nazývá assembler procesoru. Assembler dokáže velmi snadno přeložit slova do bitového vzoru a poté se úsilí assembleru uloží do paměti pro mikroprocesor, aby jej mohl spustit.

Zde je sada instrukcí v assembleru:

  • LOADA pam- načíst do registru s adresou paměti
  • LOADB pam- načíst do registru B z adresy paměti
  • CONB mem- načíst konstantní hodnotu do registru B
  • SAVEB pam- uložit registr B na adresu paměti
  • SAVEC pam- uložit registr C na adresu paměti
  • PŘIDAT- přidejte A a B a výsledek uložte do C
  • SUB- odečtěte A a B a výsledek uložte do C
  • MUL- vynásobte A a B a výsledek uložte do C
  • DIV- rozdělte A a B a výsledek uložte do C
  • COM- porovnejte A a B a výsledek uložte do testu
  • JUMP adr- přejděte na adresu
  • JEQ adr- jít, je-li rovno, řešit
  • adr. JNEQ- jít, pokud není rovný, řešit
  • JG adr- jděte, pokud více, pro řešení
  • adr JGE- jít, je-li větší nebo rovno řešit
  • JL adr- jít, pokud méně, řešit
  • Jle adr- jděte, pokud je menší nebo rovno vyřešit
  • STOP- zastavit exekuci
Jazyk symbolických instrukcí
Kompilátor C přeloží tento kód C do jazyka symbolických instrukcí. Za předpokladu, že RAM začíná na adrese 128 v tomto procesoru a paměť pouze pro čtení (která obsahuje program v assembleru) začíná na adrese 0, pak pro náš jednoduchý mikroprocesor může assembler vypadat takto:

// Předpokládejme, že a je na adrese 128 // Předpokládejme, že F je na adrese 1290 CONB 1 // a = 1; 1 SAVEB 1282 CONB 1 // f = 1; 3 SAVEB 1294 LOADA 128 // pokud a> 5 skok na 175 CONB 56 COM7 JG 178 LOADA 129 // f = f * a; 9 LOADB 12810 MUL11 SAVEC 12912 LOADA 128 // a = a + 1; 13 CONB 114 ADD15 SAVEC 12816 JUMP to 1 STOP 4

Paměť pouze pro čtení (ROM)
Takže otázka nyní zní: "Jak se všechny tyto instrukce integrují s pamětí pouze pro čtení?" Samozřejmě vysvětlím: každá z těchto instrukcí v jazyce symbolických instrukcí musí být reprezentována jako binární číslo. Pro jednoduchost předpokládejme, že každá instrukce v assembleru se přiřazuje sama sobě jedinečné číslo... Například by to vypadalo takto:

  • LOADA - 1
  • LOADB - 2
  • CONB - 3
  • SAVEB - 4
  • SAVEC pam - 5
  • PŘIDAT - 6
  • SUB - 7
  • MUL - 8
  • DIV - 9
  • COM - 10
  • JUMP adr - 11
  • JEQ adr - 12
  • adr. JNEQ - 13
  • JG adr - 14
  • adr JGE - 15
  • JL adr - 16
  • Jle adr - 17
  • STOP - 18
Tato čísla budou známá jako operační kódy. V paměti pouze pro čtení bude náš malý program vypadat takto:

// Předpokládejme, že a je na adrese 128 // Předpokládejme, že F je na adrese 129Addr operační kód / hodnota0 3 // CONB 11 12 4 // SAVEB 1283 1284 3 // CONB 15 16 4 // SAVEB 1297 11898 311 // 1298 311 // // CONB 511 512 10 // COM13 14 // JG 1714 3115 1 // LOADA 12916 12917 2 // LOADB 12818 12819 8 // MUL20 5 // SAVEC 129 129 129 2216 129 129 236ADA 129 // ADD27 5 // SAVEC 12828 12829 11 // JUMP 430 831 18 // STOP

Můžete vidět, že ze 7 řádků kódu C se stalo 18 řádků assembleru a že všechny měly 32 bajtů v paměti pouze pro čtení.

Dekódování
Instrukce dekódování musí změnit každý z operačních kódů na sadu signálů, které budou řídit různé součásti uvnitř mikroprocesoru. Vezměme si instrukce ADD jako příklad a podívejme se, co má dělat. Tak:

  • 1. V prvním hodinovém cyklu je potřeba načíst samotnou instrukci, takže dekodér potřebuje: aktivovat buffer pro čítač příkazů o tři stavy, aktivovat čtecí řádek (RD), aktivovat data ve třech stavech vyrovnávací paměti v registru příkazů
  • 2. Ve druhém hodinovém cyklu je dekódována instrukce ADD. Zde lze udělat velmi málo: nastavit operaci aritmetických logických jednotek (ALU) na registr C
  • 3. Během třetího cyklu se počítadlo programu zvyšuje (teoreticky se to může překrývat ve druhém cyklu)
Každou instrukci lze rozdělit na sadu sekvenovaných operací – jako jsme se právě podívali. Manipulují se součástmi mikroprocesoru ve správném pořadí. Některé instrukce, jako je instrukce ADD, mohou trvat dva až tři hodinové cykly. Ostatní mohou přijmout pět nebo šest opatření.

Pojďme na konec


Počet tranzistorů má obrovský vliv na výkon procesoru. Jak můžete vidět výše, typický mikroprocesor Intel 8088 mohl dokončit 15 cyklů. Čím více tranzistorů, tím vyšší výkon – je to jednoduché. Velký počet tranzistorů umožňuje také technologie, jako je pipelining.

Architektura kanálu se skládá z provádění příkazů. Provedení jedné instrukce může trvat pět cyklů, ale nemůže existovat pět instrukcí v různých fázích provádění současně. Vypadá to tedy, že každý cyklus hodin dokončí jedna instrukce.

Všechny tyto trendy umožňují růst počtu tranzistorů, což má za následek vznik těžkých tranzistorů v hodnotě několika milionů dolarů, které jsou dnes k dispozici. Takové procesory dokážou provést asi miliardu operací za sekundu – jen si to představte. Mimochodem, nyní se mnoho výrobců začalo zajímat o vydání 64bitových mobilních procesorů a zjevně přichází další vlna, pouze tentokrát je 64bitová architektura králem módy. Možná se k tomuto tématu v dohledné době dostanu a řeknu vám, jak to vlastně funguje. To je snad pro dnešek vše. Doufám, že vás to zaujalo a hodně se naučili.

Procesor je hlavní počítačové zařízení, které provádí logické a aritmetické operace a spravuje všechny součásti počítače. Procesor je miniaturní obdélníková tenká silikonová deska, na které je uloženo obrovské množství tranzistorů, které implementují všechny funkce vykonávané procesorem. Silikonová deska je velmi křehká, a protože její poškození povede k selhání procesoru, je umístěna v plastovém nebo keramickém pouzdře.

1. Úvod 2. Jádro procesoru 2.1. Jak funguje jádro procesoru 2.2. Způsoby, jak zlepšit výkon jádra procesoru 2.2.1. Potrubí 2.2.2. Superskalarita 2.2.3. Paralelní zpracování dat 2.2.4. Technologie hyper-threading 2.2.5. Technologie Turbo Boost. 2.2.6. Efektivita provádění příkazů. 2.3 Způsoby snížení spotřeby energie jádra procesoru 3. Vyrovnávací paměť

1. Úvod.

Moderní procesor je komplexní a high-tech zařízení, které zahrnuje všechny nejnovější pokroky ve výpočetní technice a příbuzných vědních oborech.

Většina moderních procesorů se skládá z:

    jedno nebo více jader, která provádějí všechny instrukce;

    několik úrovní vyrovnávací paměti (obvykle 2 nebo tři úrovně), urychlující interakci procesoru s RAM;

    řadič RAM;

    řadič systémové sběrnice (DMI, QPI, HT atd.);

A vyznačuje se následujícími parametry:

    typ mikroarchitektury;

    hodinová frekvence;

    sada spustitelných příkazů;

    počet úrovní mezipaměti a jejich velikost;

    typ a rychlost systémové sběrnice;

    velikost zpracovávaných slov;

    přítomnost nebo nepřítomnost vestavěného paměťového řadiče;

    typ podporované paměti RAM;

    množství adresovatelné paměti;

    přítomnost nebo nepřítomnost vestavěného grafického jádra;

    spotřeba energie.

Zjednodušený strukturální schéma moderní vícejádrový procesor je znázorněn na obrázku 1.

Začněme naši recenzi procesorového zařízení jeho hlavní částí – jádrem.

2. Jádro procesoru.

Jeho hlavní částí je jádro procesoru, které obsahuje všechny funkční bloky a provádí všechny logické a aritmetické operace.

Obrázek 1 ukazuje blokové schéma zařízení s jádrem procesoru. Jak můžete vidět na obrázku, každé jádro procesoru se skládá z několika funkčních bloků:

    načíst blok instrukcí;

    bloky pro dekódování instrukcí;

    bloky vzorkování dat;

    řídicí blok;

    bloky pro provádění instrukcí;

    bloky pro ukládání výsledků;

    blok práce s přerušeními;

    sada registrů;

    počítadlo příkazů.

Blok načítání instrukcíčte instrukce na adrese uvedené v čítači příkazů. Obvykle čte několik instrukcí za cyklus hodin. Počet čitelných instrukcí je dán počtem dekódovacích bloků, protože je nutné dekódovací bloky co nejvíce zatěžovat v každém pracovním cyklu. Aby aportovací jednotka fungovala optimálně, je v jádře procesoru prediktor větvení.

Prediktor přechodu se snaží určit, která sekvence příkazů bude provedena po provedení větve. To je nezbytné, aby se maximalizovalo zatížení potrubí jádra procesoru po podmíněném skoku.

Dekódování bloků, jak název napovídá, jsou bloky, které dekódují instrukce, tzn. určit, co procesor potřebuje udělat a jaká další data jsou potřeba k provedení instrukce. Tento úkol je pro většinu moderních komerčních procesorů založených na konceptu CISC velmi obtížný. Faktem je, že délka instrukcí a počet operandů nejsou pevně dané, a to značně komplikuje život vývojářům procesorů a z procesu dekódování se stává netriviální úkol.

Jednotlivé složité instrukce musí být často nahrazeny mikrokódem – řadou jednoduchých instrukcí, které společně provádějí stejnou akci jako jedna komplexní instrukce. Sada mikrokódů je vložena do paměti ROM zabudované v procesoru. Mikrokód navíc zjednodušuje vývoj procesoru, protože není potřeba vytvářet složité bloky jádra pro provádění jednotlivých příkazů a oprava mikrokódu je mnohem jednodušší než odstranění chyby ve fungování bloku.

V moderních procesorech jsou obvykle 2-4 instrukční dekódovací jednotky, například in procesory Intel Jádro 2 každé jádro obsahuje dva takové bloky.

Bloky načítání dat načítání dat z mezipaměti nebo RAM potřebných k provedení aktuálních instrukcí. Každé jádro procesoru obvykle obsahuje několik bloků pro načítání dat. Například v procesorech Intel Core pro každé jádro jsou použity dva bloky vzorkování dat.

Ovládací blok na základě dekódovaných instrukcí řídí činnost jednotek pro provádění instrukcí, rozděluje mezi ně zátěž a zajišťuje včasné a správné provádění instrukcí. Je to jeden z nejdůležitějších bloků jádra procesoru.

Bloky pro provádění instrukcí obsahuje několik bloků různých typů:

ALU - aritmetická logická jednotka;

FPU - zařízení pro provádění operací s pohyblivou řádovou čárkou;

Bloky pro obsluhu rozšíření instrukčních sad. Další instrukce slouží k urychlení zpracování datových toků, šifrování a dešifrování, kódování videa a tak dále. Za tímto účelem jsou do jádra procesoru zavedeny další registry a sady logiky. V současné době jsou nejoblíbenější rozšíření instrukčních sad:

MMX (Multimedia Extensions) – sada instrukcí vyvinutá společností Intel pro urychlení kódování a dekódování streamovaných audio a video dat;

SSE (Streaming SIMD Extensions) je sada instrukcí vyvinutá společností Intel pro provádění stejné sekvence operací na sadě dat s paralelním výpočetním procesem. Sady příkazů se neustále vylepšují a v současné době existují revize: SSE, SSE2, SSE3, SSSE3, SSE4;

ATA (Application Targeted Accelerator) je sada instrukcí vyvinutá společností Intel pro urychlení provozu specializovaného softwaru a snížení spotřeby energie při práci s takovými programy. Tyto instrukce lze použít například při výpočtu kontrolních součtů nebo vyhledávání dat;

3DNow je instrukční sada vyvinutá společností AMD pro rozšíření možností instrukční sady MMX;

AES (Advanced Encryption Standard) je sada instrukcí vyvinutá společností Intel pro urychlení provozu aplikací využívajících šifrování dat pomocí stejného algoritmu.

Úložná jednotka výsledků poskytuje záznam o výsledku provedení instrukce v RAM na adrese uvedené ve zpracovávané instrukci.

Blok přerušení. Práce s přerušeními je jednou z nejdůležitějších úloh procesoru, která mu umožňuje včas reagovat na události, přerušovat tok programu a provádět od něj požadované akce. Díky přítomnosti přerušení je procesor schopen pseudoparalelního provozu, tzn. k tzv. multitaskingu.

Zpracování přerušení je následující. Procesor před zahájením každého cyklu zkontroluje požadavek na přerušení. Pokud dojde ke zpracování, procesor uloží do zásobníku adresu instrukce, kterou měl provést, a data přijatá po provedení poslední instrukce a přejde k provedení funkce přerušení.

Po ukončení provádění funkce služby přerušení jsou do ní uložená data načtena ze zásobníku a procesor obnoví provádění obnovené úlohy.

Registry- ultrarychlá paměť s náhodným přístupem (přístup k registrům je několikanásobně rychlejší než přístup do vyrovnávací paměti) malé velikosti (několik set bytů), která je součástí procesoru, pro dočasné ukládání mezivýsledků provádění instrukcí. Registry procesoru se dělí na dva typy: registry obecný účel a speciální registry.

Obecné registry se používají při provádění aritmetických a logických operací nebo specifických operací doplňkových instrukčních sad (MMX, SSE atd.).

Registry pro zvláštní účely obsahují systémová data potřebná pro provoz procesoru. Mezi takové registry patří například řídicí registry, systémové registry adres, ladicí registry atd. Přístup do těchto registrů je přísně regulován.

Počítadlo příkazů- registr obsahující adresu příkazu, který procesor začne provádět při dalším cyklu práce.

procesor - Toto je hlavní pracovní součást počítače, která provádí aritmetické a logické operace, řídí výpočetní proces a koordinuje práci všech počítačových zařízení.

Centrální procesor obecně obsahuje:

    aritmetická logická jednotka;

    datové sběrnice a adresové sběrnice;

    registry;

    počítadla příkazů;

    cache - velmi rychlá malá paměť,

    matematický koprocesor pro čísla s pohyblivou řádovou čárkou.

Moderní procesory jsou vyráběny ve formě mikroprocesorů. Fyzicky je to mikroprocesor integrovaný obvod- tenká obdélníková deska z krystalického křemíku o ploše pouhých několika čtverečních milimetrů, na které jsou umístěny obvody realizující všechny funkce procesoru. Křišťálový pásek je obvykle umístěn v plastovém nebo keramickém plochém pouzdře a spojený zlatými drátky s kovovými kolíky, aby mohl být připevněn k základní desce počítače.

Hlavní vlastnosti procesoru:

    Výkon je hlavní charakteristikou, která ukazuje rychlost, s jakou počítač provádí operace zpracování informací. To zase závisí na následujících vlastnostech:

    Frekvence hodin - určuje počet hodinových cyklů procesoru za sekundu

    Bitová hloubka – určuje velikost minimální části informace nazývané strojové slovo

    Adresový prostor - šířka adresové sběrnice, to znamená maximální množství paměti RAM, kterou lze nainstalovat do počítače

8.2.3. Princip procesoru.

Procesor je hlavním prvkem počítače. Přímo či nepřímo řídí všechna zařízení a procesy probíhající v počítači.

V konstrukci moderních procesorů je zřetelná tendence neustále zvyšovat taktovací frekvenci. To je přirozené: čím více operací procesor provádí, tím vyšší je jeho výkon. Mezní taktovací frekvence je do značné míry dána stávající technologií výroby mikroobvodů (nejmenší dosažitelné velikosti prvků, které určují minimální dobu přenosu signálu).

Kromě zvýšení hodinové frekvence je zvýšení výkonu procesoru dosaženo vývojáři pomocí méně zřejmých metod spojených s vynálezem nových architektur a algoritmů zpracování informací. Některé z nich zvážíme na příkladu procesoru Pentium (P5) a následujících modelů.

Pojďme si vyjmenovat hlavní vlastnosti procesoru Pentium:

    dopravníkové zpracování informací;

    superskalární architektura;

    přítomnost samostatných mezipamětí pro příkazy a data;

    přítomnost predikčního bloku adresy větve;

    dynamické provádění programu;

    přítomnost bloku výpočtů s plovoucí desetinnou čárkou;

    podpora víceprocesorového provozu;

    dostupnost prostředků k odhalování chyb.

Termín "superskalární architektura" znamená, že procesor obsahuje více než jednu výpočetní jednotku. Tyto výpočetní jednotky jsou častěji označovány jako potrubí. Všimněte si, že první superskalární architektura byla implementována v domácím počítači Elbrus-1 (1978).

Přítomnost dvou kanálů v procesoru mu umožňuje současně provádět (dokončovat) dva příkazy (instrukce).

Každý kanál rozděluje proces provádění příkazu do několika fází (například pěti):

    načítání (čtení) příkazů z RAM nebo mezipaměti;

    dekódování (dešifrování) příkazu, tj. určení kódu prováděné operace;

    provedení příkazu;

    přístup do paměti;

    uložení výsledků do paměti.

Pro realizaci každého z uvedených stupňů (každé operace) se používá samostatný přístrojový stupeň. V každém potrubí procesoru Pentium je tedy pět stupňů.

Při zřetězení je pro každý stupeň přidělen jeden takt synchronizační (hodinové) frekvence. V každém novém cyklu končí provádění jednoho příkazu a začíná provádění nového příkazu. Toto provádění příkazů se nazývá streamování.

Obrazně se to dá přirovnat k výrobnímu dopravníku (flow), kde se na každém místě s jinými produkty provádí vždy stejná operace. Současně, když hotový výrobek opouští dopravník, přichází do něj nový a zbytek výrobků je v tuto chvíli v různých fázích připravenosti. Přechod vyráběných produktů ze sekce do sekce by měl probíhat synchronně, podle speciálních signálů (v procesoru jsou to cykly generované generátorem hodin).

Celková doba provádění jedné instrukce v pipeline s pěti fázemi by byla pět hodinových cyklů. V každém hodinovém cyklu bude potrubí současně zpracovávat (provádět) pět různých instrukcí. Výsledkem je, že pět příkazů bude vykonáno v pěti hodinových cyklech. Zřetězení tedy zvyšuje výkon procesoru, ale nezkracuje dobu provádění jednotlivé instrukce. Přínos spočívá v tom, že se zpracovává několik týmů najednou.

Ve skutečnosti zřetězení dokonce prodlužuje dobu provádění každého jednotlivého příkazu kvůli dodatečným nákladům spojeným s organizací provozu potrubí. V tomto případě je taktovací frekvence omezena provozní rychlostí nejpomalejšího stupně dopravníku.

Jako příklad uvažujme proces provádění instrukce, ve kterém jsou trvání kroků 60, 30, 40, 50 a 20 ns. Předpokládejme dodatečné náklady na organizaci pipeliningu rovnající se 5 ns.

Pokud nedošlo k žádnému zřetězení, pak provedení jednoho příkazu trvalo

60 + 30 + 40 + 50 + 20 = 200 ns.

Pokud se použije zřetězená organizace, pak by se doba cyklu měla rovnat trvání nejpomalejšího stupně zpracování s připočtením „režijních“ nákladů, tzn. 60 + 5 = 65 ns. Výsledné zřetězení doby provádění příkazu tedy bude 200/65" 3,1krát.

Všimněte si, že doba provedení jednoho příkazu potrubím je 5 × 65 = 325 ns. Tato hodnota je výrazně více než 200 ns – doba provedení příkazu bez zřetězení. Ale současné provedení pěti příkazů najednou dává průměrnou dobu dokončení jednoho příkazu 65 ns.

Procesor Pentium má dvě mezipaměti L1 (umístěné uvnitř procesoru). Jak víte, ukládání do mezipaměti zvyšuje výkon procesoru tím, že snižuje počet čekacích dob na doručení informací z pomalé paměti RAM. Potřebná data a instrukce přebírá procesor z rychlé mezipaměti (buffer), kam je předem ukládá.

Přítomnost jediné mezipaměti v předchozích návrzích procesorů vedla ke strukturálním konfliktům. Dva příkazy prováděné potrubím se někdy pokusily číst informace z jedné mezipaměti současně. Provádění samostatného ukládání do mezipaměti (ukládání do vyrovnávací paměti) pro příkazy a data eliminuje takové konflikty tím, že umožňuje spouštění obou příkazů současně.

Vývoj výpočetní techniky neustále pokračuje. Designéři neustále hledají nové způsoby, jak své produkty vylepšit. Nejcennějším zdrojem procesorů je jejich výkon. Z tohoto důvodu byly vynalezeny různé techniky pro zlepšení výkonu procesorů.

Jednou z takových technik je ušetřit čas předpovídáním možných cest pro provedení větveného algoritmu. To se provádí pomocí bloku pro predikci adresy budoucí pobočky. Jeho myšlenka práce je podobná myšlence mezipaměti.

Jak víte, existují lineární, cyklické a větvené výpočetní procesy. V lineárních algoritmech se příkazy provádějí v pořadí, v jakém jsou zapsány v paměti RAM: postupně jeden po druhém. Pro takové algoritmy nemůže blok predikce adresy větve zavedený do procesoru poskytnout zisk.

V algoritmech větvení je volba příkazu určena výsledky kontroly podmínek větvení. Pokud budete čekat na konec výpočetního procesu v bodě větvení a následně vyberete požadovaný příkaz z RAM, pak nevyhnutelně dojde k časovým ztrátám v důsledku neproduktivního nečinnosti procesoru (čtení příkazu z RAM je pomalé).

Blok predikce adresy větve pracuje s předstihem a snaží se předem předpovědět adresu větve, aby předem přenesl požadovanou instrukci z pomalé RAM do speciální rychlé vyrovnávací paměti větve BTB (Branch Target Buffer).

Když vyrovnávací paměť BTB obsahuje správnou předpověď, dojde k přechodu bez zpoždění. Je to podobné tomu, jak funguje mezipaměť, která má také chyby. Kvůli chybám se operandy musí číst nikoli z mezipaměti, ale z pomalé RAM. Z tohoto důvodu dochází ke ztrátě času.

Myšlenka predikce adresy větve je v procesoru realizována dvěma nezávislými prefetch buffery. Pracují ve spojení s předpovědním bufferem větvení, kde jeden z bufferů vybírá instrukce sekvenčně a druhý - podle VTB predikcí.

Procesor Pentium má dvě pětistupňová potrubí s pevným bodem. Procesor má navíc osmistupňové potrubí s plovoucí desetinnou čárkou. Takové výpočty jsou vyžadovány při provádění matematických výpočtů, stejně jako pro rychlé zpracování dynamických trojrozměrných barevných obrázků.

Vývoj architektury procesorů se ubírá cestou neustálého zvyšování velikosti mezipaměti první a druhé úrovně. Výjimkou je procesor Pentium 4, který oproti Pentiu III nečekaně zmenšil velikost mezipaměti.

Aby se zlepšil výkon, nové návrhy procesorů vytvářejí dva systémové sběrnice pracující na různých hodinových frekvencích. Rychlá sběrnice se používá pro práci s L2 cache a pomalá sběrnice se používá pro tradiční výměnu informací s jinými zařízeními, jako je RAM. Přítomnost dvou sběrnic eliminuje konflikty při výměně informací mezi procesorem a hlavní pamětí a mezipamětí druhé úrovně umístěnou mimo matrici procesoru.

Následující procesory Pentium obsahují velké množství fází v procesu. To zkracuje dobu provádění každé operace v samostatné fázi, což znamená, že umožňuje zvýšit rychlost procesoru.

Procesor Pentium Pro (P6) má nový přístup k pořadí provádění instrukcí sekvenčně umístěných v paměti RAM.

Nový přístup spočívá v provádění příkazů v náhodném pořadí, jakmile jsou připraveny (bez ohledu na pořadí v paměti RAM). Konečný výsledek je však vždy tvořen v souladu s původním pořadím příkazů v programu. Toto pořadí provádění příkazů se nazývá dynamické nebo anticipační.

Zvažte následující úryvek jako příklad osnovy napsaný v nějakém (fiktivním) strojově orientovaném jazyce.

r1 ¬mem Tým 1

r3 ¬r1 + r2 Příkaz 2

r5 ¬r5 + 1 tým 3

r6 ¬r6 - r7 Příkaz 4

Symboly r1 ... r7 označují obecné registry (RON), které jsou obsaženy v bloku registru procesoru.

Mem označuje buňku RAM.

Pojďme se k natočenému pořadu vyjádřit.

Příkaz 1: zapište do RON r1 obsah paměťové buňky RAM, jejíž adresa je uvedena v RON r4.

Příkaz 2: zapište do RON r3 výsledek sečtení obsahu registrů r1 a r2.

Příkaz 3: přidejte jedničku k obsahu registru r5.

Příkaz 4: snižte obsah RON r6 o obsah registru r7.

Předpokládejme, že když byl proveden příkaz 1 (načtení operandu z paměti do obecného registru r1), ukázalo se, že obsah paměťové buňky mem nebyl v mezipaměti procesoru (došlo k chybě, požadovaný operand nebyl doručen do vyrovnávací paměť z RAM předem).

V tradičním přístupu začne procesor provádět instrukce 2, 3, 4 až poté, co data z paměťové buňky hlavní paměti dorazí do procesoru (přesněji do registru r1). Vzhledem k tomu, že čtení bude probíhat z pomalé pracovní paměti, zabere tento proces hodně času (podle standardů procesoru). Procesor bude při čekání na tuto událost nečinný a neprovede žádnou užitečnou práci.

Ve výše uvedeném příkladu nemůže procesor provést instrukci 2, dokud nebude dokončena instrukce 1, protože instrukce 2 používá výsledky instrukce 1. Současně mohl procesor dříve provést instrukce 3 a 4, které jsou nezávislé na výsledku provedení pokynů 1 a 2.

V takových případech pracuje procesor P6 jinak.

Procesor P6 nečeká na dokončení provedení instrukcí 1 a 2, ale okamžitě přistoupí k mimořádnému provedení instrukcí 3 a 4. Výsledky pokročilého provedení instrukcí 3 a 4 jsou uloženy a načteny později, po provádění instrukcí 1 a 2. Procesor P6 tedy vykonává instrukce v souladu s jejich připraveností k provádění, bez ohledu na jejich původní umístění v programu.

Produktivita je bezpochyby důležitým ukazatelem výkonu počítače. Je však stejně důležité, aby proběhly rychlé výpočty s menším počtem chyb.

Procesor disponuje samotestovacím zařízením, které automaticky kontroluje funkčnost většiny prvků procesoru.

Kromě toho se detekce poruch, ke kterým došlo uvnitř procesoru, provádí pomocí speciálního formátu dat. Ke každému operandu je přidán paritní bit, v důsledku čehož se všechna čísla obíhající uvnitř procesoru stanou sudými. Objevení se lichého čísla signalizuje, že došlo k poruše. Přítomnost lichého čísla je jako vzhled padělané bankovky bez vodoznaku.

Jednotky pro měření rychlosti procesorů (a počítačů) mohou být:

    MIPS (Mega Instruction Per Second) - jeden milion instrukcí (instrukcí) přes čísla s pevným bodem za sekundu;

    MFLOPS (Mega Floating Operation Per Second) – jeden milion operací na číslech s pohyblivou řádovou čárkou za sekundu;

    GFLOPS (Giga Floating Operation Per Second) – miliarda operací na číslech s pohyblivou řádovou čárkou za sekundu.

Existují zprávy o nejrychlejším počítači světa ASCI White (korporace IBM), jehož rychlost dosahuje 12,3 teraflopů (bilionů operací).

Nástroj je jednodušší než stroj. Nástroj se často používá ručně a stroj je poháněn párou nebo zvířetem.

Charles Babbage

Počítač lze také nazvat stroj, ale místo parní energie je zde elektřina. Ale programování udělalo počítač tak jednoduchým jako jakýkoli jiný nástroj.

Procesor je srdcem / mozkem každého počítače. Jeho hlavním účelem jsou aritmetické a logické operace a než se vrhnete do džungle procesoru, musíte pochopit jeho hlavní součásti a to, jak fungují.

Dvě hlavní součásti procesoru

Ovládací zařízení

Řídicí jednotka (CU) pomáhá procesoru řídit a provádět instrukce. UU říká komponentám přesně, co mají dělat. V souladu s instrukcemi koordinuje práci s ostatními částmi počítače, včetně druhé hlavní součásti - aritmeticko logické jednotky (ALU). Všechny pokyny jdou nejprve přímo do ovládacího zařízení.

Existují dva typy implementace UU:

  • UU na rigidní logice(anglické pevně zapojené řídicí jednotky). Charakter práce je dán vnitřní elektrickou strukturou – zařízením tištěný spoj nebo krystal. Úprava takové CU bez fyzického zásahu je tedy nemožná.
  • CU s mikroprogramovým řízením(anglické mikroprogramovatelné řídicí jednotky). Lze jej naprogramovat pro různé účely. Softwarová část uloženy v paměti řídící jednotky.

Tvrdé logické řadiče jsou rychlejší, ale mikroprogramované řadiče mají flexibilnější funkce.

Aritmetická logická jednotka

Toto zařízení kupodivu provádí všechny aritmetické a logické operace, jako je sčítání, odčítání, logické OR atd. ALU se skládá z logických prvků, které tyto operace provádějí.

Většina logických hradel má dva vstupy a jeden výstup.

Níže je schéma poloviční sčítačky, která má dva vstupy a dva výstupy. A a B jsou zde vstupy, S je výstup, C je přenos (na nejvýznamnější bit).

Aritmetický obvod poloviční sčítačky

Ukládání informací - registry a paměť

Jak již bylo zmíněno dříve, procesor vykonává příkazy, které k němu přicházejí. Příkazy ve většině případů pracují s daty, která mohou být mezilehlá, vstupní nebo výstupní. Všechna tato data jsou spolu s instrukcemi uložena v registrech a paměti.

Registry

Registr je minimální buňka datové paměti. Registry se skládají ze západek / klopných obvodů. Spouštěče se zase skládají z logických prvků a mohou uložit 1 bit informace.

Cca. přel. Spouštěče mohou být synchronní nebo asynchronní. Asynchronní mohou změnit svůj stav kdykoli a synchronní pouze při kladné / záporné hraně na synchronizačním vstupu.

Podle jejich funkčního účelu jsou spouštěče rozděleny do několika skupin:

  • RS-flip-flop: zachovává svůj stav na nulových úrovních na obou vstupech a mění jej při nastavení jednoho na jednom ze vstupů (Reset / Set - Reset / Set).
  • JK-flip-flop: shodný s RS-flip-flop až na to, že když jsou jednotky napájeny na dva vstupy najednou, klopný obvod změní svůj stav na opačný (režim počítání).
  • T-flip-flop: mění svůj stav na opačný při každém hodinovém cyklu na svém jediném vstupu.
  • D-flip-flop: pamatuje si stav na vstupu v době synchronizace. Asynchronní D klopné obvody jsou nesmyslné.

RAM není vhodná pro ukládání mezilehlých dat, protože zpomaluje procesor. Mezilehlá data jsou odesílána do registrů po sběrnici. Mohou ukládat příkazy, výstupní data a dokonce i adresy paměťových buněk.

Princip činnosti spouště RS

Paměť (RAM)

RAM (random access memory) je velká skupina právě těchto registrů spojených dohromady. Paměť takového úložiště je nestálá a data z něj zmizí po vypnutí napájení. RAM přebírá adresu paměťového místa, kam je třeba umístit data, samotná data a příznak zápisu/čtení, který spouští spouštěče.

Cca. přel. Paměť s přímým přístupem je statická a dynamická – SRAM a DRAM, resp. Ve statické paměti jsou spouštěčem buňky a v dynamické paměti kondenzátory. SRAM je rychlejší a DRAM levnější.

Příkazy (instrukce)

Příkazy jsou skutečné akce, které by měl počítač provést. Jsou několika typů:

  • Aritmetický: sčítání, odčítání, násobení atd.
  • hlavolam: AND (logické násobení / konjunkce), OR (logický součet / disjunkce), negace atd.
  • Informace: přesun, vstup, výstup, načtení a uložení.
  • Příkazy skoku: goto, if ... goto, zavolej a vrať se.
  • Příkaz stop: Stůj.

Cca. přel. Ve skutečnosti lze všechny aritmetické operace v ALU vytvářet pouze na základě dvou: sčítání a posun. Čím více základních operací však ALU podporuje, tím je rychlejší.

Pokyny jsou poskytovány počítači v jazyce symbolických instrukcí nebo jsou generovány kompilátorem jazyka na vysoké úrovni.

V procesoru jsou instrukce implementovány v hardwaru. V jednom taktu může jednojádrový procesor provést jednu elementární (základní) instrukci.

Skupina instrukcí se obvykle nazývá instrukční sada.

hodiny CPU

Rychlost počítače je dána taktem jeho procesoru. Frekvence hodin - počet hodinových cyklů (resp. spustitelných příkazů) za sekundu.

Frekvence současných procesorů se měří v GHz (Gigahertz). 1 GHz = 10 Hz - miliarda operací za sekundu.

Chcete-li zkrátit dobu provádění programu, musíte ji buď optimalizovat (snížit), nebo zvýšit taktovací frekvenci. Některé procesory mají schopnost zvýšit frekvenci (přetaktovat procesor), ale takové akce fyzicky ovlivňují procesor a často způsobují přehřívání a selhání.

Řiď se instrukcemi

Pokyny jsou uloženy v paměti RAM v sekvenčním pořadí. Pro hypotetický procesor se instrukce skládá z operačního kódu a adresy paměti / registru. Uvnitř řídicího zařízení jsou dva instrukční registry, do kterých se nahrává příkazový kód a adresa aktuálního. spustitelný příkaz... Procesor má také další registry, které ukládají poslední 4 bity provedených instrukcí.

Níže je uveden příklad sady příkazů, která sčítá dvě čísla:

  1. LOAD_A 8. Tento příkaz uloží data do paměti RAM, řekněme<1100 1000>... První 4 bity jsou operační kód. Je to on, kdo definuje pokyn. Tato data jsou umístěna v registrech instrukcí UU. Instrukce se dekóduje do instrukce load_A - do registru A vložte data 1000 (poslední 4 bity instrukce).
  2. LOAD_B 2. Situace je podobná předchozí. To umístí číslo 2 (0010) do registru B.
  3. PŘIDAT B A. Příkaz sečte dvě čísla (přesněji přičte hodnotu registru B k registru A). UU říká ALU, aby provedla operaci součtu a vrátila výsledek zpět do registru A.
  4. PRODEJNA_A 23. Hodnotu registru A uložíme na paměťové místo 23.

Toto jsou operace potřebné k sečtení dvou čísel.

Pneumatika

Všechna data mezi procesorem, registry, pamětí a I/O zařízeními (vstupně-výstupní zařízení) jsou přenášena po sběrnicích. Pro načtení nově zpracovaných dat do paměti procesor vloží adresu na adresovou sběrnici a data na datovou sběrnici. Poté musíte dát oprávnění k zápisu na řídicí sběrnici.

Mezipaměti

Procesor má mechanismus pro ukládání instrukcí do mezipaměti. Jak jsme se již dříve dozvěděli, procesor dokáže provést miliardy instrukcí za sekundu. Pokud by tedy byla každá instrukce uložena v RAM, pak by její odstranění odtud trvalo déle než její zpracování. Pro urychlení práce proto procesor ukládá část instrukcí a dat do mezipaměti.

Pokud se data v mezipaměti a paměti neshodují, jsou označeny nečistými bity.

Tok pokynů

Moderní procesory mohou zpracovávat více instrukcí paralelně. Zatímco jedna instrukce je ve fázi dekódování, procesor může mít čas přijmout další instrukci.

Toto řešení je však vhodné pouze pro instrukce, které jsou na sobě nezávislé.

Vícejádrový procesor znamená, že ve skutečnosti obsahuje několik samostatných procesorů s některými sdílenými prostředky, jako je mezipaměť.

"Nenafouknou dárkový procesor do chladiče."

Význam procesoru pro jakýkoli osobní počítač lze jen stěží přeceňovat. to elektronické zařízení relativně malý, ale spotřebovává značné procento energie přijaté z napájecího zdroje a jeho cena je lví podíl na nákladech na počítač. Ne náhodou si mnoho lidí, obvykle nepříliš zběhlých v počítačové terminologii, spojuje procesor s počítačem samotným. I když je to samozřejmě mylný úhel pohledu, důvody pro toto spojení není těžké pochopit. Procesor lze koneckonců přirovnat k mozku počítače a v tomto případě zosobní podstatu počítače a identifikuje ji stejně, jako lidský mozek ztělesňuje podstatu člověka a identifikuje jeho osobnost.

Hned je třeba poznamenat, že tento článek bude hovořit především o centrální procesorové jednotce počítače, tzv. CPU (Central Processing Unit), přičemž mnoho pomocných čipů umístěných v počítači, jako je procesor grafické karty nebo zvuková karta... Principy činnosti typické pro CPU však do značné míry platí i pro jiné typy čipů.

První procesory se objevily na samém úsvitu jejich zrodu počítačová technologie... A rychlý rozvoj mikro počítačová technologie byl do značné míry důsledkem vzhledu prvního mikroprocesory. Zatímco dříve byly všechny potřebné prvky CPU umístěny na různých elektronické obvody, pak v mikroprocesorech byly nejprve spojeny na monokrystalu. Dále budeme pojmem "procesor" mínit právě mikroprocesory, protože tato slova se již dávno stala synonymem.

Mikroprocesor i4004 je pradědečkem dnešních CPU

Jedním z prvních mikroprocesorů byl čtyřbitový procesor Intel i4004. Měl vlastnosti, které jsou na dnešní dobu směšné, ale na svou dobu – počátek 70. let, představoval jeho vzhled skutečný technologický průlom. Jak už z jeho označení tušíte, byl čtyřbitový a měl taktovací frekvenci asi 0,1 MHz. A právě jeho přímý potomek, procesor i8088, si IBM vybralo jako „mozek“ prvního osobního počítače z IBM PC.

Procesor i8088 použitý v prvním osobním počítači IBM

Jak roky plynuly, vlastnosti CPU byly stále vážnější a působivější a v důsledku toho byly vlastnosti stále pevnější. osobní počítače... i80386 je významným milníkem ve vývoji mikroprocesorů. Byl to první plně 32bitový CPU, který dokázal adresovat 4 GB RAM, zatímco většina jeho předchůdců zvládala maximálně 640 KB RAM. Podobná bitová kapacita mikroprocesorů stolní počítače vydržela poměrně dlouho, téměř dvě desetiletí. V polovině osmdesátých let se 4GB RAM zdály fantasticky obrovské, ale nyní je lze považovat za malé pro seriózní počítač.

i80386 je první plně 32bitový CPU

Další mikroprocesor Intelu, 486DX, je pozoruhodný tím, že se v něm poprvé objevila interní cache – vnitřní paměť s náhodným přístupem mikroprocesoru. Kromě toho se v něm uplatnilo mnoho dalších vylepšení, která do značné míry předurčila další vývoj mikroprocesorů. Totéž lze říci o dalším procesoru Intel, Pentiu.

Intel 486DX - první procesor s interní mezipamětí

Procesor Intel - Pentium

Spolu s CPU se Pentium 4 objevilo v řadě technologií používaných v mikroprocesorech. A procesory Opteron od AMD a Pentium D od Intelu zahájily moderní éru evoluce CPU, éru procesorů s více jádry. Nyní je na trhu mnoho CPU od různých výrobců, ale hlavními výrobci jsou stále dvě společnosti – Intel a AMD, přičemž první jmenovaná tvoří více než 80 % trhu.

CPU Opteron od AMD a Pentium D od Intelu

CPU zařízení

Každý CPU má výpočetní jádro (někdy jich je několik) a také mezipaměť, tedy vlastní RAM. Cache má obvykle dvě úrovně – první a druhou (interní a externí). Vnitřní má menší objem, ale ve srovnání s vnější má vyšší rychlost. Kapacita L2 cache moderních CPU je několik megabajtů – více než RAM prvních osobních počítačů!

V jádře CPU je několik funkčních bloků – řídicí blok, blok načítání instrukce, výpočetní blok s plovoucí desetinnou čárkou, celočíselný výpočetní blok atd. Jádro dále obsahuje hlavní registry procesoru, které obsahují v určitý okamžik zpracovávaná data. V klasickém mikroprocesorovém obvodu architektury x86 je těchto registrů pouze 16.

Dosud nejrozšířenější jsou dva hlavní typy procesorů – CISC (Complex Instruction Set Computing) a RISC (Reduced Instruction Set Computing). Procesory CISC mají málo vnitřních registrů, ale podporují velkou sadu instrukcí. V RISC procesorech je mnoho registrů, ale sada instrukcí je omezená. Mikroprocesory pro osobní počítače architektury Intel x86 tradičně patřily do třídy procesorů CISC, ale v současnosti je většina mikroprocesorů hybridem obou architektur.

Pokud vezmeme v úvahu CPU na hardwarové úrovni, pak jde ve skutečnosti o obrovský mikroobvod umístěný na pevném křemíkovém krystalu, který obsahuje miliony, ne-li miliardy tranzistorů. Čím menší je velikost tranzistorů, tím více jich je obsaženo na jednotku plochy CPU a tím větší je jeho výpočetní výkon. Kromě toho závisí výkon a spotřeba procesoru na velikosti tranzistorů - čím menší je jejich velikost, tím menší jsou tyto vlastnosti procesoru. Tento faktor je důležitý, protože CPU je zařízení s nejvyšší spotřebou energie v moderním počítači. Proto je problém snížení zahřívání procesoru jedním z nejdůležitějších, kterým čelí vývojáři počítačů a samotných procesorů.

Samostatně by se mělo říci o případu, ve kterém je umístěn CPU. Materiál pouzdra procesoru je obvykle keramika nebo plast. Zpočátku byly procesory pevně zapájeny do základní desky, ale nyní se většina vkládá do speciálních patic - patic. Tento přístup uživateli výrazně usnadnil upgrade systému – stačí do patice zapojit další CPU podporovaný touto základní deskou a získáte výkonnější počítač.

Moderní patice procesoru

Procesor je připojen k dalším zařízením pomocí speciálních komunikačních kanálů (sběrnic) - paměťové sběrnice, datové sběrnice a adresové sběrnice. Bitová hloubka je velmi důležitá, protože tento parametr určuje množství dostupného CPU, a tedy i programů, RAM.

Princip činnosti

Ke zpracování dat přijímá řídicí jednotka CPU samotná data z hlavní paměti nebo mezipaměti procesoru a také příkazy, které popisují proces zpracování dat. Data jsou umístěna ve vnitřních registrech mikroprocesoru a jsou s nimi prováděny operace pomocí aritmetického logického zařízení v souladu s přijatými příkazy.

Jak funguje procesor

Činnost CPU je synchronizována tzv. hodinovými signály. Každý uživatel jistě zná pojem taktovací frekvence, která odráží počet cyklů procesoru za vteřinu. Tato hodnota do značné míry určí vlastnosti procesoru. Výkon počítače však není vždy úměrný jeho taktu. A nejde jen o to, že moderní CPU mají několik jader, ale také o to, že různé procesory mají různé architektury a v důsledku toho mohou provádět různý počet operací za sekundu. Moderní CPU mohou provádět několik operací v jednom cyklu, zatímco první mikroprocesory by naopak mohly trvat několik cyklů na jednu operaci.

Historicky procesory x86 podporovaly následující režimy procesoru:

  1. Nemovitý
  2. Chráněný
  3. Virtuální
  4. Režim supervizora

Skutečný provozní režim byl jediný režim, ve kterém všechny CPU fungovaly až do i80386. V tomto režimu mohl procesor adresovat pouze 640 KB RAM. V důsledku vzhledu chráněného režimu byl procesor schopen pracovat s velkým množstvím paměti RAM. Existuje také forma chráněného režimu, virtuální režim, navržený pro kompatibilitu se staršími programy napsanými pro procesory 8086.

Mezi provozní režimy procesoru patří také režim dohledu, který se používá při práci v moderním prostředí operační systémy... V tomto režimu má programový kód neomezený přístup ke všem systémovým prostředkům.

Závěr

V tomto článku jste se obecně seznámili s účelem centrálního CPU, jeho historií, zařízením, dozvěděli jste se o provozních režimech procesoru a seznámili jste se s principy jeho fungování. Centrální procesorová jednotka je nejsložitější a nejkomplexnější důležité zařízení počítač. Můžeme s jistotou říci, že vývoj výpočetní techniky je do značné míry propojen s pokrokem ve vývoji CPU. Výkon celého počítače a také možnosti jeho jednotlivých komponent závisí na výkonu mikroprocesoru a jeho vlastnostech.