FR2670601A1 - Dispositif de memoire morte. - Google Patents
Dispositif de memoire morte. Download PDFInfo
- Publication number
- FR2670601A1 FR2670601A1 FR9015855A FR9015855A FR2670601A1 FR 2670601 A1 FR2670601 A1 FR 2670601A1 FR 9015855 A FR9015855 A FR 9015855A FR 9015855 A FR9015855 A FR 9015855A FR 2670601 A1 FR2670601 A1 FR 2670601A1
- Authority
- FR
- France
- Prior art keywords
- read
- memory
- address
- program
- programmable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/328—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Stored Programmes (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Debugging And Monitoring (AREA)
Abstract
Dispositif de mémoire morte comportant une mémoire morte à masque (la), une première mémoire morte programmable (1b) pour mémoriser un programme, une deuxième mémoire morte programmable (4) pour mémoriser l'adresse d'au moins la partie de la mémoire morte à masque (1a) qui doit être corrigée et l'information prédéterminée correspondant à cette adresse, des moyens (3) pour comparer l'adresse envoyée à partir d'une unité centrale de commande pour lire le programme avec l'adresse de la partie à corriger, et des moyens (2, 6) pour délivrer en sortie une information prédéterminée à la place du code de programme lu dans la mémoire morte à masque afin de mémoriser un programme en fonction du résultat de la comparaison.
Description
"Dispositif de mémoire morte" La présente invention concerne un dispositif
de mémoire morte (ROM), et en particulier un dispositif de mémoire morte à masque dans lequel une mémoire morte et une mémoire morte programmable (PROM) à masque, ou analogue, sont
intégrées sur une pastille de semi-conducteur.
Le programme d'un micro-ordinateur qui a récemment été largement utilisé est écrit dans une mémoire morte et est monté sur les unités du microordinateur Lorsque des mémoires mortes contenant le même programme sont produites en masse, elles sont généralement produites sous la forme de mémoires mortes à masque dans lesquelles les codes de programmes (sources) sont réalisés sur une pastille de circuit intégré et chacune des pastilles est enfermée dans un boîtier La taille des programmes mémorisés dans la plupart des mémoires mortes à masque a habituellement une grande
échelle, comportant par exemple 16 ou 32 kilo-octets.
Même dans le cas o il y a des défectuosités seulement sur un petit nombre d'octets dans un programme de
grande échelle de ce type, la mémoire-morte à masque compor-
tant ces défectuosités doit être refaite si les défectuosités
affectent considérablement la commande du micro-ordinateur.
Cependant, il se peut que l'on ait besoin de prendre plu-
sieurs mois, voire même davantage, pour refaire la conception et la fabrication d'une mémoire morte à masque, et il peut se produire un problème du fait que les produits utilisant ces mémoires mortes ne peuvent pas être fabriqués pendant ce temps. Comme mesure d'urgence dans ce cas, au lieu d'une mémoire morte à masque, on peut parfois utiliser une mémoire morte programmable qui permet d'écrire un code de programme dans une pastille de semi-conducteur après que celle- ci ait été fabriquée Si l'on stocke ce type de mémoire morte programmable pour une utilisation d'urgence, le programme à mémoriser dans la mémoire morte à masque peut être écrit dans la mémoire morte programmable, après correction (débugage) de ces défectuosités et après que l'on ait également effectué un essai pour vérification Par conséquent, la fabrication de produits portant ce microprocesseur peut être continuée si l'on utilise ces mémoires mortes programmables jusqu'à ce que
la mémoire morte à masque corrigée soit reconstruite.
Cependant, même si une mémoire morte programmable est utilisée comme produit de substitution d'une mémoire morte à masque comportant des défectuosités, le problème suivant va toutefois demeurer: à savoir, si l'on compare les surfaces devant mémoriser des programmes de la même taille sur la mémoire morte à masque et sur la mémoire morte programmable sur une pastille, la surface de la mémoire morte programmable est plus grande que la surface de la mémoire
morte à masque Si l'on essaye d'augmenter le degré d'inté-
gration de la mémoire morte programmable sur une pastille afin de lui donner une surface équivalente à celle de la mémoire morte à masque, les restrictions de construction deviennent sévères et la densité de la densification diminue,
ce qui fait par conséquent augmenter le coût.
En particulier, un circuit intégré à grande échelle d'intégration contenant une mémoire morte a une limite supérieure en ce qui concerne la taille totale de la pastille de semi-conducteur, ce qui fait qu'il existe un problème du fait que le circuit intégré à grande échelle d'intégration contenant une mémoire morte d'une taille prédéterminée ne peut pas être réalisé si la mémoire morte occupe une grande surface. De plus, comme il faut plusieurs mois pour conce-
voir et pour fabriquer une mémoire morte programmable, elle-
même similaire à une mémoire morte à masque, il faut avoir en stock une quantité de mémoires-mortes programmables de secours suffisante pour que l'on puisse l'utiliser durant la fabrication des mémoires mortes à masque corrigées Un stock de cette importance constitue un problème du point de vue non seulement des dépenses, mais également du point de vue de la dégradation de la qualité des bornes des mémoires mortes
programmables à cause du stockage pendant une longue période.
L'objet de la présente invention est de procurer un dispositif de mémoire morte dans lequel il ne soit pas nécessaire de remplacer ou de refaire la mémoire morte à
masque même si il y a des défectuosités dans le programme.
Pour accomplir l'objet ci-dessus, la présente invention est caractérisée par le fait qu'elle comporte une
mémoire-morte à masque et une première mémoire morte program-
mable pour mémoriser un programme, une deuxième mémoire morte programmable pour mémoriser l'adresse d'au moins une partie de la mémoire morte à masque qui doit être corrigée et l'information prédéterminée correspondant à cette adresse, des moyens pour comparer l'adresse envoyée depuis une unité centrale de commande pour lire le programme avec l'adresse de la partie à corriger et des moyens pour délivrer en sortie l'information prédéterminée au lieu du code de programme extrait de la mémoire morte à masque afin de mémoriser un programme en fonction du résultat de la comparaison dans les
moyens de comparaison.
Dans la présente invention, si un programme de substitution à la partie de la mémoire morte à masque qui doit être corrigée est précédemment mémorisé dans la première mémoire morte programmable pour mémoriser un programme et si l'information pour sauter à l'adresse de la mémoire morte
programmable est précédemment déterminée comme étant l'infor-
mation prédéterminée, alors, dans la partie de la mémoire morte à masque nécessitant une correction, un saut peut être effectué vers la première mémoire morte programmable pour mémoriser un programme afin d'exécuter le programme approprié déjà corrigé se substituant à la partie de la première
mémoire morte qui doit être corrigée.
La Figure 1 est un schéma général montrant la première réalisation de la présente invention; La Figure 2 est un schéma général montrant les parties principales de la troisième réalisation de la présente invention; La Figure 3 est une illustration pour expliquer l'espace adresse; La Figure 4 est une illustration montrant un exemple de répartition de l'espace adresse; La Figure 5 est un schéma général montrant les parties principales de la deuxième réalisation de la présente invention; et La Figure 6 est un schéma général montrant la
quatrième réalisation.
La Figure 1 est un schéma général montrant une réalisation de la présente invention Dans la même figure, une mémoire morte 1 pour mémoriser un programme se compose d'une mémoire morte à masque la et d'une mémoire morte programmable lb. Dans la mémoire morte programmable lb, un programme corrigé d'une partie de la mémoire morte à masque la qui doit
être corrigée est mémorisée Les codes de programmes (sour-
ces) mémorisés dans les mémoires mortes la et lb sont lus dans une unité centrale de commande (non représentée) par l'intermédiaire d'un commutateur 2 en fonction de l'adresse envoyée par l'unité centrale de commande Le commutateur 2 est actionné en réponse au signal délivré en sortie d'une porte OU 2 a Lorsque la sortie de la porte OU 2 a est un " 1 " logique, le commutateur 2 est fermé afin de transmettre le code de programme venant de la mémoire morte 1 tandis que lorsque la sortie de la porte OU 2 a est un "O" logique, le commutateur 2 est ouvert afin d'inhiber la sortie du code de
programme venant de la mémoire morte 1.
Lorsque la délivrance en sortie des codes de programme depuis la mémoire morte 1 est inhibée, des codes de substitut sont délivrés en sortie à partir de ces dispositifs de sortie de codes Cl, C 2,, C 16 Chacun des dispositifs de sortie de codes Cl, C 2,, C 16 a un comparateur 3 pour comparer l'adresse envoyée depuis l'unité de commande centrale avec chaque adresse mémorisée dans une mémoire morte programmable correspondante 4 d'adresse partielle Le mot "adresse partielle" signifie l'adresse d'une partie dans la
mémoire morte à masque la qui doit être corrigée.
On mémorise dans la mémoire morte programmable 4 d'adresse partielle la première adresse de la partie du programme mémorisée dans la mémoire morte à masque la qui
doit être corrigée.
Dans un dispositif de rétention de codes de programme (mémoire) 5, on mémorise un code d'instruction pour le saut vers la partie de sousprogramme à corriger mémorisée
dans la mémoire morte programmable lb qui est une substitu-
tion au programme dans la partie qui doit être corrigée Le code d'instruction pour le saut est lu dans l'unité centrale de commande lors de la fermeture du commutateur 6 qui est
actionné en réponse à la sortie du comparateur 3.
Dans le dispositif de mémoire morte de la construc-
tion ci-dessus, lorsqu'une adresse est entrée depuis l'unité centrale de commande jusque dans le dispositif de mémoire morte, elle est comparée dans le comparateur 3 avec l'adresse mémorisée dans la mémoire morte programmable 4 d'adresse partielle Si les deux adresses sont les mêmes, la sortie du comparateur 3 est inversée de "O" à " 1 " Lorsque la sortie du comparateur 3 devient " 1 ", la sortie de la porte OU 2 a devient " O " afin d'ouvrir le commutateur 2, grâce à quoi la délivrance en sortie du programme de code depuis la mémoire morte 1 est inhibée, et, d'autre part, le commutateur 6 est fermé afin de lire le code d'instruction dans le dispositif de rétention de code de programme pour la délivrance à
l'unité centrale de commande.
L'unité centrale de commande décode le code
d'instruction afin de lire le code de programme du sous-
programme à partir de l'adresse désignée de la mémoire morte programmable lb Si une instruction de saut vers l'adresse de retour de la mémoire morte à masque la est précédemment écrite à la fin du sous- programme, le traitement retourne à l'adresse de retour de la mémoire morte à masque la et
continue lorsque la lecture du programme corrigé est termi-
née. Dans cette réalisation, 16 dispositifs de sortie de code Cl à C 16 sont présents, de telle sorte que l'on peut corriger jusqu'à 16 parties du programme mémorisé dans la mémoire morte à masque la Les commutateurs 2 et 6 ont tous deux des contacts de commutation en nombre égal au nombre de bits du code 1, ils sont adaptés pour ouvrir et fermer les contacts de commutation en réponse à la sortie du comparateur 3, validant ou inhibant par conséquent la sortie du code de programme mémorisé dans le dispositif de rétention de code de
programme 5.
A présent, on montre comme seconde réalisation un
exemple dans lequel l'accès à la mémoire morte est accéléré.
La Figure 5 est un schéma général montrant les parties principales de la deuxième réalisation Dans la même figure, les symboles identiques à ceux de la Figure 1 représentent
des parties identiques.
La deuxième réalisation est conçue de telle sorte
que les commutateurs 2 et 6 sont changés lorsque l'instruc-
tion pour une adresse ayant une relation particulière avec l'adresse de la partie nécessitant une correction (par exemple, l'adresse la précédant d'un nombre prédéterminé) a
été exécutée.
En Figure 5, dans une mémoire morte programmable
d'adresse partielle 4, une adresse est prémémorisée, celle-
ci ayant une relation particulière avec l'adresse de la
partie nécessitant une correction De plus, dans un compara-
teur 3, l'adresse délivrée en sortie de l'unité centrale de commande pour lire le code de programme est comparée avec l'adresse prémémorisée dans la mémoire morte programmable d'adresse partielle 4 Si les deux adresses coïncident l'une
avec l'autre, la sortie d'une bascule 24 est mise à " 1 ".
D'autre part, dans des moyens 23 de détection
d'exécution d'instruction, lorsque l'exécution de l'instruc-
tion à l'adresse ayant la relation particulière avec l'a-
dresse de la partie nécessitant une correction est déterminée par la détection du signal d'achèvement de l'exécution de l'instruction, le signal délivré en sortie d'une porte ET 25
devient " 1 ".
Si les signaux de sortie de la bascule 24 et la partie 23 de détection d'exécution d'instruction deviennent tous deux un " 1 ", alors, les commutateurs 2 et 6 sont changés par le signal venant de la porte ET 25, grâce à quoi la délivrance en sortie du code de programme depuis la mémoire morte 1 est arrêtée et le code de programme lu depuis le dispositif de rétention de code de programme 5 est délivré en sortie. Par exemple, si l'instruction immédiatement avant la partie qui nécessite une correction est une instruction à 3 octets, l'adresse précédant de 3 la partie nécessitant une correction est prémémorisée dans la mémoire morte programmable d'adresse partielle 4 Ensuite, la sortie de la bascule 24 devient " 1 " au moment o l'adresse située trois adresses avant la partie nécessitant une correction est délivrée par l'unité centrale de commande Autrement dit, comme la partie nécessitant une correction peut être détectée durant l'exécution de l'instruction au niveau de l'adresse précédant de trois la partie nécessitant une correction, les commutateurs 2 et 6 sont changés immédiatement après que l'achèvement de l'exécution de l'instruction à 3 octets soit
détecté par le signal d'achèvement de l'exécution de l'ins-
truction. A présent, on décrit la troisième réalisation de la présente invention, qui comprend un dispositif de sortie de code de programme, qui permet au code du programme corrigé d'être délivré efficacement en sortie si la partie de la mémoire morte à masque la à corriger est petite La Figure 2
est un schéma général de ce dispositif de sortie de code.
Dans la même figure, l'adresse située à trois adresses de la première adresse de la partie de la mémoire morte à masque la nécessitant une correction est écrite dans une mémoire morte programmable d'adresse partielle 7 Egalement, dans les dispositifs de rétention de code de programme 8 à 11, les codes de programmes corrigés individuels correspondant à la première adresse et suivant de trois adresses la partie nécessitant une correction dans la mémoire morte à masque la
sont écrits.
On ajoute à l'adresse écrite dans la mémoire morte programmable d'adresse partielle 7 des valeurs numériques
prédéterminées dans les additionneurs 12 à 14, respective-
ment, puis on les entre ensuite dans les comparateurs 15 et 17 L'adresse écrite dans la mémoire morte programmable
d'adresse partielle 7 est directement entrée dans un compara-
teur 18.
Dans cette réalisation, les valeurs numériques prédéterminées ajoutées dans les additionneurs 12 à 14 sont 3, 2 et 1, respectivement Les valeurs numériques prédéterminées à ajouter ne sont pas limitées à 3, 2 et 1, mais elles sont déterminées en fonction de l'adresse de la partie nécessitant une correction qui est mémorisée dans
la mémoire programmable d'adresse partielle 7.
Dans les comparateurs 15 à 18, l'adresse renvoyée par l'unité centrale de commande est comparée à l'adresse écrite dans la mémoire morte programmable d'adresse partielle 7 ou aux adresses obtenues en ajoutant des valeurs numériques prédéterminées à l'adresse écrite dans la mémoire morte
programmable d'adresse partielle 7.
Si les deux adresses entrées dans les comparateurs 15 à 18 correspondent, les sorties respectives de ces comparateurs s'élèvent à un niveau " 1 ", et les commutateurs 19 à 22 se ferment en réponse aux signaux de sortie, grâce à quoi les codes de programme mémorisés dans les dispositifs de réalisation de programmes respectifs 8 à 11 sont délivrés en sortie à l'unité centrale de commande Dans cet exemple, les comparateurs 15, 16, 17 et 18 génèrent séquentiellement les sorties dans cet ordre, les quatre codes de programme à un octet sont délivrés en séquence à l'unité centrale de commande à partir des dispositifs de rétention de code de programme correspondant En même temps, les sorties des comparateurs 15 à 18 sont délivrées à la porte OU 2 a comme le montre la Figure 1, par l'intermédiaire de la porte OU 23 afin d'ouvrir le commutateur 2, inhibant par conséquent la délivrance en sortie du code de programme depuis la mémoire morte 1 de mémorisation de programme, vers l'unité centrale
de commande.
Par conséquent, si la partie de la mémoire morte à masque la qui doit être corrigée est petite (dans la seconde réalisation, la partie qui doit être corrigée est de 4 octets), les codes de programme corrigés peuvent être délivrés directement en sortie à l'unité centrale de commande à partir des dispositifs de rétention des codes de programme 8 à 11 sans qu'il y ait de saut vers la mémoire morte programmable lb de la mémoire morte de mémorisation de programme 1 De plus, un dispositif arithmétique peut être utilisé à la place des additionneurs 12 à 14 pour créer des adresses lors d'une réalisation particulière avec l'adresse mémorisée dans la mémoire morte programmable d'adresse
partielle 7.
Pour le cas dans lequel la partie nécessitant une correction dépasse 4 octets, si un code d'instruction de saut est précédemment écrit dans le dispositif de rétention de code de programme 8 qui génère la sortie en premier, et, simultanément, le code de programme après correction est précédemment écrit dans la mémoire morte programmable lb, alors, une réalisation similaire à la première réalisation doit être effectuée, grâce à quoi l'objet de la présente
invention peut être accompli.
L'affectation de la mémoire morte la, de la mémoire morte programmable lb et de la mémoire morte programmable d'adresse partielle 7 dans la troisième réalisation de la Figure 2 est à présent décrite Le schéma de l'affection est montré en Figure 3, et un exemple détaillé de l'affectation d'adresse est montré en Figure 4 En Figure 4, des symboles identiques à ceux des Figures 1 et 2 représentent des parties identiques. A titre d'exemple, dans une mémoire morte ayant un espace d'adresse de 32 kilo-octets comme montré en Figure 3, 31,5 kilo- octets sont déterminés comme étant une mémoire
morte à masque et les 0,5 kilo-octets restants sont détermi-
nés comme étant une mémoire morte programmable La mémoire morte à masque de 31,5 kilo-octets est utilisée comme pour la mémoire morte à masque la montrée en Figure 1, tandis que la mémoire morte programmable de 0,5 kilo-octets est utilisée pour la mémoire morte programmable lb, la mémoire morte programmable d'adresse partielle 7 et les dispositifs de rétention de code de programme 8 à 11 Dans la mémoire morte programmable de 0,5 kilo-octets ( 512 octets), 480 octets sont affectés à la mémoire morte programmable lb pour mémoriser un programme, et 32 octets sont affectés à la mémoire morte programmable d'adresse de programme 7 Comme représenté, les 64 derniers octets de la mémoire morte programmable lb pour mémoriser un programme sont établis de façon à être partagés par les dispositifs de rétention de codes de programmes 8 à
11.
De cette faaçon, le partage de la région de la mémoire morte programmable lb pour mémoriser un programme avec la région des dispositifs de rétention de codes de programmes 8 a 11 permet aux programmes corrigés d'être écrits également dans la partie restante des dispositifs de rétention des codes de programmes 8 à 11 si seulement une partie de la mémoire morte programmable d'adresse partielle préparée est utilisée, autrement dit si la grandeur de la partie nécessitant une correction est inférieure à la capacité prévue de la mémoire morte programmable d'adresse partielle 7 Par conséquent, la région de mémoire morte
limitée peut être utilisée efficacement.
En Figure 4, comme une adresse à 16 bits dont le bit le plus significatif est fixé à " O " est entrée à partir de l'unité centrale de commande, une adresse partielle à 16
bits est également mémorisée dans la mémoire morte programma-
ble d'adresse partielle 7 De plus, des codes de programmes d'un octet ( 8 bits) sont mémorisés dans les dispositifs de rétention de codes de programmes 8 à 11, respectivement Pour la mémoire morte programmable, on peut utiliser une mémoire morte programmable ou une mémoire morte programmable une fois dans laquelle une fois que l'information est écrite, elle ne
peut plus être effacée.
S'il n'est pas nécessaire de réaliser une correc-
tion parce qu'il n'y a pas de défectuosité dans le contenu
des mémoires de la mémoire morte à masque la, aucune informa-
tion n'est écrite dans la mémoire morte programmable d'a-
dresse partielle 7 Si la mémoire morte programmable une seule fois n'a pas d'information écrite dans celle-ci, tous les bits sont à " 1 ""t, ou FFE, et le contenu de chaque mémoire
non programmable 7 d'adresse partielle à 16 bits est FFFR.
Cependant, cette adresse FFFFE n'existe pas dans l'espace adresse de 32 kilo-bits Par conséquent, si aucune information n'est écrite dans la mémoire morte programmable d'adresse partielle 7, il n'y a aucune chance pour que l'adresse entrée à partir de l'unité centrale de commande coïncide avec une adresse délivrée par la mémoire morte programmable d'adresse partielle 7, ce qui fait que les sorties des comparateurs 15 à 18 de la Figure 2 ne se mettent pas à " 1 " En résultat, le commutateur 2 est maintenu dans un état fermé, ce qui fait que le code de programme de la
mémoire morte à masque la est toujours délivré en sortie.
La quatrième réalisation de la présente invention est décrite ci-dessous en se référant à la Figure 6, qui est un schéma général montrant la quatrième réalisation Dans la même figure, dans une mémoire morte programmable d'adresse partielle 4, l'adresse de la partie du code de programme
mémorisée dans la mémoire morte la nécessitant une correc-
tion, est mémorisée De plus, dans un dispositif de rétention de déviation 5 a, la différence entre l'adresse de la mémoire morte programmable lb dans laquelle le code de programme corrigé est mémorisé et l'adresse de la partie nécessitant
une correction dans la mémoire morte à masque la est mémori-
sée. Par exemple, si l'adresse de la partie nécessitant une correction dans la mémoire morte à masque la est " 1000 "
(en décimal), et si l'adresse de la mémoire morte programma-
ble lb pour mémoriser le code de programme corrigé est " 3000 " (décimal), la différence " 2000 " (décimal) entre ces deux adresses est mémorisée comme étant la différence D'autre part, " O " est mémorisé dans un dispositif 27 de détermination
du " O " de déviation.
L'adresse délivrée en sortie de l'unité centrale de commande est entrée dans le comparateur 3 et un dispositif 26 de calcul d'adresse Le commutateur 6 a est changé est fonction de la sortie du comparateur 3, et la sortie du dispositif 5 a de rétention de déviation ou du dispositif 27
de détermination du " O " de déviation est délivré sélective-
ment au dispositif 26 de calcul d'adresse Dans le dispositif 26 de calcul d'adresse, l'adresse de la mémoire morte programmable lb dans laquelle est mémorisé le code de programme corrigé est calculée en additionnant les adresses entrées depuis l'unité centrale de commande et les données entrées par l'intermédiaire du commutateur 26 a, et cette adresse est délivrée en sortie à la mémoire morte 1 qui sert
à mémoriser un programme.
Dans la quatrième réalisation de la Figure 6, si les deux adresses coïncident l'une avec l'autre dans le comparateur 3, l'adresse de la partie dans laquelle le code de programme corrigé est mémorisé est générée directement, à la place de la délivrance d'une instruction de saut à la partie dans laquelle le code de programme corrigé est mémorisé Dans l'exemple ci-dessus, comme la coïncidence de comparateur 3 est réalisée si l'adresse entrée à partir de
l'unité centrale de commande devient " 1000 ", qui est l'a-
dresse de la partie nécessitant une correction, le contenu des mémoires du dispositif de rétention de déviation 5 a, " 2000 ", est ajouté à " 1000 " venant de l'unité centrale de commande dans le dispositif de calcul d'adresse 26 par l'intermédiaire du commutateur 6 a et la somme de " 3000 " est délivrée à la mémoire morte programmable lb sous la forme
d'une adresse réelle.
Comme décrit ci-dessus, dans les réalisations respectives, en écrivant l'adresse partielle dans la mémoire
morte programmable d'adresse partielle, c'est-à-dire l'a-
dresse de la partie nécessitant une correction ou une adresse ayant une relation particulière avec cette adresse, le traitement du programme peut sauter à l'adresse partielle de la région de la mémoire morte programmable dans laquelle le programme corrigé est mémorisé lorsqu'il avance jusqu'à la
partie nécessitant une correction.
Dans cette réalisation, on a montré un exemple dans lequel un code d'instruction versatile ou analogue est mémorisé dans le dispositif de rétention de code de programme et une unité centrale de commande décode ce code afin d'effectuer une opération prédéterminée Cependant, la
présente invention n'est pas restreinte à cela, une informa-
tion servant de signal de déclenchement pour faire effectuer à l'unité centrale de commande une opération correspondante particulière peut être mémorisée dans le dispositif de rétention de code de programme Dans un circuit à haute échelle d'intégration contenant une mémoire morte, dans lequel une mémoire morte et une unité centrale de commande sont disposées sur une pastille de circuit intégré unique, les architectures de la mémoire morte et de l'unité centrale de commande sont les mêmes, ce qui fait qu'il est possible de
faire effectuer par l'unité centrale de commande une opéra-
tion particulière telle qu'une opération de saut, ou analo-
gue, au moyen d'un signal de déclenchement unique sur le circuit à haute échelle d'intégration au lieu d'un code
d'instruction versatile.
La présente invention n'est pas limitée aux cas dans lesquels l'adresse pour lire le code de programme est une adresse physique, mais elle peut être mise en pratique de façon similaire, même dans le cas o l'adresse est une
adresse logique.
Comme cela est apparent à partir de la description
ci-dessus, les avantages techniques suivants peuvent être
obtenus par la présente invention.
( 1) Comme un saut peut être fait de la région de la mémoire morte à masque vers la région de la mémoire morte programmable, si le programme corrigé de la mémoire morte à
masque est précédemment écrit dans la mémoire morte program-
mable comme sous-programme, le programme corrigé sans
défectuosité peut être exécuté.
( 2) Même si des défectuosités sont trouvées dans un programme, il n'est pas nécessaire de rejeter les mémoires
mortes à masque qui ont été fabriquées et de les refabriquer.
( 3) Il n'est pas nécessaire de stocker un grand nombre de mémoires mortes programmables de mémorisation de masse pour se préparer à l'apparition de défectuosités dans
le programme.
( 4) Comme il suffit de procurer une mémoire morte programmable ayant une capacité qui est égale à plusieurs dixièmes de celle de toute la mémoire morte, une contre-
mesure pour l'apparition de défectuosités peut être réalisée par une très faible augmentation de la surface de la pastille
de circuits intégrés.
( 5) L'écriture dans la partie de la mémoire morte nécessitant une correction et la vérification du contenu qui
a été écrit dans celle-ci peut être effectuée par le disposi-
tif d'écriture en mémoire morte qui a été, de façon classi-
que, largement utilisé.
( 6) L'opération ( 5) ci-dessus peut être effectuée avec le dispositif de mémoire morte monté sur l'unité de
commande, sans le retirer de ladite unité de commande.
Claims (7)
1 Dispositif de mémoire morte formé sur une pastille de semi-conducteur unique, caractérisé en ce qu'il comporte: une mémoire-morte à masque (la) et une mémoire morte programmable (lb) pour mémoriser un programme, une mémoire morte programmable d'adresse partielle ( 4) dans laquelle on peut écrire l'adresse de la partie du code de programme écrit dans la mémoire morte à masque qui nécessite une correction, des moyens de maintien de l'information ( 5) disposés de façon correspondante par rapport à la mémoire morte programmable d'adresse partielle ( 4) pour mémoriser une information afin de faire effectuer par l'unité centrale de commande une opération prédéterminée, des moyens de comparaison ( 3) pour comparer une adresse délivrée afin de lire le code de programme avec une adresse écrite dans la mémoire morte programmable d'adresse partielle, et des moyens de commutation ( 2, 6) pour délivrer en sortie l'information mémorisée dans les moyens ( 5) de maintien de l'information au lieu du programme mémorisé dans
la mémoire morte d'adresse (la) si les deux adresses coïnci-
dent dans les moyens de comparaison.
2 Dispositif de mémoire morte formé sur une pastille de semi- conducteur unique, caractérisé en ce qu'il comporte: une mémoire-morte à masque (la) et une mémoire morte programmable (lb) pour mémoriser un programme, une mémoire morte programmable d'adresse partielle ( 4) dans laquelle peut être écrite une adresse ayant une relation prédéterminée avec l'adresse de la partie du code de programme écrite dans la mémoire morte à masque qui nécessite une correction, des moyens de maintien de l'information ( 5) qui se présentent de façon correspondante avec la mémoire morte programmable d'adresse partielle ( 4) pour mémoriser une information pour faciliter l'exécution d'une opération prédéterminée par une unité centrale de commande, des moyens de comparaison ( 3) pour comparer une adresse délivrée pour lire le code de programme avec une adresse écrite dans la mémoire morte programmable d'adresse partielle, et des moyens pour détecter le fait que l'instruction au niveau de l'adresse ayant une relation prédéterminée avec la partie nécessitant une correction a été exécuté, et des moyens de commutation ( 2, 6) pour délivrer en sortie l'information mémorisée dans les moyens de maintien de l'information ( 5) à la place du programme mémorisé dans la mémoire morte d'adresse (la) si les deux adresses coïncident
dans les moyens de comparaison et si l'achèvement de l'exécu-
tion de l'instruction à l'adresse immédiatement avant la
partie nécessitant une correction est détecté.
3 Dispositif de mémoire morte selon la revendica-
tion 1 ou 2, caractérisé en ce que le code de programme corrigé de la partie du code du de programme écrite dans la mémoire morte à masque qui nécessite une correction est mémorisée dans la mémoire morte programmable pour mémoriser
un programme.
4 Dispositif de mémoire morte selon la revendica-
tion 3, caractérisé en ce que l'information mémorisée dans
les moyens de maintien d'information ( 18) est un code d'ins-
truction pour sauter vers la partie de la mémoire morte programmable dans laquelle est mémorisé le code de programme corrigé. Dispositif de mémoire morte selon la revendica- tion 3, caractérisé en ce que l'information mémorisée dans les moyens de maintien d'information ( 8 à 11) est une information de déclenchement pour provoquer l'exécution par l'unité centrale de commande de l'opération pour effectuer un saut vers la partie de la mémoire morte programmable dans
laquelle est mémorisé le code de programme corrigé.
6 Dispositif de mémoire morte selon la revendica-
tion 1, caractérisé en ce qu'il comporte de plus des moyens
arithmétiques ( 12 à 14) pour effectuer un traitement arithmé-
tique prédéterminé sur l'une des adresses de la mémoire morte programmable d'adresse partielle et la lecture du code de programme par l'adresse, dans lequel une adresse ayant une relation particulière avec la partie du code de programme écrite dans la mémoire morte à masque qui nécessite une correction est mémorisée dans la mémoire morte programmable
d'adresse partielle.
7 Dispositif de mémoire morte formé sur une pastille de semi- conducteur unique, caractérisé en ce qu'il comporte: une mémoire-morte pour mémoriser un code de
programme comprenant une mémoire morte à masque (la) mémori-
sant un programme et une mémoire morte programmable (lb) pour mémoriser le code de programme corrigé pour le code de programme de la partie de la mémoire morte à masque qui nécessite une correction, une mémoire morte programmable d'adresse partielle ( 4) dans laquelle on peut écrire l'adresse de la partie de code de programme écrite dans la mémoire morte à masque qui nécessite une correction, des moyens de maintien de l'information ( 5) qui se présentent de façon correspondante par rapport à la mémoire morte programmable d'adresse partielle afin de mémoriser l'information qui représente la corrélation entre les adresses pour mémoriser le code de programme de la partie nécessitant une correction et afin de mémoriser le code de programme corrigé,
des moyens arithmétiques ( 26) pour générer l'a-
dresse pour mémoriser le code de programme corrigé sur la
base de l'information et l'adresse pour lire le code de pro-
gramme. des moyens de comparaison ( 3) pour comparer l'adresse afin de lire le code de programme avec l'adresse écrite dans la mémoire morte programmable d'adresse par- tielle, et des moyens de commutation pour délivrer en sortie une information mémorisée dans les moyens de maintien d'information ( 5 a) vers les moyens arithmétiques ( 26) lorsque les deux adresses coïncident dans les moyens de comparaison ( 3). 8 Dispositif de mémoire morte selon l'une des
revendications 1, 2, 3, 4, 5, 6 et 7 caractérisé en ce que la
mémoire morte à masque et la mémoire morte programmable pour mémoriser un programme, la mémoire morte programmable
d'adresse partielle et les moyens de maintien de l'informa-
tion sont disposés dans un seul espace d'adresse unique.
9 Dispositif de mémoire morte selon la revendica-
tion 8, caractérisé en ce que qu'au moins une partie de la région d'adresse de la mémoire morte programmable pour mémoriser un programme et la région d'adresse des moyens de maintien d'information sont disposés dans un espace adresse chevauché.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9026877A GB2250838A (en) | 1990-12-11 | 1990-12-11 | Patching a program stored in ROM |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2670601A1 true FR2670601A1 (fr) | 1992-06-19 |
FR2670601B1 FR2670601B1 (fr) | 1995-01-20 |
Family
ID=10686819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR9015855A Expired - Fee Related FR2670601B1 (fr) | 1990-12-11 | 1990-12-18 | Dispositif de memoire morte. |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE4040503A1 (fr) |
FR (1) | FR2670601B1 (fr) |
GB (1) | GB2250838A (fr) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2292470A (en) * | 1994-08-19 | 1996-02-21 | Advanced Risc Mach Ltd | Rom patching |
JPH0876990A (ja) * | 1994-09-07 | 1996-03-22 | Seikosha Co Ltd | カメラ用制御回路 |
DE19540915A1 (de) * | 1994-11-10 | 1996-05-15 | Raymond Engineering | Redundante Anordnung von Festkörper-Speicherbausteinen |
US5581776A (en) * | 1995-02-03 | 1996-12-03 | Nokia Mobile Phones Limited | Branch control system for rom-programmed processor |
US6135651A (en) * | 1997-05-29 | 2000-10-24 | Cirrus Logic, Inc. | Patching apparatus and method for upgrading modem software code |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0171141A1 (fr) * | 1984-05-17 | 1986-02-12 | Sharp Kabushiki Kaisha | Caisse enregistreuse et procédé pour modifier les programmes enregistrés dans une caisse enregistreuse |
DE3900187A1 (de) * | 1988-03-11 | 1989-09-28 | Mitsubishi Electric Corp | Ein-chip-mikrocomputer |
JPH02177095A (ja) * | 1988-12-27 | 1990-07-10 | Nec Corp | 半導体不揮発性メモリ |
EP0383452A2 (fr) * | 1989-01-31 | 1990-08-22 | Fujitsu Limited | Mémoire à semi-conducteur avec dispositif pour substituer les éléments défectueux |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1089225B (it) * | 1977-12-23 | 1985-06-18 | Honeywell Inf Systems | Memoria con dispositivo rivelatore e correttore a intervento selettivo |
JPS57155642A (en) * | 1981-03-23 | 1982-09-25 | Nissan Motor Co Ltd | Computer capable of using correcting memory |
DE3137152A1 (de) * | 1981-09-18 | 1983-04-14 | Robert Bosch Gmbh, 7000 Stuttgart | Speicher-korrektureinheit |
US4542453A (en) * | 1982-02-19 | 1985-09-17 | Texas Instruments Incorporated | Program patching in microcomputer |
EP0118583A1 (fr) * | 1983-03-17 | 1984-09-19 | Georg V. Coza | Unité de correction de mémoire |
US4897813A (en) * | 1988-02-19 | 1990-01-30 | Unisys Corporation | Partially programmable read-only memory system |
GB2231419B (en) * | 1989-05-05 | 1993-09-22 | Technophone Ltd | Updating prom information. |
-
1990
- 1990-12-11 GB GB9026877A patent/GB2250838A/en not_active Withdrawn
- 1990-12-18 DE DE19904040503 patent/DE4040503A1/de not_active Withdrawn
- 1990-12-18 FR FR9015855A patent/FR2670601B1/fr not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0171141A1 (fr) * | 1984-05-17 | 1986-02-12 | Sharp Kabushiki Kaisha | Caisse enregistreuse et procédé pour modifier les programmes enregistrés dans une caisse enregistreuse |
DE3900187A1 (de) * | 1988-03-11 | 1989-09-28 | Mitsubishi Electric Corp | Ein-chip-mikrocomputer |
JPH02177095A (ja) * | 1988-12-27 | 1990-07-10 | Nec Corp | 半導体不揮発性メモリ |
EP0383452A2 (fr) * | 1989-01-31 | 1990-08-22 | Fujitsu Limited | Mémoire à semi-conducteur avec dispositif pour substituer les éléments défectueux |
Non-Patent Citations (1)
Title |
---|
PATENT ABSTRACTS OF JAPAN vol. 14, no. 449 (P-1111)(4932) 26 Septembre 1990 (NEC CORPORATION ) 10 Juillet 1990 & JP-A-2 177 095 * |
Also Published As
Publication number | Publication date |
---|---|
GB2250838A (en) | 1992-06-17 |
DE4040503A1 (de) | 1992-06-25 |
GB9026877D0 (en) | 1991-01-30 |
FR2670601B1 (fr) | 1995-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0013687B1 (fr) | Dispositif permettant l'alignement automatique des caractères dans l'espace vidéo d'un système de reconnaissance de caractères | |
FR2609175A1 (fr) | Carte a circuits integres et systeme pour verifier le bon fonctionnement de la carte | |
FR2682507A1 (fr) | Memoire cache pour processeur numerique a traduction d'adresses virtuelles en adresses reelles. | |
FR2572823A1 (fr) | Dispositif de lecture pour code a barres | |
FR2474721A1 (fr) | Dispositif de memoire d'antememoire | |
FR2526560A1 (fr) | Dispositif pour la protection contre une lecture non autorisee de mots de programme a memoriser dans une memoire, et unite de memoire comportant ladite memoire | |
FR2689295A1 (fr) | Mémoire morte programmable effaçable électriquement munie d'un circuit de contrôle et de correction d'erreur. | |
EP0339038A1 (fr) | Correction d'erreurs de signaux de television enregistres. | |
EP0683454B1 (fr) | Procédé pour tester le déroulement d'un programme d'instructions | |
FR2693574A1 (fr) | Procédé pour tester le fonctionnement d'un circuit intégré spécialisé, et circuit intégré spécialisé s'y rapportant. | |
FR2549319A1 (fr) | Dispositif decodeur pour le decodage de mots de code qui sont proteges par blocs au moyen d'un code de reed-solomon contre plusieurs erreurs de symbole par bloc et dispositif de lecture pour des corps de stockage pouvant etre lus par voie optique, ce dispositif de lecture etant pourvu d'un tel dispositif decodeur | |
FR2670601A1 (fr) | Dispositif de memoire morte. | |
EP0519847B1 (fr) | Carte à mémoire de comptage de données et appareil de lecture | |
FR2670595A1 (fr) | Carte a circuit integre. | |
FR2591775A1 (fr) | Dispositif electronique formant memoire stable rapide perfectionnee | |
EP0977120A1 (fr) | Mémoire rom à correction par redondance | |
EP0635789B1 (fr) | Circuit intégré du type microcontrÔleur à mémoire morte contenant un programme générique, notamment de test, station de test et procédé de fabrication correspondants | |
EP0838053B1 (fr) | Procede et dispositif permettant a un programme fige de pouvoir evoluer | |
EP0206844B1 (fr) | Mémoire morte programmable électriquement une seule fois | |
EP0683455B1 (fr) | Circuit intégré comprenant des moyens pour arrêter l'exécution d'un programme d'instructions quand une combinaison de points d'arrêt est vérifiée | |
EP0376384A1 (fr) | Dispositif de transmission d'informations utilisant un codage statistique, partie émission et partie réception convenant pour un tel dispositif | |
FR3118234A1 (fr) | Procédé de détection d’ingénierie inversée sur une unité de traitement utilisant un pointeur d’instruction et circuit intégré correspondant | |
FR2635607A1 (fr) | Procede interne de programmation de controle automatique et de redondance pour circuits a memoires et dispositif pour l'application du procede | |
FR2545244A1 (fr) | Unite de memoire comprenant une memoire et un dispositif de protection | |
FR2808903A1 (fr) | Systeme d'acces memoire |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |