CPU

Centrálny procesor (CPU) je dôležitou súčasťou každého počítača. CPU vysiela signály na ovládanie ostatných častí počítača, takmer ako mozog ovláda telo.

Procesor je elektronický stroj, ktorý pracuje na základe zoznamu počítačových úloh, ktoré sa nazývajú inštrukcie. Číta zoznam inštrukcií a každú z nich spúšťa (vykonáva) v poradí. Zoznam inštrukcií, ktoré môže CPU spustiť, je počítačový program.

Taktovacia frekvencia alebo rýchlosť vnútorných častí procesora sa meria v hertzoch (Hz). Moderné procesory často pracujú tak rýchlo, že sa namiesto toho používa hodnota gigahertz (GHz). Jeden GHz je 1 000 000 000 cyklov za sekundu.

Väčšina procesorov používaných v stolových (domácich) počítačoch sú mikroprocesory vyrobené spoločnosťou Intel alebo Advanced Micro Devices (zvyčajne skrátene AMD). Niektoré ďalšie spoločnosti, ktoré vyrábajú procesory, sú ARM, IBM a AMD pod hlavičkou ATI Technologies, ktorá je v súčasnosti lídrom. Väčšina ich procesorov sa používa vo vstavaných systémoch pre špecializovanejšie veci, napríklad v mobilných telefónoch, automobiloch, herných konzolách alebo v armáde.

Procesor Pentium v počítačiZoom
Procesor Pentium v počítači

Typy procesorov

V 20. storočí vynašli inžinieri mnoho rôznych počítačových architektúr. V súčasnosti väčšina stolových počítačov používa 32-bitové alebo 64-bitové procesory. Inštrukcie v 32-bitových CPU dokážu dobre spracovať údaje, ktoré majú veľkosť 32 bitov (väčšina inštrukcií v 32-bitových CPU "myslí" v 32 bitoch). Podobne 64-bitový procesor dokáže dobre spracovať údaje, ktoré majú veľkosť 64 bitov (a často dokáže dobre spracovať aj 32-bitové údaje). Veľkosť údajov, ktoré procesor spracúva najlepšie, sa často nazýva veľkosť slova procesora. Mnohé staré CPU zo 70., 80. a začiatku 90. rokov (a mnohé moderné vstavané systémy) majú 8-bitovú alebo 16-bitovú veľkosť slova. Keď boli CPU v polovici 20. storočia vynájdené, mali mnoho rôznych veľkostí slov. Niektoré mali rôzne veľkosti slov pre inštrukcie a dáta. Menej populárne veľkosti slov sa neskôr prestali používať.

Väčšina CPU sú mikroprocesory. To znamená, že procesor je len jeden čip. Niektoré čipy s mikroprocesormi v sebe obsahujú aj ďalšie komponenty a sú to kompletné jednočipové "počítače". Takýto čip sa nazýva mikrokontrolér.

Registre

Keď procesor spúšťa počítačový program, potrebuje niekde uložiť údaje, s ktorými pracujú inštrukcie (údaje, ktoré čítajú a zapisujú). Toto úložisko sa nazýva register. CPU má zvyčajne veľa registrov. Prístup k registrom (čítanie a zápis) musí byť veľmi rýchly. Preto sú súčasťou samotného čipu CPU.

Pamäť

Ukladanie všetkých údajov do registrov by väčšinu procesorov príliš skomplikovalo (a predražilo). Preto sa do registrov zvyčajne ukladajú len údaje, s ktorými CPU pracuje "práve teraz". Zvyšné údaje používané programom sú uložené v pamäti RAM (pamäť). S výnimkou mikrokontrolérov je RAM zvyčajne uložená mimo CPU v samostatných čipoch.

Keď chce procesor čítať alebo zapisovať údaje do pamäte RAM, vyšle k týmto údajom adresu. Každý bajt v pamäti RAM má svoju pamäťovú adresu. Veľkosť adries je často rovnaká ako veľkosť slova: 32-bitový procesor používa 32-bitové adresy atď. Menšie procesory, ako napríklad 8-bitové procesory, však často používajú adresy, ktoré sú väčšie ako veľkosť slova. V opačnom prípade by bola maximálna dĺžka programu príliš krátka.

