Razlika između vodoravnog i vertikalnog mikroprogramiranja

Proces pisanja mikro koda za kontrolnu memoriju središnje procesne jedinice računala naziva se mikroprogramiranjem. Mikrokod za upravljačku memoriju stvara se nakon konfiguracije računala i njegove mikroprogramirane upravljačke jedinice. Upravljačka memorija dio je upravljačke jedinice koja pohranjuje sve mikro programe koji se ne mogu često mijenjati. Svaki redak mikro programa predstavlja mikroinstrukciju koja specificira jednu ili više mikro operacija. Postoje dva načina na koje se mogu organizirati mikroinstrukcije: horizontalna i vertikalna. Horizontalne mikroinstrukcije predstavljaju nekoliko mikro operacija koje se izvode istovremeno. Međutim, u ekstremnim slučajevima, svaka horizontalna mikroinstrukcija kontrolira sve hardverske resurse sustava. Suprotno tome, vertikalna mikroinstrukcija nalikuje uobičajenom obliku strojnog jezika koji sadrži jednu operaciju i nekoliko operanda. Za razliku od horizontalnih mikroinstrukcija, vertikalna mikroinstrukcija predstavlja pojedinačne mikro-operacije.

Horizontalno mikroprogramiranje

U horizontalnom mikroprogramiranju svaki se bit specifično identificira s jednom upravljačkom točkom, što ukazuje da se mora izvršiti odgovarajuća mikro operacija. Budući da je svaka mikroinstrukcija dovoljno sposobna istovremeno kontrolirati više resursa, to ima potencijalnu prednost u učinkovitijoj upotrebi hardvera, a osim toga zahtijeva manji broj mikroinstrukcija po mikroprogramu. Omogućuje veći stupanj paralelizma s minimalnom količinom kodiranja i odvojenim kontrolnim poljima. Međutim, razvoj mikroprograma koji optimalno ili učinkovito koriste resurse složen je zadatak. Vodoravno mikroprogramiranje nudi veliku fleksibilnost jer je svaki upravljački bit neovisan jedan o drugom. Veće je duljine pa obično sadrži više informacija nego vertikalne mikro upute.

Vertikalno mikroprogramiranje

Okomito mikroprogramiranje koristi promjenjiv format i viši stupanj kodiranja, za razliku od horizontalnog mikroprograma. To ne samo da skraćuje duljinu mikroinstrukcije, već sprečava da povećani kapacitet memorije izravno utječe na duljinu mikroinstrukcije. Svaka vertikalna mikroinstrukcija općenito predstavlja jednu mikro operaciju. Kod se koristi za svaku mikro operaciju koja se izvodi i dekoder prevodi kôd u pojedinačne upravljačke signale. Kako je navedena samo mikro operacija koja se izvodi, polja mikroinstrukcije u potpunosti se koriste. Plus vertikalne mikroprograme je lakše napisati od svojih vodoravnih kolega. Okomita mikroinstrukcija nalikuje uobičajenom obliku strojnog jezika koji sadrži jednu operaciju i nekoliko operanda. Stoga je jednostavno za mikroprogramiranje. Obično se sastoji od četiri do šest polja kojima je potrebno oko 16 do 32 bita po instrukciji.

Razlika između vodoravnog i vertikalnog mikroprogramiranja

kodiranje

Okomito mikroprogramiranje koristi promjenjiv format i veći stupanj kodiranja, za razliku od horizontalnog mikroprograma. U vertikalnom mikroprogramiranju, kontrolni bitovi se kodiraju sa svakim kodom koji se koristi za svaku radnju koja se izvodi, a dekoder uputa dekodira kod u više kontrolnih signala. Suprotno tome, horizontalno mikroprogramiranje uključuje horizontalne mikroinstrukcije koje uopće ne koriste kodiranje. Predstavljaju svaki upravljački bit u podatkovnom putu dodijeljen zasebnim bitom u mikroinstrukcijskom formatu. Svaki komad u kontrolnom polju priključen je na kontrolnu liniju.

slijed

Horizontalno mikroprogramiranje uglavnom slijedi sekvencijalni pristup da bi se odredila sljedeća mikroinstrukcija u mikroprogramu, slično uobičajenom strojnom formatu. Svaki se bit posebno identificira s jednom upravljačkom točkom, što ukazuje da se mora izvršiti odgovarajuća mikro operacija. Za prekid sekvence potrebne su posebne uvjetne i bezuvjetne mikroinstrukcije grana. Okomito mikroprogramiranje može koristiti relativno adresnu shemu u kojoj je potrebno nekoliko bita da odrede relativni skok naprijed ili nazad. Ovo zahtijeva izračunavanje adrese na svakom koraku.

Oblikovati

- Okomiti mikroprogrami imaju bolju gustoću koda što pogoduje veličini kontrolnog spremišta. Okomita mikroinstrukcija nalikuje uobičajenom obliku strojnog jezika koji sadrži jednu operaciju i nekoliko operanda. Svaka okomita mikroinstrukcija predstavlja jednu mikro operaciju, dok operandi mogu odrediti sudoper podataka i izvor. Horizontalni mikroprogrami, s druge strane, općenito predstavljaju višestruke mikro operacije koje se izvode istovremeno. U ekstremnim slučajevima svaka horizontalna mikroinstrukcija kontrolira istovremeno nekoliko hardverskih resursa.

savitljivost

- Horizontalni mikroprogrami nude bolju fleksibilnost jer je svaki upravljački bit neovisan jedan o drugom. Veće je duljine pa obično sadrži više informacija nego vertikalne mikro upute. Horizontalne mikroinstrukcije s 48 ili više bita su prilično česte. Horizontalni mikroprogrami imaju potencijalnu prednost u korištenju hardvera i učinkovitije, a povrh toga zahtijeva i manji broj mikroinstrukcija po mikroprogramu. Okomite mikroinstrukcije, s druge strane, su kompaktnije, ali manje fleksibilne od horizontalnih mikroinstrukcija. Vertikalni pristup se lako koristi za mikroprogramiranje.

Vodoravno vs vertikalno mikroprogramiranje: uporedni grafikon

Sažetak vodoravnog i vertikalnog mikroprograma

Za razliku od horizontalnih mikroinstrukcija, vertikalna mikroinstrukcija predstavlja pojedinačne mikro-operacije. Horizontalni mikroprogrami omogućuju veći stupanj paralelizma s minimalnom količinom kodiranja i odvojenim upravljačkim poljima dok su kontrolni bitovi kodirani u vertikalnim mikroprogramima. Izbor između dva pristupa treba biti pažljiv. Međutim, u praksi, dizajneri koriste kombinaciju horizontalnih i vertikalnih formata mikroinstrukcije tako da je dobivena struktura kompaktna, ali učinkovita.