Brevet FR2286436A1 — publié le 19760423

la présente invention concerne un compteur d'ordres pour calculateur miniature, commandé par un programme mis en mémoire dans une mémoire de programme, le programme se composant de plusieurs programmes partiels combinés par l'intermédiaire d'un programme airmiltané, le compteur d'ordres comprenant un compteur dont l'état de comptage augmente à la lecture de chaque ordre de programme et qui fournit l'adresse de l'ordre suivant à la mémoire de programme. on connais déjà des calculateurs miniatures qui comportent une unité de traitement composée de deux registres d'opérandes et d'une unité de combinaison assurant des combinaisons logiques et arithmétiques des opérandes ainsi qu'un registres d'ordres qui assure la mise en mémoire intermédiaire et le décodage des ordres fournis par une mémoire de programme. gn outre, ces calculateurs miniatures contiennent un compteur d'ordres qui augmente son état de comptage après chaque ordre ou qui, lors d'un ordre de saut, est chargé par un nouveau mot et après la fin d'un ordre, assure la lecture de l'ordre respectivement suivant. 3n outre, les calculateurs miniatures comportent également une mémoire de données formée d'un grand nombre de registres, et qui contient les opérandes ainsi que les résultats des combinaisons0 las opérandes peu vent également être fourni8 par une unité entrée/sortie, qui assure l'introduction et la sortie de données. Les résultats des combinaisons peuvent également être transmis à cette unité entrée/sortie. - Dans le cas de calculateurs mi- niatures qui doivent, effectuer siimiltanément plusieurs opéra tions, ces diverses opérations sont coordonnées par un programme simultané. après chaque opération, il est nécessaire d'effectuer un saut dans le programme simultané. Dans le cas où les opérations durent un temps relativement long, il faut les diviser en des segments suffisamment courts afin que les opérations urgentes et Qu'il est nécessaire de traiter fré quemment, comme par exemple une transmission de données échangée avec l'unité d'entrée/sortie, puissent se faire suffisamment fréquemment.Pour le saut dans le programme simultané, il faut que l'adresse de démarrage du programme simultané soit introduite dans le compteur d'ordres. Lorsque le saut dans le programme sIirnltané est codé comme ordre de saut immédt, il ne peut être pla@é dans un seul byte car dans ce @as, il drait qu'il convienne l'adresse de démarrage du programme si multané. La présente invention a pour b@t de créer un compteur d'ordres dans lequel l'adresse du programme simultané, soit disponible de façon simple et sans nécessiter l'utilisation de plusieurs ordres. À cet effet, l'invention @on- verne un compteur d'ordres du type ci-dessus, caractérisé en ce qu'il comprend une mémoire combinée au compteur9 mémoire dans laquelle se trouve l'adresse de démarrage du programme simultané, et d'où, après chaque ordre qui déclenche un saut dans le programme simultané, on introduit l'adresse du programme simultané dans le compteur Le compteur d'oaires selon l'invention offre l'avantage d'augmenter la vitesse de traitement du calculateur miniature9 car pour mettre en mémoire l' adresse de démarrage du programme simultané, il suffit d'un seul ordre. in outre du fait d'une réduction du programme, il suffit d'un nombre plus faible d'emplacements de mémoire dans la mémoire de programme et cela réduit ainsi le coût de la mémoire de programme. Le compteur d'ordres ne demande que des moyens réduits si on prévoit comte mémoire une mémoire à valeur fixe. Dans le cas où l'adresse du programme simultané doit être modifiée de temps à autres il est avantageux que la mémoire soit une mémoire d'inscription/ lecture dont le contenu puisse être modifié par des ordres dans le programme. La présente invention sera dé- frite plus en détail à l'aide d'un exemple de réalisation représenté schématiquement dans les dessins annexés, dans lesquels : la figure 1 est un sehéma- bloc d'un calculateur miniature. La figure 2 est une vtie schématique du déroulement de plusieurs programmes partiels reliés par l'intermédiaire d'un programme simultané. - la figure 5 est un schéma- bloc d'un compteur d'ordres. Le calculateur miniature re présenté à la figure 1 comporte une unité de traitement VA qui est commandée par un programme mis en mémoire dans une m6- moire de programme PS et qui combine respectivement deur cp- rands, par une combinaison logique ou arithmétique. Le type de combinaison est des adresses des registres dans lesquels sont mises en mémoire les opérandes ainsi que ceux dans lesquels on met le résultat de la combinaison, sont contenus dans les ordres qui sont lus par la mémoire de programme PS et qui sont envoyés à un registre d'ordres BR. Le registre d'ordres DR décode ces ordres et commande leur déroulement chronologique. En outre, ce registre fournit les adresses des registres comme signaux AD. Pendant l'exécution de chaque ordre, un compteur d'ordre BZ est commuté afin qu'après chaque ordre, l'ordre suivant puisse Outre lu dans la mémoire de programme PS. Dans le cas où la mémoire de programme PS contient un programme, qui se compose de plusieurs programmes partiels combinés les uns aux autres par un programme simultané, le compteur d'ordres fournit l'adresse du programme simultané à la mémoire de programme PS pour chaque saut.Ce saut du programme simultané peut se faire avec ou sans condition0 Â titre d'exemple, un saut dans le programme simultané peut se faire à condition qu'un signal AN soit envoyé au calculateur miniature par l'intermédiaire d'un compteur d'ordres BZ, ce signal devant par exemple ttre traité par une demande posée par l'unité d'introduction/sortie Â. Le calculateur miniature contient en outre une mémoire de données D9 composée de plusieurs registres g les opérandes et les résultats des combi- naisons sont contenus dans cette mémoire de données. la mémoire de données est reliée à une unité de traitement VA par l'in termédiaire des lignes de transfert de données DL, permettant de transmettre les opérandes et les résultats sous forme de signaux de données ds. Les adresses des registres dans lesquels sont lus les opérandes9 ou dans lesquels on introduit les ré- sultats, sont envoyées à la mémoire de données DS par l'intermédiaire des lignes d'adresse ÂL. in plus de la mémoire de données DS, les lignes de données DL et les lignes d'adresse AL sont également reliées à une unité d'entrée/sortie EA qui permet d'introduire ou de sortir les données. Les opérandes sont envoyés avant leur combinaison9 dans l'unité de traitement VA b l'aide d'ordres de lecture, en étant extraits de la mémoire de données DS ou étant pris dans l'unité entrée/sortie EÀ ou dans lXunité de traitement VA. À la suite de cela, ces opérandes sont combinés par un ordre de combinaison et le résultat de la combinaison est mis en mémoire dans un registre. Dans le plan de déroulement représenté schématiquement i la figure 2, correspondant à un programme mis en mémoire dans la mémoire de programme PS, on appelle les programmes partiels P1 ... P3 à partir d'un pro gramme simultané PS qui interroge le calculateur miniature en posant des questions dans un ordre déterminé. Â l'aide des données de l'interrogation9 le programme simultané PS effectue un saut dans lZun-des programmes partiels P1 ... P3. Après le déroulement du programme partiel correspondant P1 ... P3, on effectue immédiatement un saut dans le programme simultané PS. Dans le cas d'un programme partiel nécessitant une durée relativement grande, à intervalles réduits, à l'intérieur du programme partiel, on vérifie à l'aide d'un ordre si le signal AN est présent, ce signal indiquant au calculateur miniature qu'il y a une demande de traitement. Dans le cas où une demande est détectée, et que le signal AN présente par exemple la valeur binaire 1, on effectue un saut dans le programme simultané PS. rèss le traitement de la demande, on poursuit le programme partiel à l'endroit où il a été inter rompu par le saut dans le programme partiel. Le compteur d'ordres BS représente à la figure 3 contient un compteur ZA, une mémoire PS pour l'adresse de démarrage du programme simultané, une porte OU, G1 et une porte ET, G2. Le compteur ZA est augmenté d'une unité lors du déroulement du programme sous l'effet d'un signal S1 fourni par le registre d'ordres BR, après la lecture d'un ordre dans la mémoire de programme PS, pour communiquer à la mémoire de programme PS l'adresse de l'ordre suivant à l'aide d'un signal 52. Lorsque le registre d'ordres BR reconnatt un ordre comme ordre de saut immédiat dans le programme simultané PS, il fournit un signal par 1 'intermédiaire de la porte OU, Gil au compteur ZA g ce Signal introduit dans le compteur ZA le contenu de la mémoire SP comme adresse de dérar- rage du programme simultané PS. la mémoire de programe PS fournit ainsi comme ordre suivant, le premier ordre du programme simultané PS. bans le cas le plus simple, la mémoire PS se compose d'une mémoire à valeur fixe dans laquelle l'adresse de démarrage du programme sini1tané est par exemple formée par le câblage d'un composant. Dans le Oas où l'adresse de saut doit être modifiée de temps à autre, cela se fait de façon simple en utilisant comme mémoire SP, une mémoire d'inscription et de lecture dont le contenu peut par exemple être modifié par l'intermédiaire des lignes de transmission de données DL. Lorsque le registre d'ordres BR reconnaît un ordre constituant un ordre de saut conditionné dans le programme siniltané PS, il fournit un signal SA à la porte ET G29 vers le compteur d'ordres EZ. Dans le cas où simultanément le signal AN présente la valeur binaire 1 et indique qu'une demande doit être traitée, la porte ET, G2 four- nit un signal au compteur ZÂ par l'intermédiaire de la porte OU, GI, ce signal inscrivant de la même façon que pour le saut immédiat, le contenu de la mémoire SP comme adresse de démar- rage du programme simultané P9 dans le compteur. Bien entendu, l'invention n'est pas limitée à l'exemple de réalisation ci-dessus décrit et représenté à partir duquel on pourra prévoir d'autres modes set d'autres formes de réalisation, sans pour cela sortir du cadre de l'invention. REVENDICATIONS 10) Compteur d'ordres pour valculateur miniature, commandé par un programme mis en mémoire dans une mémoire de programme, le programme se composant de plusieurs programmes partiels combinés par l'intermédiaire d'urr programme simultané, le compteur d d'ordre3 comprenant un compteur dont l'état de comptage augmente à la lecture de chaque ordre de programme et qui fournit l'adresse de l'ordre suivant à la mémoire de programme, compteur caractérisé en ce qu'il comprend une mémoire (SP) combinée au compteur (ZA), mémoire dans laquelle se trouve l'adresse de démarrage du programme simultané, et d'où, après chaque ordre qui déclenche un saut dans le programme simultané, on introduit l'adresse du programme simultané dans le compteur (ZA). 20) Compteur d'ordres selon la revendication 19 caractérisé en ce que la mémoire ( ) est une mémoire à valeur fixe. 30) Compteur d'ordres selon la revendication 19 caractérisé en ce que la mémoire (SP) est une mémoire inscription-lecture dont le contenu peut être modifié par des ordres dans le programme.