Instrukce procesoru

Procesor je hodně zjednodušeně elektronický čip, které umí přijmout nějakou kombinaci signálů na vstupu a na základě této kombinace vyprodukovat jinou kombinaci signálů na výstupu.

Procesor a vstupní a výstupní signály

Moderní procesory jsou extrémně komplexní ale v základu je to pořád tento model. Procesor skrz vstupní signály získává instrukce na základě kterých sám něco provádí nebo skrz základní desku přikazuje něco zařízením okolo sebe.

  • Skrz základní desku dostává informace od klávesnice a myši
  • Skrz grafický čip/kartu posílá informace do obrazovky
  • Skrz síťovou kartu komunikuje s internetem
  • Skrz RAM pamět si ukládá a znovu načítá nějaké rychle dostupné informace
  • Skrz základní desku zadává instrukce pro práci s daty na HDD/SSD disky

Procesor si však sám nic nevymýšlí a pouze se řídí instrukcemi. Když zapneš počítač tak první co se v počítači děje je to, že procesor společně se základní deskou hledá instrukce.

Pokud žádné nenajde tak s počítačem prakticky nic neuděláš a zobrazí se ti nějaká hláška, která vypadá například takto.

„Operating System not found“ znamená, že nebyl nalezen operační systém. Jinými slovy, nenašel jsem nikde žádné instrukce!

S prvními historickými počítači se pracovalo tak, že někdo ručně tahal za páky nebo mačkal tlačítka, které udávaly kombinaci signálů, které znamenaly nějakou konkrétní instrukci. Později se tyto instrukce zadávaly skrz děrkované štítky. Tyto počítače byly schopné rozpoznat konkrétní instrukci podle předepsané struktury děr.

Tyto počítače se používaly prakticky jen pro vědecké/vojenské účely protože jediné co uměly bylo spočítat něco rychleji než kdyby to počítal člověk. World Of Warcraft bys na tom nerozeběhnul.

Počítače na děrkovací štítky uměly zpracovat 10 až 100 instrukcí za vteřinu. Moderní procesor je schopný zpracovat okolo 5 miliard (5000000000) instrukcí za vteřinu (toto je prakticky totéž jako údaj, který se udává v procesorech jako „GHz“ například „3,5 GHz“ = 3 a půl miliard instrukcí za vteřinu).

Už nedává žádný smysl psát instrukce pro procesor napřímo. 5 miliard instrukcí za vteřinu je totiž fakt hrozně moc a tak nad instrukcemi pro procesor vzniklo spousta dalších vrstev, nové pohledy a vrstvy, které nám umožňují abstrahovat (viz. předchozí díl) obrovskou složitost a rychlost moderních procesorů.

Jako klasickej jouda co používá počítač na porno a WoWko se pohybuješ na vrstvě operačního systému jako je například Windows, Linux nebo Android. Ten je udělanej tak, abys nemusel řešit píčoviny a mohl kvalitně honit a pařit.

Před operačním systémem je ještě pár dalších vrstev, o kterých brzo začneme mluvit.

Procesor nemůže nic nedělat

Jsme v životě zvyklí na to, že máme nějaký nástroje na elektřinu, třeba vysavač. Ten zapojíme do elektřiny, pustíme a jak je v provozu tak jej nějak začneme používat.

Procesor je ale zařízení, které používáme už jen tím, že do něj pouštíme elektřinu. Jakmile je procesor „pod proudem“ tak to znamená, že přijímá instrukce. Protože ten proud, co do procesoru teče, to už je ta konkrétní instrukce! Procesor nemá žádné „napájení“ protože elektřina která vstupuje a vystupuje z procesoru reprezentuje konkrétní instrukční signály.

Procesor, který nedostává instrukce není pod proudem. Je vypnutý a když je mrtvej procesor tak je mrtvej celej počítač protože procesor říká všem ostatním komponentám, co mají dělat.

Co se ale teda děje, když zapneš počítač a ty na něm neděláš? Jaké instrukce pak tečou do procesoru?

Moderní procesory mají pro tento účel „HALT“ instrukci která způsobí, že procesor nic na výstupu nepředá a na velice krátký časový úsek se pozastaví. K této otázce se ještě vrátíme v kapitole o operačních systémech.

Shrnutí

  • Procesor je zařízení, které dostává skrz kombinace vstupních signálů dostává instrukce
  • Na základě těchto instrukcí skrz kombinace výstupních signálů něco instruuje okolní komponenty v počítači
  • Procesor nemůže nic nedělat. Jakmile je pod proudem, dostává instrukce.
  • Jedna z instrukcí procesoru je „HALT“ při které se procesor pozastaví na krátký časový úsek.