Brevet FR2539528A1 — publié le 19840720

Système à microprocesseur comportant deux processeurs La présente invention concerne un système à microprocesseur comportant deux processeurs Selon un mode de réalisation préférentiel, le système selon l'in- vention est un système à 16 bits machine et à 16 bits d'opération, l'un des processeurs étant associé à des tâches entrée/sortie alors que l'autre processeur est associé à des tâches en langage de niveau élevé De façon plus particulière, l'invention concerne l'interaction entre les processeurs Une caractéristique de l'-inven- vention est liée à la procédure d'offre pour activer les processeurs suivant le système mis en oeuvre, normalement avec entrée à partir d'un disque ou d'une disquette sui- vant que le système est à 8 ou 16 bits machine. L'invention a pour but de -créer un sys- tème à double processeur dont la technique de mise en oeuvre des processeurs et notamment l'alimentation ou la remise à l'état initial soit améliorée. Un autre but de l'invention est de créer une combinaison à co-processeurs se composant d'un pro- cesseur à 16 bits et d'un processeur à 8 bits, le proces- seur à 8 bits étant offert en premier lieu au système de mise en oeuvre en cours d'essai pour déterminer si oui ou non il est nécessaire d'autoriser le processeur à 16 bits. L'invention a également pour but de créer une procédure d'offre suivant les indications ci-dessus et qui autorise le processeur à 8 bits d'être mis en oeuvre en premier lieu pour qu'initialement le système apparaisse comme un système à 8 bits Cela présente l'avan- tage de rendre la machine usuelle à 16 bits compatible avec des programmes à 8 bits écrits pour une machine à 8 bits même si le système travaille normalement comme une machine à 16 bits Cette caractéristique permet à l'acheteur de passer facilement d'une machine à 8 bits sur une machine à 16 bits sans avoir à reprogrammer tou- tes les opérations pendant la période transitoire. A cet effet, l'invention concerne un système à co-processeurs qui se compose d'un premier pro- cesseur, d'un second processeur et d'un moyen reliant le premier et le second processeurs avec un bus d'adresses et un bus de données associés au premier processeur ainsi qu'un bus d'adresses et un bus de données associés au second processeur Chacun des processeurs comporte des mémoires respectives et ainsi le premier processeur est associé à une mémoire qui est couplée par le bus d'adres- ses et le bus de données du premier processeur De la même manière, il y a une seconde mémoire associée au second processeur et qui est couplée à celui-ci par l'in- termédiaire du bus d'adresses et du bus de données du second processeur Selon l'invention, il est prévu une troisième mémoire associée au premier processeur et for- mée d'une mémoire morte appelée ci-après "mémoire ROM d'offre" pour enregistrer un programme de commande de chargement initial La mémoire ROM fonctionne essentiel- lement seulement à la mise en oeuvre du système à micro- processeur f Dans ce contexte, il est prévu ainsi un circuit de remise à l'état de la détection de l'alimenta- tion qui comporte un moyen générant un signal de remise en état et un moyen de couplage du signal de remise en état au premier processeur, de sorte que l'instruction de fonctionnement du premier processeur selon le programme de commande de chargement initial charge le système mis en oeuvre dans la première mémoire Lorsque le système fonctionne comme une machine à 16 bits, le programme auto-chargeur est alors utilisé pour commander le charge- ment du programme des deux processeurs assurant une sorte de commande qui fait fonctionner le second processeur comme processeur principal et le premier processeur comme processeur d'entrée/sortie (I/0) Ce type particulier de procédure de chargement initial permet au premier proces- seur d'être mis en oeuvre en premier lieu et de faire apparaftre le système à microprocesseur, initialement comme un système de la première génération c'est-à-dire un système à 8 bits Lorsque le système mis en oeuvre est chargé pour un fonctionnement sur 8 bits, le second pro- cesseur n'est pas autorisé mais est conservé en état d'attente Par ailleurs, lorsque le système dbit fonction- ner comme une machine à 16 bits, le système de mise en oeuvre est introduit par l'intermédiaire d'une disquette différente qui contient le système de mise en oeuvre du processeur ainsi qu'un code supplémentaire Ce code sup- plémentaire fait que le premier processeur charge le sys- tème de mise en oeuvre du second processeur dans la mémoire associée au premier processeur Le premier pro - cesseur génère alors un ordre pour transférer le système de mise en oeuvre qui vient d'être introduit, et faire passer ce système de la première mémoire à la seconde mémoire Toutefois, le second processeur ne répond pas immédiatement car le premier processeur est commandé pour être en état d'attente et en mode de remise à l'état initial Toutefois après - le transfert du système de mise en oeuvre dans la seconde mémoire, le premier processeur se remet lui-même à l'état et pratiquement en même temps il libère le blocage du second processeur Le second processeur est alors autorisé à s'auto-ch-arger en utili- sant le programme qui est maintenant contenu dans sa mémoire De cette façon, le second processeur assure la commande du système et à son tour il commande maintenant le premier processeur à l'aide de l'opération d'interrup- tion interne. Selon un mode de réalisation préférentiel de l'invention, le premier processeur peut être un compo- sant de type Z 80 à 8 lignes de données et 16 lignes d'adresses La mémoire de chargement initial ROM est reliée au premier-processeur par l'intermédiaire des lignes d'adresses et de données La mémoire de chargement initial ROM comporte de préférence 8 lignes de données et 1 l lignes d'adresses La première mémoire associée à ce processeur a de préférence une capacité de 64 K et est reliée à 8 lignes de données et à 16 lignes d'adresses. Pour l'autre processeur appelé dans le présent contexte second processeur, il peut s'agir du processeur de type MC 68000 La seconde mémoire associée à ce processeur a une plus grande capacité que la première mémoire; il s'agit de préférence d'une mémoire vive à capacité tota- le de 128 K mots ( 256 K octets) de données avec une parité d'octet opérationnelle pour la détection d'erreur. La présente invention sera décrite plus en détail à l'aide des dessins annexés, dans lesquels la figure 1 est un schéma-bloc du système à microprocesseur selon l'invention. la figure 2 représente une autre compo- sante du système comprenant un verrou de commande. la figure 3 montre une autre composante du système comportant un réseau logique programmable utilisé pour assurer la commande d'adresses entre les unités centrales CPU. Description détaillée Les caractéristiques principales de la présente invention seront explicitées ci-après à l'aide du schéma-bloc de la figure 1 qui montre les parties d'un système d'ordinateur constitué par un système à proces- seur double De façon générale, l'un des processeurs' est associé aux tâches d'entrée/sortie alors que l'autre est associé aux tâches à langage de haut niveau L'un des microprocesseurs est un microprocesseur Intel Z 80 qui est un microprocesseur à 8 bits Ce microprocesseur porte la référence CPU 10 à la figure 1 L'autre microproces- seur est de préférence, un processeur Motorola MC 68000 qui constitue le processeur à 16 bits Ce dernier proces- seur porte la référence CPU 20 à la figure 1 Le proces- seur CPU 10 est relié à 8 lignes de données et à 16 lignes d'adresses Ces lignes de données et d'adresses prises ensemble constituent le bus du microprocesseur CPU 10 comprenant évidemment le bus de données et le bus d'adresses De la même manière, le processeur CPU 20 est relié à-un-bus comprenant 16 lignes de données et 23 lignes d'adresses Il est prévu une mémoire distincte représentée à la figure 1 en combinaison avec chacun des processeurs Il y a une mémoire 12 associée à l'unité CPU et à laquelle sont associées des lignes de données et des lignes d'adresses qui sont reliées à l'unité CPU 10 comme indiqué à la figure 1 La mémoire 12 a de préférence une capacité de 64 K. Il est également prévu une mémoire 22 associée à l'unité CPU 20 Cette mémoire a une capacité de 128 K ou de 256 K Les deux mémoires 12 et 22 telles que détaillées ci-après sont branchées de façon que l'unité -CPU 10 accède à la fois à sa propre mémoire 12 ainsi qu'à la mémoire 22 que le processeur CPU 10 peut accéder par lots de 16 K Par ailleurs, l'unité CPU 20 accède seulement à sa propre mémoire 22. Le processeur CPU 20 est de conception classique par exemple un processeur Motorola de type MC 68000 à 16 bits de fonctionnement pour des tâches de langage très évoluées Le processeur permet l'accès direct jusqueà 7 méga-octets de mémoire; il comporte 8 niveaux d'interruption vectoriels, 4 niveaux d'arbitrage fixes de priorité de bus ainsi qu'une commande d'interface de mémoire pour assurer l'interface avec le processeur 10. Bien que la figure 1 montre le processeur CPU 20 sous la forme d'un bloc, il est clair que ce processeur comporte une unité centrale de traitement ainsi qu'une commande d'interruption qui peut être une commande de type AM 9519 A. Le processeur CPU 10 mentionné précédem- ment peut être le processeur de type Intel Z 80 Bien que la figure 1 ne montre ce processeur que sous la forme d'un simple bloc, il est clair que le processeur Z 80, 10 comporte une unité centrale de traitement CPU Z 80A, une plaquette d'horloge de comptage Z 80-A CTC, un accès direct de mémoire Z 80-A DMA, et une entrée/sortie série Z 80-A SIO Ces différents composants sont reliés de façon classique autorisant le fonctionnement du proces- seur Z 80 pour servir essentiellement de commande entrée/ sortie (I/O) au moins pour un fonctionnement sur 16 bits. Comme indiqué à la figure 1, une mémoire de chargement initial ROM 14 est associée au processeur 10 Les détails de fonctionnement de la mémoire ROM seront donnés ci-après Le processeur 10 fournit le cir- cuit de chargement initial qui limite dans la section inférieure de 2 K de l'emplacement d'adresses de 64 K Le circuit de chargement initial est mis hors circuit de l'emplacement d'adresses après la fin du chargement ini- tial. La mémoire ROM 14 ci-dessus peut être constituée par une mémoire morte effaçable ou programma- ble non effaçable La mémoire ROM 14 peut être de type ' 2716 ou de type 2316 Il y a de façon caractéristique 8 lignes de données et 11 lignes d'adresses ainsi que des lignes d'autorisation associées à cette mémoire ROM 14. Lorsque le système représenté à la figure 1 travaille comme une machine à 16 bits, le processeur 10 fonctionne comme un processeur entrée/sortie (I/O). Il reçoit ainsi les signaux de l'extérieur par le bus d'entrée/sortie (I/O) représenté à la figure 1; cette information esttransférée à la mémoire Z 80, 12 qui comme mentionné précédemment, est une mémoire d'une capa- cité de 64 K L'information de la mémoire 12 peut alors être formée et transférée à grande vitesse par les bus de liaison internes vers la mémoire 22; le processeur peut alors\utiliser les données dans cette mémoire. Il est à remarquer que les dispositifs dé transfert sup- plémentaires de la figure 1 comprennent un bus de données supérieures 30, un bus de données inférieures 32, un verrou 34 et un tampon de données 36 Le fonctionnement de ces dispositifs sera décrit de façon plus détaillée ci -après. Pour effectuer un échange de données, à grande vitesse entre la mémoire 12 et la mémoire 22, il est prévu un emplacement particulier appelé "boite a ux lettres" dans la mémoire 2 2 pour recevoir les ordres initialisés par le processeur CPU 20 La figure 1 montre schématiquement cet emplacement de boite aux lettres ou domaine 24 En liaison avec ce fonctionnement, il con- vient également de remarquer qu'il y a une communication directe entre les processeurs 10 et 20 référencés à la figure 1 comme lignes d'interruption 26 En fait, il y a de multiples lignes qui seront détaillées ci-après en liaison avec la coopération de ces différents processeurs. Pour transmettre les données vers le bus entrée/sortie (I/O), le processeur CPU 20 enregistre d'abord les données dans sa propre mémoire 22 et m-et un ordre de transfert particulier dans l'emplacement de boite aux lettres'24 L'unité CPU 20 initialise alors un signal d'interruption en activant l'une des lignes d'in- terruption reliées au processeur 10, de sorte que le processeur 10 se branche sur un programme d'interruption. Ce programme d'interruption fait que le processeur 10 examine l'emplacement de boite aux lettres 24 dans la mémoire 22 et récupère l'ordre qui y est enregistré Cet ordre fait alors que le processeur 10 transfére l'infor- mation hors de la mémoire 22 par l'intermédiaire des bus de données internes vers sa propre mémoire 12 Maintenant que le processeur 10 est autorisé à échanger des informa- tions avec sa propre mémoire, l'information peut être formatée et émise par le processeur 10 vers le bus entrée/ sortie (I/0). Pour effectuer les transferts entre les mémoires 12 et 22, le processeur 10 assure comme indiqué précédemment l'accès à l'autre mémoire de processeur à savoir la mémoire 22 L'accès à la mémoire 22 se fait par l'intermédiaire des lignes d'adresses à partir du pro- cesseur 10 Comme indiqué précédemment, le bus d'adresses associé au processeur 10 comporte 16 lignes d'adresses. A la figure 1, il est à remarquer que les adresses AO- A 14 relient le bus d'adresses au circuit-tampon de com- mande de générateur d'adresses 36 Ce circuit-tampon peut être un circuit sur plaquette de type LS 244; pour cons- tituer l'ensemble du circuit-tampon, on utilise deux tels dispositifs LS 244 Le signal de sortie du circuit-tampon 36 est représenté par une ligne unique; en fait, il s'agit d'un-ensemble de-lignes appelées "lignes d'adres- ses" B Al-BA 14 Le circuit-tampon 36 est représenté à la figure 1 comme constituant une liaison entre le bus d'adresses du processeur 10 et le bus d'adresses du pro- cesseur 20 La commande des données d'adresses par le circuit-tampon 36 est unidirectionnelle L'une des autres sorties du circuit-tampon 36 est indiquée à la figure 1 comme reliée à une plaquette d'arbitrage de bus Le cir- cuit d'arbitrage de bus non détaillé ici est considéré comme classique; il se compose d'une plaquette de com- mande d'arbitrage de bus de type 16 R 6 La mise en oeuvre de l'arbitrage de bus permet aux autres dispositifs sus- ceptibles d'assurer la maitrise du bus de demander de recevoir et de confirmer la maitrise du bus En fait, on utilise un signal de demande de bus pour autoriser le transfert de données par le circuit-tampon 36. La figure 3 représente un dispositif à réseau logique programmable 40 Ce dispositif peut être de type HAL 16 R 6 A la figure 3, on remarque la connexion de la ligne de signal AO sur la broche d'entrée 6, entrée I 6 Ce signal d'adresses est utilisé pour indiquer au dispositif 40 la génération d'une adresse paire ou im- paire. La figure 3 montre également en plus du dispositif 40 une porte 42 et une série de circuits d'en- trai^nement d'autorisation qui sont tous identifiés par la référence 44 Il est à remarquer que tous les circuits d'entraînement sont autorisés par un signal d'attribution de bus identifié à la figure 3 comme signal BG 1. Pour clarifier le fonctionnement, on décrira ci-après chacune des entrées et des sorties. L'entrée sur la broche 1 pour le dispositif 40 représenté à la figure 3 est un signal de 8 M Hz qui correspond au double de la fréquence de cadence de l'unité Z 80 CPU 10. Le signal d'entrée sur la broche 2 pour le dispositif 40 correspond à la moitié de cette fréquence de 8 M Hz Il s'agit de la fréquence d'horloge directe associée au processeur Z 80 La broche 3 de l'entrée correspondante I 3 est le signal ADDVAL qui est un signal indiquant une adresse validée ou en fait une plage validée d'adresses qui doivent être interprétées par le processeur principal CPU 20 Les signaux sur les broches d'entrée 4 et 5 sont respectivement les signaux lecture (READ) et inscription (WRITE) du processeur Z 80, 10 Une description a été faite précédemment pour la broche d'entrée 6 à propos du signal AO. L'entrée sur la broche 7 qui est l'entrée I 7 pour le dispositif 40 est le signal BG 1 qui est le signal d'attribution de bus généré par le circuit de commande d'arbitrage de bus Le rôle de ce signal est expliqué en détail ci-après Le signal sur la broche d'entrée 8 est le signal BDTACK Il s'agit d'un signal qui passe au niveau bas et est une réponse de la mémoire indiquant que l'adresse est validée Enfin du côté de l'entrée du dispositif 40, le signal d'entrée sur la bro- che 9 est le signal de sélection de mémoire couplé par la porte 42 L'une des entrées de la porte-42 est un signal de demande de mémoire du processeur Z 80 ainsi qu'un second signal qui joue le rôle de signal d'autori- sation pour le dispositif 40. Du côté de la sortie du dispositif 40, l'entrée d'autorisation est mise à la masse au niveau de la broche 11 La broche 12 est le signal CONTO Il s'agit d'une sortie de commande qui autorise la redéfinition des éléments pairs et impairs des adresses en lecture ou en inscription. Sur la broche Il qui correspond à la sortie Q 1, on fournit le signal BLDS par le circuit d'en- traînement 44 En même temps que ce signal, la sortie Q 2 sur la broche 14 fournit le signal BUDS Ces signaux sont respectivement le signal d'échantillonnage de don- nées inférieure et supérieure du bus Ces signaux sont utilisés en liaison avec le processeur CPU 20 et en par- ticuliersa mémoire pour le transfert des données vers celui-ci ainsi que la lecture des données dans ce proces- seur. Sur la broche 15 du dispositif 40, on a une sortie constituée par le signal BAS; il s'agit du signal d'échantillonnage d'adresse Ce signal est généré après l'attribution du bus On remarque que le signal d'attribution de bus autorisé est appliqué au circuit d'entraînement respectif 44 Le signal BAS qui est généré initialise le cycle de l'unité CPU 20. La sortie suivante du dispositif 40 se fait sur la broche 16 et le signal BR 1; ce signal BR 1 est le signa l de demande de bus Lorsque ce signal passe au niveau bas, Il indique au circuit d'arbitrage de bus qu'une demande d'accès est formulée pour le bus CPU En d'autres mots, ce signal indique au processeur CPU 20 - qu'il y a une demande d'accès pour son bus. Le signal de demande d'attribution de bus BUSCQ apparalt sur la broche 17 du dispositif 40 Ce signal est essentiellement le même que le signal BG 1 en étant retardé d'un cycle de cadence. La broche 18 du dispositif 40 fournit un signal couplé par l'intermédiaire d'un circuit d'entrai- nement 44 et identifié comme signal BR/W Ce signal est le signal lecture/inscription (READ/WRITE) de bus couplé à la mémoire associée au processeur CPU 20 pour indiquer que la mémoire est dans un cycle de lecture ou d'inscrip- tion Enfin, sur la broche 19 du dispositif 40 apparait le signal d'attente (WAIT) qui assure le couplage en retour sur le processeur Z 80 et suspend ou bloque l'in- formation du processeur Z 80 jusqu'à ce que l'attribution de bus soit validée. En résumé la commande d'adresses est principalement initialisée par le signal CONTI qui demande au dispositif 40 de vérifier les entrées pour constater si les signaux sont validés et voir si des transferts sont initialisés avec la mémoire du processeur CPU 20 dès que ce signal est activé Le dispositif 40 examine si le cycle du bus Z 80 est dans la plage d'adresses correcte Puis, le signal attente (WAIT) est généré pour indiquer que le processeur CPU n'est pas tout à fait prêt pour fonctionner Le signal de demande de bus est alors envoyé au circuit d'arbitrage de bus et une période d'attente peut se produire pendant que le processeur CPU termine un cycle de traitement A la suite de cela, une attribution de bus est exécutée par le signal B Gl qui passe au niveau bas Ce signal autorise alors les circuits d'entralnement 44 à initialiser des cycles lecture et -inscription pour la commande de la mémoire A la suite de cela, le signal d'attente est débloqué, ce qui permet au processeur Z 80 de transférer les données sous la commande lecture (READ)- et inscription (WRITE) avec la mémoire du processeur CPU 20 - Il est également à remarquer à la figure 1 qu'en plus du circuit-tampon 36, il y a un verrou 34. Cela donne 8 'bits supplémentaires du signal d'adresse fourni par le processeur 10 à l'aide de ces 8 lignes de sortie de données A la figure 1, ces lignes sont définies comme signaux de données DO-D 7 totalisant 8 bits. Ces signaux de données utilisés comme signaux d'adresses sont verrouillés dans le verrou 34 et sont fournis aux bus d'adresses associés au processeur 20 Ces adresses sont indiquées dans le verrou du côté du processeur 20 lorsque le processeur 20 adresse BA 15-BA 22 Le processeur fournit ainsi un total de 22 signaux-adresses au bus d'adresses du processeur 20. Selon le présent mode de réalisation, le processeur 20 est susceptible d'accéder à une partie de l'emplacement mémoire de la mémoire 22 Le processeur 10: accède de préférence à chaque fois à une page de 16 K. Toutefois, le processeur 10 choisit d'abord la page-en mettant les signaux d'adresses de son bus dans un verrou qui, dans le mode de réalisation de la figure 1, est le verrou 34 En fait, ces signaux d'adresses sont générés sur le bus de données du processeur 10 Les positions de chaque page sont alors adressées par la manipulation des 14 bits d'adresses inférieures à l'aide du circuit- tampon 36. Les transferts dedonnées sont réalisés par les bus internes reliant le bus de données du proces- seur 10 au bus de données du processeur 20 Ce transfert de données est montré à la figure 1 par les circuits- tampons de données 30 et 32 appel és de façon plus précise circuit tampon de données supérieur 30 et circuit-tampon de données inférieur 32 Il est à remarquer que ces circuits-tampons relient les bus de données des proces- seurs respectifs 10 et 20 Du côté du processeur 10, les 8 bits de données du bus de données sont couplés en com- mun sur chacun des circuits-tampons Du côté du proces- seur 20, les 16 bits sont couplés au bus de données à 16 bits comme cela est indiqué à la figure 1 par les signaux de données BDO-BD 15. Le verrou 34 et le circuit-tampon d'adres- ses 36 sont représentés à la figure 1 Comme déjà indiqué le verrou 34 peut être constitué par deux verrous dis- tincts chacun étant du type L 5244 Un signal de demande de bus (non représenté) est utilisé pour autoriser ces circuits-tampons Le verrou 34 fonctionne comme générateur d'adresses branché entre les bus du processeur Il peut s'agir d'un verrou de type MC 3482 B qui peut également être commandé par un signal d'attribution de bus Les circuits- tampons de données 30 et 32 peuvent être chacun du type L 5245 Ces circuits-tampons de données sont bi- directionnels et comprennent des circuits d'autorisation fournissant les instants-adéquats du transfert des don- nees. En plus du verrou 34, il est également prévu un verrou 26 représenté à la figure 2; ce verrou est relié-au bus de données du processeur 10 et ses sor- ties sont utilisées comme commandes pour le processeur CPU 20 Ainsi, le verrou 26 représenté à la figure 2 peut être appelé "verrou de commande "qui autorise le processeur 10 à retenir ou à remettre à l'état initial le processeur 20 pour autoriser une opération de charge- ment initial qui sera décrite ultérieurement Le verrou 26 peut être du type MC 3482 A Il est à remarquer que ses entrées sont couplées aux bus de données du processeur Les sorties comprennent une sortie de retenue (hait), une sortie de remise à l'état initial (Reset) et un ensem- ble de sorties d'interruption portant les références CONT 0, CONT 4, CONT 5 et CONT 6. La communication entre les deux proces- seurs est réalisée par le processeur 10 qui initialise des interruptions pour le processeur 20 et qui indique également la fin de l'opération entrée/sortie (I/O) Le processeur 10 peut périodiquement scruter la mémoire 22 du processeur 20 pour déceler les demandes de service du processeur 20. En variante, le processeur 20 peut géné- rer une interruption pour le processeur 10 en accèdant à un emplacement décodé de mémoire 22 Dès qu'une demande de service a été connue par le processeur 10, un bloc de description est lu dans la mémoire 12 à partir de la mémoire 22 pour déterminer le service précis demandé. Avant de tenter un transfert de mémoire à l'aide du pro- cesseur CPU 10 vers ou à partir de la mémoire 22, on supprime la sélection de toutes les pages de la mémoire 12 en remettant à l'état initial l'élément inférieur du port OFFH La pile et le programme de commande sont remis dans la tranche des 32 K inférieurs de l'emplacement d'adresses du processeur 10 puisque la page O n'est pas interdite. La mémoire 22 représentée à la figure 1 est une mémoire vive d'une capacité totale de 128 K mots ( 256 K octets) de données avec une possibilité de parité d'octet pour détecter les erreurs Cette mémoire est utilisée par le processeur 20 Le processeur 20 a un bus de données de 16 bits comme cela a été indiqué et c'est pourquoi la mémoire 22 est reliée à un bus de données de 16 bits. -Toutefois comme le processeur 20 n'a pas à traiter simultanément des transactions de données de 8 bits et de 16 bits, la mémoire 22 est en outre divisée en des octets supérieurs et des octets inférieurs, chaque octet correspondant à 8 bits En fait tous les transferts ou échanges avec la mémoire 22 sont traités comme des transferts d'octets Lorsqu'on veut un transfert complet à 16 bits, on exécute une transaction de l'octet supérieur et de l'octet inférieur-, simultanément Ainsi, la mémoire est organisée comme deux mémoires d'octets, parallèles qui se partagent un emplacement de mémoire commun Des moyens sont également prévus pour vérifier la parité. Toutefois, comme le contrôle de parité ne fait pas partie de la présente invention, ce contrôle ne sera pas expli- cité. La réalisation des deux mémoires 12 et 22 représentées à la figure 1 est pratiquement-classique. Pour la mémoire 12 comme cela a été indiqué, il s'agit d'une mémoire d'une capacité de données de 64 K La mémoire 22 qui est une mémoire vive, dynamique se compose d'une série de plaquettes de circuit intégré avec chaque fois 536 ( 64 K) positions de bit C'est pourquoi pour enre- gistrer chaque octet avec un bit de parité, il faut neuf circuits intégrés Chaque plaquette peut être du type MCM 6665. Deux particularités des mémoires vives, dynamiques sont le multiplexage des adresses et le rafrae- chissement Il y a 16 lignes d'adresses pour accéder à cette capacité de mémoire La ligne d'adresses AO qui est interne pour le processeur CPU 20 est utilisée pour distinguer entre les octets supérieurs et inférieurs Les bits Al-A 16 identifient les autres parties de l'adresse. C'est pourquoi les lignes d'adresses sont chargées dans la mémoire en deux parties: 1 Les adresses de rangée (Al-A 8) d'abord par l'échantil- lonnage des adresses de rangée (RAS). 2 Les adresses de colonne (A 9-A 16) en second lieu par l'échantillonnage des adresses de colonne (CAS). Dès que les adresses sont chargées, la mémoire change ou présente les données à cet endroit sui- vant l'état du signal lecture/inscription Le rafraîchis- sement est nécessaire pour conserver l'information dans la mémoire Pour cela, chaque deuxième milliseconde, tout le contenu de la mémoire est rafraîchi Du fait de la structure de la mémoire, cela nécessite seulement 128 accès de rafraîchissement pendant chaque période de deux millisecondes c'est-à-dire un accès toutes les 16,0- microsecondes. Bien que la figuré 1 montre seulement schématiquement la mémoire 22, il est clair qu'en plus de l'emplacement d'enregistrement de mémoire, on a égale- * ment une commande associée à la mémoire Par exemple, les adresses de ligne B Al-BA 16 sont envoyées à la mémoire par des circuits-tampons récepteurs-inverseurs à double ligne qui sont autorisés en permanence Ces circuits-tampons. peuvent être du type 745240 Les 8 lignes d'adresses inférieures c'est-à-dire les lignes BAI-BA 8 sont multi- plexées avec 8 bits d'adresses de rafraîchissement du compteur d'adresses de rafraîchissement (non représenté) donnant ainsi les 8 bits d'adresses de rangée de mémoire. Les bits d'adresses de rangée sont alors multiplexées avec les bits d'adresses de colonne qui correspondent aux lignes d'adresses BA 9-BA 16 donnant 8 bits d'adresses multiplexés Les lignes d'adresses de mémoire sont envoyées à toutes les plaquettes de mémoire par des résistances en série pour réduire la circulation et le débordement La ligne d'adresses BA 17 est reliée à la mémoire et autorise le passage pour générer le signal RAS pour la page de mémoire inférieure ou supérieure de K Les lignes d'adresses BA 18-BA 22 servent à autoriser la mémoire dans une position déterminée 256 K dans la carte d'attribution de mémoire de sous-système du proces- seur 20- Ainsi, on accède à la mémoire 22 par 16 bits d'information, les autres bits étant utilisés pour déterminer la position des 256 K de la mémoire dans le bit d'adresses Le processeur 20 comporte 23 bits d'adres- ses équivalant chacun à environ 16 méga-octets Pour déter- miner la position des 256 K de mémoire dans les 16 méga- octets, les 8 bits restants sont mis dans un comparateur qui est un comparateur à 8 bits par exemple de type L 5688 Ce comparateur compare deux signaux d'entrée à 8 bits Les lignes d'adresses sont comparées à une valeur prédéterminée par un commutateur Si les signaux coinci- dent, la mémoire est autorisée; si les signaux ne coin- cident pas elle est interdite. De même, comme indiqué, les plaquettes de mémoire utilisées dans la mémoire 22 sont adressées à l'aide d'un montage en multiplex 8 signaux d'adresses sont fournis aux plaquettes et 8 bits inférieurs de l'adresse sont d'abord mis sur les 8 conducteurs et sont échantillonnés dans les plaquettes de mémoire à l'aide d'un signal d'échantillonnage d'adresses derangée (RAS). Puis, les signaux des 8 bits inférieurs sont supprimés, les signaux des 8 bits supérieurs sont mis sur la ligne et sont échantillonnés dans la mémoire par le signal d'échantillonnage d'adresses de colonne (CAS) Ce type d'adressage est une opération classique pour les mémoires vives, dynamiques, si bien que cela n'est pas représenté. Pour la seule procédure de démarrage ou de chargement initial selon l'invention, on se reportera à la figure 1 La mémoire morte ROM 14 décrite ci-dessus est pour cela couplée au processeur 10 Cette mémoire morte ROM 14 peut être une mémoire de type 2716 ou de type 2316 Une mémoire de type 2716 est une mémoire morte ROM, programmable effaçable alors que la mémoire de type 2316 est une mémoire morte ROM masquée Cette mémoire morte 14 comporte 8 lignes de données et l I lignes d'adres- ses avec des signaux d'autorisation Pendant la procédure de chargement initial lors du branchement de l'installa- tion, la mémoire morte ROM charge un programme de char- geur initial dans la mémoire 12 associée au processeur Ce programme charge le logitiel des deux processeurs définissant le processeur 10 comme processeur principal et le processeur 10 fonctionnant comme processeur d'en- trée/sortie (I/O) Cette procédure de chargement initial permet au processeur 10 d'être mis en oeuvre en premier lieu et de faire apparaître initialement le système comme un système de la première génération; le système est ainsi compatible avec les programmes de la première géné- ration écrits pour une machine travaillant sur 8 bits, bien que cette machine puisse fonctionner comme une ma- chine à 16 bits Cette caractéristique est importante puisqu'elle permet au système de fonctionner avec un programme à 8 bits Cette caractéristique permet à l'ache- teur de passer facilement d'une génération de machine à une autre sans avoir à reprogrammer toutes les opéra- tions au cours de la transition. De façon plus détaillée, lors du démarrage initial du système d'ordinateur, il y a un registre dans le processeur 10 qui interpréte la mémoire morte ROM 14 comme une mémoire inférieure de 2 K Ainsi, la mémoire morte ROM 14 remplace dans un certain sens une partie de la mémoire 12 au cours de cette phase de démarrage Lors du démarrage, un signal de remise à l'état initial est engendré à la sortie d'un circuit appelé "circuit logi- que de remise à l'état initial", de branchement, manuel. Le signal de remise à l'état initial du processeur 10 fait passer à la position O et extrait l'instruction qui qui s'y trouve pour l'exécuter Cette instruction est la première instruction d'un programme de chargeur ini- tial et ainsi lors de la mise en oeuvre du processeur 10, ce programme vérifie simplement dans la mémoire morte ROM 14 la première instruction du programme de chargeur initial faisant accéder le processeur 10 à des pistes et des secteurs déterminés d'une disquette 28 correspondante pour charger le système opérationnel de la disquette dans la mémoire 12 à 64 K associée au processeur 10 Le système opérationnel de la disquette est enregistré dans la mémoire 12 à une position qui commence directement au- dessus des 2 K inférieurs de la mémoire c'est-à-dire à la position 2001 Ainsi lors du branchement avec génération d'un signal de remise à l'ét at initial, comme cela est représenté schématiquement par le circuit d'alimentation 31, le processeur 10 interpréte les premiers emplacements de mémoire comme venant de la mémoire morte ROM 14 et non de la mémoire 12 Il en résulte que le processeur 10 transfère le programme opérationnel de la disquette 28 dans la mémoire 12 mais pour cela il commence à la pos i- tion de mémoire 2001. Après l'enregistrement du programme de fonctionnement du processeur 10 dans la mémoire 12, la mémoire morte ROM 14 reçoit une instruction qui fait sau- ter le processeur 10 sur une position du système opéra- tionnel démarrant la mise en oeuvre de ce système Cela termine l'initialisation du système Lorsque le système opérationnel commence à tourner, la première chose qui - se produit est la fermeture du registre ci-dessus du processeur 10 qui a fait accéder le processeur à la "t mémoire morte ROM 14 en accédant à la tranche inférieure de 2 K de la mémoire Au lieu de cela, lorsque le système opérationnel commence à fonctionner, il fait accéder le processeur 10 à la mémoire 12, 64 K et non à la mémoire morte ROM 14 La mémoire morte ROM 14 est ainsi supprimée du système et n'a plus d'influence jusqu'à la remise à l'état initial du système. On examinera ci-après un programme opéra- tionnel à 8 bits et un programme opérationnel à 16 bits. Le premier programme concerne une machine de la première génération alors que le second concerne une machine de la seconde génération Selon la présente invention, il est intéressant de pouvoir utiliser dans une machine de la seconde génération des programmes de travail utilisés précédemment sur des machines de la première génération. Si le système selon l'invention doit fonctionner comme une machine à 8 bits, dès que l'initialisation est termi- née, rien ne se produit plus et en principe le second processeur 20 n'est jamais autorisé Dans ce contexte, on se raportera à la figure 2 et le verrou 26 a une sortie de remise à l'état initial avec à la fois une sortie de remise à l'état initial et une sortie de retenue mainte- nant le processeur 20 à l'état initial ou état de repos jusqu'à ce que des signaux adéquats soient envoyés sur le bus du processeur 10 Le système selon l'invention bien qu'appelé "système de la seconde génération" peut ainsi utiliser des programmes et des systèmes fonctionnels de la première génération; il fonctionne de cette façon simplement en n'autorisant pas le fonctionnement du pro- cesseur 20, tout le traitement étant exécuté par le pro- cesseur 10 Dans ce mode de fonctionnement, le processeur bien que constituant le processeur principal ne fonc- tionne pas de façon prédominante mais uniquement comme processeur entrée/sortie (I/O). Si par ailleurs, le système doit fonction- ner comme une machine à 16 bits, on utilise une disquette 28 différente qui contient le système opérationnel du processeur 10 ainsi qu'un code supplémentaire Ce code supplémentaire fait que le processeur 10 charge le sys- tème opérationnel du processeur 20 dans la mémoire 12 associée au processeur 10 Le processeur 10 génère alors un ordre de transfert du système opérationnel qui vient d'être introduit par la-mémoire 12 dans la mémoire 22. Ce transfert de données de mémoire à mémoire a été décrit en détail ci-dessus A ce moment, toutefois, le proces- seur 20 ne répond pas car le processeur 10 le commande pour le conserver en mode de retenue et en mode de remise à l'état initial On se reportera de nouveau à la figure 2 qui indique les signaux de remise à l'état initial et de retenue qui sont fournis par le bus de données du processeur 10. Après le transfert du système opérationnel pour le processeur 20 de la mémoire 12 à 64 K vers la mémoire 22, le processeur 10 se remet de luimême à l'état initial et pratiquement en même temps il supprime le blo- cage du processeur 20 Le processeur 20 est alors autorisé à se charger lui-même en utilisant le programme maintenant enregistré dans sa mémoire 22 De cette façon, le proces- seur 20 prend la commande du système et à son tour il commande maintenant le processeur 10 à l'aide de l'opéra- tion d'interruption interne indiquée par la ligne d'in- terruption 26 représentée à la figure 1. Comme déjà indiqué en relation avec la figure 2, il est à remarquer que certaines des sorties du verrou 26 sont des sorties interrompues fournies par le bus de données de processeur 10 I 1 s'agit ainsi d'in- terruptions initialisées par le processeur 10 A titre d'exemple certains de ces signaux sont les signaux CONT 4, CONT 5 et CONT 6 Leurs positions vectorielles respectives correspondantes sont 234 H, 238 H et 23 C 1Comme cela-a également été indiqué précédemment, la fonction de com- mande d'interruption du système est réalisée par une commande d'interruption par exemple de type AM 9519 qui n'est pas décrite de façon détaillée puisqu'elle peut être classique Une seule unité gére jusqu'à 8 signaux d'entrée de demande d'interruption susceptibles d'être masqués, résout les priorités et fournit la réponse en nombre vectoriel au processeur 20 au moment de la-confir- mation de l'interruption Lorsque le contrôleur reçoit une demande d'interruption non masquée, il émet une demande d'interruption de groupe pour le processeur 20. Lorsque l'interruption est confirmée,-le contrôleur fournit en sortie le numéro de vecteur préprogrammé cor- respondant à la demande d'interruption non masquée pré- sentant la plus haute priorité. R E V E N D I C A T I O N S ) Système à microprocesseur caractérisé en ce qu'il se compose d'un premier processeur et d'un second processeur, d'un moyen reliant le premier et le second processeur, ce moyen, comprenant un bus d'adres- ses et une bus de données-associés au premier processeur et un bus d'adresses et un bus de données associés au second processeur, une première mémoire ( 12) associée au premier-processeur ( 10) et couplée à celui-ci par le bus d'adresses et le bus de données du premier processeur, une seconde mémoire ( 22) associée au second processeur ( 20) et couplée à celui-ci par l'intermédiaire du bus d'adresses et du bus de données du second processeur ( 20), une troisième mémoire ( 14) associée au premier processeur ( 10) et constituée par une mémoire morte ROM pour enre- gistrer un programme de commande de chargement initial, un circuit de remise à l'état initial de branchement comportant un moyen générant un signal de remise à l'état initial et un moyen couplant le signal de remise à l'état initial au premier processeur ( 10), de sorte que le fonc- tionnement suivant les instructions du premier processeur selon le programme de commande-de chargement initial pour charger le système opérationnel dans la première mémoire, et un moyen répondant au programme après chargement du système opérationnel pour terminer le fonctionnement sui- vant le programme de commande de chargement initial et débuter le fonctionnement suivant du système opérationnel. 2 ) Système à microprocesseur selon la revendication 1, caractérisé en ce qu'il comprend un moyen pour lire le système opérationnel et déterminer si le système opérationnel correspond à une opération sur 8 bits ou une opération sur 16 bits. ) Système à microprocesseur selon la revendication 2, caractérisé en ce qu'il comprend un moyen répondant à un signal à 8 bits pour maintenir un signal d'arrêt sur le second processeur ( 20) et interdire le fonctionnement du second processeur ( 20). ) Système à microprocesseur selon la revendication 3, caractérisé en ce qu'il comprend un moyen répondant à un code de signal sur 16 bits pour sup- primer le signal d'arrêt et autoriser le fonctionnement du second processeur ( 20). ) Système à microprocesseur selon la revendication 4, caractérisé en ce qu'il comprend des moyens répondant au code pour d'abord charger le système opérationnel dans la première mémoire ( 12). ) Système à microprocesseur selon la revendication 5, caractérisé en ce qu'il comprend un moyen répondant au code pour transférer le système opéra- tionnel de la première mémoire ( 12) dans la seconde mémoire ( 22). ) Système à microprocesseur selon la revendication 6, caractérisé en ce que le second proces- seur ( 20) commande le premier processeur ( 10) pour fonctionner comme un processeur d'entrée/sortie (I/0). ) Système à microprocesseur selon la revendication 7, caractérisé en ce que le système opéra- tionnel est introduit dans le premier processeur ( 10) à partir d'un moyen de stockage couplé sur le bus entrée/ sortie (I/0). ) Système à microprocesseur selon la revendication 1, caractérisé en ce que le premier proces- seur ( 10) est un processeur de type Z 80 à 8 lignes de données et 16 lignes d'adresses. 10 ) Système à microprocesseur selon la revendication 1, caractérisé en ce que le second proces- seur est de type MC 68000 à 16 lignes de données et 23 lignes d'adresses. ) Système à microprocesseur selon la revendication 1, caractérisé en ce qu'il comprend des lignes d'interruption couplant le premier et le second processeurs. ) Système de microprocesseur selon la revendication 1, caractérisé en ce que le moyen couplant les processeurs comporte un circuit-tampon de données. ) Système de microprocesseur selon la revendication 12, caractérisé en ce qu'il comprend un circuit-tampon de données supérieur et un circuit-tampon de données inférieur. 140) Système de microprocesseur selon la revendication 12, caractérisé en ce qu'il comprend un moyen de verrouillage reliant les lignes de données du premier processeur ( 10) aux-lignes d'adresses de premier ordre du second processeur ( 20). 15 ) Système de microprocesseur selon la revendication 14, caractérisé en ce qu'il comprend un circuit-tampon d'adresses reliant les lignes d'adresses du premier processeur ( 10) aux lignes d'adresses de second ordre du second processeur ( 20). 160) Système de microprocesseur selon la revendication 1, caractérisé en ce que le premier proces- seur ( 10) a une capacité de mémoire plus faible que celle du second processeur ( 20). ) Système de microprocesseur selon la revendication 1, caractérisé en ce que la seconde mémoire comprend une position de boite aux lettres pour contrôler le transfert des données entre les mémoires. ) Système de microprocesseur caracté- risé en ce qu'il comprend un premier processeur ( 10), un second processeur ( 20) et des première et seconde mémoires ( 12, 22) associées à ces processeurs ainsi qu'une troisième mémoire ( 14) constituée par une mémoire- morte ROM pour enregistrer un programme de commande de chargement initial, un circuit de remise à l'état initial de branchement, des moyens pour générer un signal de remise à l'état initial et des moyens pour coupler le signal de remise à l'état initial sur le premier proces- seur ( 10), des moyens répondant au programme de charge- ment initial pour charger un système opérationnel au moins dans le premier processeur ( 10) et un moyen répon- dant à ce programme après chargement du système opéra- tionnel pour terminer l'opération suivant le programme de commande de chargement initial et débuter l'opération suivant le système opérationnel. 190) Procédé de commande du fonctionne- ment d'un microprocesseur, procédé caractérisé en ce qu'on fournit un premier processeur, un second processeur, et on relie le premier et le second processeurs pour au- toriser l'échange de données entre ces processeurs, on fournit une troisième mémoire morte ROM ( 14) qui contient un programme de commande de chargement initial, on génère un signal de remise à l'état initial de branchement, on couple le signal de remise à l'état initial sur le pre- mier processeur ( 10), ce premier processeur lors de la réception du signal de remise à l'état-initial exécutant les instructions suivant le programme enregistré, on charge un système opérationnel à partir d'un moyen de stockage externe dans la première mémoire ( 12), on détecte dans le système opérationnel s'il correspond à une première ou à une seconde dimension de mots lorsque le système opérationnel correspond à la première dimen- sion de mots, on fait commencer la mise en oeuvre du système opérationnel par le premier processeur. ) Procédé selon la revendication 19, caractérisé én ce que lorsqulon détecte que le système opé- rationnel correspond à une seconde longueur de données, on transfère le système opérationnel de la première mémoi- re dans la seconde mémoire et on supprime l'arrêt du second processeur ( 20) pour l'autoriser à mettre en oeu- vre le système opérationnel qui y a été chargé.