Brevet FR2600444A1 — publié le 19871224

L'invention concerne un appareil électronique portatif, du type appeLé carte à circuit intégré et incorporant un circuit intégré (IC) possédant, par exemple, une mémoire de données permanente et un élément de commande tel qu'une unité centrale de trai5 tement (CPU). Récemment, des cartes à circuit intégré incorporant des puces à circuit intégré dotées de mémoires de données permanentes et d'éléments de commande tels que des CPU ont commencé de faire valoir leur importance comme nouveau moyen d'emmagasinage de données 10 portatif. Les données emmagasinées dans la mémoire de données qui est incorporée dans cette carte à circuit intégré sont gérées par un élément de commande interne ou une unité externe. Comme procédé d'accès à une telle carte à circuit intégré, il est mis en oeuvre un accès direct dans lequel la mémoire de données 15 est divisée en plusieurs zones auxquelles il est respectivement donné accès. Dans ce cas, une donnée spécifique telle qu'une adresse initiale de la zone cible et le nombre de bytes constituant la zone est enre-i gistrée dans la carte à circuit intégré. Lorsque la donnée de la zone cible s'est ajoutée à Ladonnée d'instruction d'entrée, la donnée spéci20 fique de la zone cible contenue dans la carte à circuit intégré est recherchée, est transformée en une donnée d'accès physique, et est traitée. De façon générale, pour augmenter la fiabilité des données emmagasinées dans une carte à circuit intégré, lorsqu'une donnée doit être emmagasinée, on ajoute à la donnée une information spécifique servant à identifier le fait que la donnée est valable ou non, et on emmagasine la donnée. Si quelque anomalie se produit pendant l'écriture de la donnée, cette information est utilisée lors de la lecture ultérieure de la donnée pour déterminer que 30 cette donnée est anormale. Lorsque la donnée doit être lue, le fait que la donnée est valable ou n'est pas valable est déterminé en fonction de l'information spécifique, et le résultat de la détermination est ajouté au moment de la délivrance de la donnée à destination d'une unité 35 externe. CLassiquement, une donnée de réponse unique est déLivrée en réponse à une donnée d'instruction unique. Lorsque La donnée de réponse doit être fournie, un code indiquant Le résultat du traitement dans la carte à circuit intégré est ajouté. Le résultat de la détermination du fait que la donnée est valable ou non, lequel a été obtenu lors de la lecture précédente de la donnée, est également transformé en un code et délivré. Toutefois, lorsqu'une chaîne de données possède une longueur telle que la chaîne ne peut être délivrée par une unique transmission, au moment o la délivrance de la chaîne 10 de données s'achève, le code est ajouté à la chaîne de données et la chaîne de données est délivrée. De cette manière, classiquement, lorsqu'une chaîne de données possédant une longueur telle que la chaîne ne peut pas être délivrée en une seule transmission est lue, un code indiquant la validité de la chaîne de données n'est délivré que lors de la transmission finale, et une unité externe ne peut déterminer la validité de La donnée avant la transmission finale. Lorsqu'il est déterminé que la donnée est anormale au moment de son écriture et lorsqu'une séquence d'écriture visant à 20 invalider cette donnée est positionnée, par exemple lorsque la tension de La source d'alimentation délivrée à une carte à circuit intégré est momentanément coupée, la commande d'un élément de commande est invalidée et la donnée en cours d'écriture ne peut pas être validée. En résultat, la fiabilité d'un tel système à circuit se dégrade. C'est un but de l'invention de proposer un appareil électronique portatif dans lequel, lorsqu'une chaîne de données possédant une longueur telle que la chaîne ne peut pas être délivrée par une unique transmission est lue, la validité de la chaîne de données peut être facilement déterminée au moment de la première transmission. Un autre but de l'invention est de fournir un appareil électronique portatif dans lequel les données puissent être invalidées de manière fiable même lorsque la source d'alimentation électrique a été momentanément coupée pendant l'écriture des données. 35 Pour réaliser les buts ci-dessus indiqués,l'appareil électronique portatif selon l'invention comprend: une section de contacteur destinée à être connectée avec un système de manipulation de l'appareiL électronique portatif afin de produire une instruction destinée à faire extérieurement accès audit appareil électronique portatif; un moyen d'emmagasinage servant à emmaga5 siner une chaîne de données délivrée par ledit système de manipulation de l'appareil électronique portatif; et un moyen de commande servant à délivrer une chaîne de données depuis ledit moyen d'emmasinage après adjonction d'une information indiquant si la chaîne de données est ou non valable au début de la chaîne de données lue en réponse à une instruction de lecture délivrée depuis ledit système de manipulation de l'appareil électronique portatif, et écrire dans ledit moyen d'emmagasinage d'une chaîne de données délivrée par ledit système de manipulation de l'appareil électronique portatif après adjonction de l'information indiquant l'invalidité de la chaîne de 15 données à la chaîne de données, en réponse à une instruction d'écriture délivrée depuis ledit système de manipulation de l'appareil électronique portatif, ce qui permet de remettre à jour l'information indiquant l'invalidité de la chaîne de données sur l'information valable après que la chaîne de données a été écrite. La description suivante, conçue à titre d'illustration de l'invention, vise à donner une meilleure compréhension de ses caractéristiques et avantages; elle s'appuie sur les dessins annexés, parmi lesquels: - la figure 1 est un schéma de principe montrant la 25 disposition d'une unité de manipulation de carte utilisée comme unité terminale d'un système de traitement d'opérations banquaires à domicile ou d'un système d'achat à domicile qui adopte une carte à circuit intégré comme appareil électronique portatif selon l'invention; - la figure 2 est un schéma de principe de la carte à. circuit intégré faisant fonction de l'appareil électronique portatif selon l'invention; - la figure 3 est un schéma de principe montrant la disposition d'une puce à circuit intégré incorporée dans la carte à 35 circuit intégré représentée sur la figure 2; - la figure 4 est une représentation-détaillée, ou format détaillé, de mémorisation pour une mémoire de données représentée sur la figure 3; - la figure 5 est une vue de la zone "00" de la mémoire de données représentée sur la figure 3; - la figure 6 montre la représentation, ou format, de la donnée d'attribut emmgasinée dans les parties hachurées représentées sur la figure 4; - les figures 7A et 7B sont des organigrammes de l'opéra10 tion d'écriture relative à la mémoire de données représentée sur la figure 3; - la figure 8 présente le format de l'instruction d'écriture utilisée dans l'opération d'écriture représentée sur les figures 7A et 7B; - les figures 9A et 9B sont des organigrammes de l'opération d'écriture continue relative à la mémoire de données représentée sur la figure 3; - la figure 10 montre le format d'une instruction d'écriture continue utilisée dans l'opération d'écriture continue représentée sur 20 les figures 9A et 9B; - les figures 11A à 11J sont des diagrammes servant à expliquer une opération d'écriture pratique représentée dans les organigrammes des figures 7A et 7B; - les figures 12A à 12C sont des organigrammes montrant une opération d'écriture relative à la mémoire de données représentée sur la figure 3; - la figure 13 montre le format d'une instruction de lecture utilisée dans l'opération de lecture représentée-sur les figures 12A à 12C; - les figures 14A et 14B sont les organigrammes d'une opération de lecture continue relative à la mémoire de données représentée sur la figure 3; la figure 15 montre le format d'une instruction de lecture continue utilisée dans l'opération de lecture continue 35 représentée sur les figures 14A et 14B; - les figures 16A à 16F sont des schémas servant à expliquer une opération de lecture pratique représentée sur les figures 12A à 12C; - la figure 17 est un organigramme servant à expliquer une 5 opération d'effacement relative à la mémoire de données représentée sur la figure 3; et - la figure 18 montre le format d'une instruction d'effacement utilisée dans l'opération d'effacement représentée sur la figure 17. Sur la figure 1, est présenté le schéma d'un système de manipulation de carte utilisé comme unité terminale d'un système de traitement d'opérations banquaires à domicile ou d'un système d'achat à domicile qui a adopté une carte à circuit intégré comme appareil électronique portatif selon l'invention. Plus spécialement, 15 dans ce système de manipulation de carte, une carte à circuit intégré peut être connectée à une unité centrale de traitement (CPU) 3 via un dispositif 2 de lecture-écriture de carte et la CPU 3 est connectée à un clavier 4, une unité d'affichage à tube cathodique 5, une imprimante 6, et une unité pour disque souple 7. La carte à circuit intégré 1 est la propriété d'un utilisateur, et celuici l'utilise en faisant référence à un PIN (numéro d'identification personnel) connu de lui seul ou lorsqu'une donnée nécessaire y est emmgasinée. La figure 2 montre ses blocs de fonction. Comme on peut le voir sur la figure 2, la carte 1 comprend des sections servant à exécuter des 25 fonctions de base, telles qu'une section 11 de lecture-écriture, une section 12 de fixation-recueil de PIN, et une section 13 de chiffrementdéchiffrement, ainsi qu'un superviseur 14 servant à gérer ces fonctions de base. La section de lecture-écriture 11 lit, écrit ou efface la donnée relativement à la mémoire de données 16. La 30 section 12 de fixationrecueil de PIN emmagasine le PIN fixé par l'utilisateur, empêche la lecture du PIN, recueille les PIN lorsqu'un PIN est introduit et donne l'autorisation de la poursuite du traitement. La section 13 de chiffrement-déchiffrement déchiffre les données de transmission afin d'empêcher que la donnée de transmission ne soit observée ou copié illégitimement lorsque cette donnée est transmise de la CPU 3 à une autre unité terminale par l'intermédiaire d'un réseau de communication par exemple, et déchiffre les données chiffrées. La section 13 de chiffrementdéchiffrement a pour fonction d'effectuer le traitement de données en fonction d'un algorithme de chiffrement, par exemple L'algorithme DES (Date Encryption Standard, ou norme de chiffrement américaine), qui offre une capacité de chiffrement suffisante. Le superviseur 14 déchiffre un signal d'entrée de code de fonction provenant du dispositif 2 de lectureécriture ou un code de fonction adjoint à une donnée, et il sélectionne et excécute la fonction voulue parmi les fonctions de base. Pour réaliser ces diverses fonctions, la carte à circuit intégré 1 comprend une CPU 15 comme section de commande, une mémoire de données permanente 16 comme section de mémoire de données dont le contenu peut être effacé, une mémoire de programme 17, et une section de contact 18 servant à réaliser un contact électrique avec le dispositif 2 de lectureécriture de carte tel que représenté sur la figure 3 par exemple. Parmi ces composants, la CPU 15 et -tes mémoires 16 et 17, entourées par une ligne en trait interrompu, sont constituées paruneuniquepuce à circuit intégré. La CPU 15 possède une mémoire à accès direct, ou mémoire vive, (RAM) 19. La mémoire 17 comprend par exemple une mémoire morte (ROM) à masque et emmagasine un programme de commande pour la CPU 15 possédant un sousprogramme permettant de valider les fonctions de base ci-dessus décrites. La mémoire 16 est utilisée pour emmagasiner diverses données et comprend par exemple une mémoire morte programmable électriquement 25 effaçable (EEPROM). La mémoire de données 16 est divisée en plusieurs zones, comme représenté sur la figure 4. Chacune de ces zones est divisée en un ou plusieurs blocs. Chaque bloc est constitué par un nombre prédéterminé de bytes. Le traitement s'effectue par unités de blocs. 30 Un bloc est constitué d'une donnée d'attribut (1 byte) (la partie hachurée sur la figure 4) et d'une donnée d'emmagasinage. Des numéros de zones "00" à "FF" sont assignés à des zones correspondantes, chacune étant divisée de la manière présentée sur la figure 4. Parmi elles, la zone "00" comprend un secteur 20 de numéro de zone, 35 un secteur 22 du nombre de bytes, un secteur 24 d'adresse initiale indiquant l'adresse de début de chaque zone, et un. secteur 26 d'adresse finale indiquant l'adresse finale de chaque zone, ainsi que cela est représenté sur la figure 5. L'adresse de début de la zone "01" est l'adresse aaa et son adresse finale est L'adresse bbb. Un bloc est constitué de 6 bytes. Le nombre de bytes de la donnée d'emma5 gasinage est de 5 bytes par bloc. Une zone est prévue au début de chaque zone pour emmagasiner une adresse (à laquelle on se raportera ci-après comme étant une donnée de pointeur) d'un byte final d'un bloc final lorsque le bloc final est écrit au moment de l'écriture de la donnée. La donnée d'attribut comporte un identificateur qui indique si la donnée d'emmagasinage correspondante est ou non valable, et un autre identificateur qui indique si le bloc correspondant est un bloc emmagasinant la donnée finale lorsqu'une chaîne de données d'emmagasinage est constituée de plusieurs blocs. La figure 6 montre le format de la donnée d'attribut. Comme 15 représenté sur la figure 6, le sixième bit est un identificateur indiquant si la donnée d'emmagasinage du bloc correspondant est u non valable. Si ce bit est "1", La donnée d'emmagasinage est non valable; si c'est "0", la donnée d'emmagasinage est valable. Le septième est un identificateur indiquant si le bloc correspondant 20 est un bloc qui comporte le byte final d'une chaîne de données. Si ce bit est "1", le bloc correspondant est un bloc ne comportant pas le byte final; si c'est "0", le bloc correspondant est un bloc qui comporte le byte final. On note que les bits des rangs d'ordre O à 5 sont des bits fictifs. On va décrire ci-dessous, en relation avec les organigrammes des figures 7A et 7B, une opération d'écriture de donnée relative à la mémoire de données 16 de la carte à circuit intégré 1 présentant le montage ci-dessus. L'écriture d'une donnée dans la mémoire de données 16 de la carte à circuit intégré 1 est exécutée lorsqu'une donnée d'instruction ayant un format tel que présenté sur la figure 8 est délivrée à la carte 1 via le dispositif de lecture-écriture 2 en provenance de la CPU 3, comme représenté sur la figure 1, et Lorsque la CPU 15 exécute l'instruction. L'instruction d'écriture est constituée d'un 35 secteur 28 de code de fonction d'écriture, d'un secteur 30 de numéro de zone, d'un secteur 32 de donnée du nombre de bytes, et d'un secteur 34 de chaîne de données. La donnée d'emmagasinage est constituée par une chaîne de données devant être emmagasinée, et la donnée du nombre de bytes (qui sera appelée Le nombre de bytes dans la chaîne de données ci-après) constituant la chaîne de données. Dans un état normal, un mode d'attente d'instruction pour le dispositif de lecture-écriture 2 de carte est positionné. Dans ce cas,lorsqu'une donnée d'instruction est délivrée par le dispositif de lectureécriture 2, la CPU 15 vérifie au cours de l'étape 36 si le code d'instruction appartenant à la donnée d'ins10 truction se raporte ou non à l'écriture. Si la réponse est oui à l'étape 36, la CPU 15 trouve, à l'étape 38, un numéro de zone adjoint à la donnée d'instruction à partir de la zone "00" de la mémoire de données 16. Si le numéro de zone correspondant n'est pas trouvé (non à l'étape 38), la CPU 15 délivre, à l'étape 40, une donnée de réponse 15 indiquant qu'une zone correspondante n'a pas été trouvée au dispositif de lecture-écriture 2 de carte, et l'organigramme revient à un mode d'attente de données d'instruction qui attend une donnée d'instruction de la part du dispositif de lectureécriture 2. Si la réponse est oui à l'étape 38, la CPU 15 renvoie à la donnée d'unité de traitement 20 correspondante. Lorsqu'une donnée d'emmagasinage doit être écrite dans une zone, la CPU 15 renvoie à la donnée de pointeur placée au début de la zone dans l'étape 42 et vérifie l'adresse initiale. Ensuite, à l'étape 44, la CPU 15 compare la donnée du nombre de bytes contenus dans la donnée d'instruction et la capacité (le nombre de 25 bytes) de chaque zone représentée sur la figure 5 pour déterminer si ladonnée d'emmagasinage fournie peut être entièrement emmagasinée dans la zone. Si la réponse est non à l'étape 44, la CPU 15 délivre une donnée de réponse indiquant que la donnée du.nombre de bytes est erronée au dispositif de lecture-écriture 2, à l'étape 48, et 30 l'organigramme revient au mode d'attente de donnée d'instruction en ce qui concerne le dispositif de lecture-écriture 2. Si la réponse est oui à l'étape 44> la CPU 15 compare le nombre de bytes dans la chaîne de données avec la donnée du nombre de bytes incluse dans la donnée d'instruction d'entrée, à l'étape 46. En résultat 35 de cette vérification, si le nombre de bytes est plus grande que la donnée du nombre de bytes (c'est-à-dire si la réponse est positive à l'étape 46), la CPU 15 délivre une donnée de réponse indiquant que la donnée du nombre de bytes est erronée au dispositif de lecture-écriture 2, à l'étape 48, et l'organigramme revient au mode d'attente d'une donnée d'instruction. Sinon (c'est-à-dire si la réponse est non à l'étape 46), le nombre de bytes contenu dans la chaîne de données est soustrait de la donnée du nombre de bytes afin qu'il soit produit un résultat donnant la quantité restante, à l'étape 50. A l'étape 52, la CPU 15 de la carte 1 positionne à "1" le bit le plus significatif (secteur 32 de la figure 8) de la chaîne de bits constituant la donnée du nombre de bytes représentée sur la figure 8, en invalidant ainsi temporairement la donnée d'emmagasinage. Ensuite, à l'étape 54, la CPU 15 divise la donnée d'emmagasinage en unités de traitement, adjoint une donnée d'attribut à chacune des données divisées et les emmagasine. Plus spécialement, à l'étape 56, la CPU 15 vérifie si la chaîne de données à écrire est la donnéedivisée finale. Si la réponse est non à l'étape 56, la donnée divisée est écrite dans la mémoire de données 16 à l'étape 58 et la donnée divisée suivante à écrire est préparée dans L'étape 60. Si la réponse est oui à l'étape 56, il est vérifié à l'étape 62 si la quantité restante est ou non "0". Dans ce cas, si la quantité restante détenue par avance est "0" (oui à l'étape 62), la donnée divisée finale est écrite à l'étape 70, et le bit le plus significatif de la chaîne de bits constituant la donnée du nombre de bytes représenté sur la figure 8 est positionné à "0" à l'étape 72. Ainsi, la donnée d'emmagasinage est validée et l'adresse finale du bloc comportant le byte final de la chaîne de données d'emmagasinage est emmagasinée comme donnéede pointeur. A l'étape 74, la CPU 15 délivre une donnée de réponse indiquant l'achèvement de l'écriture, 30 et l'organigramme revient au mode d'attente de donnée d'instruction. Toutefois, si la réponse est non à l'étape 62, la CPU 15 n'emmagasine pas que la donnée divisée finale, mais la maintient dans une RAM interne, à l'étape 64. Ensuite, à l'étape 66, la CPU 15 positionne le drapeau d'acceptation d'écriture continue et maintient l'adresse 35 intiale du nouveau bloc non écrit de la RAM comme adresse initiale d'écriture. A l'étape 88, la CPU 15 délivre une donnée de réponse indiquant une acceptation d'écriture continue, et l'organigramme revient au mode d'attente de donnée d'instruction. On va maintenant décrire, en relation avec les organigrammes présentés sur les figures 9A et 9B, une opération d'écriture continue. Lorsqu'une écriture continue est effectuée, une donnée d'instruction d'écriture continue possédant le format présenté sur la figure 10 est fournie. La donnée d'instruction d'écriture continue consiste en un secteur 76 de code de tonction d'écriture continue et un secteur 78 de donnée d'emmagasinage. Lorsqu'il est déterminé à 10 l'étape 80 que la donnée d'instruction d'écriture continue a été fournie (si la réponse est oui à l'étape 80), la CPU 15 renvoie au drapeau d'acceptation d'écriture continue et vérifie si le drapeau est positionné, au cours de l'étape 82. Si la réponse est non à l'étape 82, la CPU 15 déLivre une donnée de réponse indiquant une 15 erreur de séquence au dispositif 2 de lecture/écriture de carte à l'étape 84, et l'organigramme revient au mode d'attente de donnée d'instruction. Si la réponse est oui à l'étape 82, la CPU 15 vérifie le nombre de bytes de la donnée d'emmagasinage d'entrée et la quantité 20 restante, à l'étape 86. En résultat de la vérification effectuée à l'étape 86, si la première quantité est plus grande que la deuxième (réponse oui à l'étape 86), la CPU 15 délivre une donnée de réponse indiquant que la donnée du nombre de bytes est erronée, à l'étape 88, et l'organigramme revient au mode d'attente de données d'instruction. 25 Sinon (si la réponse est non à l'étape 86), la CPU 15 soustrait la première quantité de la deuxième quantité et conserve le résultat de la soustraction comme nouvelle quantité restante, à l'étape 90i Ensuite, à l'étape 92, la CPU 15 produit une nouvelle donnée d'emmagasinage en adjoignant la donnée divisée finale précé30 dente, conservée en avance dans la RAM, à l'entête de la donnée d'emmagasinage d'entrée. A l'étape 94, la CPU 15 divise la nouvelle donnée d'emmagasinage en données d'unités de traitement et adjoint une donnée d'attribut aux données divisées respectives. Ensuite, la CPU 15 emmagasine la donnée reposant sur l'adresse initiale 35 d'écriture maintenue dans la RAM à l'avance. Plus spécialement, la CPU 15 divise la donnée en unités de traitement à l'étape 94, et vérifie à L'étape 96 si la chaîne de données à écrire est la donnée divisée finale. Si la réponse est non à l'étape 96, la donnée divisée est écrite à l'étape 98, une préparation à l'écriture de la nouvelle donnée divisée est effectuée à l'étape 100, et l'orga5 nigramme revient à l'étape 96. Si la réponse est oui à l'étape 96, il est vérifié, à l'étape 102, si la quantité restante est "0". Si la réponse est oui à l'étape 102, la donnée divisée finale est écrite à l'étape 104, le bit le plus significatif de la donnée du nombre de bytes est 10 fixé à "0" à l'étape 106, et la donnée de pointeur est remise à jour. Ensuite, la CPU 15 repositionne le drapeau d'acceptation d'écriture continue à l'étape 108, et délivre une donnée de réponse indiquant l'achèvement de l'écriture à l'étape 110. Si la réponse est non à l'étape 102, la donnée divisée 15 finale est emmagasinée dans la RAM à l'étape 112. A l'étape 114, l'adresse initiale du bloc à écrire ensuite est emmagasinée, et le drapeau d'acceptation d'écriture continue est positionné. A l'étape 116, la CPU 15 délivre une donnée de réponse indiquant l'acceptation de l'écriture continue, et l'organigramme revient 20 au mode d'attente de donnée d'instruction. De cette manière, est emmagasinée une chaîne de données qui ne peut être écrite en une seule transmission. Dans un bloc destiné à emmagasiner la donnée divisée finale au cas o la quantité restante est "0", les septième et sixième bits sont tous deux posi25 tionnés à "0". Par exemple, on suppose que la donnée d'instruction telle que représentée sur la figure 11A est appliquée. Ceci correspond à une donnée d'instruction d'écriture et sa zone cible est "02". Le nombre de bytes d'unités de traitement de la zone "02" est 4. Tout 30 d'abord, la donnée du nombre de bytes contenue dans la donnée d'instruction d'entrée est extraite. Simultanément, on est renvoyé à la donnée de pointeur placée au début de la zone "02" pour vérifier que toute la donnée d'emmagasinage peut être emmagasinée. Ensuite, le bit le plus significatif de la donnée du nombre de bytes est 35 positionné à "1"' (figure 11B). Ensuite, la quantité restante est positionnée à partir du nombre de bytes de la donnée d'emmagasinage et de la valeur de La donnée du nombre de bytes (figure 11C). La donnée d'emmagasinage est divisée par le nombre de bytes d'unités de traitement (figure 11D) et est emmagasinée dans la zone "02", comme représenté sur la figure 11E. Toutefois, puisque la quantité restante est autre que "0", la donnée divisée finale n'est pas emmagasinée. Ensuite, une adresse à écrire ensuite est maintenue, et le drapeau d'acceptation d'écriture continue est positionné. Dans cet état, on suppose que la donnée d'instruction d'écriture telle que présentée sur La figure 11F est appliquée. 10 Ensuite, une vérification est faite sur le nombre de bytes de la donnée d'emmagasinage appartenant à cette donnée d'instruction. Si Le résultat de la vérification est acceptable, une nouveLle quantité restante est fixée à partir de la quantité de fixation précédente et du nombre de bytes de la donnée d'emmagasinage actuel15 lement en cours (figure 11G). La donnée divisée finale préalablement maintenue et la donnée d'emmagasinage actuellement en cours sontcombinées (figure 11H). La donnée d'emmagasinage résultante est divisée par le nombre de bytes. d'unités de traitement (figure 11I) et est emmagasinée en fonction de l'adresse d'écriture préalable20 ment-emmagasinée (figure 11J). Dans ce cas, puisque la quantité restante est "0", le bit le plus significatif de la donnée du nombre de bytes est fixé à "0", et l'adresse finale est emmagasinée comme donnée de pointeur. On va maintenant décrire, en relation avec les organigrammes 25 présentés sur les figures 12A à 12C, une opération de lecture de données relative à la mémoire de données 16. Lorsque la donnée emmagasinée dans la mémoire de données 16 doit être lue, une donnée d'instruction de lecture possédant le format de donnée tel-que présenté sur la figure 13 est fournie. Cette donnée d'instruc30 tion de lecture consiste en un code de fonction de lecture 118 et un numéro de zone 120. Dans un état normal, un mode d'attente de donnée d'instruction visant à faire attendre une instruction de la part du dispositif 2 de lecture-écriture de carte est positionné. Dans ce cas, lorsque la donnée d'instruction est introduite à partir 35 du dispositif 2 de lecture-écriture, la CPU 15 vérifie à l'étape 122 si le code de fonction inclus dans la donnée d'instruction se rapporte à une lecture. Si la réponse est oui à l'étape 122, le CPU 15 cherche un numéro de zone adjoint à la donnée d'instruction en provenance de la zone "00" de la mémoire de données 16, au cours de l'étape 124. Si le numéro de zone correspondant n'a pas été trouvé (si la réponse est non à l'étape 124), la CPU 15 délivre une donnée de réponse indiquant que la zone correspondanten'a pas été trouvée à l'étape 126, et l'organigramme revient au mode d'attente de donnée d'instruction de l'étape 122. Si le numéro de zone correspondant est trouvé (réponse oui à l'étape 126), la 10 CPU 15 renvoie à la donnée d'unité de traitement correspondante et l'emmagasine dans la RAM qui emmagasine les adresses de début et de fin de cette zone. Lorsque la donnée contenue dans cette zone doit être lue, à l'étape 128, la CPU 15 fait référence à la donnée de pointeur située au début de la zone. S'il est déterminé 15 à l'étape 128 que tous Les bits de cette donnée de pointeur sont "1" (réponse oui à l'étape 128), la CPU 15 détermine qu'aucune donnée n'est emmagasinée dans cette zone, et l'organigramme revient au mode d'attente de donnée d'instruction de l'étape 122. Toutefois, slil est déterminé, dans l'étape 128, que tous Les bits de 20 la donnée de pointeur ne sont pas "1" (réponse non à l'étape 1283, la CPU 15 reconnaît le bloc initial de la donnée la plus récente dans cette zone sur la base de cette donnée de pointeur à l'étape 132. La donnée du nombre de bytes est emmagasinée dans ce bloc initial. Ensuite, la CPU 15 vérifie si la donnée du nombre de bytes est valable, au cours de l'étape 134. Si la réponse est non à l'étape 134, la CPU 15 déLivre une donnée de réponse indiquant que la donnée du nombre de bytes est erronée à l'étape 136. Toutefois, si la réponse est oui à l'étape 134, la CPU 15 vérifie, à l'étape 138, si le bit le plus significatif de la donnée du nombre de bytes est "0". Si la 30 réponse est non à l'étape 138 (si le bit le plus significatif de la donnée du nombre de bytes est '"1"), la CPU 15 détermine que la chaîne de données qui suit ce bit le plus significatif n'est pas valable et positionne la présence d'un drapeau de donnée non valable à l'étape 140. Toutefois, si la réponse est oui à l'étape 138, la CPU 15 positionne 35 la donnée du nombre de bytes dans le compteur à l'étape 142. Ensuite, la CPU 15 lit le byte simple suivant à l'étape 144 et vérifie, à L'étape 146, si le byte lu est une donnée d'attribut. Si la réponse est oui à L'étape 146, L'organigramme revient à l'étape 144 et Le byte suivant est lu. Si la réponse est non à l'étape 144, la donnée lue est emmagasinée dans la RAM et le contenu du compteur subit une décrémentation d'une unité, à l'étape 148. A L'étape 150, il est déterminé si la RAM est pleine. Si la réponse est non à l'étape 150, il est vérifié, à l'étape 152, si le compteur est "0". Si la réponse est non à l'étape 152, l'organigramme revient à l'étape 144, et le byte simple suivant est lu. Toutefois, si la réponse est oui à l'étape 150, l'organigramme avance à l'étape 154 et iL-est vérifié si le compteur est ou non "O". Si la réponse est non à l'étape 154, la CPU 15 emmagasine une adresse finale lue dans la RAM et positionne un drapeau d'acceptation de lecture continue, à l'étape 156. Ensuite, à l'étape 158, la CPU 15 déLivre une donnée de réponse qui indique L'acceptation de la lecture continue et qui est adjoint à la cha4ne de données se trouvant dans la RAM, après quoi l'organigramme revient à l'étape 122. Toutefois, si la réponse est oui à l'étape 154, la CPU 15 20 vérifie, à l'étape 160, si la présence d'un drapeau de donnée non valable est ou non positionnée. Si la réponse est oui à l'étape 160, la CPU 15 déLivre une donnée de réponse qui indique la donnée non valable et est adjointe à la chaîne de données se trouvant dans La RAM, à l'étape 162, après quoi l'organigramme revient à l'étape 122. 25 Toutefois, si la réponse est non à l'étape 160, la CPU 15 délivre une donnée de réponse qui indique l'achèvement de la lecture et est adjointe à la chaîne de données de la RAM, à l'étape 164, après quoi l'organigramme revient à l'étape 162. On va maintenant décrire, en relation avec les organigrammes 30 des figures 14A et 14B, une opération de lecture continue. Lorsqu'une lecture continue est effectuée, une donnée d'instruction de lecture continue possédant le format présenté sur la figure 15 est appliqué. La donnée d'instruction de lecture continue est constituée d'un secteur 196 de code de fonction de lecture continue et d'un secteur198 35 de numéro de zone. Lorsqu'il est déterminé, à l'étape 166, qu'une instruction de lecture continue est appliquée, la CPU 15 vérifie à l'étape 168 si un drapeau d'acceptation de Lecture continue est ou non positionné. Si la réponse est non à l'étape 168, la CPU 15 déLivre une donnée de réponse indiquant une erreur de séquence à L'étape 170, et L'organigramme revient à L'étape 166 pour attendre une donnée d'instruction de Lecture continue. Si la réponse est oui à l'étape 168, la nouvelle donnée de byte est lue à l'étape 172. Ensuite, la CPU 15 vérifie à l'étape 174 si la donnée de byte lue est une donnée d'attribut. Si la réponse est oui à l'étape 174, l'organigramme revient à l'étape 172 et la nouvelle donnée de byte 10 est lue. Toutefois, si la réponse est non à l'étape 174, la CPU 15 emmagasine la donnée lue dans la RAM et diminue le compteur d'une unité, à l'étape 176. A l'étape 178, la CPU 15 vérifie si la RAM est pleine. Si la réponse est non à l'étape 178, la CPU 15 vérifie à l'étape 180 si le compteur est ounon "0". Si La réponse est non 15 à l'étape 180, l'organigramme revient à l'étape 172 et la nouvelle donnée de byte est lue. Si la réponse est oui à l'étape 180, l'organigramme avance à l'étape 188. A l'étape 178, si la RAM est pleine (si la réponse est oui 20 à l'étape 178), l'organigramme avance à l'étape 182 et vérifie si le contenu du compteur est ou non "0". Si la réponse est non à l'étape 182, l'organigramme avance à l'étape 184 pour emmagasiner l'adresse finale lue dans la RAM. Ensuite, à l'étape 186, la CPU 15 délivre une donnée de réponse qui indique l'acceptation de la lecture continue et est 25 adjointe à la chaîne de données de la RAM, après quoi l'organigramme revient à l'étape 166. Si la réponse est oui à l'étape 182, la CPU 15 repositionne le drapeau d'acceptation de lecture continue à létape 188, et il est vérifié, à l'étape 190, si la présence d'un drapeau de donnée non valable est ou non positionnée. Si la réponse est oui à l'étape 190, alors, à l'étape 192, la CPU 15 délivre une donnée de réponse qui indique une donnée non valable et est adjointe à la chaîne de données dans la RAM, après quoi l'organigramme revient à l'étape 166. Toutefois, si la réponse est non à l'étape 190, la CPU 15 délivre une 35 donnée de réponse qui indique l'achèvement de la lecture et est adjointe à la chaîne de données de la RAM, à l'étape 194, après quoi l'organigramme revient à l'étape 166. Par exemple, on suppose qu'une zone (la zone "02") ayant l'état présenté sur la figure 11J doit être lue par l'instruction de lecture telle que présentée sur la figure 16A. On note que La capacité de la RAM est de 8 bytes par exemple. Dans ce cas, la chaîne de données qui est lue par cette donnée d'instruction est une chaîne de données telle que présentée sur la figure 16B, et la donnée du nombre de bytes indique 1 byte. Ainsi, le compteur 10 est à "5" lorsqu'il est emmagasiné dans la RAM. Puisque la valeur de comptage est autre que "O", cette chaîne de données est adjointe à la donnée de réponse indiquant l'acceptation de la lecture continue et est déLivrée (figure 16C). Lorsqu'une donnée d'instruction de lecture continue telle que présentée sur la figure 16D est appliquée 15 en entrée, une chaîne de données telle que présentéesur la figure 16E est positionnée dans la RAM. Dans ce cas, puisque la valeur de comptage est "0", cette chaîne de données est adjointe à la donnée de réponse indiquant l'achèvement de la lecture, et elle est délivrée (figure 16F). On va maintenant décrire, en relation avec l'organigramme de la figure 17, l'opération d'effacement relative à la mémoire de données 16. Lorsque la donnée emmagasinée dans la mémoire 16 doit être effacée, une donnée d'instruction d'effacement possédant le format présenté sur la figure 18 est appliquée. La donnée d'instruc25 tion d'effacement est constituée d'un secteur 200 de code de fonction d'effacement et d'un secteur 202 de numéro de zone. A l'étape 204, lorsqu'il est déterminé qu'une instruction d'effacement est appliquée, la CPU 15 cherche un numéro de zone adjoint à la donnée d'instruction à partir de la zone "00" de la mémoire de données 16, au cours de 30 l'étape 206. Si le numéro de zone correspondant n'est pas trouvé à l'étape 206 (réponse non à l'étape 206), la CPU 15 délivre une donnée de réponse indiquant que la zone correspondante n'a pas été trouvée, à t'étape 208, et l'organigramme revient à l'étape 204, pour faire attendre l'instruction suivante. Si la réponse est oui à l'étape 206, 35 la CPU 15 se rapporte à l'adresse initiale de cette zone pour confirmer la donnée de pointeur de cette zone. Plus spécialement, la CPU 15 vérifie à l'étape 210 si tous Les bits de la donnée de pointeur sont ou non "1". Si la réponse est oui à L'étape 210, La CPU 15 déLivre une donnée de réponse indiquant une zone non écrite au cours de L'étape 212, et le programme revient à L'étape 204. Toute5 fois, si la réponse est non à l'étape 210 (si tous Les bits de la donnée de pointeur ne sont pas "1"), . la CPU 15 déLivre une donnée de réponse indiquant L'achèvement de l'effacement au cours de l'étape 216, et le programme revient à l'étape 204. Dans ce cas, La CPU 15 positionne à "1" tous Les bits de cette donnée de pointeur 10 (c'est-à-dire écrit FFH), déLivre-une donnée de réponse indiquant l'achèvement de l'effacement, et Le programme revient au mode d'attente de donnée d'instruction de l'étape 204. Dans le mode de réalisation ci-dessus présenté, comme indiqué sur la figure 3, la CPU 15, la mémoire de données 16 et 15 la mémoire de programme 17 sont intégrées dans une unique. puce. Toutefois, elles peuvent être formées sur des puces différentes. Il est possible de modifier le mode de réalisation matériel du dispositif électronique portatif en restant dans les limites et l'étendue de l'invention. En outre, dans les modes de réalisation ci-dessus présentés, il a été choisi comme exempLe d'un dispositif électronique portatif une carte à circuit intégré. La forme du dispositif électronique portatif ne se limite pas à celle d'une carte, mais peut présenter la forme d'un bloc ou la forme d'un crayon. Bien entendu, l'homme de l'art sera en mesure d'imaginer, à partir du dispositif dont la description vient d'être donnée à titre simplement illustratif et nullement Limitatif, diverses variantes et modifications ne sortant pas du cadre de l'invention. REVENDICATIONS 1. Appareil électronique portatif caractérisé en ce qu'il comprend: une section de contacteur (18) destinée à être connectée avec un système de manipulation de l'appareil électronique portatif afin de transmettre une instruction destinée à faire extérieurement accès audit appareil électronique portatif; un moyen d'emmagasinage (16) servant à emmagasiner une chaîne de données délivrée par ledit système de manipulation de io l'appareil électronique portatif; et un moyen de commande (15) servant à lire une chaîne de données depuis ledit moyen d'emmagasinage, adjoindre une informatior, indiquant si la chaîne de données est ou non valable au début de la chaîne de données lue, et délivrer la chaîne de données, en 15 réponse à une instruction de lecture délivrée depuis ledit système de manipulation de l'appareil électronique portatif, ainsi qu'à -adjoindre une information indiquant la non-validité de la chaîne de données à une chaîne de données délivrée depuis ledit système de manipulation de l'appareil électronique portatif et écrire la chaîne de données dans ledit moyen d'emmagasinage, en réponse à une instruction d'écriture venant dudit système de manipulation de l'appareil électronique portatif, ce qui permet de remettre à jour l'information indiquant la non-validité sur l'information indiquant La validité après achèvement de l'écriture de la chaîne de 25 données. 2. Appareil selon la revendication 1, caractérisé en ce que la chaîne de données lue par l'instruction de lecture venant dudit système de manipulation de l'appareil électronique portatif (2, 3, 4, 5, 6, 7) est constituée de plusieurs blocs, et une longueur de 30 donnée de la chaîne de- données est telle que la chaîne de données ne peut pas être délivrée par ledit appareil électronique portatif audit système de manipulation de l'appareil électronique portatif en une seule transmission. 3. Appareil selon La revendication 1, caractérisé en ce 35 que l'information indiquant si la chaîne de données est ou non valable est indiquée par positionnement à l'une ou l'autre valeur du bit Le plus significatif de l'information indiquant la longueur de donnée de la chaîne de données. 4. Appareil selon la revendication 2, caractérisé en ce le système de manipulation de l'appareil électronique portatif arrête la poursuite de la lecture de la chaîne de données lorsque l'information indiquant si la chaîne de données est ou non valable indique que la chaîne de données n'est pas valable. 5. Appareil selon la revendication 1, caractérisé en ce que ledit moyen de commande comprend un microcalculateur. 6. Appareil selon la revendication 1, caractérisé en ce que ledit moyen d'emmagasinage comprend une mémoire morte programmable électriquement effaçable.