Skirtumas tarp horizontalaus ir vertikalaus mikroprogramavimo

Kompiuterio centrinio procesoriaus valdymo atminties mikrokodo rašymo procesas vadinamas mikroprogramavimu. Valdymo atminties mikrokodas generuojamas sukonfigūravus kompiuterį ir nustačius jo mikroprogramuotą valdymo bloką. Valdymo atmintis yra valdymo bloko dalis, kurioje saugomos visos mikroprogramos, kurių negalima dažnai keisti. Kiekviena mikro programos eilutė reiškia mikroinstrukciją, kurioje nurodoma viena ar daugiau mikrooperacijų. Yra du skirtingi būdai, kaip organizuoti mikroinstrukcijas: horizontaliai ir vertikaliai. Horizontalios mikroinstrukcijos rodo kelias mikrooperacijas, kurios vykdomos vienu metu. Tačiau kraštutiniais atvejais kiekvienas horizontaliai mikro instrukcija kontroliuoja visus sistemos aparatūros išteklius. Priešingai, vertikali mikroinstrukcija primena įprastą mašina kalbos formatas, kurį sudaro viena operacija ir keli operandai. Priešingai nei horizontalios mikroinstrukcijos, vertikalioji mikroinstrukcija reiškia atskiras mikrooperacijas.



Horizontalusis mikroprogramavimas

Vykdant horizontalųjį mikroprogramavimą, kiekvienas bitas yra identifikuojamas konkrečiai su vienu valdymo tašku, o tai rodo, kad reikia atlikti atitinkamą mikroperaciją. Kadangi kiekviena mikroinstrukcija yra pakankamai pajėgi vienu metu valdyti kelis išteklius, ji turi potencialų efektyvesnio aparatūros naudojimo pranašumą ir, be to, tam reikia mažesnio mikroprogramų skaičiaus vienoje mikroprogramoje. Tai leidžia pasiekti didesnį lygiagretumą su minimaliu kodavimo kiekiu ir atskirais valdymo laukais. Tačiau sukurti mikroprogramas, kurios optimaliai ar efektyviai panaudotų išteklius, yra sudėtinga užduotis. Horizontalusis mikroprogramavimas suteikia didelį lankstumą, nes kiekvienas valdymo bitas yra nepriklausomas vienas nuo kito. Jo ilgis didesnis, todėl jame paprastai yra daugiau informacijos nei vertikaliose mikroinstrukcijose.



Vertikalus mikroprogramavimas

Vertikaliame mikroprogramavime naudojamas kintamas formatas ir didesnis kodavimo laipsnis, priešingai nei horizontaliam mikroprogramavimui. Tai ne tik sutrumpina mikroinstrukcijos ilgį, bet ir neleidžia didėjančiai atminties talpai tiesiogiai paveikti mikroinstrukcijos ilgio. Kiekviena vertikali mikroinstrukcija paprastai reiškia vieną mikrooperaciją. Kodas yra naudojamas kiekvienai mikrooperacijai, kurią reikia atlikti, ir dekoderis kodą paverčia atskirais valdymo signalais. Kadangi nurodoma tik atliekama mikrooperacija, mikroinstrukcijos laukai yra visiškai išnaudojami. Plius vertikalias mikroprogramas lengviau rašyti nei horizontalius analogus. Vertikali mikroinstrukcija primena įprastą mašininės kalbos formatą, kurį sudaro viena operacija ir keli operandai. Todėl jį lengva naudoti mikroprogramavimui. Paprastai jis susideda iš keturių – šešių laukų, kuriems reikia maždaug 16–32 bitų vienai instrukcijai.



Skirtumas tarp horizontalaus ir vertikalaus mikroprogramavimo

Kodavimas

Vertikaliame mikroprogramavime naudojamas kintamas formatas ir didesnis kodavimo laipsnis, priešingai nei horizontaliam mikroprogramavimui. Vertikaliame mikroprogramavime valdymo bitai užkoduojami kiekvienam naudojamam veiksmui atlikti naudojamam kodui, o komandų dekoderis kodą iššifruoja į kelis valdymo signalus. Atvirkščiai, horizontalusis mikroprogramavimas apima horizontalias mikroinstrukcijas, kurios visiškai nenaudoja kodavimo. Jie atvaizduoja kiekvieną valdymo bitą duomenų priskirtame kelyje su atskiru bitu mikroinstrukcijos formatu. Kiekvienas valdymo lauko bitas pritvirtintas prie valdymo linijos.

Seka

Horizontalusis mikroprogramavimas paprastai taikomas nuosekliai, siekiant nurodyti kitą mikroprogramos mikroinstrukciją, panašią į įprastą mašininės kalbos formatą. Kiekvienas bitas yra identifikuojamas konkrečiai su vienu valdymo tašku, kuris rodo, kad reikia atlikti atitinkamą mikrooperaciją. Tada norint nutraukti seką, reikalingos specialios sąlyginės ir besąlygiškos šakos mikroinstrukcijos. Vertikaliame mikroprogramavime gali būti naudojama santykinai adresavimo schema, kai norint nurodyti giminę, reikalingi keli bitai Persiųsti ar šuolis atgal. Tam reikia apskaičiuoti adresą kiekviename žingsnyje.

Dizainas

- Vertikalios mikroprogramos turi geresnį kodų tankį, o tai naudinga kontrolinės saugyklos dydžiui. Vertikali mikroinstrukcija primena įprastą mašininės kalbos formatą, kurį sudaro viena operacija ir keli operandai. Kiekviena vertikali mikroinstrukcija reiškia vieną mikrooperaciją, kol operandai gali nurodyti duomenų kriauklę ir šaltinį. Kita vertus, horizontalios mikroprogramos paprastai atspindi kelias mikrooperacijas, kurios atliekamos vienu metu. Kraštutiniais atvejais kiekviena horizontali mikro instrukcija vienu metu valdo kelis aparatūros išteklius.



Lankstumas

- Horizontalios mikroprogramos suteikia didesnį lankstumą, nes kiekvienas valdymo bitas yra nepriklausomas vienas nuo kito. Jo ilgis didesnis, todėl jame paprastai yra daugiau informacijos nei vertikaliose mikroinstrukcijose. Gana dažnai pasitaiko horizontalių mikroinstrukcijų su 48 ar daugiau bitų. Horizontalios mikroprogramos turi potencialų pranašumą efektyviau naudoti aparatinę įrangą, be to, tam reikia mažesnio mikroprogramų skaičiaus vienoje mikroprogramoje. Kita vertus, vertikalios mikroinstrukcijos yra kompaktiškesnės, bet mažiau lanksčios nei horizontalios mikroinstrukcijos. Todėl vertikalųjį metodą lengva naudoti mikroprogramavimui.

Horizontalus ir vertikalus mikroprogramavimas: palyginimo diagrama

Horizontalaus ir vertikalaus mikroprogramavimo santrauka

Priešingai nei horizontalios mikroinstrukcijos, vertikalioji mikroinstrukcija reiškia atskiras mikrooperacijas. Horizontalios mikroprogramos leidžia pasiekti didesnį lygiagretumą su minimaliu kodavimo kiekiu ir atskirais valdymo laukais, tuo tarpu valdymo bitai yra užkoduoti vertikaliose mikroprogramose. pasirinkimas Tarp šių dviejų požiūrių reikia būti atsargiems. Tačiau praktiškai dizaineriai naudoja horizontalių ir vertikalių mikroinstrukcijų formatų derinį, kad gautoji konstrukcija būtų kompaktiška, tačiau efektyvi.

Populiarios Temos

Hansas-Ulrichas Rudelis: Rytų fronto erelis

Geriausiai dekoruotas Vokietijos kovinis lakūnas Hansas-Ulrichas Rudelis numušė tik devynis priešo lėktuvus, tačiau jis sunaikino daugiau nei trijų sovietų tankų korpusų ekvivalentą.

Interviu su Pirmojo pasaulinio karo istoriku Williamu Philpottu

Britų istorikas Williamas Philpottas savo naujoje knygoje „Nusikaltimo karas“ iš naujo nagrinėja I pasaulinio karo priežastis, elgesį ir ilgalaikius padarinius.

Alkano Džeko ir „Burger King“ skirtumas

Alkanas Džekas ir „Burger King“ Kalbant apie mėsainius, buvo žinoma, kad du vardai yra žaidimo viršuje, ir jie vadinami „Burger King“ ir

Rašytinės ir sakytinės kalbos skirtumas

Rašytinė ir sakytinė kalba Yra daug skirtumų, kuriuos galima pastebėti tarp rašytinės ir sakytinės kalbos. Kartais kalbama taip, kaip norėtųsi

42 cm M-Gerät Howitzer: Originali didžioji berta

Sunki vokiečių 42 cm „M-Gerät“ haubica buvo sukurta siekiant sumažinti tvirtas sąjungininkų gynybines tvirtoves palei Vakarų frontą - tai buvo veiksmingas darbas, nepaisant riboto mobilumo.

Skirtumas tarp kokteilio ir kokteilio

Gėrimų gėrimas yra įprastas reiškinys tarp skirtingų kultūrų visame pasaulyje, kuris buvo perduodamas iš kartos į kartą. Žmonės vartoja