Milap Neupane Blog

CPU, také známý jako mikroprocesor je srdce a/nebo mozku počítače. Umožňuje hluboko ponořit do jádra počítače a pochopit, jak CPU práce, která nám pomůže psát počítačové programy efektivně.

nástroj je obvykle jednodušší, než stroj; to je obecně používán s rukou, zatímco stroj je často přesunut zvířat nebo parní energie.

– Charles Babbage

počítač je stroj napájen převážně na elektřinu, ale jeho pružnost a programovatelnost pomohly dosáhnout jednoduchost nástroje.

CPU je srdce a / nebo mozek počítače. Provádí pokyny, které jsou jim poskytnuty. Jeho hlavním úkolem je provádět aritmetické a logické operace a organizovat pokyny společně. Než se ponoříme do hlavních částí, Začněme tím, že se podíváme na to, jaké jsou hlavní součásti CPU a jaké jsou jejich role:

Dvě hlavní součásti CPU (procesor)

  • Řídící jednotka — CU
  • Aritmetické a logické jednotky — ALU

Řídící Jednotka — CU

Řídící jednotka CU je část PROCESORU, která pomáhá organizovat provádění pokynů. Říká, co dělat. Podle pokynů pomáhá aktivovat vodiče připojující CPU k různým dalším částem počítače včetně ALU. Řídicí jednotka je první součástí CPU, která obdrží instrukce pro zpracování.

existují dva typy řídící jednotky:

  • pevné řídící jednotky.
  • mikro Programovatelné (mikroprogramované) řídicí jednotky.

Hardwired řídící jednotky jsou hardware a potřebují změnu v hardwaru přidat upravit to funguje, zatímco mikro-programovatelná řídicí jednotka může být naprogramován tak, aby změnit své chování. Hardwired CU je rychlejší ve Zpracování instrukce, zatímco mikro-Programovatelné jako pružnější.

aritmetická a logická jednotka-ALU

aritmetická a logická jednotka ALU, jak název napovídá, dělá všechny aritmetické a logické výpočty. ALU provádí operace jako sčítání, odčítání. ALU se skládá z logických obvodů nebo logických hradel, které provádějí tyto operace.

většina logických hradel přijímá dva vstupy a vytváří jeden výstup

níže je uveden příklad obvodu sčítače, který přijímá dva vstupy a výstupy výsledku. Zde a A B jsou vstup, S je výstup a C je přenos.

Half adder
Půl zdroj: https://en.wikipedia.org/wiki/Adder_(electronics)#/media/File:Half_Adder.svg

Úložiště — Registry a Paměť

hlavním úkolem PROCESORU je k provedení pokynů. Pro zpracování těchto pokynů většinu času potřebuje data. Některá data jsou přechodná data, některá jsou vstupy a jiná je výstup. Tato data spolu s pokyny jsou uložena v následujícím úložišti:

Registry

registr je malá sada míst, kde mohou být data uložena. Registr je kombinací západek. Zámky také známé jako žabky jsou kombinace logických bran, které ukládají 1 bit informací.

západka má dva vstupní vodiče, zapisovací a vstupní vodič a jeden výstupní vodič. Můžeme povolit write wire provádět změny uložených dat. Když je write wire vypnutý, výstup zůstává vždy stejný.

SR latch, vyrobeno z dvojice kříž-spolu ANI vrata

PROCESOR má registrů ukládat data výstupní. Odesílání do hlavní paměti (RAM) by bylo pomalé, protože se jedná o mezilehlá data. Tato data jsou odesílána do jiných registrů, které jsou připojeny sběrnicí. Registr může ukládat instrukce, výstupní data, adresu úložiště nebo jakýkoli druh dat.

paměť (RAM)

Ram je sbírka registrů uspořádaných a kompaktních dohromady optimalizovaným způsobem, takže může ukládat vyšší počet dat. RAM (Random Access Memory) je volatilní a data se ztratí, když vypneme napájení. Jako RAM je sbírka registrů pro čtení/zápis dat RAM bere vstup z 8 bitů adresy, vkládání dat pro aktuální údaje musí být uloženy a nakonec číst a psát enabler který funguje, jak je pro západky.

jaké jsou pokyny

instrukce je výpočet granulární úrovně, který může počítač provádět. CPU může zpracovat různé typy instrukcí.

pokyny zahrnují:

  • Aritmetické operace jako je sčítání a odčítání,
  • Logické instrukce jako and, or, a ne
  • Data instrukce, jako jsou pohyb, vstup, výstup, zatížení, a ukládání
  • Řízení Toku instrukcí, jako například goto, pokud … goto, volání a návrat
  • Upozorní CPU, že program skončil Zastavit

Pokyny jsou uvedeny k počítači pomocí assembleru nebo jsou vytvořeny kompilátorem nebo jsou interpretovány v některých high-level jazyků.

tyto pokyny jsou pevně zapojeny uvnitř CPU. ALU obsahuje aritmetické a logické, zatímco řídicí tok je řízen CU.

V jednom hodinovém cyklu mohou počítače provádět jednu instrukci, ale moderní počítače mohou provádět více než jednu.

skupina instrukcí, které může počítač provádět, se nazývá instrukční sada.

CPU hodiny

hodinový cyklus

rychlost počítače je určena jeho hodinovým cyklem. Je to počet hodin za sekundu, na kterých počítač pracuje. Jeden hodiny cykly jsou velmi malé, jako kolem 250 * 10 *-12 sec. Vyšší taktovací cyklus rychlejší procesor.