Keďže veľkosť adries je obmedzená, obmedzené je aj maximálne množstvo pamäte. 32-bitové procesory zvyčajne zvládnu iba 4 GB pamäte RAM. To je počet rôznych bajtov, ktoré možno vybrať pomocou 32-bitovej adresy (každý bit môže mať dve hodnoty - 0 a 1 a 2 32bajty sú 4 GB). 64-bitový procesor by mohol zvládnuť až 16 EB pamäte RAM (16 exabajtov, približne 16 miliárd GB alebo 16 miliárd miliárd bajtov). Operačný systém ho môže obmedziť na používanie menšieho množstva.

Informácie uložené v pamäti RAM sú zvyčajne nestále. To znamená, že zmiznú, ak sa počítač vypne.

Cache

V moderných počítačoch je pamäť RAM oveľa pomalšia ako registre, takže prístup do pamäte RAM spomaľuje programy. Na zrýchlenie prístupu do pamäte sa medzi operačnú pamäť a hlavné časti procesora často umiestňuje rýchlejší typ pamäte nazývaný vyrovnávacia pamäť. Vyrovnávacia pamäť je zvyčajne súčasťou samotného čipu procesora a v prepočte na bajt je oveľa drahšia ako pamäť RAM. Do vyrovnávacej pamäte sa ukladajú rovnaké údaje ako do pamäte RAM, ale zvyčajne je oveľa menšia. Preto sa do vyrovnávacej pamäte nemusia zmestiť všetky údaje používané programom. Do vyrovnávacej pamäte sa snažia ukladať údaje, ktoré sa budú pravdepodobne často používať. Príkladom sú nedávno použité údaje a údaje, ktoré sú v pamäti blízko nedávno použitých údajov.

Často má zmysel mať "cache pre cache", rovnako ako má zmysel mať cache pre RAM. Pri viacúrovňovom ukladaní do vyrovnávacej pamäte existuje mnoho vyrovnávacích pamätí, ktoré sa nazývajú vyrovnávacia pamäť L1, vyrovnávacia pamäť L2 atď. Vyrovnávacia pamäť L1 je najrýchlejšia (a najdrahšia na jeden bajt) vyrovnávacia pamäť a je "najbližšie" k procesoru. Cache L2 je o krok ďalej a je pomalšia ako cache L1 atď. Na vyrovnávaciu pamäť L1 sa často možno pozerať ako na vyrovnávaciu pamäť pre vyrovnávaciu pamäť L2 atď.

Autobusy

Počítačové zbernice sú vodiče, ktoré procesor používa na komunikáciu s operačnou pamäťou a inými komponentmi v počítači. Takmer všetky procesory majú aspoň dátovú zbernicu - slúži na čítanie a zápis údajov - a adresovú zbernicu - slúži na výstup adries. Ďalšie zbernice vo vnútri CPU prenášajú údaje do rôznych častí CPU.

Súbory pokynov

Inštrukčná sada (nazývaná aj ISA - Instruction Set Architecture) je jazyk, ktorému rozumie priamo konkrétny procesor. Tieto jazyky sa nazývajú aj strojový kód alebo binárny kód. Hovoria o tom, ako sa procesoru povie, aby robil rôzne veci, napríklad načítaval údaje z pamäte do registra alebo sčítaval hodnoty z dvoch registrov. Každá inštrukcia v inštrukčnej sade má svoje kódovanie, teda spôsob, akým je inštrukcia zapísaná ako postupnosť bitov.

Programy napísané v programovacích jazykoch, ako sú C a C++, nie je možné spúšťať priamo procesorom. Musia byť preložené do strojového kódu a až potom ich môže procesor spustiť. Kompilátor je počítačový program, ktorý tento preklad vykonáva.

