FR2772948A1 - Microcontroleur avec interface perfectionnee et procede d'utilisation - Google Patents

Microcontroleur avec interface perfectionnee et procede d'utilisation Download PDF

Info

Publication number
FR2772948A1
FR2772948A1 FR9716198A FR9716198A FR2772948A1 FR 2772948 A1 FR2772948 A1 FR 2772948A1 FR 9716198 A FR9716198 A FR 9716198A FR 9716198 A FR9716198 A FR 9716198A FR 2772948 A1 FR2772948 A1 FR 2772948A1
Authority
FR
France
Prior art keywords
register
microcontroller
interface
data
address
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
Application number
FR9716198A
Other languages
English (en)
Other versions
FR2772948B1 (fr
Inventor
Gregory Poivre
Jean Hugues Bosset
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics SA
Original Assignee
SGS Thomson Microelectronics SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SGS Thomson Microelectronics SA filed Critical SGS Thomson Microelectronics SA
Priority to FR9716198A priority Critical patent/FR2772948B1/fr
Priority to US09/213,522 priority patent/US6182207B1/en
Publication of FR2772948A1 publication Critical patent/FR2772948A1/fr
Application granted granted Critical
Publication of FR2772948B1 publication Critical patent/FR2772948B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Microcomputers (AREA)

Abstract

Pour accélérer les opérations de lecture ou de modification des paramètres de fonctionnement d'un microcontrôleur (1), on prévoit de réaliser une interface (5) munie de trois registres : un registre (9) d'adresse, un registre (8) d'instruction et de donnée, et un registre (7) auxiliaire. Le registre d'instruction et de données pointe par adressage indirect le registre auxiliaire. Le registre d'adresse est par ailleurs doté d'un mécanisme (18) d'incrémentation automatique. Avec l'adressage indirect et l'incrémentation automatique on montre qu'il est possible de réduire le nombre d'interventions extérieures au moment de lectures ou écritures contigües.

Description

MICROCONTROLEUR AVEC INTERFACE PERFECTIONNEE
ET PROCEDE D'UTILISATION
La présente invention a pour objet un microcontrôleur muni d'une interface perfectionnée ainsi qu'un procédé d'utilisation de ce microcontrôleur et de cette interface. L'invention vise à accélérer les relations entre un microcontrôleur et le monde extérieur par le biais de son interface incorporée.
Cette accélération concerne principalement la mise au point du fonctionnement du microcontrôleur. Elle pourrait néanmoins concerner toute phase classique d'utilisation du microcontrôleur.
Un microcontrôleur est un circuit comportant, sur un même circuit intégré, d'une part un microprocesseur (ou unité centrale de traitement) et d'autre part une mémoire programme. Le jeu d'instructions du microprocesseur contenu dans la mémoire programme est adapté à un programme, une application que le microcontrôleur doit exécuter. On connaît des microcontrôleurs avec des jeux d'instructions plus ou moins puissants, et donc des programmes plus ou moins importants, selon l'application à laquelle ils sont destinés: contrôle de disque dur dans un microordinateur de type compatible, commande d'un organe quelconque (feu de clignotement) dans le domaine de l'automobile.
La mise au point des jeux d'instructions et du programme des microcontrôleurs est souvent lente et fastidieuse. En effet, le microcontrôleur comporte naturellement une interface pour échanger des informations avec le monde extérieur. Ces informations sont essentiellement des données à recevoir, et des ordres à envoyer, correspondant à l'utilisation future du microcontrôleur. Dans ce but l'interface, comporte un bus de commande, et le plus généralement deux registres d'échange de données ou d'adresses.
L'interface possède en elle-même, en général, un circuit câblé de nature à assurer une conversion série parallèle entre un protocole interne au microcontrôleur (parallèle) et un protocole généralement utilisé dans la relation avec le microcontrôleur (série). Plus généralement l'interface comporte des circuits de conversion de protocole. Dans certains cas, le bus de commande est lui-même inexistant: il est remplacé par une configuration particulière de bits de mots chargés dans les registres d'échange.
Dans tous les cas, pour des raisons de coûts, on admet de réduire la structure d'échange avec le monde extérieur à son strict minimum. Ceci est la raison pour laquelle, en particulier, le nombre de registres est peu élevé.
Il s'ensuit alors une lourdeur d'utilisation du microcontrôleur, notamment lors de la phase de réglage du programme d'utilisation. En effet, au cours d'une telle phase de réglage, le microcontrôleur est en relation avec un circuit hôte. La relation a alors pour but de surveiller le fonctionnement du microcontrôleur.
Dans ce cas, il faut pouvoir lire des états électriques du microcontrôleur à certaines étapes (celles où un défaut de fonctionnement est constaté). La relation a aussi pour but de forcer le fonctionnement du microcontrôleur. Dans ce cas, le circuit hôte va écrire des états dans certains registres du microcontrôleur.
Le circuit hôte a, pour chaque action de lecture effectuée sur le microcontrôleur, à lancer trois opérations:
- une première opération consiste à charger dans les registres d'échange de l'interface, d'une part un ordre de lecture et, d'autre part, l'adresse de l'endroit où une donnée doit être lue dans le microcontrôleur;
- une deuxième opération concerne la mise à exécution de l'ordre chargé;
- et une troisième opération concerne la lecture dans un registre d'échange de l'interface de la donnée lue à l'adresse indiquée.
Ce mécanisme est long. Il pose un problème de durée de mise au point, notamment lorsque le nombre d'emplacements de la mémoire du microcontrôleur à lire est important.
Au moment de l'écriture pour le forçage du microcontrôleur, l'opération est un peu plus courte.
Elle comporte d'une part le chargement de l'ordre d'écriture et de la donnée à écrire, ainsi que de l'adresse où cette donnée doit être écrite dans la mémoire (ou un registre) du microcontrôleur. Au cours d'une deuxième étape le circuit hôte donne l'ordre au microcontrôleur d'exécuter l'instruction d'écriture qui est disponible dans les registres d'échange.
Il faut donc deux étapes dans ce dernier cas pour modifier une donnée. C'est trop long.
Les endroits de la mémoire du microcontrôleur où il faut écrire ou lire sont variés. Dans la suite de cet exposé on se contentera de parler de la mémoire. Cette appellation de mémoire du microcontrôleur concerne autant une mémoire proprement dite que des registres de fonctionnement du microcontrôleur. Cette mémoire peut ainsi être d'une part une mémoire programme: là où sont stockées les instructions à exécuter dans le microprocesseur. D'autre part, elle peut être une mémoire de données: là où sont stockées des données mesurées ou des paramètres de commande du microcontrôleur.
Enfin, cette mémoire pourra représenter un lot de registres de paramétrisation ou de fonctionnement du microcontrôleur: notamment un lot de registres de paramétrisation de ses périphériques. Ainsi il est connu que l'interface elle-même, du fait des différents protocoles qu'elle est susceptible d'accepter, doit être paramétrée par des états mémorisés dans des registres. D'autres périphériques comme des compteurs internes, des registres de fréquence d'horloge, ou même des registres de surveillance du microcontrôleur sont ainsi concernés par les échanges avec l'interface.
Notamment, en ce qui concerne la surveillance du fonctionnement du microcontrôleur, il est prévu, dans certaines applications, de constituer une batterie supplémentaire de registres utilisables, en émulation, pour surveiller le fonctionnement du microcontrôleur.
Cette surveillance est rendue nécessaire lors des étapes de mise au point.
Dans ces conditions, la lenteur des communications effectuées au niveau de l'interface est encore accentuée par la nature structurellement compliquée de la relation en adressage indirect avec les registres supplémentaires.
L'invention a pour objet de résoudre ce problème crucial de la lenteur des échanges, en accélérant notablement le fonctionnement de l'interface. Plutôt que de souscrire à une opération en trois étapes, ou en deux étapes pour l'écriture, l'invention modifie l'architecture du microcontrôleur de façon à ce que celle-ci puisse ne s'effectuer qu'en une seule étape.
Dans l'invention, on dote l'interface d'un registre supplémentaire auxiliaire. En outre, on prévoit un mécanisme d'incrémentation automatique de l'adresse contenue dans l'un des deux registres d'échange prévu à l'origine. En effet, dans l'invention on a remarqué que, notamment pour la mise au point, la surveillance de registres ou de zones mémoires à adresses contigües était principalement envisagée. De ce fait, l'automate ajouté dans la structure de l'invention est un automate qui rajoute un incrément d'adresse correspondant à la contiguïté concernée. Dans la pratique l'incrément d'adresse vaut 1. Il pourrait néanmoins en être autrement.
Dans un perfectionnement, on a même prévu que l'automate lui-même serait corrélé à la lecture ou à l'écriture du registre auxiliaire. Dans ces conditions, il suffit de lire ou d'écrire le registre auxiliaire pour qu'automatiquement un ordre chargé dans le registre de commande s'exécute. On montrera ainsi qu'avec l'invention on va trois fois plus vite pour la gestion de l'interface.
L'invention a donc pour objet un microcontrôleur comportant
- une unité centrale de traitement,
- une mémoire programme et/ou de données en relation avec l'unité centrale,
- une interface d'entrée sortie,
- un premier registre d'échange pour contenir un code instruction et une information relative à une donnée à lire ou à écrire, et un deuxième registre d'échange pour contenir une adresse, les premier et deuxième registres étant reliés à l'interface, et
- un circuit de basculement relié à l'interface, à la mémoire programme et à l'unité centrale, pour basculer, en fonction d'un signal de commande disponible sur cette interface, une liaison de l'unité centrale à la mémoire programme en une liaison aux deux registres d'échange, caractérisé en ce qu'il comporte
- un registre auxiliaire connecté à l'interface,
- un circuit d'incrémentation automatique d'adresse pour incrémenter la valeur d'une adresse contenue dans le deuxième registre d'échange, et
- des moyens d'adressage indirect vers le registre auxiliaire qui prélèvent dans le premier registre d'échange, à titre d'information relative à la donnée, l'adresse du registre auxiliaire où cette donnée est stockée.
L'invention a également pour objet un procédé de lecture écriture dans une mémoire de donnée d'un microcontrôleur à partir d'une interface d'entrée sortie dans lequel:
- on charge dans des premier et deuxième registres d'échange du microcontrôleur un code instruction, une information relative à une donnée à lire ou à écrire, et une adresse,
- on bascule le fonctionnement d'une unité centrale de traitement du microcontrôleur pour que cette unité centrale exécute l'instruction dont le code est chargé dans le premier registre,
caractérisé en ce que:
- on charge la donnée lue ou à écrire dans un registre auxiliaire en relation avec l'interface,
- on incrémente automatiquement avec un automate l'adresse chargée dans le deuxième registre, et
- on exécute avec un adressage indirect orienté vers le registre auxiliaire l'instruction dont le code est chargé dans le premier registre.
L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Celles-ci ne sont données qu'à titre indicatif et nullement limitatif de l'invention. Les figures montrent:
figure 1 et figure 2: une représentation schématique d'un microcontrôleur selon l'état de la technique et selon l'invention respectivement.
Les figures 1 et 2 montrent un microcontrôleur 1, comportant une unité centrale 2, une mémoire programme 3 et une mémoire de données 4. La mémoire programme et la mémoire de donnée peuvent en pratique être confondues en une seule mémoire. En principe la mémoire programme 3 est une mémoire non volatile ou une mémoire sauvegardée. La mémoire 4 peut être une mémoire volatile. Il est néanmoins possible que la mémoire 3 soit elle-même une mémoire volatile et que son chargement soit prévu au moment de la mise en service du microcontrôleur 1. Les mémoires 3 et 4, symboliquement représentées ici peuvent également comporter des registres de paramétrisation (fonctionnement du microcontrôleur ou de ses périphériques). Elles peuvent également représenter comme indiqué précédemment, des registres de surveillance du fonctionnement du microcontrôleur en mode émulation.
Le microcontrôleur des figures 1 et 2 comporte également une interface d'entrée/sortie 5. L'interface 5 sert à assurer la relation entre un circuit hôte 6 et le microcontrôleur 1. Dans un exemple, le circuit hôte est un micro-ordinateur de type compatible relié à l'interface par une liaison 7 de type RS232. Dans un exemple, l'interface 5 est une interface parallèle/série. En effet, du côté du microcontrôleur l'interface fonctionne en parallèle: il y a autant de fils que nécessaire dans les bus de communication avec les circuits du microcontrôleur. Par contre, dans la relation 7 avec le circuit hôte 6, le nombre de fils est généralement réduit. On connaît même par ailleurs des bus à deux fils. L'interface 5, est donc naturellement chargée d'assurer la conversion de protocole entre l'extérieur et l'intérieur du microcontrôleur 1.
Le microcontrôleur 1 comporte par ailleurs, un premier registre 8 d'échange et un deuxième registre 9 d'échange. Le premier registre 8 est destiné à contenir un code instruction 10 et une information il relative à une donnée à lire ou à écrire. Dans l'état de la technique, figure 1, la donnée chargée dans la partie il du registre 8 est la donnée elle-même: celle qui a été lue ou qui est à écrire telle quelle dans une des mémoires 3 ou 4. Dans l'invention, figure 2, on verra que l'information relative à la donnée à lire ou à écrire est en fait une information d'adresse. L'adresse est celle d'un registre auxiliaire où la donnée lue proprement dite a été écrite, ou bien celle qui étant à écrire a été écrite avant l'écriture. Le registre 9 comporte une information d'adresse de là où il faut lire ou écrire la donnée référencée dans la partie ll du registre 8.
Les circuits des figures 1 et 2, comportent enfin un circuit de basculement 12 pour basculer, en fonction d'un signal de commande, une liaison 13 de l'unité centrale 2 à la mémoire de programme 3, en une liaison 14 de l'unité centrale 2 au jeu des registres 8 et 9.
Le signal de commande du circuit de basculement 12, est véhiculé par un bus 15 relié à l'interface.
Dans l'état de la technique, pour la lecture, le fonctionnement est le suivant. Dans un premier temps, au moyen de l'interface 5, le circuit hôte 6 charge, dans les registres 8 et 9, un code d'instruction dans la partie 10 et une adresse dans le registre 9. Pendant ce temps l'unité centrale 2 est toujours en liaison normale 13 entre sa mémoire programme 3 et sa mémoire de donnée 4, (ou la même mémoire). Au cours d'une deuxième étape, le circuit hôte 6 envoie un ordre à travers l'interface 5, sur le bus 15, de manière à faire basculer le circuit 12. Dans ces conditions, le code instruction chargé dans la partie 10, est transmis, au travers d'un décodeur d'instruction 16 à l'unité centrale 2. Celle-ci exécute l'instruction. Par exemple, l'instruction étant une instruction de lecture, l'unité centrale 2 provoque la lecture dans la mémoire 4, d'une information stockée à une adresse "mem" dont la valeur est stockée dans le registre 9.
Le code instruction chargé dans le registre 10 a ensuite pour effet de faire exécuter par l'unité centrale 2 le transfert de la valeur lue dans la mémoire 4 dans la partie 11 du registre 8. A l'issue de la lecture, la donnée lue à l'adresse "mem" est disponible dans la partie 11 du registre 8. Au cours d'une troisième étape, le circuit hôte 6 va alors aller lire le contenu du registre 8. On voit que cette opération est assez longue.
Dans l'invention, figure 2, on a décidé de modifier l'architecture du microcontrôleur de la figure 1. On y a d'une part ajouté un registre auxiliaire 17. Le registre auxiliaire 17, est connecté d'une part à l'interface, d'autre part à l'unité centrale 2. Ceci signifie que le registre 17 peut être adressé par l'unité centrale 2, de même que par l'interface 5.
Le microcontrôleur 1 de l'invention comporte de plus, un circuit d'incrémentation 18 pour incrémenter automatiquement la valeur d'une adresse contenue dans le deuxième registre 9. Comme indiqué précédemment, l'information stockée dans la partie 11 du registre 8, ne concerne plus la donnée elle-même mais contient, en lecture ou en écriture, l'adresse du registre auxiliaire 17.
L'utilisation du circuit de l'invention, est alors bien plus simple que celui de l'état de la technique.
En effet, dans une version de base, il suffit de piloter le circuit 18 pour provoquer l'incrémentation du lieu où les données sont à lire ou à écrire. Ce pilotage du circuit 18, peut être, dans une première approche, réalisé par une connexion du bus 15 au circuit 18. Le fonctionnement du microcontrôleur 1 est alors le suivant. Pour la lecture d'un endroit de la mémoire, il y a la succession des ordres suivants:
- chargement du code instruction de lecture dans la zone 10, et chargement de l'adresse du registre 17 dans la zone 11 du registre 8. Au cours de la même étape est chargée l'adresse "mem - 1", la zone de la mémoire 4 où doit être lue l'information, dans le registre 9;
- au cours d'une deuxième étape, l'ordre de lecture est envoyé par le bus 15. En même temps que l'ordre de basculement est envoyé au circuit 12, le circuit 18 modifie la valeur de l'adresse stockée dans le registre 9, de cette façon celle-ci devient "mem". Le circuit central de traitement 2 exécute alors l'instruction de lecture chargée dans la zone 10 du registre 8.
Cependant, le code d'instruction de cette instruction de lecture est différent du code instruction de l'instruction de lecture dans la figure 1, en ce sens que le résultat lu dans la mémoire 4 ne devra pas être stocké à l'issue dans la zone 11 du registre 8, mais devra l'être dans le registre 17 auxiliaire;
- au cours d'une troisième étape, le circuit hôte 6 lit le résultat dans le registre 17 (au lieu de le lire dans le registre 8).
Pour cette première lecture il n'y a pas de gain réalisé avec le circuit de l'invention.
Par contre, pour une lecture suivante, il n'est plus nécessaire de charger ni le registre 8 ni le registre 9. Il suffit simplement d'envoyer sur le bus 15 l'ordre de basculement, ou de maintien de la relation 14 entre l'unité centrale de traitement et le jeu des registres 8. Autrement dit, en deux étapes seulement au lieu de trois dans ce cas, les données stockées dans la mémoire 4 à l'adresse "mem + 1" sont disponibles dans le registre 17. On voit donc que dans ce cas, la durée de l'opération de lecture est réduite de 30 %. Ainsi de suite pour les zones suivantes de la mémoire 4.
Pour l'écriture, dans ce cas, la durée serait la même puisqu'il faudrait inscrire dans le registre 17 la donnée à écrire, et lancer l'instruction par un ordre sur le bus 15.
Dans un perfectionnement, on a prévu de se passer de l'ordre envoyé par l'interface 5, sur le bus 15.
Plus exactement, on a décidé de se passer de l'étape au cours de laquelle l'ordre de basculement était envoyé sur le bus 15. Dans ce but, on remplace cette étape, autonome, par une exécution automatique de cette étape à la fin de la lecture ou de l'écriture des données dans le registre 17.
Ainsi, pour la lecture, le code instruction chargé dans la zone 10 du registre 8 est encore différent. Il est tel que l'unité centrale de traitement 2 l'interprète, d'une part, pour lire des données en mémoire 4 et les écrire dans le registre 17, et, d'autre part, pour surveiller le registre 17 ou l'interface 5 et détecter l'instant où le circuit hôte 6 aura lu la donnée disponible dans le circuit 17. En effet, dès que cette lecture est effectuée, l'unité centrale 2 provoque une incrémentation par le circuit 18 de l'adresse dans le registre 9 et l'exécution, à nouveau, du code instruction qui est resté stocké dans le circuit 10. La surveillance de la lecture du registre 17 ou de l'interface 5 se fait d'une manière naturelle par l'unité centrale 2 par la lecture d'un des registres destiné à la gestion du périphérique de l'interface 5 ou du registre 17 comme cela a été envisagé précédemment. La surveillance par l'unité centrale 2 de la lecture du registre 17 ou de l'interface 5 au moment de la lecture est représentée par les liaisons en tirets 20 et 21. La commande de l'incrémentation du circuit 18 est représentée par une liaison en tirets 22. L'unité centrale de traitement 2 sait donc facilement provoquer la réitération des lectures successives et la mise à disposition sur le registre 17 de toutes les données lues.
Pour l'écriture, c'est exactement le même mécanisme qui se produit, sauf que l'unité centrale 2 surveille maintenant le fait que le circuit hôte 6 a écrit une nouvelle donnée dans le registre 17.
En simplifiant, on voit que pour 100 lectures successives le circuit de l'invention nécessite 102 interventions du circuit hôte 6 sur l'interface 5, au lieu de 300 dans l'état de la technique. En ce qui concerne l'écriture, il y aura 101 actions au lieu de 200 dans l'état de la technique. Les gains de vitesse d'échange entre le circuit hôte et le microcontrôleur 2, sont donc très significatifs.
Pour faire cesser l'opération, on peut doter l'unité centrale 2 d'un compteur. Ce compteur serait préchargé en fonction du nombre d'incréments de positions dans la mémoire 4 qu'il y a lieu de considérer. Le compteur serait analogue à un compteur 24 de piles qui prélève les instructions les unes après les autres dans la mémoire programme 3. On peut tout aussi bien, plus simplement, avant de lire ou d'écrire la dernière donnée dans le registre 17, changer le code instruction mémorisé dans la zone 10 du registre 8 de façon à ce que ce code instruction ne prévoie plus l'incrémentation automatique du circuit 18.
On a montré un circuit 18 extérieur à l'unité centrale 2. Cependant, bien naturellement, la fonction du circuit 18 sera elle-même exécutée par l'unité centrale 2. De ce fait, l'automate 18 ne sera classiquement qu'une des opérations naturellement effectuée par l'unité centrale 2. Le comptage pourra également être limité par un comptage par l'unité centrale 2 du nombre d'itérations à entreprendre. Le nombre d'itérations peut même être chargé comme un des arguments du code instruction ou de l'adresse "mem" au démarrage. Alternativement, le circuit hôte 6 pourra comporter un compteur 19 lui indiquant à partir de quand il convient de modifier le code d'instruction chargé dans la zone 10 du registre 8 pour faire cesser l'itération.

Claims (4)

REVENDICATIONS
1 - Microcontrôleur (1) comportant
- une unité centrale de traitement (2),
- une mémoire programme (3) et/ou de données (4) en relation avec l'unité centrale,
- une interface (5) d'entrée sortie,
- un premier registre d'échange (8) pour contenir un code instruction et une information relative à une donnée à lire ou à écrire, et un deuxième registre d'échange (9) pour contenir une adresse, les premier et deuxième registres étant reliés à l'interface, et
- un circuit (12) de basculement relié à l'interface, à la mémoire programme et à l'unité centrale, pour basculer, en fonction d'un signal (15) de commande disponible sur cette interface, une liaison (13) de l'unité centrale à la mémoire programme en une liaison (14) aux deux registres, caractérisé en ce qu'il comporte
- un registre auxiliaire (17) connecté à l'interface,
- un circuit (18) d'incrémentation automatique d'adresse (mem) pour incrémenter la valeur d'une adresse contenue dans le deuxième registre, et
- des moyens d'adressage indirect vers le registre auxiliaire qui prélèvent (10) dans le premier registre, à titre d'information relative à la donnée, l'adresse du registre auxiliaire (17) où cette donnée est stockée.
2 - Microcontrôleur selon la revendication 1, caractérisé en ce qu'il comporte
- des moyens (20, 21) pour lancer l'exécution de l'instruction dont le code est chargé dans le premier registre dès que l'interface a lu ou écrit des données dans le registre auxiliaire.
3 - Procédé de lecture écriture dans une mémoire de donnée d'un microcontrôleur (1) à partir d'une interface (5) d'entrée/sortie dans lequel
- on charge dans des premier (8) et deuxième (9) registres d'échanges du microcontrôleur un code instruction (10), une information (11) relative à une donnée à lire ou à écrire, et une adresse (mem),
- on bascule (12) le fonctionnement d'une unité centrale de traitement (2) du microcontrôleur pour que cette unité centrale exécute l'instruction dont le code est chargé dans le premier registre,
caractérisé en ce que
- on charge la donnée lue ou à écrire dans un registre auxiliaire (17) en relation avec l'interface,
- on incrémente (18) automatiquement avec un automate l'adresse chargée dans le deuxième registre, et
- on exécute avec un adressage indirect (11) orienté vers le registre auxiliaire l'instruction dont le code est chargé dans le premier registre.
4 - Procédé selon la revendication 3, caractérisé en ce que
- on exécute l'instruction dont le code est chargé dans le premier registre à chaque fois (20, 21) que le registre auxiliaire est lu ou écrit par l'interface.
FR9716198A 1997-12-19 1997-12-19 Microcontroleur avec interface perfectionnee et procede d'utilisation Expired - Fee Related FR2772948B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR9716198A FR2772948B1 (fr) 1997-12-19 1997-12-19 Microcontroleur avec interface perfectionnee et procede d'utilisation
US09/213,522 US6182207B1 (en) 1997-12-19 1998-12-17 Microcontroller with register system for the indirect accessing of internal memory via auxiliary register

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9716198A FR2772948B1 (fr) 1997-12-19 1997-12-19 Microcontroleur avec interface perfectionnee et procede d'utilisation

Publications (2)

Publication Number Publication Date
FR2772948A1 true FR2772948A1 (fr) 1999-06-25
FR2772948B1 FR2772948B1 (fr) 2000-03-10

Family

ID=9514874

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9716198A Expired - Fee Related FR2772948B1 (fr) 1997-12-19 1997-12-19 Microcontroleur avec interface perfectionnee et procede d'utilisation

Country Status (2)

Country Link
US (1) US6182207B1 (fr)
FR (1) FR2772948B1 (fr)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401167B1 (en) 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
AU9604698A (en) * 1997-10-10 1999-05-03 Rambus Incorporated Method and apparatus for two step memory write operations
DE10147956B4 (de) * 2001-09-28 2007-10-31 Infineon Technologies Ag Halbleiterspeichereinrichtung
US7506133B2 (en) * 2003-08-20 2009-03-17 Seiko Epson Corporation Method and apparatus for high speed addressing of a memory space from a relatively small address space
JP4984666B2 (ja) * 2006-06-12 2012-07-25 ソニー株式会社 不揮発性メモリ
JP2008078800A (ja) * 2006-09-19 2008-04-03 Ricoh Co Ltd 画像形成装置
KR100967026B1 (ko) * 2009-01-21 2010-06-30 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 캐쉬리드 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5426769A (en) * 1993-08-26 1995-06-20 Metalink Corp. System and method for producing input/output expansion for single chip microcomputers
US5524267A (en) * 1994-03-31 1996-06-04 International Business Machines Corporation Digital I/O bus controller circuit with auto-incrementing, auto-decrementing and non-incrementing/decrementing access data ports

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2364254B2 (de) * 1973-12-22 1976-03-18 Schaltungsanordnung fuer datenverarbeitende geraete
US3972025A (en) * 1974-09-04 1976-07-27 Burroughs Corporation Expanded memory paging for a programmable microprocessor
GB1540923A (en) * 1975-12-01 1979-02-21 Intel Corp Programmable single chip mos computer
US5428760A (en) * 1991-12-12 1995-06-27 Intel Corporation Circuitry and method for sharing internal microcontroller memory with an external processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5426769A (en) * 1993-08-26 1995-06-20 Metalink Corp. System and method for producing input/output expansion for single chip microcomputers
US5524267A (en) * 1994-03-31 1996-06-04 International Business Machines Corporation Digital I/O bus controller circuit with auto-incrementing, auto-decrementing and non-incrementing/decrementing access data ports

Also Published As

Publication number Publication date
FR2772948B1 (fr) 2000-03-10
US6182207B1 (en) 2001-01-30

Similar Documents

Publication Publication Date Title
FR2606903A1 (fr) Procede et dispositif de gestion de points d'arret dans un moniteur de logiciel
FR2772948A1 (fr) Microcontroleur avec interface perfectionnee et procede d'utilisation
BE1001065A3 (fr) Conversion du mode de signaux de commande pour ordinateurs.
FR2738367A1 (fr) Procede et appareil de telechargement rapide de fonctions dans une memoire volatile
EP3258380B1 (fr) Coeur de processeur asynchrone et microcontrôleur de noeud de capteur communicant comportant un tel coeur de processeur
EP0742516A2 (fr) Dispositif de mise en service d'un circuit intégré
FR2685106A1 (fr) Systeme de commande d'interruption d'entree/sortie pour une machine virtuelle.
EP0540427A1 (fr) Circuit d'interface pour carte à circuit intégré
FR2752631A1 (fr) Procede de chargement d'un systeme d'exploitation
FR2632092A1 (fr) Circuit de conditionnement d'ecriture d'antememoire retarde pour un systeme de microcalculateur a bus double comprenant une unite 80386 et une unite 82385
FR2708359A1 (fr) Procédé pour exploiter un processeur numérique de signal et dispositif mettant en Óoeuvre le procédé.
JPH10214203A (ja) 情報処理装置
FR2902254A1 (fr) Pilotage d'un dispositif multifonctions
EP1632863B1 (fr) Dispositif programmable d'interface de commande
EP0635789A1 (fr) Circuit intégré du type microcontroleur à mémoire morte contenant un programme générique, notamment de test, station de test et procédé de fabrication correspondants
JP2556268B2 (ja) プログラムダウンロード方式
JPH0740244B2 (ja) マイクロプロセツサ
FR2772949A1 (fr) Partage de l'adressage indirect des registres d'un peripherique dedie a l'emulation
EP0575228A1 (fr) Procédé pour charger un programme dans une mémoire de programmes associée à un processeur
FR2897174A1 (fr) Processeur comportant une interface de debogage integree controlee par l'unite de traitement du processeur
EP0006485A1 (fr) Dispositif d'adressage de pages dans un système de traitement de données
CA2150285A1 (fr) Dispositif pour l'optimisation des performances d'un processeur
WO2002073622A1 (fr) Dispositif electronique a memoire et procedes de commande d"un tel dispositif
FR2824650A1 (fr) Systeme de traitement de donnees et procede de distribution d'acces a des memoires
JPH07311731A (ja) ディジタル信号処理方法及び装置

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20070831