Mikroprogram je visokospecijalizovani računarski program koji omogućava jednoj računarskoj mikroarhitekturi da emulira drugu, obično složeniju strukturu. Mikroprogram je obično veoma mali u odnosu na običan softver, i otuda njegovo ime. Takođe je veoma pažljivo dizajniran i optimizovam zarad najbržeg mogućeg izvršavanja.

Kao i ostali računarski programi, mikroprogrami se sastoje od serija mikroinstrukcija. Ove mikroinstrukcije obično kontrolišu procesor računara (CPU) na vrlo fundamentalnom nivou.

Mikroprogram se takođe naziva mikrokodom procesora. Deo memorije u kome se nalazi mikroprogram se naziva kontrolna memorija (control store). Mikrokod može biti smešten u ROM-u (kao vid firmvera) ili učitan u RAM memoriju kao deo inicijalizacijonog procesa centralne procesorske jedinice (procesora).

Razlozi za mikroprogramiranje uredi

Kada su prvi računari razvijani, brzina procesora je bila približna brzini glavne memorije, i svaka instrukciona reč pročitana iz memorije je mogla efikasno komandovati izvršavanjem pojedinačne operacije od strane procesora. Međutim, kada je logički dizajn postao napredniji, postalo je moguće da procesor izvršava operacije mnogo brže nego što se instrukcione reči uzimaju iz memorije.

Mikroprogramiranje je bilo odgovor za ovaj debalans. Omogućavanjem svakoj instrukciji dobavljenoj iz memorije da pozove mikrosubrutinu, instrukcije dobavljene iz memorije bi mogle da komanduju procesoru u izvođenju vrlo kompleksnih operacija, kao što je sabiranje brojeva u pokretnom zarezu ili izvršavanje kompletnih operacija na stringovima karaktera.

U skorije vreme, napredak u brzini memorije je učinio mikroprogramiranje manje neophodnim, što vodi povratku računarskih arhitektura sa direktnim izvršavanjem (RISC).

Druge koristi uredi

Mikroprogramirani procesor je procesor čiji su hardverski alati različite (obično jednostavnije) arhitekture od one koja je vidljiva običnom programeru; ta prostija arhitektura (mikroarhitektura) se koristi za izvršavanje mikroprograma koji implementira arhitekturu vidljivu za programera. Ova pod-arhitektura ne mora da ima ikakvu fiksnu vezu sa rezultujućom arhitekturom koja je vidljiva programeru. Ovo znatno olakšava implementiranje određene vidljive arhitekture na širok spektar hardverskih mikroarhitektura.

Vidi još uredi

Spoljašnje veze uredi