Strojový kód je len postupnosť 0 a 1, čo ľuďom sťažuje jeho čítanie. Aby bol čitateľnejší, programy v strojovom kóde sa zvyčajne píšu v jazyku assembler. Jazyk assembleru používa namiesto 0 a 1 text: Môžete napríklad napísať "LD A,0", aby ste do registra A načítali hodnotu 0. Program, ktorý prekladá jazyk assembleru do strojového kódu, sa nazýva assembler.

Funkčnosť

Tu je niekoľko základných činností, ktoré dokáže procesor vykonávať:

  • Čítanie údajov z pamäte a zápis údajov do pamäte.
  • Pripočítajte jedno číslo k druhému číslu.
  • Testujte, či je jedno číslo väčšie ako iné číslo.
  • Presun čísla z jedného miesta na druhé (napríklad z jedného registra do druhého alebo medzi registrom a pamäťou).
  • Prejsť na iné miesto v zozname inštrukcií, ale len ak je splnený nejaký test (napríklad len ak je jedno číslo väčšie ako druhé).

Kombináciou mnohých takýchto jednoduchých príkazov možno vytvoriť aj veľmi zložité programy. Je to možné, pretože každá inštrukcia trvá veľmi krátko. Mnohé dnešné procesory dokážu vykonať viac ako 1 miliardu (1 000 000 000) inštrukcií za jednu sekundu. Vo všeobecnosti platí, že čím viac dokáže procesor vykonať za daný čas, tým je rýchlejší. Jedným zo spôsobov merania rýchlosti procesora je MIPS (milión inštrukcií za sekundu). Flops (operácie s pohyblivou rádovou čiarkou za sekundu) a taktovanie procesora (zvyčajne merané v gigahertzoch) sú tiež spôsoby merania, koľko práce dokáže procesor vykonať za určitý čas.

Procesor je zostavený z logických hradiel; nemá žiadne pohyblivé časti. Procesor počítača je elektronicky prepojený s ostatnými časťami počítača, ako je grafická karta alebo BIOS. Počítačový program môže ovládať tieto periférie čítaním alebo zapisovaním čísel na špeciálne miesta v pamäti počítača.

Potrubia inštrukcií

Každá inštrukcia vykonávaná procesorom sa zvyčajne vykonáva v mnohých krokoch. Napríklad kroky na vykonanie inštrukcie "INC A" (zvýšenie hodnoty uloženej v registri A o jednotku) na jednoduchom CPU môžu byť takéto:

  • Čítanie inštrukcie z pamäte,
  • dekódovať inštrukciu (zistiť, čo inštrukcia robí) a
  • pridať jeden do registra A.

Rôzne časti procesora vykonávajú rôzne činnosti. Často je možné vykonávať niektoré kroky z rôznych inštrukcií súčasne, čím sa procesor zrýchľuje. Napríklad môžeme čítať inštrukciu z pamäte v rovnakom čase, keď dekódujeme inú inštrukciu, pretože tieto kroky využívajú rôzne moduly. Možno si to predstaviť tak, že "vo vnútri pipeline" máme naraz veľa inštrukcií. V najlepšom prípade všetky moduly pracujú na rôznych inštrukciách naraz, ale nie vždy je to možné.

Jednotky správy pamäte (MMU) a virtuálna pamäť

