Mikroprogrammēšana ir metode, kā sistemātiski ieviest datora vadības bloku. Īsāk sakot, tas ir mikroprocesora mikrokoda izveides process.
Mikrokods ir papildu kods, kas nosaka, kā mikroprocesoram jārīkojas, izpildot mašīnvalodas instrukcijas, un mikrokods dažreiz tiek saukts par mikroprogrammu, ja to izmanto konkrētā darbībā.
Savukārt mikroprogrammēts vadības bloks atmiņā saglabā binārās vadības vērtības kā vārdus.
Atslēgas
- Horizontālajā mikroprogrammēšanā katrs vadības signāls atbilst bita pozīcijai vadības vārdā, savukārt vertikālajā mikroprogrammēšanā katrs vadības signāls atbilst rindai vadības krātuvē.
- Horizontālā mikroprogrammēšana ir elastīgāka nekā vertikālā mikroprogrammēšana, jo izmaiņas var veikt vieglāk, mainot vadības vārdu. Turpretim vertikālā mikroprogrammēšana prasa izmaiņas visā vadības veikalā.
- Vertikālā mikroprogrammēšana ir ātrāka nekā horizontālā mikroprogrammēšana, jo vadības signāliem var piekļūt paralēli, savukārt horizontālajā mikroprogrammēšanā signāliem ir jāpiekļūst secīgi.
Horizontālā mikroprogrammēšana pret vertikālo mikroprogrammēšanu
Mikroprogrammēšanā horizontālā mikroprogrammēšana izmanto plašu mikroinstrukciju formātu ar vienu bitu uz vadības signālu, piedāvājot lielāku elastību un ātrumu. Vertikālā mikroprogrammēšana izmanto šauru mikroinstrukciju formātu, kam nepieciešama dekodēšana, jo tā ir lēnāka, bet tai nepieciešama mazāk vietas atmiņā.
Vadības signāli horizontālā mikroprogrammētā vadības blokā tiek attēloti dekodētā binārā formātā.
Katrs horizontālās mikroprogrammēšanas bits ir saistīts ar vienu kontroles punktu, kas parāda, ka ir jāizpilda atbilstošā mikrooperācija.
Tā kā katra mikroinstrukcija var vienlaikus vadīt vairākus resursus, tā var potenciāli uzlabot aparatūras lietojumu, vienlaikus samazinot katrai mikroprogrammai nepieciešamo mikroinstrukciju skaitu.
Vadības signāli vertikālā mikroprogrammētā vadības blokā ir kodēti binārā formātā. Katrai mikrooperācijai ir savs kods, ko dekodētājs pārvērš atšķirīgos vadības signālos.
Mikroinstrukciju lauki tiek pilnībā izmantoti, jo ir definēta tikai veicamā mikrooperācija. Turklāt vertikālās mikroprogrammas ir vienkārši rakstīt nekā horizontālās mikroprogrammas.
Salīdzināšanas tabula
Salīdzināšanas parametri | Horizontālā mikroprogrammēšana | Vertikālā mikroprogrammēšana |
---|---|---|
Paralelisma pakāpe | augstāka paralēlisma pakāpe | zema paralēlisma pakāpe |
Elastīga | Tas ir mazāk elastīgs | Tas ir elastīgāks |
šifrēšana | Tas mazāk izmanto ROM kodējumu nekā vertikālā mikroprogrammēšana | Tas vairāk izmanto ROM kodējumu |
Papildu aparatūra | Papildu aparatūra nav nepieciešama | Papildu aparatūra ir dekoderu veidā |
Secība | Tas izmanto horizontālo mikroinstrukciju | Tas izmanto vertikālo mikroinstrukciju |
Kas ir horizontālā mikroprogrammēšana?
Horizontāli ieprogrammētajā Micro vadības blokā vadības signāli tiek parādīti dekodētā binārajā formātā, tas ir, 1but/CS tur 'n' vadības signāliem ir nepieciešams n, bet kodējums.
Katrs horizontālās mikroprogrammēšanas bits ir saistīts ar atsevišķu kontroles punktu, kas parāda, ka ir jāveic attiecīgā mikrooperācija.
Jo katra mikroinstrukcija var pārvaldīt daudzas kūrorti tajā pašā laikā tas var uzlabot aparatūras lietojumu, vienlaikus prasot mazāk mikroinstrukciju katrai mikroprogrammai.
No otras puses, horizontālās mikroprogrammas ir vienlaikus veiktu mikrooperāciju kopums.
Tas nodrošina lielāku paralēlismu, vienlaikus izmantojot mazāk kodēšanas un atdalot vadības laukus. No otras puses, tādu mikroprogrammu izstrāde, kas optimāli vai efektīvi izmanto resursus, ir grūts izaicinājums.
Tā kā katrs vadības bits ir neatkarīgs no citiem, horizontālā mikroprogrammēšana nodrošina lielu brīvību. Tā kā tas ir garāks par vertikālajām mikroinstrukcijām, tas sniedz vairāk informācijas.
Tāpat kā tradicionālā mašīnvaloda, horizontālā mikroprogrammēšana izmanto secīgu veidu, lai izteiktu nākamās specifikācijas racionālā programmatūrā.
Katrs bits ir saistīts ar vienu komandpunktu, norādot, ka tas atbilst attiecīgajam kontroles punktam. Tiks veikta mikrooperācija. Zari, kas ir gan nosacīti, gan beznosacījuma. Pēc tam secība ir jāpārtrauc, izmantojot vadības funkcijas.
Kas ir vertikālā mikroprogrammēšana?
Vadības signāli tiek definēti kodētā binārā formātā vertikālās mikroprogrammētās vadības blokos, un “n” vadības signāliem ir nepieciešama log2n bitu kodēšana.
Vertikālā mikroprogrammēšana, atšķirībā no horizontālās mikroprogrammēšanas, izmanto elastīgu formātu un augstāku kodēšanas pakāpi.
Tas samazina mikroinstrukcijas garumu un novērš to, ka palielināta atmiņas ietilpība tieši ietekmē mikroinstrukcijas garumu. Vairumā gadījumu katra vertikālā mikroinstrukcija ir viena mikrooperācija.
Vertikālajām mikroprogrammām ir lielāks koda blīvums, kas labvēlīgi ietekmē vadības krātuves lielumu. Vertikālā mikroinstrukcija ir līdzīga tradicionālajam mašīnvalodas stilam, kas sastāv tikai no vienas darbības un daži operandi.
Vertikālo mikroprogrammu rakstīšana ir vienkāršāka nekā horizontālu mikroprogrammu rakstīšana. Vertikālā mikroinstrukcija atgādina klasisks mašīnvaloda, kurai ir tikai viena darbība un daži operandi.
Tā rezultātā mikroprogrammēšanu ir viegli ieviest. Tas sastāv no četriem līdz sešiem laukiem, katram ir nepieciešami 16 līdz 32 biti vienai instrukcijai.
Vertikālajām mikroprogrammām ir lielāks koda piesātinājums, kas dod labumu vadības krātuves ietilpībai. Vertikālā mikroinstrukcija ir līdzīga tradicionālajam mašīnvalodas stilam, kas sastāv tikai no vienas funkcijas un dažiem apstrādes elementiem.
Katra vertikālā mikroinstrukcija definē konkrētu mikrooperāciju ar operandiem, kas norāda datu avotu un izlietni.
Galvenā atšķirība starp horizontālo mikroprogrammēšanu un vertikālo mikroprogrammēšanu
- Horizontālā mikroprogrammēšana nodrošina augstāku paralēlisma pakāpi; ja pakāpe ir n, tad vienlaikus tiek iespējoti n vadības signāli. No otras puses, horizontālā mikroprogrammēšana pieļauj zemu paralēlisma pakāpi; ja pakāpe ir 0 vai 1, tad vienlaikus tiek iespējots tikai viens vadības signāls.
- Horizontālā mikroprogrammēšana ir mazāk elastīga nekā vertikālās mikroprogrammēšanas vadības bloks.
- Horizontālā mikroprogrammēšana mazāk izmanto RaoM kodējumu, savukārt vertikālā mikroprogrammēšana vairāk izmanto ROM kodējumu, lai samazinātu vadības vārda garumu.
- Horizontālajai mikroprogrammēšanai nav nepieciešama papildu aparatūra, bet vertikālajā mikroprogrammēšanā papildu aparatūra ir dekoderu veidā, kas nepieciešama vadības signālu ģenerēšanai.
- Horizontālā mikroprogrammēšana izmanto horizontālu mikroinstrukciju, kurā katrs bits vadības laukā ir saistīts ar vadības līniju. No otras puses, vertikālā mikroprogrammēšana izmanto vertikālu mikroinstrukciju, kurā katrai darbībai tiek piešķirts kods, ko pēc tam dekoderi pārvērš atsevišķos vadības signālos.
Pēdējo reizi atjaunināts: 11. gada 2023. jūnijā
Sandeep Bhandari ir ieguvis inženierzinātņu bakalaura grādu datorzinātnēs Tapara universitātē (2006). Viņam ir 20 gadu pieredze tehnoloģiju jomā. Viņam ir liela interese par dažādām tehniskajām jomām, tostarp datu bāzu sistēmām, datortīkliem un programmēšanu. Vairāk par viņu varat lasīt viņa vietnē bio lapa.
Horizontālās mikroprogrammēšanas un vertikālās mikroprogrammēšanas skaidrojumi lieliski izgaismo to attiecīgos atribūtus un mehānismus. Īpaši ievērības cienīga ir diskusija par paralēlisma pakāpi.
Detalizēts horizontālās mikroprogrammēšanas un vertikālās mikroprogrammēšanas skaidrojums sniedz visaptverošu pārskatu par to īpašībām un darbības atšķirībām. Tas var būt ļoti izdevīgi tiem, kas studē datoru arhitektūru.
Mikroprogrammēšana ir būtisks datora vadības bloka struktūras aspekts. Horizontālās mikroprogrammēšanas un vertikālās mikroprogrammēšanas skaidrojums sniedz skaidru izpratni par to atšķirībām.
Salīdzināšanas tabula ir ļoti noderīga, lai ilustrētu atšķirības starp horizontālo un vertikālo mikroprogrammēšanu. Tādu parametru kā elastība, kodējums un papildu aparatūra analīze ir diezgan rūpīga.
Šis ir sarežģīts, bet ļoti informatīvs raksts par mikroprogrammēšanu. Tā dziļi iedziļinās horizontālās un vertikālās mikroprogrammēšanas atšķirībās un ir pilna ar tehniskām detaļām.
Galvenie šī raksta secinājumi sniedz vērtīgu ieskatu niansēs starp horizontālo un vertikālo mikroprogrammēšanu, jo īpaši attiecībā uz paralēlisma un kodēšanas pakāpi.
Horizontālās mikroprogrammēšanas un vertikālās mikroprogrammēšanas padziļinātie apraksti ir ārkārtīgi skaidri. Abām metodēm ir savas atšķirīgās priekšrocības un sarežģītība, kas ir trāpīgi izskaidrotas.
Detalizēta diskusija par galvenajām atšķirībām starp horizontālo un vertikālo mikroprogrammēšanu ir izglītojoša. Katrs punkts ir izstrādāts ar precizitāti, kas atvieglo abu metožu atšķirību izpratni.