Unterschied zwischen horizontaler und vertikaler Mikroprogrammierung

Unterschied zwischen horizontaler und vertikaler Mikroprogrammierung

Der Prozess des Schreibens von Mikrocode für den Steuerspeicher der zentralen Verarbeitungseinheit eines Computers wird als Mikroprogramm bezeichnet. Der Mikrocode für den Steuerspeicher wird nach der Konfiguration eines Computers generiert und der mikroprogrammierte Steuergerät wurde festgelegt. Der Steuerspeicher ist Teil der Steuereinheit, die alle Mikroprogramme speichert, die nicht häufig geändert werden können. Jede Linie des Micro-Programms stellt eine Mikroinstruktion dar, die eine oder mehrere Mikrooperationen angibt. Es gibt zwei verschiedene Möglichkeiten, wie Mikroinstruktionen organisiert werden können: horizontal und vertikal. Horizontale Mikroinstruktionen repräsentieren mehrere Mikrooperationen, die gleichzeitig ausgeführt werden. In extremen Fällen steuert jede horizontale Mikroinstruktion jedoch alle Hardware -Ressourcen des Systems. Im Gegensatz. Im Gegensatz zu horizontalen Mikroinstruktionen repräsentiert die vertikale Mikroinstruktion einzelne Mikrooperationen.

Horizontale Mikroprogrammierung

Bei der horizontalen Mikroprogrammierung wird jedes Bit spezifisch mit einem einzelnen Kontrollpunkt identifiziert, was darauf hinweist, dass die entsprechende Mikrooperation ausgeführt werden soll. Da jede Mikroinstruktion in der Lage ist, mehrere Ressourcen gleichzeitig zu steuern, hat sie den potenziellen Vorteil einer effizienteren Hardwareauslastung. Darüber hinaus benötigt sie eine geringere Anzahl von Mikroinstruktionen pro Mikroprogramm. Es ermöglicht einen höheren Grad an Parallelität mit einer minimalen Menge an Codierungs- und getrennten Kontrollfeldern. Die Entwicklung von Mikroprogrammen, die Ressourcen optimal oder effizient verwenden, ist jedoch eine komplexe Aufgabe. Die horizontale Mikroprogrammierung bietet große Flexibilität, da jedes Kontrollbit unabhängig voneinander ist. Es hat eine größere Länge, so dass es normalerweise mehr Informationen als vertikale Mikroinstruktionen enthält.

Vertikale Mikroprogrammierung

Die vertikale Mikroprogrammierung verwendet ein variables Format und einen höheren Kodierungsgrad im Gegensatz zur horizontalen Mikroprogrammierung. Es verkürzt nicht nur die Länge der Mikroinstruktion, sondern verhindert auch, dass die zunehmende Speicherkapazität die Mikroinstruktionslänge direkt beeinflusst. Jede vertikale Mikroinstruktion repräsentiert im Allgemeinen eine einzelne Mikrooperation. Für jede zu durchgeführte Mikrooperation wird ein Code verwendet, und der Decoder übersetzt den Code in einzelne Steuerungssignale. Da nur die auszuführende Mikrooperation angegeben ist, werden die Mikroinstruktionsfelder vollständig verwendet. Plus vertikale Mikrogram sind einfacher zu schreiben als ihre horizontalen Gegenstücke. Die vertikale Mikroinstruktion ähnelt dem herkömmlichen Format der herkömmlichen Maschinensprache, das einen Vorgang und einige Operanden umfasst. Es ist folglich einfach für die Mikroprogrammen zu bedienen. Es besteht im Allgemeinen aus vier bis sechs Feldern, die ungefähr 16 bis 32 Bit pro Anweisung benötigen.

Unterschied zwischen horizontaler und vertikaler Mikroprogrammierung

Codierung

Die vertikale Mikroprogrammierung verwendet ein variables Format und einen höheren Kodierungsgrad im Gegensatz zu horizontaler Mikroprogrammierung. Bei vertikaler Mikroprogrammierung werden die Kontrollbits codiert, wobei jeder Code für jede zu ausgeführte Aktion verwendet wird, und ein Befehlskodierer decodiert den Code in mehrere Kontrollsignale. Im Gegenteil. Sie stellen jedes Kontrollbit im Datapath dar, das im Mikroinstruktionsformat ein separates Bit zugewiesen ist. Jedes Bit im Steuerfeld ist an eine Steuerlinie angebracht.

Reihenfolge

Die horizontale Mikroprogrammierung folgt im Allgemeinen einem sequentiellen Ansatz, um die nächste Mikroinstruktion in einem Mikroprogramm anzugeben, ähnlich wie das herkömmliche Maschinensprachenformat. Jedes Bit wird speziell mit einem einzelnen Kontrollpunkt identifiziert, der angibt, dass die entsprechende Mikrooperation ausgeführt werden soll. Spezielle bedingte und bedingungslose Zweig -Mikroinstruktionen sind dann erforderlich, um die Sequenz zu brechen. Die vertikale Mikroprogrammierung kann ein relativ Adressierungsschema verwenden, bei dem einige Bits erforderlich sind, um einen relativen Vorwärts- oder einen Rückwärtssprung anzugeben. Dies erfordert bei jedem Schritt Adressberechnung.

Design

- Vertikale Mikroprogramme haben eine bessere Codedichte, die für die Größe des Kontrollgeschäfts von Vorteil ist. Die vertikale Mikroinstruktion ähnelt dem herkömmlichen Format der herkömmlichen Maschinensprache, das einen Vorgang und einige Operanden umfasst. Jede vertikale Mikroinstruktion stellt eine einzelne Mikrooperation dar, während Operanden die Datensenke und Quelle angeben können. Horizontale Mikroprogramme stellen andererseits im Allgemeinen mehrere Mikrooperationen dar, die gleichzeitig ausgeführt werden. In extremen Fällen steuert jede horizontale Mikroinstruktion mehrere Hardware -Ressourcen gleichzeitig.

Flexibilität

- Horizontale Mikroprogramme bieten eine verbesserte Flexibilität, da jedes Kontrollbit unabhängig voneinander ist. Es hat eine größere Länge, so dass es normalerweise mehr Informationen als vertikale Mikroinstruktionen enthält. Horizontale Mikroinstruktionen mit 48 oder mehr Bits sind weit verbreitet. Horizontale Mikroprogramme haben den potenziellen Vorteil, Hardware effizienter zu nutzen, und darüber dauert eine geringere Anzahl von Mikroinstruktionen pro Mikroprogramm. Vertikale Mikroinstruktionen hingegen sind kompakter, aber weniger flexibler als horizontale Mikroinstruktionen. Der vertikale Ansatz ist folglich für die Mikroprogrammen einfach zu bedienen.

Horizontal vs. Vertikale Mikroprogrammierung: Vergleichstabelle

Zusammenfassung der horizontalen und vertikalen Mikroprogrammierung

Im Gegensatz zu horizontalen Mikroinstruktionen repräsentiert die vertikale Mikroinstruktion einzelne Mikrooperationen. Horizontale Mikroprogramme ermöglichen einen höheren Grad an Parallelität mit einer minimalen Menge an Codierungs- und getrennten Kontrollfeldern, während die Kontrollbits in vertikalen Mikroprogrammen codiert werden. Die Wahl zwischen den beiden Ansätzen muss sorgfältig getroffen werden. In praktischer Weise verwenden Designer jedoch eine Kombination aus horizontalen und vertikalen Mikroinstruktionsformaten, so dass die resultierende Struktur kompakt und dennoch effizient ist.