Differenza tra microprogrammazione orizzontale e verticale

Differenza tra microprogrammazione orizzontale e verticale

Il processo di scrittura del microcodice per la memoria di controllo dell’unità di elaborazione centrale di un computer è chiamato microprogrammazione. Il microcodice per la memoria di controllo viene generato dopo la configurazione di un computer e la relativa unità di controllo micro programmata. La memoria di controllo è parte dell’unità di controllo che memorizza tutti i micro programmi che non possono essere modificati frequentemente. Ogni riga del microprogramma rappresenta una microistruzione che specifica una o più micro operazioni. Esistono due modi distinti di organizzare le microistruzioni: orizzontale e verticale. Le microistruzioni orizzontali rappresentano diverse micro-operazioni che vengono eseguite contemporaneamente. Tuttavia, in casi estremi, ogni orizzontalela microistruzione controlla tutte le risorse hardware del sistema. Al contrario, la microistruzione verticale assomiglia al formato del linguaggio macchina convenzionale comprendente un’operazione e pochi operandi. A differenza delle microistruzioni orizzontali, la microistruzione verticale rappresenta singole micro-operazioni.

Microprogrammazione orizzontale

Nella microprogrammazione orizzontale, ogni bit è identificato specificamente con un unico punto di controllo, che indica che la micro-operazione corrispondente deve essere eseguita. Poiché ogni microistruzione è in grado di controllare più risorse contemporaneamente, ha il potenziale vantaggio di un utilizzo più efficiente dell’hardware e, inoltre, richiede un numero minore di microistruzioni per microprogramma. Consente un maggiore grado di parallelismo con una quantità minima di codifica e campi di controllo separati. Tuttavia, lo sviluppo di microprogrammi che utilizzano le risorse in modo ottimale o efficiente è un compito complesso. La microprogrammazione orizzontale offre una grande flessibilità perché ogni bit di controllo è indipendente l’uno dall’altro. Ha una lunghezza maggiore, quindi in genere contiene più informazioni rispetto alle microistruzioni verticali.

Microprogrammazione verticale

La microprogrammazione verticale utilizza un formato variabile e un grado di codifica più elevato, rispetto alla microprogrammazione orizzontale. Non solo riduce la lunghezza della microistruzione, ma impedisce anche che la crescente capacità di memoria influenzi direttamente la lunghezza della microistruzione. Ogni microistruzione verticale rappresenta generalmente una singola microoperazione.   Viene utilizzato un codiceper ogni microoperazione da eseguire e il decoder traduce il codice in singoli segnali di controllo. Poiché viene specificata solo la microoperazione da eseguire, i campi della microistruzione sono completamente utilizzati. Inoltre, i microprogrammi verticali sono più facili da scrivere rispetto alle loro controparti orizzontali. La microistruzione verticale assomiglia al formato convenzionale del linguaggio macchina comprendente un’operazione e pochi operandi. Di conseguenza è facile da usare per la microprogrammazione. In genere è costituito da quattro a sei campi che richiedono circa da 16 a 32 bit per istruzione.

Differenza tra microprogrammazione orizzontale e verticale

Differenza tra microprogrammazione orizzontale e verticale

A differenza delle microistruzioni orizzontali, la microistruzione verticale rappresenta singole micro-operazioni. I microprogrammi orizzontali consentono un grado più elevato di parallelismo con una quantità minima di codifica e campi di controllo separati mentre i bit di controllo sono codificati in microprogrammi verticali. La scelta tra i due approcci deve essere fatta con attenzione. Tuttavia, in pratica, i progettisti utilizzano una combinazione di formati di microistruzione orizzontale e verticale in modo che la struttura risultante sia compatta ma efficiente.

Codifica e programmazioni

La microprogrammazione verticale utilizza un formato variabile e un grado di codifica più elevato, rispetto alla microprogrammazione orizzontale. Nella microprogrammazione verticale, i bit di controllo sono codificati con ciascun codice utilizzato per ciascuna azione da eseguire e un decodificatore di istruzioni decodifica il codice in più segnali di controllo. Al contrario, la microprogrammazione orizzontale implica microistruzioni orizzontali che non utilizzano alcuna codifica. Rappresentano ogni bit di controllo nel percorso dati assegnato con un bit separato nel formato di microistruzione. Ogni bit nel campo di controllo è collegato a una linea di controllo.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *