Brevet FR2520528A1 — publié le 19830729

Processeur de microordinateur. L'invention concerne les ordinateurs numériques et a notamment pour objet un processeur de microordinateur destiné au traitement des données. L'invention petit être utilisée dans les dispositifs de dépouillement des informations, dans les dispositifs d'automatisme et de télémécanique, dans les systèmes de calcul d'usage général par exemple. Il existe un processeur de microordinateur (brevet d'invention des Etats-Unis n0 4 016 546) qui comporte un bus de données, des registres qui lui sont reliés, une unité logique arithmétique, ainsi qu'un bloc de commande relié aux registres et à l'unité logique arithmétique. Ledit processeur n'a pas de moyens pour réaliser les algorithmes de traitement des caractères au niveau de la microprogrammation, ce qui entrasse une baisse générale du rendement du processeur. On connatt également un processeur de microordina- teur (Hark J. Severn "A minicomputer-compatible microcomputer System : The DSC LSI-11" dans "Proceedings of the IEEE, vol. 64, n0 6, juin 1976) qui comporte un bloc de mémoire à accès très rapide pour stocker une information numérique durant l'exécution des opérations par le processeur de microordinateur, une unité logique arithmétique pour transformer l'information numérique et un bloc d'interfaces ou de liaison pour organiser l'échange d'information numérique reliés par un bus de données interne.Ce processeur de microordinateur comporte également un bloc de commande à microprogramme destiné à commander les opérations de transformation et d'échange d'information numérique dans le processeur de microordinateur, la première entrée du bloc de commande étant reliée au bus de données interne et sa sortie étant reliée aux entrées de commande du bloc de mémoire à accès très rapide, de l'unité logique arithmétique et du bloc d'interfaces, ainsi qu'un registre de l'état du processeur pour stocker un code d'indices des opérations arithmétiques. L'entrée du registre de l'état du processeur est reliée à la sortie de l'unité logique arithmétique et sa sortie est reliée à la deuxième entrée du bloc de commande à microprogramme. On a prévu dans ledit processeur de microordinateur un "format" ou structure de micro-instructions pour le travail avec les lettres et un "format" ou structure de branchements conditionnels. Cependant, le champ d'une microinstruction désigné pour le travail avec les lettres et le champ d'une micro-instruction utilisé pour organiser les branchements conditionnels sont limités par huit bits et l'exécution des opérations avec les mots dépassant seize bits se fait en deux cycles de machine ou davantage. L'élargissement du champ de la micro-instruction pour le travail avec les lettres entraîné une augmentation notable de l'encom- brement du bloc de commande à microprogrammes. Ainsi, la vitesse d'exécution des instructions de traitement des données par caractères n'est pas élevée.De plus, ledit processeur n'a pas de possibilités de traitement de nombres sous la forme binaire-décimale au niveau de la microprogrammation, ce qui limite ses capacités fonctionnelles. L'invention concerne un processeur de microordinateur dans lequel l'introduction de nouveaux blocs fonctionnels permet d'élever la vitesse d'exécution des instructions de traitement des données par caractères et d'élargir ses capacités fonctionnelles. Le problème posé est résolu par le fait que le processeur de microordinateur servant à traiter les données comporte un bloc de mémoire à accès très rapide pour stocker une information numérique durant l'exécution des opérations par le processeur de micro-ordinateur, une unité logique arithmétique pour exécuter les transformations de l'information numérique, un bloc d'interfaces ou de liaison pour organiser l'échange d'information numérique, reliés par un bus de données interne, un bloc de commande à microprogrammes qui commande l'exécution des opérations de transformation et d'échange d'information numérique dans le processeur de micro-ordinateur, la première entrée de ce bloc de commande étant reliée au bus de données interne et sa sortie étant reliée aux entrées de commande du bloc de mémoire à accès très rapide, de 11 unité logique arithmétique et du bloc d'interfaces, ainsi qu'un registre de l'état du processeur pour stocker un code d'indices des opérations arithmétiques, dont l'entrée est reliée à la sortie de l'unité logique arithmétique et la sortie est reliée à la deuxième entrée du bloc de commande à microprogrammes, l'entrée de commande du registre de l'état du processeur étant reliée à la sortie du bloc de commande à microprogrammes, conformément à l'invention, et est caractérisé en ce qu'il comporte un accumultateur de constantes, dont la sortie est reliée à l'entrée de l'unité logique arithmétique, un premier et deuxième éléments de commutation, dont les sorties sont reliées à la deuxième entrée de l'unité logique arithmétique, un registre de mémorisation de l'instruction en exécution, une source de potentiels logiques, la première entrée du premier élément de commutation étant reliée à la sortie du registre de l'état du processeur, la première entrée du deuxième élément de commutation étant reliée à la sortie du registre dont l'entrée est branchée sur le bus de données interne et les deuxièmes entrées des éléments de commutation étant reliées à la sortie de la source de potentiels logiques, et un décodeur, dont l'entrée est reliée à la sortie du bloc de commande à microprogrammes et la sortie à l'entrée de commande de l'accumulateur de constantes et aux entrées de commande des premier et deuxième éléments de commutation. Un tel processeur selon l'invention permet d'exécuter les instructions d'incrément et de décrément à pas fixe 1, 2, 3, 4... n, les instructions de traitement des caractères, les opérations de branchements conditionnels et les opérations de correction du résultat en travaillant avec les nombres sous forme binaire-décimale en un cycle de machine. Un champ à huit bits de micro-instruction appliqué à l'entrée du décodeur permet d'adresser jusqu'à 256 constantes, autrement dit, l'encombrement général du bloc de commande à microprogrammes étant le même, le nombre de constantes possibles augmente. De plus, on accélère l'exécution des instructions dans lesquelles les adresses des opérandes sont formées par le champ de bits de l'instruction. Ceci accroît la rapidité du processeur du micro-ordinateur et élargit ses capacités fonctionnelles. L'invention ressortira de la description ultérieure d'un exemple concret d'exécution, schématisé sur les dessins annexés sur lesquels - la figure 1 représente le schéma structurel d'un processeur de microordinateur, selon l'invention ; et - la figure 2 représente le schéma fonctionnel d'un élément de commutation, selon l'invention. Le processeur de micro-ordinateur servant à traiter les données comporte un bloc de mémoire à accès très rapide 1, une unité logique arithmétique 2 et un bloc d'interfaces 3, reliés par un bus de données interne 4. le processeur comporte également un bloc de commande à microprogramme 5 ; la première entrée du bloc de commande à microprogrammes 5 est reliée au bus de données interne 4 et sa sortie 6 est branchée sur les entrées de commande du bloc 1 de mémoire à accès très rapide, de l'unité logique arithmétique 2 et du bloc d'interfaces 3. De plus, le processeur de micro-ordinateur comporte un registre 7 de l'état du processeur pour stocker un code d'indices des opérations arithmétiques telles que : "résultat égal à zéro", "signe négatif du résultat", "débordement de la capacité", "transfert des tétrades", etc. Une entrée 8 du registre 7 de l'état du processeur est reliée à la sortie de l'unité logique arithmétique 2 et sa sortie 9 à la deuxième entrée du bloc de commande à microprogrammes 5. La sortie 6 du bloc de commande à microprogrammes 5 est reliée à l'entrée de commande du registre 7 de l'état du processeur. Le processeur de micro-ordinateur comporte un accumulateur de constantes 10 se présentant sous la forme d'une mémoire fixe, dont la capacité est égale à la capacité de l'unité logique arithmétique 2 et dont la sortie est reliée à une entrée 11 de l'unité logique arithmétique 2. le processeur comporte également des premier et deuxième éléments de commutation 12, 13 dont les sorties sont branchées sur l'entrée 11 de l'unité logique arithmétique 2. La première entrée du premier élément de commutation 12 est reliée à la sortie 9 du registre 7 de l'état du processeur. Une première entrée 14 du deuxième élément de commutation 13 est reliée à la sortie d'un registre 15. L'entrée du registre 15 est reliée au bus des données internes 4. Les deuxièmes entrées des premier et deuxième éléments de commutation 12, 13 sont reliées à une sortie 16 d'une source de potentiels logiques 17 (pour la plupart des éléments logiques, les potentiels du zéro et de l'unité logiques sont le potentiel nul et le potentiel de la source d'alimentation du circuit). les entrées de commande des éléments de commutation 12, 13 et l'entrée de l'accumulateur de constantes 10 sont reliées à une sortie 18 d'un décodeur 197 dont l'entrée est reliée à la sortie 6 du bloc de commande à microprogrammes 5. Le premier élément de commutation 12 comporte un circuit "ET" 20 (figure 2) et un circuit de commutation programmable 21. Une première entrée 22 du circuit "ET" 20 est reliée à l'entrée de commande de l'élément de commutation 13 (figure 1), la deuxième entrée du circuit "ET" 20 est reliée à une sortie 23 du circuit de commutation programmable 21. La sortie 24 du circuit "ET" 20 est reliée à la première entrée de l'élément de commutation 12 (figure 1). Une deuxième entrée 26 (figure 2) du circuit de commutation programmable 21 est reliée à la deuxième entrée de l'élément de commutation 12 (figure 1). Le circuit de commutation programmable 21 (figure 2) est programmé à l'aide d'un cache technologique au moment de la fabrication.Le circuit de commutation programmable 21 reçoit soit un signal depuis le registre 7 (figure 1) de l'état du processeur, soit le potentiel du zéro logique ou de l'unité logique depuis la sortie 16 de la source de potentiels logiques 17. Le deuxième élément de commutation 13 possède un schéma fonctionnel identique. Le processeur de microordinateur qui vient d'entre décrit fonctionne de la façon suivante. L'instruction d'exécution fournie par le bloc d'interfaces ou de liaison 3 arrive sur la première entrée du bloc à commande de micro-programmes 5 et sur l'entrée du registre 15 où elle est mémorisée. Chaque instruction exécu- tée par le processeur de microordinateur est transformée, par le bloc de commande à microprogrammes 5, en une séquence de micro-instructions qui comportent les champs suivants champ de commande de l'unité logique arithmétique 2, champ de l'adresse de l'opérande dans le bloc 1 de mémoire à accès très rapide, champ de commande du bloc d'interfaces ou de liaison 3, champ de commande du registre 7 de l'état du processeur et champs des bits de la micro-instruction, ces champs arrivant sur l'entrée du décodeur 19. le décodeur 19 forme un signal qui permet d'extraire de l'accumulateur de constantes 10 l'une des constantes ou un signal qui commande un des éléments de commutation 12, 13. En ce cas, la constante sélectionnée est transmise à l'entrée 11 de l'unité logique arithmétique 2. Si le signal d'extraction attaque l'entrée de commande d'un des éléments de commutation 12, 13, l'entrée Il de l'unité logique arithmétique reçoit un mot info#atif dont une partie de bits correspond à l'information stockée dans le registre 7 de 11 état du processeur ou à l'information stockée dans le registre 15. l'autre partie de bits est égale à zéro ou à l'unité. Le contenu concret des bits de ces mots infoiinatifs est imposé par le circuit de commutation programmable 21 (figure 2). Par exemple, afin de réaliser une instruction de branchement conditionnel, il faut que 8 bits inférieurs du mot informatif répètent 8 bits inférieurs du mot stocké dans le registre 15 (figure 1) et 8 bits supérieurs répètent le huitième bit de ce mot. Afin de corriger 11 exécution des opérations sur les nombres présentés sous la forme binaire-décimale, le troisième et le premier bits de chaque tétrade doivent répéter l'information dans la bascule respective (non représentée sur le dessin) du registre 7 de l'état du processeur fixant les transferts des tétrades. D'autres bits doivent être égaux à zéro. La constante ou ltopérande choisi, dont une partie des bits correspond au contenu du registre 15 ou au contenu du registre 7 de l'état du processeur, arrive sur l'entrée 11 de l'unité logique arithmétique 2. le deuxième opérande passe par le bus des données internes 4 depuis le bloc 1 de mémoire à accès très rapide ou depuis le bloc d'interfaces 3. L'unité logique arithmétique 2 exécute l'opération et son résultat soit s'inscrit dans le bloc 1 de mémoire à accès très rapide, soit est transmis au bloc d'interfaces 3. Alors, l'exécution de l'instruction est terminée et le processeur procède à l'extraction et à L'exécution de l'instruction suivante. Pour le travail des éléments de commutation 12, 13 le signal fourni par l'entrée de commande du premier élément de commutation 12 est transmis sur la première entrée 22 (figure 2) du circuit "ET" 20 et autorise le passage de l'information depuis la sortie 23 du circuit de commutation programmable 21 vers 18 sortie du premier élément de commutation 12. le circuit de commutation programmable 21 transmet l'information depuis ses entrées 25, 26 sur la sortie 23, alors que la direction du transfert de l'information est programmée à l'aide d'un cache technologique lors de la fabrication. La sortie 23 du circuit de commutation programmable 21 peut recevoir soit l1information stockée dans le registre 7 (figure 1) de l'état du processeur, soit le zéro logique ou l'unité logique depuis la sortie 16 de la source de potentiels logiques 17.Le deuxième élément de commutation 13 fonctionne de la même façon. Le processeur de microordinateur décrit permet d'exécuter les instructions d'incrément et de décrément à pas fixe 1, 2, 3, 4 ... n, les instructions de traitement des caractères, les opérations de branchements conditionnels et les opérations de correction du résultat en travaillant avec les nombres présentés sous la forme binaire-décimale en un cycle de machine. le champ à huit bits de la micro-instruction amené sur l'entrée du décodeur 19 permet d'adresser jusqu'd 254 constantes et deux éléments de commutation 12, 13, c'est-à-dire en tout, 256 constantes ; donc, en préservant l'encombrement général du bloc de commande à microprogrammes 5 on augmente le nombre de constantes possibles. Ceci accroît la rapidité du processeur de microordinateur, élargit ses capacités fonctionnelles et augmente la vitesse d'exécution des instructions de traitement des données par caractères. REVENDICATION Processeur de microordinateur servant à traiter les données, qui comporte : un bloc (1) de mémoire à accès très rapide pour stocker une information numérique durant l'exécution des opérations par le processeur de microordinateur, une unité logique arithmétique (2) pour exécuter les transformations de l'information numérique, un bloc d'interfaces ou de liaison (3) pour organiser l'échange d'information numérique, reliés par un bus des données interprocessus (4), un bloc de commande à microprogrammes (5) qui commande l'exécution des opérations de transformation et d'échange d'information numérique dans le processeur de microordinateur, dont une première entrée est reliée au bus des données internes (4) et la sortie (6) est reliée aux entrées de commande du bloc (1) de mémoire à accès très rapide, de l'unité logique arithmétique (2) et du bloc d'interfaces ou de liaison (3), ainsi qu'un registre (7) de l'état du processeur pour stocker un code d'indices des opérations arithmétiques, dont une entrée (8) est reliée à la sortie de l'unité logique arithmétique (2) et la sortie (9) est reliée à la deuxième entrée du bloc de commande à microprogrammes (5), l'entrée de commande du registre (7) de l'état du processeur étant reliée à la sortie (6) du bloc de commande à microprogrammes (5), et qui est caractérisé en ce qu'il comporte un accumulateur de constantes (10), dont la sortie est reliée Bune entrée (11) de l'unité logique arithmétique (2) un premier et un deuxième éléments de commutation (12, 13), dont les sorties sont connectées à l'entrée (tri) de l'unité arithmétiquelogique (2), un registre (î5) de mémorisation de l'instruction en exécution, une source de potentiels logiques (17), la première entrée du premier élément de commutation (12) étant reliée à la sortie (9) du registre (7) de l'état du processeur, une première entrée (14) du deuxième élément de commutation (13) étant reliée à la sortie du registre (15) dont l'entrée est reliée au bus des données interne (4), les deuxièmes entrées des éléments de commutation (12, 13) étant reliées à une sortie (16) de la source de potentiels logiques (17), ainsi qu'un décodeur (19) dont l'entrée est reliée à la sortie (6) du bloc de commande à microprogrammes (5) et la sortie (18) est reliée à l'entrée de commande de l'accumulateur de constantes (10) et aux entrées de commande des premier et deuxième éléments de commutation (12, 13).