Différence entre la microprogrammation horizontale et verticale

Différence entre la microprogrammation horizontale et verticale

Le processus d'écriture du microcode pour la mémoire de contrôle de l'unité de traitement centrale d'un ordinateur est appelé microprogrammation. Le microcode de la mémoire de commande est généré après la configuration d'un ordinateur et de son unité de contrôle micro programmée. La mémoire de contrôle fait partie de l'unité de contrôle qui stocke tous les micro-programmes qui ne peuvent pas être modifiés fréquemment. Chaque ligne du micro-programme représente une micro-instruction qui spécifie une ou plusieurs micro-opérations. Il existe deux façons distinctes de microinstructions peuvent être organisées: horizontal et vertical. Les micro-instructions horizontales représentent plusieurs micro-opérations qui sont exécutées en même temps. Cependant, dans des cas extrêmes, chaque micro-instruction horizontale contrôle toutes les ressources matérielles du système. Au contraire, la micro-instruction verticale ressemble au format de langue de la machine conventionnelle comprenant une opération et quelques opérandes. Contrairement aux micro-instructions horizontales, la micro-instruction verticale représente des micro-opérations uniques.

Microprogrammation horizontale

En microprogrammation horizontale, chaque bit est identifié spécifiquement avec un seul point de contrôle, ce qui indique que la micro-opération correspondante doit être exécutée. Étant donné que chaque micro-instruction est suffisamment capable pour contrôler plusieurs ressources simultanément, il a l'avantage potentiel d'une utilisation matérielle plus efficace et en outre, il nécessite un nombre plus petit de micro-structures par microprogramme. Il permet un degré de parallélisme plus élevé avec un minimum de champs de codage et de contrôle séparés. Cependant, développer des microprogrants qui utilisent des ressources de manière optimale ou efficace est une tâche complexe. La microprogrammation horizontale offre une grande flexibilité car chaque bit de contrôle est indépendant les uns des autres. Il a une longueur plus grande, il contient généralement plus d'informations que les microinstructions verticales.

Microprogrammation verticale

La microprogrammation verticale utilise un format variable et un degré de codage plus élevé, par opposition à la microprogrammation horizontale. Il raccourcit non seulement la longueur de la micro-instruction, mais empêche également l'augmentation de la capacité de mémoire d'affecter directement la longueur de micro-instruction. Chaque micro-instruction verticale représente généralement une seule micro-opération. Un code est utilisé pour chaque micro-opération à effectuer et le décodeur traduit le code en signaux de contrôle individuels. Étant donné que seule la micro-opération à effectuer est spécifiée, les champs de micro-instruction sont entièrement utilisés. Plus les microprogrants verticaux sont plus faciles à écrire que leurs homologues horizontaux. La micro-instruction verticale ressemble au format de langue de la machine conventionnelle comprenant une opération et quelques opérandes. Il est donc facile à utiliser pour la microprogrammation. Il se compose généralement de quatre à six champs qui nécessitent environ 16 à 32 bits par instruction.

Différence entre la microprogrammation horizontale et verticale

Codage

La microprogrammation verticale utilise un format variable et un degré de codage plus élevé, par opposition à la microprogrammation horizontale. En microprogrammation verticale, les bits de commande sont codés avec chaque code utilisé pour chaque action à effectuer et un décodeur d'instructions décode le code en plusieurs signaux de contrôle. Au contraire, la microprogrammation horizontale implique. Ils représentent chaque bit de contrôle dans le chemin de données attribué avec un bit séparé dans le format de micro-instruction. Chaque bit dans le champ de commande est attaché à une ligne de contrôle.

Séquence

La microprogrammation horizontale suit généralement une approche séquentielle pour spécifier la micro-instruction suivante dans un microprogramme, similaire au format de langage machine conventionnel. Chaque bit est identifié spécifiquement avec un seul point de contrôle, ce qui indique que la micro-opération correspondante doit être exécutée. Des microinstructions de branche conditionnelles et inconditionnelles spéciales sont alors nécessaires pour briser la séquence. La microprogrammation verticale peut utiliser un schéma d'adressage relativement. Cela nécessite un calcul d'adresse à chaque étape.

Conception

- Les microprogrants verticaux ont une meilleure densité de code qui est bénéfique pour la taille du magasin de contrôle. La micro-instruction verticale ressemble au format de langue de la machine conventionnelle comprenant une opération et quelques opérandes. Chaque micro-instruction verticale représente une seule micro-opération, tandis que les opérandes peuvent spécifier l'évier de données et la source. Les microprogrants horizontaux, en revanche, représentent généralement plusieurs micro-opérations qui sont exécutées en même temps. Dans les cas extrêmes, chaque micro-instruction horizontale contrôle plusieurs ressources matérielles simultanément.

La flexibilité

- Les microprogrants horizontaux offrent une flexibilité améliorée car chaque bit de contrôle est indépendant les uns des autres. Il a une longueur plus grande, il contient généralement plus d'informations que les microinstructions verticales. Les microinstructions horizontales avec 48 bits ou plus sont assez courantes. Les microprogrants horizontaux ont l'avantage potentiel d'utiliser plus efficacement le matériel et en plus, il nécessite un plus petit nombre de micro-structures par microprogramme. Les microinstructions verticales, en revanche, sont plus compactes mais moins flexibles que les microinstructions horizontales. L'approche verticale est par conséquent facile à utiliser pour la microprogrammation.

Horizontal vs. Microprogrammation verticale: tableau de comparaison

Résumé de la microprogrammation horizontale et verticale

Contrairement aux micro-instructions horizontales, la micro-instruction verticale représente des micro-opérations uniques. Les microprogrants horizontaux permettent un degré de parallélisme plus élevé avec une quantité minimale de champs de codage et de contrôle séparés tandis que les bits de contrôle sont codés dans des microprogrants verticaux. Le choix entre les deux approches doit être fait soigneusement. Cependant, en pratique, les concepteurs utilisent une combinaison de formats de microinstruction horizontaux et verticaux afin que la structure résultante soit compacte mais efficace.