FR 2587517 A1 19870320 FR 8513635 A 19850913 SEQUENCEUR D'INSTRUCTIONS POUR MICROPROCESSEUR, AVEC RESEAU DE DETERMINATION DES PHASES DES CYCLES D'INSTRUCTIONS La présente invention concerne les circuits intégrés complexes, et plus particulièrement les microprocesseurs, qui sont des circuits capables d'accomplir non pas une seule fonction bien déterminée mais toute une variété de fonctions différentes. Des instructions, sous forme de signaux codés reçus par le micro- processeur, déterminent les fonctions à accomplir. La succession des instructions reçues détermine le déroulement d'un traitement numé- rique complexe exécuté par le microprocesseur sur des données également reçues à l'entrée de celui-ci. Chaque instruction reçue est stockée dans un registre d'instructions pendant le déroulement du travail correspondant à cette instruction. Un séquenceur d'instructions fait correspondre à une instruction déterminée, c'est-à-dire à un ensemble de signaux binaires bien déterminés, un ensemble de signaux de commande apparaissant sur des lignes de commande en sortie du séquenceur. Ces lignes de commande sont reliées à des portes logiques, des registres ou d'autres éléments de circuit encore. Chaque instruction agit donc de manière unique sur un ensemble d'éléments de circuit du microprocesseur. C'est le rôle du séquenceur de transformer les instructions en signaux de commande des différentes parties du microprocesseur. Le séquenceur a donc d'abord une fonction de décodage: transformation d'un ensemble de signaux binaires (l'instruction) en un ensemble de signaux de commande; chaque instruction actionne en général plusieurs lignes de commande et réciproquement une même ligne de commande peut être actionnée par plusieurs instructions différentes. 8 7517 Mais de plus le séquenceur doit établir des phase de dérou- lement de l'instruction; en effet, l'exécution d'une instruction peut conduire par exemple à ouvrir une porte logique puis charger un registre etc... Les signaux de commande engendrés par le séquenceur doivent donc apparaître selon une séquence logique en plusieurs phases et non en une seule phase. C'est pourquoi un séquenceur d'instruction comporte en général un circuit de décodage d'instructions suivi d'un circuit de détermination des phases d'activation des signaux issus du circuit de décodage. La présente invention s'intéresse spécialement à la consti- tution de ce circuit de détermination des phases d'activation des lignes de commande du microprocesseur. La solution habituelle pour réaliser le circuit de détermination des phases d'activation consiste à placer en sortie du circuit de décodage d'instructions des portes ET et OU (ou NAND ou NOR si cela s'avère plus pratique) recevant d'une part les sorties du circuit de décodage et recevant par ailleurs des signaux correspondant aux diverses phases d'un cycle d'instruction. Les sorties de ces portes ou de groupes de portes constituent les lignes de commande activées à des phases bien précises. Pour réduire l'encombrement de ce circuit de détermination de phases, et aussi pour rendre sa conception et son implantation topologique plus facile entre les sorties du circuit de décodage d'instructions et les sorties du séquenceur lui-même, ceci sans rendre la fabrication plus difficile, on propose ici de réaliser le circuit de détermination des phases sous une forme matricielle particulièrement simple. Selon l'invention, le circuit de détermination des phases est essentiellement constitué par un réseau de transistors agencés en lignes et colonnes, des transistors étant présents à toutes les intersections de lignes et de colonnes, les transistors d'une même ligne étant placés en série entre une sortie du circuit de décodage d'instructions correspondant à cette ligne et une sortie du circuit de détermination de phase correspondant également à cette ligne, les transistors d'une même colonne étant commandés tous simulta- nément par un signal correspondant à une phase respective et les transistors des autres colonnes étant commandés par des signaux correspondant à d'autres phases, certains transistors étant de type déplété pour être conducteurs quel que soit le signal de commande qui est appliqué à la colonne dont ils font partie et certains transistors étant de type enrichi pour être conducteurs uniquement pendant la phase correspondant à la colonne dont ils font partie. Plus généralement l'invention concerne un réseau de portes logiques (programmable par masque) qui comporte des transistors agencés en lignes et colonnes, des transistors étant présents à toutes les intersections de lignes et de colonnes, les transistors d'une même ligne étant placés en série entre une entrée de réseau correspondant à cette ligne et une sortie de réseau correspondant également à cette ligne, les transistors d'une même colonne ayant tous leur grille reliée à une entrée de réseau correspondant à cette colonne et les transistors des autres colonnes ayant leurs grilles reliées à d'autres entrées de réseau correspondant aux autres colonnes, certains transistors étant de type déplété pour être conducteurs quel que soit le niveau logique appliqué à leur grille et d'autres transistors étant de type non déplété pour être conducteurs pour un niveau logique appliqué à leur grille et pour être bloqués pour un niveau logique complémentaire appliqué à leur grille. D'autres caractéristiques et avantages de l'invention appa- raîtront à la lecture de la description détaillée qui suit et qui est faite en référence aux dessins annexés dans lesquels: - la figure 1 montre la structure globale très schématique d'un séquenceur d'instructions pour microprocesseur, - la figure 2 montre la structure du circuit de détermination des phases selon l'invention, utilisable dans le séquenceur d'instructions. Le séquenceur d'instructions comporte très schématiquement ts4?S1? deux blocs qui sont respectivement un bloc de décodage 10 et un bloc de détermination de phases 12. Le bloc de décodage reçoit sur des entrées OPI, OP2,...OPn, des signaux binaires représentant des instructions à exécuter; ces signaux sont issus par exemple d'un registre d'instructions non représenté; le registre contient une instruction déterminée qui reste présente pendant tout le cycle d'exécution de l'instruction. Le bloc de décodage 10 fournit sur ses sorties SI à Sp d'autres signaux binaires qui vont servir à commander l'ouverture de portes, l'incrémentation de compteurs, le décalage de registres etc...; une instruction déterminée permet l'activation de plusieurs sorties et réciproquement une même sortie peut être activée par plusieurs instructions. Le bloc de décodage exécute donc le décodage néces- saire pour passer des signaux binaires représentant l'instruction aux signaux binaires permettant l'exécution de l'instruction. Le bloc de détermination des phases 12 reçoit sur des entrées BI à Bp les différents signaux de sortie du bloc de décodage et reçoit par ailleurs sur d'autres entrées (ici quatre entrées E1 à E4) des signaux d'horloge représentant diff érentes phases des cycles d'exécution des instructions. Les sorties de ce bloc 12 sont désignés par LI à Lp. La fonction de ce bloc est d'autoriser le passage d'un signal de sortie déterminé pendant une phase ou une combinaison de phases bien déterminées du cycle. Le bloc de détermination de phases accomplit donc une fonction d'ouverture ou fermeture de portes logiques. Par exemple les différentes phases du cycle sont représentées par quatre signaux d'horloge PI à P4 appliqués respectivement aux entrées El à E4. Si on veut que le signal sur l'entrée BI n'apparaisse en sortie du séquenceur que pendant la phase P3 par exemple, on utilisera une porte ET à deux entrées reliées l'une à l'entrée BI et l'autre à l'entrée E3. De même si on veut que le signal sur l'entrée B2 ne soit activé que pendant les phases P1 et P4, on utilisera deux portes ET à deux entrées (B2 et El, B2 et E4) suivis d'une porte OU recevant les sorties de cette porte ET. Autre exemple: si le signal 258 7 5 1 7 sur l'entrée B3 doit être transmis pendant toute la durée du cycle, on n'utilisera pas du tout de porte logique mais une liaison directe entre l'entrée B3 et une sortie du circuit de détermination de phases. Les circuits de la technique antérieure sont constitués de cette manière avec des portes à deux ou plusieurs entrées ou des liaisons directes s'il y a lieu. Chaque porte comprend strictement autant d'entrées qu'il est nécessaire pour élaborer les fonctions ET et OU désirées. Bien entendu, comme cela est bien connu,les portes logiques pourraient être aussi bien des portes NAND ou NOR selon que les niveaux logiques des phases ou des entrées sont actifs au niveau haut ou bas. Pour les portes ET et OU on a considéré que les niveaux actifs sur toutes les entrées étaient des niveaux hauts. Par rapport à cette structure classique avec à chaque ligne une ou plusieurs portes logiques à nombres d'entrées variables et limitées, ou avec à certains endroits un simple inverseur ou une absence totale de porte logique, la présente invention propose une structure en réseau régulier pour le bloc 12 de détermination des phases. Cette structure est visible à la figure 2. Elle comporte des transistors agencés en lignes et colonnes. A chaque colonne correspond une phase particulière et à chaque ligne correspond un signal de commande à transmettre pendant une phase ou une combinaison de phases particulière du cycle. Un transistor est placé à chacune des intersections d'une ligne et d'une colonne. Toutes les lignes comportent donc le même nombre de transistors. Sur la figure 2 il y a quatre colonnes donc quatre transistors par ligne. Il y a p lignes. Les transistors d'une même colonne ont tous leur grille reliée à un même conducteur (CCI à CC4 pour les colonnes I à 4) qui lui- même est relié à une entrée respective (El à E4). Chacune des entrées E1 à E4 reçoit un signal d'horloge respectif représentant un signal d'horloge particulier qu'on appellera phase de cycle. 258751 i Les transistors d'une même ligne sont tous en série c'est-à-dire que le drain de l'un est relié à la source du suivant. Cet ensemble en série de transistors d'une même ligne est relié entre une entrée respective (B1 à Bp) du bloc, et une sortie respective (LI à Lp) correspondant à la même ligne. Parmi tous ces transistors certains sont de type déplétés, tel que TI, et sont représentés avec en trait renforcé entre source et drain, et d'autres sont de type normalement enrichis, tels que T2, et sont représentés avec un trait fin entre source et drain. Les transistors déplétés ont un dopage de canal tel qu'ils soient conducteurs quel que soit le niveau logique appliqué à leur grille; par exemple, en admettant que le niveau logique bas est à zéro volt et le niveau logique haut à 5 volts, pour un transistor à canal N normal (non déplété), le transistor est conducteur si la différence de potentiel grille-source est de 5 volts et il est bloqué si elle est de zéro volt. Pour un transistor à canal N déplété, il est conducteur dans les deux cas; il ne serait bloqué par exemple que par une tension de -5 volts mais le circuit est conçu pour que la différence de potentiel de la grille par rapport à la source ne varie que de 0 à + 5 volts. En particulier les diff érentes phases sont définies par des signaux logiques d'horloge appliqués aux conducteurs de colonne, et ces signaux d'horloge ont des niveaux (par exemple de 0 et 5 volts) tels que les transistors non déplétés sont bloqués ou conducteurs selon le niveau du signal d'horloge alors que les transistors déplétés sont toujours conducteurs. Sur la figure 2, on voit que certains signaux d'entrée du bloc de détermination des phases sont appliqués à un ensemble de transistors qui sont tous déplétés sauf un seul qui est commandé par un signal d'horloge correspondant à une phase; le signal d'entrée sera transmis à la sortie pendant cette phase seulement. D'autres signaux d'entrée sont appliqués à un ensemble de transistors dont plusieurs ne sont pas des transistors déplétés et sont commandés par des phases distinctes; le signal d'entrée sur la ligne correspondante ne sera transmis à la sortie que pendant la durée de recouvrement mutuel des deux phases. Si une ligne comporte quatre transistors déplétés, le signal de sortie sera transmis pendant tout le cycle. Dans tous les cas, la structure selon l'invention est telle que. chaque ligne constitue une porte commandée mais les portes comportent toutes les mêmes entrées qui sont les conducteurs de colonne correspondant aux différents signaux d'horloge. Dans certains cas on pourra prévoir de relier ensemble deux ou plusieurs sorties, ce qui établit une fonction OU: par exemple, si les sorties LI et L3 sont reliées et forment une seule sortie, cette sortie transmettra le signal d'entrée BI pendant la phase E2 ou le signal d'entrée B3 pendant la phase E3. La structure de ce bloc est très compacte et très simple de conception. Il n'y a qu'à définir le type de transistor à chaque intersection de ligne et de colonne pour définir la synchronisation des_ signaux de sortie du séquenceur. De plus la fabrication est très simple puisque la définition du type de transistor se fait par un masque qui protège globalement contre l'implantation d'impuretés d'enrichissements l'ensemble des zones correspondant aux transistors déplétés; un masque complémentaire peut aussi protéger contre l'implantation d'impuretés de déplétion l'ensemble des zones corres- pondant aux transistors enrichis. Ce bloc de détermination de phases en réseau est facilement utilisable pour d'autres applications puisqu'il constitue en réalité un réseau de portes ayant chacune n entrées communes aux autres portes et une entrée individuelle différente de celle des autres portes. Parmi les n entrées communes seules celles qui corres- pondent à un transistor non déplété agissent effectivement comme entrées de porte ET, les autres étant neutralisées. REVENDICATIONS 1. Séquenceur d'instructions pur microprocesseur, ayant des entrées pour des signaux binaires représentant des instructions et des sorties pour des signaux de commande des fonctions du micro- processeur, ces signaux de commande étant activés uniquement pendant des phases déterminées des cycles d'instruction, le séquenceur comportant essentiellement un circuit de décodage d'instructions et un circuit de détermination des phases d'activation des signaux de commande, caractérisé en ce que le circuit de détermination des phases d'activation est essentiellement constitué par un réseau de transistors agencés en lignes et colonnes, des transistors étant présents à toutes les intersections de lignes et de colonnes, les transistors d'une même ligne étant placés en série entre une sortie du circuit de décodage d'instructions correspondant à cette ligne et une sortie du circuit de détermination de phase correspondant également à cette ligne, les transistors d'une même colonne étant commandés tous simultanément par un signal corres- pondant à une phase respective et les transistors des autres colonnes étant commandés par des signaux correspondant à d'autres phases, certains transistors étant de type déplété pour être conducteurs quel que soit le signal de commande qui est appliqué à la colonne dont ils font partie et certains transistors étant de type non déplété pour être conducteurs uniquement lors de la phase correspondant à la colonne dont ils font partie. 2. Réseau de portes logiques caractérisé en ce qu'il comporte des transistors agencés en lignes et colonnes, des transistors étant présents à toutes les intersections de lignes et de colonnes, les transistors d'une même ligne étant placés en série entre une entrée de réseau correspondant à cette ligne et une sortie de réseau correspondant également à cette ligne, les transistors d'une même colonne ayant tous leur grille reliée à une entrée de réseau correspondant à cette colonne et les transistors des autres colonnes ayant leurs grilles reliées à d'autres entrées de réseau correspondant aux autres colonnes, certains transistors étant de type déplété pour être conducteurs quel que soit le niveau logique appliqué à leur grille et d'autres transistors étant de type non déplété pour être conducteurs pour un niveau logique appliqué à leur grille et pour être bloqués pour un niveau logique complémentaire appliqué à leur grille.