Moderné procesory často používajú jednotku správy pamäte (MMU). MMU je komponent, ktorý prekladá adresy z CPU na (zvyčajne) rôzne adresy RAM. Pri použití MMU nie sú adresy používané v programe (zvyčajne) "skutočnými" adresami, na ktorých sú uložené údaje. Nazýva sa to virtuálna (opak "skutočnej") pamäť. Niekoľko dôvodov, prečo je dobré mať MMU, je uvedených nižšie:

  • MMU môže pred programom "skryť" pamäť iných programov. To sa vykonáva tak, že počas behu programu neprekladá žiadne adresy na "skryté" adresy. Je to dobré, pretože to znamená, že programy nemôžu čítať a modifikovať pamäť iných programov, čo zvyšuje bezpečnosť a stabilitu. (Programy sa nemôžu navzájom "špehovať" alebo si "šliapať na päty").
  • Mnohé jednotky MMU môžu spôsobiť, že niektoré časti pamäte sú nezapisovateľné, nečitateľné alebo nevykonateľné (čo znamená, že kód uložený v tejto časti pamäte nemožno spustiť). Môže to byť dobré z dôvodov stability a bezpečnosti, ako aj z iných dôvodov.
  • Jednotky MMU umožňujú rôznym programom rôzne "pohľady" na pamäť. To sa hodí v mnohých rôznych situáciách. Napríklad bude vždy možné mať "hlavný" kód programu na rovnakej (virtuálnej) adrese bez toho, aby dochádzalo ku kolízii s inými programami. Hodí sa to aj vtedy, keď existuje veľa rôznych častí kódu (z knižníc), ktoré sú zdieľané medzi programami.
  • Jednotky MMU umožňujú, aby sa kód z knižníc objavil na rôznych adresách pri každom spustení programu. To je dobré, pretože nevedieť, kde sa čo v pamäti nachádza, často hackerom sťažuje možnosť, aby programy robili zlé veci. Nazýva sa to randomizácia adresného priestoru.
  • Pokročilé programy a operačné systémy môžu používať triky s MMU, aby sa vyhli kopírovaniu údajov medzi rôznymi miestami v pamäti.

Viac jadier

Viacjadrové procesory sa stali bežnými na začiatku 21. storočia. To znamená, že majú na jednom čipe zabudovaných viacero procesorov, takže môžu vykonávať mnoho inštrukcií naraz. Niektoré procesory môžu mať až tridsaťdva jadier, ako napríklad AMD Epyc 7601.

Výrobcovia

Nasledujúce spoločnosti vyrábajú počítačové procesory:

  • ARM
  • Intel
  • Spoločnosť Advanced Micro Devices
  • MCST
  • SRISA
  • Spoločnosť Sun Microsystems

Ďalšie informácie

Otázky a odpovede

Otázka: Čo je to procesor?


Odpoveď: CPU (centrálna procesorová jednotka) je dôležitou súčasťou každého počítača. Vysiela signály na ovládanie ostatných častí počítača, takmer ako mozog ovláda telo. CPU je elektronický stroj, ktorý pracuje na základe zoznamu inštrukcií na vykonávanie určitých úloh.

Otázka: Ako CPU funguje?


Odpoveď: CPU číta zoznam inštrukcií a každú z nich vykonáva (vykonáva) v poradí. Zoznam inštrukcií, ktoré môže CPU vykonávať, je počítačový program.

Otázka: V čom sa meria taktovací kmitočet alebo rýchlosť procesora?


Odpoveď: Taktovacia frekvencia alebo rýchlosť vnútorných častí CPU sa meria v hertzoch (Hz). Moderné procesory často pracujú tak rýchlo, že sa namiesto toho používa označenie gigahertz (GHz) - jeden GHz je 1 000 000 000 cyklov za sekundu.

Otázka: Ktoré spoločnosti vyrábajú procesory?


Odpoveď: Niektoré spoločnosti, ktoré vyrábajú procesory, sú Intel, Advanced Micro Devices (AMD), ARM (nedávno odkúpený spoločnosťou Nvidia), IBM a AMD v rámci ATI Technologies, ktorá v súčasnosti vedie na trhu.

Otázka: Kde sa používa väčšina procesorov?


Odpoveď: Väčšina procesorov používaných v stolových počítačoch sú mikroprocesory vyrobené spoločnosťou Intel alebo AMD, zatiaľ čo väčšina ostatných sa používa vo vstavaných systémoch pre špecializovanejšie veci, ako sú mobilné telefóny, autá, herné konzoly alebo vojenské aplikácie.

AlegsaOnline.com - 2020 / 2023 - License CC3