Kaj je krmilna enota?

Krmilna enota je podkomponenta centralne procesne enote (CPU), ki upravlja vsa dejanja, ki se izvajajo na tem področju v računalniku. Odgovoren je za sprejemanje različnih vnosov iz računalnika, navodil in podatkov ter za sporočanje procesorju, kaj naj z njimi naredi. Ker CPE velja za možgane računalnika, ga včasih imenujemo možgani v možganih. Krmilna enota ima lahko glede na arhitekturo CPE-ja različne naloge.

Krmilna enota je dejansko sestavljena iz več podkomponent. V času ožičenja so vse te napeljave in vezja oblikovale tako imenovani stroj končnega stanja, sistem, ki ima edinstven namen pri usmerjanju operacij računalnika. Ločena vezja so bila odgovorna za dekodiranje in kodiranje navodil, medtem ko so druga obravnavala logiko ali štetje navodil, na katerih je delal CPU. Vse se je zgodilo po vrsti, kjer bi se logično vezje tako ali drugače obrnilo, da bi navodila usmerili v shranjevanje.

Navodilo se pridobi in dekodira, nato pa ga je treba izvajati po vrstnem redu, enega za drugim do zaključka. Pri starejših procesorjih bi moralo navodilo iti skozi celoten postopek in dokončati izračun, preden bi se začel naslednji. Za pospešitev obdelave sodobni procesorji uporabljajo tako imenovane cevovode, kjer je vsak korak del cevovoda. Medtem ko je eno navodilo v izvedbenem delu cevovoda, je drugo že v fazi dekodiranja, drugo pa se pridobiva. Za obvladovanje vsega tega je morala krmilna enota opravljati tudi vlogo multipleksorja, saj vzame več vhodov ali izhodov in jih usmerja v in iz cevovoda.

Ker so računalniški CPE še naprej napredovali, se je veliko tega dramatično spremenilo. Uporaba mikrokode, drobnih programov, ki sedijo v posebnem, hitrem pomnilniku samo za branje na CPU, je nadomestila staro ožičeno vezje. Ti nizkonivojski programi so prevzeli dolgotrajno delo fizičnega ponovnega ožičenja krmilne enote in poenostavili spremembe v arhitekturi CPE. Po meri napisani mikroprogrami krmilne enote, ustvarjeni v fazi načrtovanja CPE, so tisti, ki omogočajo arhitekturo določenega tipa CPE.

Na splošno je velik del odgovornosti krmilne enote odvisen od arhitekture CPE. Nekateri lahko preprosto pridobijo, dekodirajo, koordinirajo izvajanje in usmerjajo izhod navodil. Drugi imajo lahko dodatne odgovornosti, ki vključujejo prevajanje, kar lahko upočasni CPE. V teh primerih se lahko krmilna enota dodatno razdeli na jedrnate komponente, kot je ločena enota za načrtovanje ali enota za umik, ki skrbi za organizacijo in shranjevanje rezultatov iz ritmetično logične enote (ALU).