taktovací cyklus CPU se měří v GHz (Gigahertz). 1gHz se rovná 10 ⁹ Hz(hertz). Hertz znamená vteřinu. Takže 1Gigahertz znamená 10 ⁹ cyklů za sekundu.

čím rychlejší je hodinový cyklus, tím více instrukcí může procesor spustit. Hodiny cyklus = 1/taktovací frekvence CPU Time = počet clock cycle / clock rate

To znamená, zlepšit čas PROCESORU můžeme zvýšit taktovací frekvence nebo snížení počtu hodinových cyklů díky optimalizaci instrukce, které poskytujeme pro CPU. Některé procesor poskytuje možnost zvýšit hodinový cyklus, ale protože se jedná o fyzické změny může dojít k přehřátí a dokonce kouří/požáry.

jak se provádí instrukce

instrukce jsou uloženy v paměti RAM v sekvenčním pořadí. Pro hypotetický procesor se instrukce skládá z OP kódu (operačního kódu) a adresy paměti nebo registru.

Existují dva registry uvnitř Řídicí Jednotka Pokyn rejstřík(IR), která načte OP kódu instrukce a instrukce adresa registru, který načte adresu v současné době provádění instrukce. Uvnitř CPU jsou další registry, které ukládají hodnotu uloženou na adrese posledních 4 bitů instrukce.

Vezměme si příklad sady instrukcí, které přidávají dvě čísla. Níže jsou uvedeny pokyny spolu s jejich popisem. CPU pracuje provedení následující instrukce:

KROK 1 — LOAD_A 8:

instrukce je uložena v paměti RAM zpočátku jako řekněme <>. První 4 bit je op-kód. To určuje instrukci. Tato instrukce je načtena do IR řídicí jednotky. Instrukce je dekódována být load_A což znamená, že potřebuje k načtení dat v adresním 1000, což je poslední 4 bit instrukce do registru A.

KROK 2 — LOAD_B 2

Podobně jako u výše to načte data v paměti adresa 2 (0010) CPU rejstříku B.

KROK 3 — PŘIDAT B

další instrukce, je přidat tyto dvě čísla. Zde CU řekne ALU, aby provedl operaci přidat a výsledek uložil zpět do registrace a.

Krok 4-STORE_A 23

Jedná se o velmi jednoduchou sadu instrukcí, která pomáhá přidat dvě čísla.

úspěšně jsme přidali dvě čísla!

BUS

všechna data mezi CPU, registrem, pamětí a IO devise jsou přenášena přes sběrnici. K načtení dat do paměti, že má jen dodal, CPU staví paměťové adresy na adresu-bus a výsledek součtu údajů-bus a umožňuje správný signál v řízení autobusu. Tímto způsobem jsou data načtena do paměti pomocí sběrnice.

CPU bus
Foto src: https://en.wikipedia.org/wiki/Bus_(computing)#/media/File:Computer_system_bus.svg

Cache

CPU má také mechanismus, který předepíše instrukci do mezipaměti. Jak víme, existují miliony instrukcí, které může procesor dokončit během sekundy. To znamená, že při načítání instrukce z paměti RAM bude věnováno více času než jejich provádění. Mezipaměť CPU tedy předepíše některé instrukce a také data, aby se provedení rychle spustilo.

pokud jsou data v mezipaměti a operační paměti odlišná, jsou data označena jako špinavý bit.

instrukční pipelining

moderní CPU používá instrukční pipelining pro paralelizaci při provádění instrukcí. Načíst, Dekódovat, Spustit. Když je jedna instrukce ve fázi dekódování, CPU může zpracovat další instrukci pro fázi načítání.

CPU clock cycle
foto zdroj: https://en.wikipedia.org/wiki/Instruction_pipelining#/media/File:Pipeline,_4_stage.svg

toto má jeden problém, když je jedna instrukce závislá na jiné. Procesory tedy provádějí instrukci, která není závislá a v jiném pořadí.

vícejádrový počítač

je to v podstatě jiný procesor, ale má některé sdílené zdroje, jako je mezipaměť.

výkon

výkon procesoru je určen jeho dobou spuštění. Performance = 1 / doba provádění

řekněme, že spuštění programu trvá 20 ms. Výkon CPU je 1/20 = 0.05msRelative výkon = doba realizace 1/ realizace 2

faktor, který přichází v úvahu pro výkon PROCESORU je provedení pokynu, čas a rychlost PROCESORU hodiny. Abychom zvýšili výkon programu, musíme buď zvýšit rychlost hodin, nebo snížit počet instrukcí v programu. Rychlost procesoru je omezená a moderní počítače s vícejádrovým procesorem mohou podporovat miliony instrukcí za sekundu. Pokud však program, který jsme napsali, obsahuje mnoho pokynů, sníží se celkový výkon.

Big O notace určuje s daným vstupem o tom, jak bude výkon ovlivněn.

v CPU je provedeno mnoho optimalizací, aby bylo rychlejší a co nejvíce. Při psaní jakéhokoli programu musíme zvážit, jak snížení počtu pokynů, které poskytujeme CPU, zvýší výkon počítačového programu.

máte zájem o optimalizaci databází? Přečtěte si o tom zde: https://milapneupane.com.np/2019/07/06/how-to-work-optimally-with-relational-databases/

Related Posts

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *