Mikroohjelmointi on tapa toteuttaa tietokoneen ohjausyksikkö systemaattisesti. Lyhyesti sanottuna se on prosessi, jossa luodaan mikrokoodi mikroprosessorille.
Mikrokoodi on apukoodi, joka sanelee, kuinka mikroprosessorin tulee toimia, kun se suorittaa konekielisiä käskyjä, ja mikrokoodia kutsutaan joskus mikroohjelmaksi, kun sitä käytetään tietyssä toiminnossa.
Mikroohjelmoitu ohjausyksikkö puolestaan tallentaa binääriohjausarvot sanoiksi muistiin.
Keskeiset ostokset
- Vaakasuuntaisessa mikroohjelmoinnissa jokainen ohjaussignaali vastaa bittipaikkaa ohjaussanassa, kun taas pystymikroohjelmoinnissa jokainen ohjaussignaali vastaa riviä ohjausvarastossa.
- Horisontaalinen mikroohjelmointi on joustavampaa kuin pystysuora mikroohjelmointi, koska muutokset voidaan tehdä helpommin muuttamalla ohjaussanaa. Sitä vastoin pystysuuntainen mikroohjelmointi vaatii muutoksia ohjausvaraston koko riviin.
- Pystysuora mikroohjelmointi on nopeampaa kuin vaakasuuntainen mikroohjelmointi, koska ohjaussignaaleihin voidaan päästä rinnakkain, kun taas vaakasuuntaisessa mikroohjelmoinnissa signaaleihin on päästävä peräkkäin.
Horisontaalinen mikroohjelmointi vs vertikaalinen mikroohjelmointi
Mikroohjelmoinnissa vaakasuuntainen mikroohjelmointi käyttää laajaa mikrokäskymuotoa, jossa on yksi bitti ohjaussignaalia kohden, mikä tarjoaa suuremman joustavuuden ja nopeuden. Pystysuuntainen mikroohjelmointi käyttää kapeaa mikrokäskymuotoa, joka vaatii dekoodauksen, on hitaampaa mutta vaatii vähemmän muistitilaa.
Vaakasuuntaisen mikroohjelmoidun ohjausyksikön ohjaussignaalit esitetään dekoodatussa binäärimuodossa.
Jokainen bitti horisontaalisessa mikroohjelmoinnissa liittyy yhteen ohjauspisteeseen, mikä osoittaa, että soveltuva mikrotoiminto on suoritettava.
Koska jokainen mikrokäsky voi ohjata useita resursseja samanaikaisesti, se voi mahdollisesti parantaa laitteiston käyttöä samalla, kun se vähentää mikroohjelmaa kohti vaadittavien mikrokäskyjen määrää.
Pystysuuntaisen mikroohjelmoidun ohjausyksikön ohjaussignaalit on koodattu binäärimuodossa. Jokaisella mikrooperaatiolla on koodi, jonka dekooderi muuntaa erillisiksi ohjaussignaaleiksi.
Mikrokäskykentät hyödynnetään täysin, koska vain suoritettava mikrooperaatio on määritelty. Lisäksi pystysuuntaiset mikroohjelmat ovat yksinkertaisempia kirjoittaa kuin vaakasuuntaiset mikroohjelmat.
Vertailu Taulukko
Vertailun parametrit | Horisontaalinen mikroohjelmointi | Pystysuora mikroohjelmointi |
---|---|---|
Yhdensuuntaisuuden aste | korkeampi rinnakkaisuusaste | alhainen rinnakkaisuusaste |
Joustava | Se on vähemmän joustava | Se on joustavampi |
koodaus | Se käyttää vähemmän ROM-koodausta kuin pystysuora mikroohjelmointi | Se käyttää enemmän ROM-koodausta |
Lisälaitteisto | Lisälaitteistoa ei tarvita | Lisälaitteistoja on dekooderien muodossa |
Järjestys | Se käyttää vaakasuuntaista mikroohjetta | Se käyttää pystysuoraa mikroohjetta |
Mitä on horisontaalinen mikroohjelmointi?
Vaakasuuntaisessa Micro-ohjelmoidussa ohjausyksikössä ohjaussignaalit näytetään dekoodatussa binäärimuodossa, eli 1but/CS, siellä 'n' ohjaussignaalit tarvitsevat n mutta koodauksen.
Jokainen bitti horisontaalisessa mikroohjelmoinnissa liittyy yksittäiseen ohjauspisteeseen, mikä osoittaa, että asiaankuuluva mikrotoiminto on suoritettava.
Koska jokainen mikrokäsky voi hallita monia lomakohteet samalla se voi parantaa laitteiston käyttöä samalla, kun se vaatii vähemmän mikrokäskyjä mikroohjelmaa kohti.
Toisaalta vaakasuuntaiset mikroohjelmat edustavat sarjaa samanaikaisesti suoritettuja mikrooperaatioita.
Se mahdollistaa suuremman rinnakkaisuuden samalla kun käytetään vähemmän koodausta ja ohjauskenttien erottelua. Toisaalta resursseja optimaalisesti tai tehokkaasti käyttävien mikroohjelmien kehittäminen on vaikea haaste.
Koska jokainen ohjausbitti on riippumaton muista, horisontaalinen mikroohjelmointi tarjoaa paljon vapautta. Koska se on pidempi kuin pystysuuntaiset mikrokäskyt, se tarjoaa enemmän tietoa.
Kuten perinteinen konekieli, horisontaalinen mikroohjelmointi käyttää peräkkäistä tapaa ilmaista seuraavat määritykset rationaalisissa ohjelmistoissa.
Jokainen bitti on linkitetty yhteen komentokohtaan, mikä osoittaa, että se vastaa asianomaista ohjauspistettä. Tehdään mikroleikkaus. Haarat, jotka ovat sekä ehdollisia että ehdottomia. Tämän jälkeen sarja on katkaistava ohjausominaisuuksien avulla.
Mikä on pystysuora mikroohjelmointi?
Ohjaussignaalit määritellään koodatussa binäärimuodossa pystysuuntaisissa mikroohjelmoiduissa ohjausyksiköissä, ja n-ohjaussignaalit vaativat log2n-bittikoodauksen.
Vertikaalinen mikroohjelmointi, toisin kuin horisontaalinen mikroohjelmointi, käyttää joustavaa muotoa ja korkeampaa koodausastetta.
Se lyhentää mikrokäskyn pituutta ja estää lisääntyneen muistikapasiteetin suoraan vaikuttamasta mikrokäskyn pituuteen. Useimmissa tapauksissa jokainen pystysuora mikrokäsky edustaa yhtä mikrooperaatiota.
Pystysuuntaisilla mikroohjelmilla on suurempi kooditiheys, mikä hyödyttää ohjausmuistin kokoa. Pystysuora mikrokäsky on samanlainen kuin perinteinen konekielityyli, joka koostuu vain yhdestä operaatiosta ja muutamat operandit.
Pystysuuntaisten mikroohjelmien kirjoittaminen on helpompaa kuin vaakasuuntaisten mikroohjelmien kirjoittaminen. Pystysuora mikrokäsky muistuttaa klassinen konekieli, jolla on vain yksi toiminto ja muutama operandi.
Tämän seurauksena mikroohjelmointi on yksinkertaista toteuttaa. Se koostuu neljästä kuuteen kentästä, joista jokainen vaatii 16-32 bittiä käskyä kohden.
Pystysuuntaisilla mikroohjelmilla on korkeampi koodikylläisyys, mikä hyödyttää ohjausmuistin kapasiteettia. Pystysuora mikrokäsky on samanlainen kuin perinteinen konekielityyli, joka koostuu vain yhdestä funktiosta ja muutamasta käsittelyelementistä.
Jokainen pystysuora mikrokäsky määrittelee tietyn mikrooperaation, jossa operandit osoittavat datan lähteen ja nielun.
Suurin ero horisontaalisen mikroohjelmoinnin ja pystysuuntaisen mikroohjelmoinnin välillä
- Horisontaalinen mikroohjelmointi mahdollistaa suuremman rinnakkaisuuden; jos aste on n, niin n ohjaussignaalia otetaan käyttöön samanaikaisesti. Toisaalta horisontaalinen mikroohjelmointi mahdollistaa vähäisen rinnakkaisuuden; jos aste on joko 0 tai 1, vain yksi ohjaussignaali on käytössä kerrallaan.
- Horisontaalinen mikroohjelmointi on vähemmän joustavaa kuin pystysuora mikroohjelmointiohjausyksikkö.
- Horisontaalinen mikroohjelmointi käyttää vähemmän RaoM-koodausta, kun taas vertikaalinen mikroohjelmointi käyttää enemmän ROM-koodausta ohjaussanan pituuden lyhentämiseksi.
- Vaakasuuntaiseen mikroohjelmointiin ei tarvita lisälaitteita, mutta pystysuorassa mikroohjelmoinnissa lisälaitteita on dekooderien muodossa, joita tarvitaan ohjaussignaalien tuottamiseen.
- Horisontaalinen mikroohjelmointi käyttää vaakasuuntaista mikrokäskyä, jossa jokainen ohjauskentän bitti liittyy ohjauslinjaan. Toisaalta pystysuora mikroohjelmointi käyttää pystysuoraa mikrokäskyä, jossa jokaiselle toiminnolle osoitetaan koodi, joka sitten muunnetaan yksittäisiksi ohjaussignaaleiksi dekoodeilla.
Viimeksi päivitetty: 11. kesäkuuta 2023
Sandeep Bhandari on suorittanut tietokonetekniikan kandidaatin tutkinnon Thaparin yliopistosta (2006). Hänellä on 20 vuoden kokemus teknologia-alalta. Hän on kiinnostunut erilaisista teknisistä aloista, mukaan lukien tietokantajärjestelmät, tietokoneverkot ja ohjelmointi. Voit lukea hänestä lisää hänen sivuiltaan bio-sivu.
Horisontaalisen mikroohjelmoinnin ja vertikaalisen mikroohjelmoinnin selitykset valaisevat erinomaisia niiden ominaisuuksia ja mekanismeja. Keskustelu rinnakkaisuuden asteesta on erityisen huomionarvoista.
Vaakasuuntaisen mikroohjelmoinnin ja vertikaalisen mikroohjelmoinnin yksityiskohtainen selostus tarjoaa kattavan yleiskatsauksen niiden ominaisuuksista ja toiminnallisista eroista. Se voi olla erittäin hyödyllistä niille, jotka opiskelevat tietokonearkkitehtuuria.
Mikroohjelmointi on olennainen osa tietokoneen ohjausyksikön rakennetta. Horisontaalisen mikroohjelmoinnin ja vertikaalisen mikroohjelmoinnin selitys antaa selkeän käsityksen niiden eroista.
Vertailutaulukko on erittäin hyödyllinen havainnollistamaan eroja horisontaalisen ja pystysuoran mikroohjelmoinnin välillä. Parametrien, kuten joustavuuden, koodauksen ja lisälaitteiden analyysi on melko perusteellinen.
Tämä on monimutkainen mutta erittäin informatiivinen artikkeli mikroohjelmoinnista. Se perehtyy syvälle horisontaalisen ja vertikaalisen mikroohjelmoinnin eroihin ja on täynnä teknisiä yksityiskohtia.
Tämän artikkelin tärkeimmät poiminnat tarjoavat arvokasta tietoa horisontaalisen ja pystysuoran mikroohjelmoinnin välisistä vivahteista, erityisesti mitä tulee rinnakkaisuuden ja koodauksen asteeseen.
Horisontaalisen mikroohjelmoinnin ja vertikaalisen mikroohjelmoinnin syvälliset kuvaukset ovat äärimmäisen valaisevia. Molemmilla menetelmillä on omat etunsa ja monimutkaisuutensa, jotka on selitetty osuvasti.
Yksityiskohtainen keskustelu horisontaalisen ja vertikaalisen mikroohjelmoinnin tärkeimmistä eroista on valaisevaa. Jokainen kohta on laadittu tarkasti, mikä helpottaa näiden kahden menetelmän välisten erojen ymmärtämistä.