Brevet FR2355334A1 — publié le 19780113

La présente invention concerne des organes de traitement de aboulées et, plus srecísément, ces systèmes de mémorisation et de commande de microprogramme pour des minicalculatrices microprogrammables. Dans l'état antérieur de la technique, les minicalculatrices étaient en général inaptes à exécuter nombre des fonctions dont disposaient les grandes machines, en raison des limitations de place et de dimensions de la minicalculatrice. La souplesse d'exécution du macroprogramme de la minicalcu- latrice était fréquemment limitée en raison de la rigidité du système logique de commande. De plus, les modèles antérieurs de registre d'adresse de microprogramme étaient limités dans leur aptitude a trouver un compromis entre vitesse et quantité d'information d'adresses. Là ou' une grande quantité d'information d'adresses était requise, il fallait un quelconque système complexe de mémorisation, en général pour des raisons de limitation d'espace, ce qui se traduisait par un retard dans l'exécution du microprogramme. De même, là où la vitesse était exigée, il fallait que la quantité d'itformation d'adresses soit rédurtezen raison de limitations d'espace pour les adresses.En outre, les possibilités de modifier la logique étaient limitées. Par conséquent, la présente invention a pour but de réduire la quantité des matériels dans une minicalculatrice et de remplacer les matériels de commande par des mémoires fixes programmables tPROMS) en substituant à une logique de commande rigide un système de mémoire fixe programmable (PR0ES) afin d'assurer une souplesse par enfichage de la commande. Un autre but de la présente invention est d'améliorer la souplesse d'un système d'adresse mémoire de microprogramme pour une minicalculatrice par utilisation de tampons d'adresse de retour, de réseaux de priorité et de traducteurs à PIA pour générer les adresses mémoire. La présente invention a encore pour but dfutiliser des PdQss-gui soient susceptibles d'être remplacées pour permettre des--modifications de la logique sans se servir de plaquettes supplémentaires. Un autre but encore de la présente invention est de générer plusieurs impulsions de chronologie à partir d'un mattre-oscil- lateur à l'aide de åeux ou de plusieurs dispositifs de mémoire fixe programmables à la place d'une logique rigide à compteurs0 Un autre but de l'invention est de faire appel à une unité de microtraitement (MÙ) afinae parvenir à un accroissement des p-ossioiïites Qe microprogrammation sans employer un système logique oâblé, avec l'encombrement et le coflt qui en résultent La présente invention a encore pour but d'éliminer le système logique d'entrée/sortie par application d'une émulation de fonctions de commande I/0 grâce à l'emploi de mémoires fixes programmables. Un autre-but encore de la présente invention est d'accrot- tre considérablement la quantité d'adresses de microprogramme qui peuvent être obtenues d'une unique MCU. La présente invention a aussi pour but d'améliorer le rendement en économisant des opérations de mémoire par le remplacement a'urie information de mémoire interne par une i;Sor-- mation de mémoire extérieure au cours d'une mëme macroinstruction. D'après cela, une minicalculatrice selon la présente invention contient un système d'adresse mémoire pour l'exécution de microprogrammes, système dans lequel la mémoire fixe de microprogramme contient une première mémoire à forte densité qui est accouplée à une seconde mémoire fixe qui remplace la logique de commande rigide que l'on trouve ordinairement dans de semblables systèmes. Par ailleurs, la minicalculatrice de la présente invention cvntient aussi un générateur de chronologie qui est formé à partir d'une paire de dispositifs de mémoire fixe qui produisent les impulsions de chronologie nécessaires pour le fonctionnement de la minicalculatrice. Le matériel fixe d'entrée-sortie a été remplacé par un système d'émulation de microprogrammes afin d'améliorer le rendement et de réduire les dimensions du système de la minicalculatrice. En outre, une unité de commande de microprogramme (xa-u) est contenue dans la minicalculatrice pour générer des adresses de microprogramme sur la base d'adresses de microprogramme précédentes et il est prévu une mémoire tampon de sous probrsame, une mémoire tampon de priorité, un codeur à saut et un groupe logique programmable (PIA) pour augmenter la quantité de microadresses susceptibles d'être introduites dans la MCU, Le tampon de priorité traduit des signaux extérieurs en micro adresses, le codeur à saut prend une adresse précédente et génère une nouvelle adresse et le tampon de sous-programme mémorise toute adresse codée qui est propagée par le codeur à saut. La tinicalculatrìce possède par ailleurs la capacité de by-sassser des données de armoire interne et ae renulacer celles-ci par des données provenant d'une mémoire extérieure pendant l'exécuticn d'une macroinstruction. De plus, des opérations d'exécution arithmétique et de recherche de données se produisent dans le même cycle pour améliorer la vitesse et l'efficacité au système ae la minicalculatrice. La présente invention est caractérisée par le fait qu'un système de minicalculatrice présente une souplesse à laquelle on n'a jamais pu prétendre antérieurement dans des minicalculatrices en raison de limitations de dimensions ou de vitesse, possibilités qui améliorent considérablement le fonctionnement et le rendement d'une ainicalculatrice selon I1 invention. L'invention verra de toute façon être bien comprise à l'aide du complément de description qui suit ainsi que des dessins ci-annexés, lesquels complément et dessins sont relatifs à des modes de réalisation préférés qui sont, bien entendu, donnés surtout à titre d'indication. La fig. 1 est un schéma par blocs d'une minicalculatrice selon la présente invention. La fig. 2 est un schéma par blocs d'une unité de commande de microprogramme (MOU) selon la présente invention. La fi. 3 présente un format de mot de commande de micro rodr mme, utilisable avec une minicalculatrice selon la présente invention. La fig. 4 est un schéma logiquenmontrant les fonctions de microcommande de la minicalculatrice selon la présente invention. La fig. 5 est un schéma de la logique de commande de mémoire exterieure. La fig. 6 est un chronogramme de cette commande de mémoire extérieure. La fig. 7 est un schéma du ESB (neuvième bit). on se référera au schéma par blocs de la fig. 1 pour décri- re la minicalculatrice. Le traitement des données clans la minicalculatrice ne constitue pas l'objet essentiel de la présente invention, laquelle concerne principalement la commande du microprogramme de la minicalculatrice et la possibilité de disposer de multiples fonctions étendues grace a l'emploi de la couuSnde de microprogramme.Par conséquent, les éléments de traitement centraux (OPE) avec le système logique de circulation des données et les registres généraux qui leur sunt interconnectés, la mémoire bloc-notes et l'unité de traitement des données ne seront pas ueciits en detail ns le présent mémoire, On considérera la logique us commande de microprogramme qui constitue l'invention faisant l'objet de la présente demande. Pour commencer, on étudiera le mode de fonctionnement du générateur d'adresse en liaison avec la MOU et la PROMS. Des macroinstructions sont accessibles à partir de la éLLL0i5 principale, par exemple la mémoire a tores 101, par l'intermédiaire du registre de données de mémoire (DR) 103 et sur la ligne commune d'ALU 105; elles sont acheminées cunditionnellement vers le registre de macroinstruction 102, puis vers le traducteur de PLA 104 qui traduit les macroinstructions en Ulie aaresse à huit bits ue démarrage d'une séquence de microprogrammes dans l'unité de commande de microprogramme. t'unité de commande de microprogramme (MCU) sera décrite de façon plus détaillée à propos de la fig. 2. te PLA est un groupe logique programmable, comme on le verra ultérieurement. La MOU 106 régit la succession dans laquelle des microinstructions sont recherchées dans la me moire de microprogramme (MROM) 108). La MCU (fig. 2), qui contient un registre d'adresse de microprogramme 142, génère la microinstruction suivante en modifiant le contenu du registre 142, ou elle reflète l'adresse par le signal d'entrée issu du tampon de priorité 130, du tampon ae retour de sous-programme 114, du codeur à saut 110 ou du PLA 104, puis décode et vérifie les données d'adresse fournies par ces différents processus d'entrée pour déterminer la séquence d'exécution des microin-structions. Le signal de sortie de la MOU 106 est une adresse à huit bits qui, combinée avec un unique bit constituant le signal de sortie du système logique du bit le plus significatif (MSB) 113, constitue une microadresse à neuf bits, Comme on le verra ultérieurement, le neuvieme bit détermine la paire parmi 48 x 256 pages (blocs) de la MROM qui est adressée. Ce signal de sortie de la MOU est présenté en même temps à la mémoire fixe de microprogramme (MROM) 108 et au codeur à saut 110. La EROM 108 produit des instructions de microprogramme portant un certain nombre de fonctions qui seront décrites de façon plus détaillée à propos du format représenté sur la fig. 3. Le codeur de saut 110 est un circuit intégré, réalisé par un composant Signetics 82, qui crée une nouvelle adresse de sortie en conséquence d'une adresse d'entrée provenant de la MOU. La MOU 106 est une structure de circuit intégré dans laquelle plusieurs fonctions sont reunies sur une même rondelle de semiconducteur. Le composant 30001, fabriqué par Signetics Corporation ou Intel Corporation, est une MOU particulière qui peut être utilisée dans le cadre de l'invention. On trouvera une description détaillée de ce compsant dans la brochure de la Série Signetics 5000 et dans la brochure de la Série Intel 3000. Le schéma par blocs intérieur dey la MOU est représenté sur la fig. 2 otL l'on peut distinguer le systeme logique d'adresse suivante 144, le registre d'adresse de microprogramme 142 et les tampons d'entrée et de sortie 143. Le PLA et le codeur à saut peuvent être réalisés respecti vemerit à partir de composant 825100 et 825115. Tous deux sont fabriqués par Signetics et sont décrites dans une brochure intitulée Sîgnetice Microprocessor Introducing the 3000. la mémoire fixe de microprogramme tEROM) 108 peut être réalisée à partir de plusieurs circuits intégrés, par exemple des Signetics 825115. On trouvera une description détaillée du fonctionnement de cette MROM dans une brochure intitulée Signetics BiPolar Microprocessor Series, éditée par Signetics Oorporation. La 1OM produit plusieurs zones de signal pour régir diverses fonctions dans la minicalculatrice. Il y a treize zones de commande produites par la EXOK; certaines de ces zones d'adresse constituent aes signaux d'entrée pour un second niveau de PROLOS de commande qui sont réparties dans la calculatrice et seront décrites à propos des différentes parties auxquelles elles se rapportent. Par exemple, deux de ces ROMS de commande constituent le générateur de chronologie, comme on le verra ultérieurement.L'avantage de ces PROUES Qu second niveau est qu'elles peuvent autre retirées rapidement et remplacées ou rsprogrammée afin de modifier le mode de fonctionnement du composant, Oette possibilité de changement de la programmation fixe contribue à la grande souplesse de la logique de la minicalculatrice. Les zones produites par la MROM sont les suivantes : (voir fis 3) la zone S commande la fonction et le groupe de registres sélectés. La zone de fonction E est une zone de deux bits qui régit la fonction de macro-état de la minicalculatrice. La zone de sélection R est une zone à trois bits qui régit la sélection de branchement. La zone de sélection J est une zone à cinq bits pour régir la sélection de constantes. La zune de sélection G est une zone à cinq blts qui régit la sélection de registres. Les zones de commande I, Q, K, S et G régissent les diverses opérations arithmétiques et logiques de la minicalculatrice. Aucune de celles-ci n1 est concernée par la présente invention et, en conséquence, elles ne seront pas décrites avec plus de aezailss. Les zones intéressantes dans le cadre ae la présente demande sbnt la zone I qui régit l'opération d'entrée-sortie, la zone R qui régit la logique de génération des microadresses, la zone A qui commande la MOU pour la production de l'adresse suivante et la zone T qui est une zone à cinq bits de commande du générateur de chronologie. La zone B est également concernée ici et sera décrite brièvement-ci-aprè. Le tableau suivant indique la miorofonction concernant les générateurs des zones énumérées ci-dessus qui sont concernées par la présente invention.Il y a d'autres microfonctions dans les zones mentionnées qu'il nty a pas lieu de considérer ici. one Binaire aiemoniue Fonction R 010 SRN Mémorise à partir du codeur à saut dans le tampon de sous-programme. 011 MPL Valide le tampon de priorité. 100 Valide le PLA pour la génération d'une nouvelle microadresse à partir de macro 1R. 101 RET Prend une adresse dans tampon de sous-programme, introduit l'adresse dans MCU et une nouvelle adresse issue de MCU est introduite dans le codeur à saut. L'adresse codée est introduite dans la tampon de sous programme. 111 Prend une microadresse yuans la 0U et introduit une adresse dans le codeur à saut qui génère une nou velle adresse en conséquence, chargée directement dans la MOU. Zone Binaire Mnémonique Fonction T 0001 FRC T4=X L'horloge de demande du panneau avant synchronise uns demande issue du panneau avant. 0010 IRC T4=X L'horloge de registre d'ins truction synchronise und information issue de la mémoi re à forez pour macro IR. 0011 EWR T4=X Horloge d'exéc. d'éoriture impulsion chrono. pour mémoire à tores. 0100 SRC T4=X Horloge de registre de dispo sitif de sélection - synchro nise registre de dispositif 10 de sorte que l'adresse provenant de 10 soit synchro- nisée avec la calculatrice. 0101 PRO T4=X Horloge de tampon de priorité - contrôle tarpon de priorité 0111 DRO T4=X Horloge de registre de données mémoire - synchronise la donnée issue de la ligne commune d'ALU vers MDR. 1011 RD T4=X Horloge d'exéc. de lecture impulsion chrono de lecture mémoire pour la mémoire. 1100 FRS T4=X Horloge de remise en mémoire de recherche - remet infor mation en mémoire. 1101 ERS T4=1 Horloge d'exéc. de remise en mémoire - remet information en mémoire. 1110 FRD T4=X Horloge de lecture de recher che - impulsion chrono de lecture mémoire pour la mémoire. i peut autre "0" ou "1" - peu importe ce qu'il est. Zone Binaire Mnémonique 0000 DOA ECHANTILLONNAGE I/O DOA Transfert de donnée à l'extérieur vers périphérique. 0001 DOB ECHANTILLONNAGE I/O DOB Transfert de donnée à l'extérieur vers périphérique. 0010 DOC ECHANTILLONAGE I/O DOC Transfert de donnée. à l'extérieur vers périphérique. 0011 STR IMPULSION DE DEMARRAGE Démarre un périphérique qui n'émet pas d'impulsions. Zone Binaire mnémonique F onction 0100 IDL en cas de non-émission d'impulsions. 0101 DIA ECHANTILLONNAGE I/O DIA Transfert de donnée dans mémoire à partir de périphérique. 0110 DIB ECHANTILLONNAGE I/O DIB Transfert de donnée dans mémoire à partir de périphérique. 0111 DIO ECHANTILLONNAGE I/O DIC Transfert de donnée dans mémoire à partir de périphérique0 1000 INT IMPULSION INTA CPA demandant identité quant au périphérique qui s'arrête, 1001 DCA IMPULSION DMA Accusé de réception de canal de @@@@@@@ données. 1010 OIR IMPULSION EFFACEMENT Démarrage. 1011 IOP IMPULSION IORST - remet en l'état initial le périphérique. 1100 IOR II I 1101 MSK IMPULSION MSKO - empêche périphéri que de s'arrêter. 1110 DCI IMPULSION DCHI - donnée issue de périphérique vers mémoire à tores. ----------- 1111 DCO IMPULSION DCHO - dunnée issue de mémoire a tores vers périphérique. ZONE Etat de non Fonction chargement A AC0 - AC6 Signaux d'entrée vers logique d'adresse suivante dans MCU pour provoquer la produc tion d'adresse suivante. Donnée sur lignes communes S est chargée dans verrou de PR. Donnée sur ligne commune te sous contrôle de zone A et chargée dans registre d'adresse de microprogramme. JPR Prend donnée dans verrou de PR, la charge dans logique d'adresse suivante où elle est modifiée et chargée dans registre d'adresse de microprogramme. Etat de chargement Tout état binaire ou' le bit le plus significatif de la zone R charge une adresse issue des lignes communes SX et PX directement dans le registre d'adresse de microprogramme, en by-passant le verrou PR de la logique d'adresse suivante. un considrera maintenant la production (L'adresse de microprogramme dont il a été question ci-dessus. La zone A commande la MOU et la zone R régit l'entrée de la MOU; par conséquent, les sept bits de la zone A, en-liaison avec les trois bits de la zone E, amènent la MOU 106 et le MSB-113 à produire une donnée d'adresse mémoire MA0-MA8 qui est introduite dans la MARGE pour générer les zones mentionnées ci-dessus. Cela se produit, tant dans l'état de chargement que de nonchargement. A l'aide du circuit de la présente invention, lorsqu'un microprogremme nécessite une adresse particulière un instant particulier, cette adresse peut être produite de cinq manières différentes : soit directement à partir du système logique d'adresse suivante 144 dans le registre d'adresse de microprogramme 142 (le registre d'airesse de microprogramme peut pro duire ses propres adresses, cette génération a'adresses étant décrite dans les brochures précitées), soit indirectement à partir du registre d'adresse de microprogramme par ltinterme- diaire du codeur à saut 110 (en conséquence d'une adresse précédente), soit à partir du tampon de retour de sous-programme 114, soit à partir du traducteur de PLA 104, soit encore à partir du codeur de priorité 130 (il en sera question ci-après de façon plus détaillée). Pour en revenir aux fig. 1 et 2, la fonction du codeur à saut 110 est de modifier l'information d'adresse générée par la MOU, afin de provoquer la production de nouvelles adresses sous la commande de la zone R. Ces nouvelles adresses sont générées en réponse à des adresses de sortie du registre d'adresse de microprogramme 142 (qui fait partie de la MCU 106). Les adresses sont transmises au tampon de retour de sous- programme 114 où elles sont maintenues jusqu'à leur utilisation ou leur destruetion. Si l'adresse est utilisée, une impulsion d'horloge est produite en conséquence d'un signal issu de la MROM 108, la zone de commande R (SRN) du mon de commande de microprogramme0 Cette information d'adresse est alors conservée dans le tampon de retour de sous-programme 114 jusqu'à ce qu'un signal (RT) soit introduit en provenance de la MROM 108 dans le tampon de retour de sous-programme 114. Il en résulte que l'adresse MA0-MA8 est accessible sur les lignes SX3-dXO et P17-PI4 pour le système logique de commande d'adresse suivante 144 dans l'unité de commande de microprogramme eau 106. Une adresse peut être introduite dans la MROM comme dans le codeur à saut pour amener ce dernier à générer une nouvelle auresse et à memoriaer l'adresse aans le tampon de sousprogramme. Cela se produit lorsque la zone R provoque un retour depuis la commande de sous-programme (RET). Ainsi, dans ces conditions, les retours du tampon de retour de sousprogramme conservent automatiquement un nouveau retour dans le tampon de retour de sous-programw-e 114. Tout cela se produit dans le même cycle, sans nécessité de mémoriser l'adresse dans un cycle consécutif. De la sorte, un microcycle est divisé en deux demi-cycles. Le mode de commande de sous-programme de la zone R (RET) se déroule avec deux demi-cycles.Dans le premier demi-cycle, une adresse qui est la dernière adresse dans un sous-proramme est transférée au tampon de retour de sousprogramme 114 dans le registre d'adresse de microprogramme. Dans le second demi-cycle, une adresse (qui est l'adresse suivante codée du microprogramme à la suite du sous-programme) est introduite à partir du codeur à saut 110 dans le tampon de retour de sous-programme 114. Dans un mode connexe (sRN), une adresse est générée par registre d'adresse de micio- programme et introduite à travers le codeur à saut 110 et elle est conservée par le tampon de sous-programme 114 pour être utilisée ultérieurement. Dans le mode (RET), une adresse est utilisée et une nouvelle adresse est produite et mémorisée dans le mme cycle.Dans le mode (j), le registre d'adresse de microprogramme 142 reçoit son signal d'entrée directement du codeur à saut 1100 Ce mode ne provoque pas la mémorisation d'une adresse dans le tampon 114. Dans le mode PLI, le PLA 104 traduit les macro-instructions en une adresse de départ à huit bits d'une séquence de microprogrammes de la MOU. Dans le mode SPL, le registre de priorité 130, qui se compose de deux circuits intégrés 132 et 134 (codeur Signetics 82148 et tampon Signetics 745374), comme on peut le voir de façon plus détaillée sur la fige 4, est sous la commande de la zone R du mot de commande de microprogramme.Lorsqugil est validé par ces signaux, seloll ce qui a été indiqué precéwemment, le tampon de priorité transmet un demi-multiplet de quatre bits d'information d'adresse à la MOU. Cette information d'adresse est composée de signaux qui interrompent le microprogrammeO Ce sont des signaux TTO et TTI pour l'entrée et la sortie à partir d'une unité télétype, un signal de saut (SAUT), un signal de canal de données et un signal de-panneau avant et de panne d'alimentation. Ces quatre bits sont transmis directement à la asu. Il est aonc visiple que, grâce au système décrit ci-ciessus, la production d'adresses d'une minicalculatrice est considérablement accrue. En bref, en ce qui-concerne le MSB cité précédemment, le MSB de l'adresse de microprogramme est contenu dans son propre circuit logique séparé afin dtintroduire plus de souplesse aans le branchement entre les 256 microadresses sUpérieures et inférieures. La fig. 7 est un'schéma du mode de réalisation de ce circuit. Un signal d'horloge de commande met à jour le tampon 400 (circuit intégré réalisé par un composant Signetics) sous la commande au microprogramme. Une porte 401 sert à mettre à jour le nsa aans les conditions de retour cle sous-programme.Le bit le moins significatif de l'adresse de retour est intro auit en synchronisme dans le tampon de MSE. Par conséquent, les adresses de retour impaires retourneront dans les 256 positions supérieures au moment où le signal dthorloge est délivré et les adresses de retour paires retourneront dans les 256 positions inférieures au moment où le signal horloge est délivré. lorsque la commande de zone R spécifie un mode JMP, le tampon de MSB est commuté au moment ou le signa d'horloge est délivré, Le générateur de chronologie 116 (voir fig, i et 4) est composé de plusieurs dispositifs de mémoire fixe. Cette disposition permet de modifier le système de chronologie de la minicalculatrice en remplaçant les éléments PROM.De plus, l'emploi de deux PROM pour le générateur de chronologie permet à la minicalculatrice de fonctionner selon différents modes. On aécrira maintexlant le générateur de chronologie 116 de façon plus détaillée en référence au schéma logique du système de commande de microprogramme présenté sur les fig. 1 et 4. le générateur de chronologie reçoit une impulsion d'entrée d'horloge en provenance de l'oscillateur 118 (fig. l)o Seion le mode classique, la zone de commande d'horloge 2 de la OL 108 fuurnit un signal d'entrée pour les deux mémoires fixes programmables TO (201), T1 (202), avec l'impulsion issue de l'oscillateur 118 pour la constitution du générateur de chronologie 116. Les mémoires fixes reçoivent les signaux d'entrée de commande de la zone T (T0 - 25) pour leurs parties adresse des PROMS 201, 202.La ligne d'adresse la plus significative des PROMS est raccordée à une horloge périodique 205 qui produit des impulsions en réponse à des impulsions générées par l'osciilatsur 118. Un-profil binaire programmé donné est contenu dans ces deux PRMOS, de sorte que les PROMS produisent des profils binaires particuliers en réponse aux zones T définies précéder ent. Une modification de ces PROUES changera le profil binaire en réponse à la zone T. L'emploi de PHOTS élimine le besoin de décodeurs, de générateurs de signaux et de portes sépares, les PROMS les combinant tous ensemble. la PROM T1 produit des niveaux de signal qui durent pendant plusieurs cycles. Les signaux passent au niveau supérieur ou inférieur et restent à ce niveau pendant plus d'un cycle. Par contre, la PROM TO produit des impulsions qui ne durent qu'un sewl cycle, comme indiqué ci-akrès Ensemble, les deux PROFS permettent différentes fonctions de matériel en même temps. Par exemple, des signaux d'horloge SMW et IR sont validés au même instant. SMW est un signal pour la mémoire, destine à démarrer le cycle correct. Ce signal doit durer pendant une certaine période de temps et, par conséquent, c'est un niveau qui est utilisé.Le signal IR a simplement besoin d'être une impulsion et on utilise donc llOo L'un et l'autre de ces signaux doivent être produits en même temps, puisque les bits de la zone 2 surviennent simultanément. Les profils logiques pour ces deux PROFS sont les suivants, en réponse aux signaux T. 'o w TO 8 7 6 5 4 3 2 1 1 1 1 t 1 1 1 1 I 1 1 1 1 I 1 1 1 II il o i i I i i i i i III 1 i 1 1 I i i i IV r 1 1 5 t 1 î V V H I i I I I I i Q VI 1 1 1 1 t 1 1 1 VII H 1 t 1 1 1 1 1 i VIII 7 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 Il 1 O t -T III I I I I 0 I I I IV H 1 1 1 u 1 i 1 1 V H 1 1 o 1 1 i i i VI H i 0 1 1 i i 1 1 VII o Q t 1 1 1 1 e VIlI L'horloge périodique 205 est connectée au bit d'adresse le plus significatif de PROM TO. La période de cette horloge est d'un microcycle complet. Les signaux horloge de commande FRD, ERS ... FRC seront devenus actif s lorsqu'ils sont choisis convenablement et au moment où l'horloge périodique entre dans sa région "VALIDATION". En ce qui concerne la PROM TO, un "1" est un bit d'invalidation pour toute ligne de signaux donnée parmi celles qui sont indiquées ci-dessus. Chaque PROIE est divisée en deux moitiés, une moitié de validation et une moitié (L'invalidation; la commande de microprogramme sélecte une paire de réponses de sortie pour le signal donné.Cette paire de signaux de sortie représente un état de validation et un état d'invalidation pour le signal; une transition de l'état d'invalidation à l'état de validation us ces signaux est provoquée Saur une transition identique de l'horloge périodique qui est reliée à la ligne d'adresse la plus significative et, en conséquence, la sélection de l'adresse d'invalidation ou de validation de la paire provoquera la production d'un signal horloge. Le signal de validation ou d'invalidation sera produit, puis l'autre sera généré pour amener le signal à passer du niveau inférieur au niveau supérieur ou inversement et produire ainsi une impulsion.Par exemple, si le signal ERD correspondant à l'état V est requis, il sera produit un "1" pour l'invalidation et un "0" pour la validation. Il en résulte une impulsion st, de la sorte, un signal d'horloge. Ainsi est produit le signal d'horloge, en utilisant simplement deux PROMS, et non les portes et autres circuits usuels. Il en va de même en ce qui concerne la production de tout autre état ou signal. T1 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 FRO 0 0 0 0 0 0 0 0 IRO 0 0 0 0 1 0 1 0 EWR 0 0 0 0 0 0 0 0 SRO 0 0 0 0 0 0 O O PRO Q o o O O O 0 O DRO 0 0 0 0 1 0 0 0 DLD 0 1 0 0 0 0 0 0 UPD 0 0 0 0 0 0 1 0 FRS 0 0 0 0 1 0 1 0 ERS 0 0 0 0 1 0 0 1 FRD 0 0 0 0 0 0 0 0 DISPONIBLE O 0 O O O 0 O O OISIF O O 0 O O O O O FRI 0 0 0 0 0 0 0 0 OR1 0 0 0 0 1 0 1 0 EWR 0 0 0 0 0 0 0 0 SR1 O O O O O 0 0 O PR1 O O O O O O O CR1 O O O O O o O O DR1 O O O O O O O O GR1 0 O 0 0 O 0 O O 0 0 1 0 0 0 0 0 DBC 0 0 0 1 0 1 0 1 ERD 0 0 0 0 0 0 1 0 FRS 0 0 0 0 1 0 1 0 ERS o o o o i 0 0 i FRD 0 0 0 0 0 0 0 0 DISPONIBLE 0 0 0 0 0 0 0 0 IORST 0 0 0 0 0 0 0 0 MSK@ 0 0 O 0 O 0 O O DCHO 0 0 0 0 0 0 0 0 DCHO DEPASSE- ADD. MENT DCHO DCHI MSKO IORST IOPLS INTA DEC. 8 7 6 5 4 3 2 1 16 DOA 0 0 0 1 0 0 0 1 17 DOB 0 0 0 1 0 0 0 1 18 DOC 0 0 0 1 0 0 0 1 19 STR 0 0 0 1 0 0 0 1 21 DIA 0 0 0 1 0 0 0 1 22 DIB 0 0 0 1 0 0 0 1 24 INTA 0 0 0 1 0 0 0 0 25 DMA 0 0 0 1 0 0 0 1 26 CLR On se réferera de nouveau aux fig. 1 et 4 pour considérer le système logique de commande d'entrée-sortie (IO). Le systeme logique de commande IO 122 convertit la zone I de commande 10 à quatre bits issue du mot de commande de microprogramme en plusieurs impulsions de commande d'entrée-sortie selon ce qui plusieurs impulsions de commande d'entrée-sortie selon ce qui est représenté sur les fig. 1 et 4. Plus précisément, la zone de commande 10 est formée par deux PROMS 212 et 214. Les PROMS peuvent être réalisés à partir de composants 74S288 fabriques par Texas Instruments. La programmation des deux PROMS 10 et 11 est la suivante . CC ST DC DIB DIA DIC DIB DIA 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 1 DOA 0 0 0 0 0 0 1 0 DOB O O O O 0 i 0 O O 1 0 0 O O O O STR O O 0 o 1 o 0 o DIA 0 O 0 1 0 0 0 O DIB O 0 1 0 0 0 0 0 DIC Q O O O O G O O INTA 0 0 0 0 0 0 0 0 DMA 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 28 IORST 0 0 0 0 0 0 0 1 29 MSKO 0 0 1 1 1 0 0 1 30 DCH1 0 I e t O 0 O 1 31 1)0116 Ces deux tableaux présentent les profils binaires engendrés par les deux PROIES IO et Il en réponse aux signaux de la zone I. Les signaux us la zone I sont générés à partir de la MROM Il y a lieu de noter en particulier que grâce à l'emploi de PROMS pour produire les différentes zones du mot de commande de eiicro- programme, une bonne partie de la logique ordinairement réalisée sous forme de matériels pour la commande de iispositifs d'entrée sortie a été incluse dans le système de commande de microprogram- nie, avec l'élimination qui en résulte d'interfaces et de verrous de commande. Les signaux sont des niveaux, de la même manière que les signaux relatif s à il Un exemple typique de ces signaux est le suivant : le microprogramme générera le signal DQA 00000001 pour produire un signal de niveau supérieur. Ce signal restera au niveau supérieur jusqu'à ce que soit produit le OISIFS et, à ce moment, le niveau redevient inférieur. les autres signaux ressortent des tableaux; il n'y a donc pas lieu de les décrire en détail. Lorsqugon veut changer le profil binaire, on peut remplacer rapidement et facilement les tROES. On se référera maintenant aux fig. 5 et 7 poul aécrire la logique de commande de mémoire extérieure 124. le circuit extérieur de la fig. 5 commande le remplacement de données de mémoire interne par des données de mémoire extérieure au cours d'une macro-instruction. On considérera maintenant le by-pass de la mémoire qui est illustré en détail sur la Si. 5. le système fonctionne fondamentalement de la manière suivante : la donnée de mémoire extérieure est en rapport avec la ligne commune ALU. Des lignes d'adresse mmoire extérieure sont connectées à la ligne commune d'adresses. Les adresses matérielles de la mémoire extérieure peuvent recouvrir ou ne pas recouvrir l'adresse de mémoire interne.Lorsqu'une adresse convenable est décodée pour la-mémoire extérieure, l'inhibition extérieure doit être levée. Ce signal invalidera le signal de chargement et validera BUSEX, ce qui permet au contenu de la mémoire extérieure d'être transféré dans la CPU. Les pilotes de la ligne commune d'entrée-so7tie 10 sont valides pour permettre le transfert de donnée entre ligne commune de données et ligne commune ÂLU. le composant logique de commande de mémoire extérieure 124 peut être réalisé avec un bloc de décodage SN '145139 de Texas Instruments et est placé sur la plaquette de la Cru, comme le montre la fig. 1. La logique particulière du circuit intégré S139 avec sa table de vérité et dix connexions est décrite à la page 274 du Til Data Book for Design Engineers, édité par Taxas Instruments Inc., dépit légal 1913. Il y a-deux signaux d'entrée pour la logique de commande de mémoire extérieure validation de MDR et inhibition extérieure0 -'la fig. 5 représente un circuit extérieur (extérieur à la OPU) qui sert à provoquer l'opération de la logique de commande de mémoire extérieure pour remplacer une partie de la mémoire à tores par une mémoire extérieure. Un signal de commande issu du circuit extérieur de la fig. 5, inhibitionextérieure, invalide le générateur de BUS 1. Normalement, le signal validation de DR, qui est généré à partir de la zone B du microprogramme, provoque la production de BUS i qui est acheminé vers MDR pour valider la mémoire principale. l'invalidation de BUS 1 provoque la production de BUSEX. BUSEX valide la porte 304, permettant au registre de donnée extérieure 303 de placer sa donnée sur la ligne commune de données. Comme-on peut le voir sur la fig. 5, le décodeur adresse 301 décode les adresses sur la ligne commune d'adresses pour déterminer si l'adresse est destinée à une position interne ou externe, Une donnée provenant du registre de donnée extérieure 303 est transférée, sous la commandedu signal de chargement de donnée locale et de la porte 302, vers la ligne commune de données de la CPU par l'intermédiaire de la perte 304, sous l'effet d'un signal DRCIK qui est un signal sur la ligne commu ne de données. la fig. 6 est le chronogramme de cette opération. Lorsque le signal inhibition extérieure passe au niveau inférieur, il provoque le passage au niveau inférieur de BUSEX (validé) et le maintien au niveau inférieur de BUS 1 (invalidé). Lorsque le signal inhibition extérieure passe au niveau supérieur, BUSEX reste au niveau supérieur (invalidé) et BUS 1 passe au niveau supérieur (validé). L'adresse est placée sur la ligne commune adresses (opération de lecture). Une ligne commune A (fig. 6) se stabilise. le décodeur d'adresse 301 vérifie si l'adresse est interne ou extérieure pour assister le signal inhibition exterieure. La CPU envoie un signal de validation de MDR qui produit un signal BUSEX et maintient BUS 1 inactif. BUSEX provoque l'application de la tonnée de mémoire extérieure sur la ligne commune 10 et valiae également le tampon d'entrée It 153 pour le passage de la ligne commune de données à la ligne commune ALU, Pour une opération d'écriture, la donnée est transférée automatiquement de la ligne commune ALU à la ligne commune de données par le circuit de sortie LO 154 vexas Instr. 745240) et DRClK (horloge ae chargement de registre de donnée mémoire). La donnée est écrite simultanément dans des positions des mémoires extérieure et interne. Si la mémoire extérieure by-passe la mémoire interne, la donnée transférée sur la ligne commune ALU n'est fournie que par la mémoire extérieure. i1outefois, le cycle d'écriture proauira une mémorisation dans la même position ae mémoire, tant dans la mémoire interne que dans la mémoire extérieure. Il a donc été décrit une minicalculatrice qui élimine une bonne part des matériels ordinairement inclus dans les calculatrices et qui possède une capacité de génération d'adresses et une souplesse ae prograr"r"ation considérablement étendues. Comme il va de soi et comme il résulte d'ailleurs déjà de ce qui précède, l'invention ne se limite nullement à ceux de ses modes d'application non plus qu'à ceux des modes de réalisation de ses diverses parties ayant été plus spécialement indiqués; elle en embrasse, au contraire, toutes les variantes. REVEIUD ICÂT IONS 1.- Minicalculatrice, caractérisée en ce qu'elle comprend des premiers moyens pour générer plusieurs mots d'adresse pour adresser un élément de mémoire de microprogramme; et des seconds moyens constitués par des mémoires fixes programmables raccordées aux premiers moyens, pour décoder le signal de sortie de ces premiers moyens, ces seconds moyens étant interchangeables afin d'aecroitre la souplesse de ltadressage de la mémoire de microprogramme. 2. inicalculatrice selon la revendicatíon 1, caractérisée en ce qu'elle comprend en outre deb aryens, connectés aux premiers et aux seconds moyens, pour changer une adresse d'un microprogramme en réponse à un signal spécialement généré. 3.- Minicalculatrice selon la revendication 1, caractérisée en ce qu'elle comprend en outre des moyens montés entre une mémoire principale dans la minicalculatrice et un système de mémoire extérieure, pour remplacer une information de mémoire interne par une information provenant de la mémoire extérieure au cours d'un seul cycle d'instruction. 4.- Minicalculatrice selon la revendication 1, caractérisée en ce qu'elle comprend en outre un générateur d'impulsions de chronolobie qui se comEose de plusieurs dispositifs de mémoire fixe coopérant pour générer les impulsions de synchronisation nécessaires pour le fonctionnement de la minicalculatrice. 5.- Minicalculatrice, caractérisée en ce qu'elle comprend des premiers moyens pour constituer un registre d'adresse de microprogrininis pour générer et mémoriser des adresses de microprogramme; des seconds moyens dessinés à mémoriser ces adresses; ces premiers et ces seconds moyens générant des adresses dans un seul cycle, mémorisant ces adresses et les introduisant dans le registre d'adresse de microprogramme dans le même cycle ou dans le cycle suivant. 6 i2iicalculatrics selon ia revendication 5, caractérisée en ce que les seconds moyens génèrent une nouvelle adresse. 7.- Minicalculatrice selon la revendication 5, caractérisée en ce qu'il est prévu des troisièmes moyens dans lesquels est introduite la nouvelle adresse des seconds moyens.