Brevet FR2774787A1 — publié le 19990813

PROCEDE DE STOCKAGE ET DE LECTURE DE MOTS BINAIRES DANS UNE MEMOIRE La présente invention concerne un procédé de stockage et de lecture de mots binaires dans une mémoire. A l'heure actuelle, de nombreux microprocesseurs sont pourvus de mémoires électroniques accessibles par octets, c'est-à-dire des mémoires dans lesquelles il est possible de lire des mots binaires de 8 bits. Cette nécessité vient du fait que, pour des raisons historiques, de nombreux codes standardisés sont codés sur 8 bits, par exemple les codes ASCII, les codes JAVA ... Egalement, les microprocesseurs des cartes à puce utilisent des tables de données et des pointeurs de tables codés sur 8 bits. Parallèlement, les technologies de fabrication ayant considérablement évolué, de tels microprocesseurs comportent généralement des bus de donnée de 16 ou 32 bits, voire plus, leur permettant de manipuler des variables, instructions ou adresses de grande taille. On a donc été conduit à prévoir des mémoires dont la structure permet de stocker et de lire indifféremment des mots de tailles différentes. A titre d'exemple, la figure 1 représente une mémoire 10 pouvant être lue sous 8 ou 16 bits, destinée à un microprocesseur travaillant sous 16 bits. La mémoire 10 est scindée en deux demimémoires 11, 12 connectées à un même bus d'adresse 13, la demi-mémoire 11 contenant des octets BO, B2,...B2i... d'adresse paire et la demi-mémoire 12 des octets B1, B3,...B2i+1 d'adresse impaire. Pour la lecture de mots de 16 bits, un câblage particulier permet de lire simultanément les mémoires 11, 12 sur présentation d'une adresse paire (une adresse impaire étant appliquée automatiquement sur la demi-mémoire 12). Dans ce cas, les octets B21 d'adresse paire et les octets B2i+1 d'adresse impaire sont appliqués respectivement sur les fils de plus forts poids et de plus faibles poids d'un bus de donnée 14, et forment les octets MSB ("Most Significant Byte") et LSB ("Less Significant Byte") d'un mot de 16 bits. A l'inverse, pour une lecture sous 8 bits, les octets d'adresse paire ou impaire peuvent être lus indépendamment les un des autres pendant que les huit fils inutilisés du bus 14 sont forcés à 0. Ces mémoires scindées en deux demi-mémoires présentent l'inconvénient d'être complexes, encombrantes et coûteuses à réaliser car elles nécessitent une duplication des systèmes de lecture/écriture et du système de décodage d'adresses. Cet inconvénient est particulièrement gênant dans le cas des mémoires de type EEPROM présentes dans les circuits intégrés des cartes à puces, car il grève le coût de revient des cartes. Pour pallier cet inconvénient, la demanderesse propose de prendre le contre-pied des solutions de l'art antérieur en prévoyant une mémoire de structure unitaire dont la capacité de stockage correspond à la capacité maximale de traitement d'un microprocesseur, par exemple une mémoire de 16 bits pour un microprocesseur travaillant sous 16 bits, une mémoire de 32 bits pour un microprocesseur 32 bits, etc.. Dans ces conditions, la question se pose de savoir comment des mots de plus petite taille, notamment des octets, vont pouvoir être stockés et lus dans une telle mémoire. Ainsi, l'objectif de la présente invention est de prévoir un procédé de stockage et de lecture de mots binaires de taille déterminée dans une mémoire ne permettant que d'enregistrer et de lire des mots mémoire de plus grande taille. Cet objectif est atteint par la prévision d'un procédé de stockage de mots binaires de taille déterminée dans une mémoire ne permettant que d'enregistrer et de lire des mots mémoire de plus grande taille, dans lequel les mots binaires sont stockés dans la mémoire en groupes de mots formant des mots mémoire, et dans lequel à chaque mot binaire susceptible d'être lu dans la mémoire est associée une adresse virtuelle comprenant N1 premiers bits et N2 seconds bits, les N1 premiers bits de l'adresse virtuelle désignant l'emplacement du mot binaire dans le groupe de mots comprenant le mot binaire, les N2 seconds bits de l'adresse virtuelle formant au moins une partie de l'adresse de lecture dans la mémoire du groupe de mots comprenant le mot binaire. Avantageusement, les N1 premiers bits sont des bits de plus faibles poids de l'adresse virtuelle. Avantageusement, les N2 seconds bits de l'adresse virtuelle sont des bits de plus faibles poids de l'adresse de lecture dans la mémoire du groupe de mots comprenant le mot binaire. Selon un mode de réalisation, un groupe de mots comprend au moins deux mots binaires concaténés. Selon un mode de réalisation, les mots binaires sont des octets. Selon un mode de réalisation, la mémoire est prévue pour stocker des mots mémoire de 16 ou 32 bits, l'adresse virtuelle d'un octet comprend au moins un bit de faible poids pour désigner au moins un octet compris dans un mot mémoire. La présente invention concerne également un procédé de lecture d'un mot binaire de taille déterminée dans une mémoire comprenant des mots mémoire de plus grande taille, le mot binaire étant stocké dans la mémoire dans un groupe de mots formant un mot mémoire, le mot binaire étant identifié par une adresse virtuelle, procédé comprenant les étapes consistant à extraire les N1 premier bits de l'adresse virtuelle du mot binaire, concaténer les N2 seconds bits de l'adresse virtuelle du mot binaire avec N3 bits complémentaires de poids fort pour former une adresse applicable à la mémoire, lire le groupe de mots présents à l'adresse ainsi déterminée, et extraire le mot binaire du groupe de mots lus dans la mémoire, à un emplacement désigné par les N1 premiers bits de son adresse virtuelle. Selon un mode de réalisation, les N1 premiers bits sont extraits par décalage à droite de l'adresse virtuelle avec concaténation simultanée des N2 seconds bits avec les N3 bits complémentaires. Selon un mode de réalisation, au moins certains bits des N3 bits complémentaires sont choisis en fonction c'une page de la mémoire dans laquelle le mot binaire doit être lu. La présente invention concerne également un microprocesseur comprenant des moyens pour exécuter le procédé décrit ci-dessus. Avantageusement, le microprocesseur comprend des moyens pour exécuter le procédé sur réception d'une instruction spéciale de lecture du mot binaire comprenant sous forme directe ou indexée l'adresse virtuelle du mot binaire. Ces objets, caractéristiques et avantages de la présente invention ainsi que d'autres seront exposés plus en détail dans la description suivante du procédé de l'invention et d'un exemple de mise en oeuvre pratique de ce procédé, en relation avec les figures jointes parmi lesquelles - la figure 1 précédemment décrite représente une mémoire de 16 bits accessible par octets, - la figure 2 illustre le procédé de l'invention appliqué à une mémoire de 16 bits, - la figure 3 illustre le procédé de l'invention appliqué à une mémoire de 32 bits, - la figure 4 représente un système hardware permettant de mettre en oeuvre le procédé de l'invention, et - la figure 5 est un exemple d'intégration du système de la figure 4 au sein d'un microprocesseur. La figure 2 illustre de façon schématique le procédé de l'invention. On trouve sur la partie droite de la figure une mémoire MEM1 de structure unitaire prévue pour stocker des mots de 16 bits, adressable ici sous 16 bits. Selon l'invention, une zone de la mémoire, ou page P1, comprend des octets B1, B2, B3. . .B2j, B2i+1... stockés par paires, chaque paire formant un mot mémoire de 16 bits pouvant être lu après application à la mémoire d'une adresse ADD. Selon l'invention toujours, on affecte à chaque octet une adresse virtuelle VADD de manière à définir une mémoire virtuelle VMEM, représentée sur la partie gauche de la figure, formée d'un empilement d'octets B1, B2...B2i, B2i+l... ayant des adresses VADD croissantes. Selon l'invention, on prévoit ensuite un mécanisme hardware permettant d'extraire automatiquement les octets de la mémoire MEM1 à partir de leurs adresses virtuelles VADD, en trois étapes essentielles A) transformation de l'adresse virtuelle VADD d'un octet en une adresse ADD de lecture d'un mot mémoire, B) lecture à l'adresse ADD du mot mémoire de 16 bits comprenant l'octet désigné par l'adresse virtuelle VADD, C) extraction dans le mot mémoire de 16 bits de l'octet désigné par l'adresse virtuelle VADD. Ces étapes sont représentées sur la figure 2. Au cours d'une étape Al, l'adresse virtuelle VADD, qui peut s'écrire VADD = b15 bl4 b12 b13 bll blO b9 b8 b7 b6 b5 b4 b3 b2 bl bO, est insérée dans un registre à décalage SREG. A gauche du registre SREG se trouve un registre MSBREG contenant un bit de poids fort b16 de valeur prédéterminée, choisi ici égal à 1. A droite du registre SREG se trouve un registre LSBREG. Au cours d'une étape A2, on applique au registre SREG un signal de décalage à droite SHIFT. Le bit b16 est inséré dans le registre SREG en tant que bit de plus fort poids MSB ("Most Significant Bit") et le bit bO de plus faible poids LSB ("Less Significant Bit") est placé dans le registre LSBREG. On trouve maintenant dans le registre SREG une adresse de lecture ADD s'écrivant ADD = b.6 b15 b14 b12 bl3 bll blo b9 b8 b7 b6 b5 b4 b3 b2 bl A l'étape B. on lit dans la mémoire MEM1, à l'adresse ADD, un mot mémoire de 16 bits du type [B2ilB2i+l] S comprenant deux octets juxtaposés B2i, B2i+1. A l'étape C, on sélectionne l'un des deux octets B2i ou B2i+l en fonction de la valeur du bit bO présent dans le registre LSBREG. La sélection (ou extraction) peut être faite de façon automatique, comme on le verra plus loin. En définitive, le procédé de l'invention permet de définir un espace de travail virtuel VMEM dans lequel des octets sont définis par des adresses virtuelles VADD, alors qu'en réalité ces octets sont stockés dans une mémoire MEM1 qui n'est pas accessible sous 8 bits. L'invention constitue ainsi une alternative avantageuse à la solution classique qui consiste à prévoir une mémoire de structure complexe (voir fig. 1) accessible sous 8 et 16 bits. De plus, pour une taille déterminée du champ d'adresse, l'invention permet de doubler la capacité de stockage du plan mémoire d'un microprocesseur. Ainsi, avec un adressage sous 16 bits, la mémoire 10 de la figure 1 offre une capacité maximale de stockage de 216 octets alors que la mémoire MEM1 selon l'invention offre une capacité de stockage de 216 mots de 16 bits, soit 217 octets. Plus particulièrement, sur la figure 2, la page inférieure PO de la mémoire MEM, définie par l'ensemble des adresses ADD dont l'octet de poids fort b16 est égal à 0, est utilisée pour stocker des mots de 16 bits WO, Wl, . . .Wi, par exemple les instructions d'un programme. Les octets BO, Bu, ... sont rangés dans la page haute P1 définie par l'ensemble des adresses ADD dont le bit b16 est à 1. La mémoire MEM1 ainsi organisée offre une capacité se stockage de 215 mots de 16 bits et de 216 octets. Dans une variante de réalisation, les deux pages PO, P1 peuvent être dédiées au stockage d'octets. Dans ce cas, on crée deux mémoires virtuelles VMEM1, VMEM2 (non représentées) correspondant aux pages PO, P1, le bit b16 étant programmé à 1 ou à O dans le registre MSBREG avant l'étape A2 en fonction de la page que l'on souhaite lire. Par ailleurs, la figure 3 montre que l'invention n'est pas limitée aux mémoires de 16 bits et peut s'appliquer à tout type de mémoire, par exemple une mémoire MEM2 de 32 bits. Dans ce cas, le procédé est sensiblement le même mais le registre MSBREG contient deux bits bol7, b16. On effectue un double décalage à droite au cours de l'étape A2. Après le double décalage, le registre LSBREG contient les deux bits bl et bO de plus faibles poids de l'adresse virtuelle VADD. L'adresse de lecture ADD a l'aspect suivant ADD = b17 b16 bl5 b14 bl2 bl3 bll blo b9 b8 b7 b6 bS b4 b3 b2 La lecture de la mémoire MEM2 à l'adresse ADD fait ressortir un mot de 32 bits [B2i I B2i+1 I B2 La figure 4 représente un système hardware exécutant de façon simple le procédé de l'invention. Dans un souci de simplicité, on a représenté ce système appliqué à la mémoire MEM1 de la figure 2 mais le schéma représenté peut être transposé par analogie à la mémoire MEM2 de 32 bits de la figure 3. Le registre SREG est interposé entre l'entrée d'adresse de la mémoire MEMl et un bus d'adresse BUSl. La sortie OUTM de la mémoire MEMl, comportant 16 fils, est appliquée sur les entrées IN1, IN2 d'un multiplexeur MUX1. Les 8 fils MSB de la sortie OUTM sont appliqués sur l'entrée IN1 et les 8 fils LSB sont appliqués sur l'entrée IN2. Le multiplexeur MUXl comporte deux sorties OUT1, OUT2 de 8 bits, connectées respectivement aux 8 fils MSB et aux 8 fils LSB d'un bus de donnée BUS2. Le multiplexeur MUX, dont le fonctionnement est décrit par le tableau ci-après, comporte une entrée de commande STATE permettant de le placer dans un état actif ou dans un état transparent, ainsi qu'une entrée de commande SELECT, connectée à la sortie du registre MSBREG et recevant le bit bO. Tableau : fonctionnement du multiplexeur MUX1 1 STATE SELECT OUT1 OUT2 l bit bO = 0 tous les fils recopie IN2 sont à O (actif) bit bO = 1 tous les fils recopie IN1 sont à O 0 bit bO = O recopie IN1 recopie IN2 (transparent) bit bO = 1 Ainsi, en pratique, les étapes du procédé de l'invention sont réalisées de la façon suivante 1) une adresse virtuelle VADD est appliquée sur le bus d'adresse BUS1, 2) le signal SHIFT est appliqué au registre SREG, de sorte qu'une adresse de lecture ADD est appliquée à la mémoire MEM1, 3) l'entrée STATE du multiplexeur MUX1 est mise à i (état actif) et un signal le lecture RD est applique à la mémoire MEM1, 4) les octets MSB B2i et LSB B2i+l d'un mot de 16 bits sont appliqués sur les entrées IN1, IN2 du multiplexeur MUX1, respectivement, 5) le multiplexeur MUX1 délivre sur les 8 fils LSB du bus de donnée (sortie OUT2) l'un des deux octets Blair B2i+1 sélectionné en fonction dubit bO présent sur l'entrée SELECT, les 8 fils MSB du bus de donnée BUS2 (sortie OUT1) étant forcés à 0. Selon un autre aspect de l'invention, on prévoit en outre un microprocesseur agencé pour réaliser le procédé de l'invention sur réception d'une instruction spéciale du type "LOAD8b Rd, Rs" qui signifie : "lire dans la mémoire MEM1 l'octet dont l'adresse virtuelle VADD est stockée dans un registre source Rs et ranger l'octet dans un registre destination Rd". La figure 5 illustre un exemple de mise en oeuvre de cet aspect de l'invention dans un microprocesseur MP du type RISC ("Reduced Instruction Set Computer"), prévu pour recevoir des instructions compactes de 16 bits. Ici, l'instruction LOAD8b se présente sous format suivant: CODELD8 | ADRd | ADRs et comprend le code opération CODELD8 de l'instruction, codé sur 8 bits, l'adresse ADRd et l'adresse ADRs des registres destination Rd et source Rs, codées chacune sur 4 bits. Les éléments déjà décrits en relation avec la figure 4, à savoir la mémoire MEM1, les registres SREG, MSBREG, LSBREG et MUX1 sont incorporés aux autres éléments du microprocesseur MP. Parmi ces éléments, on distingue un décodeur d'instructions DEC, une banque de registres RBANK et un compteur ordinal PC ("Program Counter"). Le décodeur DEC est une machine d'état en soi classique assurant le décodage et l'exécution d'instructions. La banque RBANK comprend 16 registres (non représentés), des entrées IADRs, IADRd connectées au décodeur DEC pour recevoir les adresses ADRs, ADRd des registres source Rs et destination Rd, une entrée INRd d'écriture du registre Rd et une sortie de lecture OUTRs du registre Rs. Le microprocesseur MP est ici du type Von Neumann, de sorte que la mémoire MEM1 comporte un mélange de données et d'instructions. Ainsi, l'instruction LOAD8b est placée dans la page inférieure PO, la page supérieure Pi contenant des mots de 16 bits formant des paires d'octets [B2jIB2j+i] . Un démultiplexeur DEMUX piloté par le décodeur DEC permet d'appliquer la sortie OUTM de la mémoire MEM1 sur l'entrée du décodeur DEC ou sur les entrées IN1, IN2 du circuit MUX1. Par ailleurs, les sorties OUT1, OUT2 du circuit MUX1 sont appliquées sur l'entrée INRd de la banque RBANK par l'intermédiaire du bus de donnée BUS2. Une sortie OUTRs de la banque RBANK est connectée à une entrée d'un multiplexeur MUX2 recevant sur une autre entrée une adresse PCADD délivrée par le compteur ordinal PC. La sortie du circuit MUX2 est appliquée à l'entrée du registre SREG par l'intermédiaire du bus d'adresse BUS1. Enfin, le microprocesseur MP comprend des registres PREG1, PREG2, PREG3, PREG4 agencés respectivement à l'entrée du registre SREG, à la sortie OUTM de la mémoire MEM1, sur les entrées IADRs, IADRd et sur l'entrée INRd de la banque RBANK. Ces registres, par exemple des registres à verrouillage ("latch"), sont pilotés par le décodeur DEC et permettent de séquencer les diverses phases d'exécution d'une instruction. Le décodeur DEC délivre également des signaux RD, WR de lecture et d'écriture dans la mémoire MEM1 ou dans la banque RBANK, ainsi que le signal SHIFT. Enfin, le décodeur DEC pilote l'entrée STATE du multiplexeur MUX1. L'instruction LOAD8b est exécutée en six phases sous le contrôle du décodeur DEC, à commencer par la lecture de l'instruction elle-même. Phase +1 : lecture de 11 instruction (cycle "ketch") Au cours de cette phase, le circuit MUX2 sélectionne l'adresse PCADD de l'instruction, le registre PREG1 est rendu passant, le registre SREG est rendu transparent (SHIFT = O). L'adresse PCADD se retrouve en entrée de la mémoire MEM1 qui reçoit le signal RD, de sorte que l'instruction LOAD8b est lue. Phase +2 : décodage de l'instruction Au cours de cette phase, le registre PREG2 est rendu passant, le circuit DEMUX applique l'instruction LOAD8b à l'entrée du décodeur DEC. Le décodeur DEC identifie le code CODELD8 et envoie les adresses ADRs, ADRd vers les entrées IADRs, IADRd de la banque RBANK. Phase +3 : lecture de l'adresse virtuelle Au cours de cette phase, le registre PREG3 est rendu passant, la banque RBANK reçoit les adresses ADRs, ADRd et le signal de lecture RD, la sortie OUTRs délivre une adresse virtuelle VADD contenue dans le registre Rs. Phase +4 : lecture de la mémoire Au cours de cette phase, le registre PREG1 est rendu passant, la sortie OUTRs est sélectionnée par le circuit MUX2 et l'adresse virtuelle VADD est appliquée en entrée du registre SREG par l'intermédiaire du bus d'adresse BUS1. Le signal SHIFT est appliqué au registre SREG. L'adresse VADD est décalée à droite avec insertion du bit b16 présent dans le registre MSBREG. Le bit bO placé dans le registre LSBREG se retrouve sur l'entrée SELECT du circuit MUX1. La mémoire MEM1 reçoit le signal de lecture RD et délivre un mot de 16 bits [B2iIB2j+1]. Phase +5 : extraction d'un octet Au cours de cette phase, le registre PREG2 est rendu passant, l'entrée STATE est mise à 1, le mot mémoire [B2ilB2i+l] est appliqué sur les entrées IN1, IN2 du circuit MUX1. Comme on l'a déjà décrit, la sortie OUT1 est à O (8 bits) et la sortie OUT2 délivre l'octet B2i ou B2i+1 selon la valeur du bit bO. L'octet sélectionné se retrouve ainsi les fils LSB du bus de donnée BUS2 dont les fils MSB sont forcés à 0. Phase +6 : enregistrement de l'octet Au cours de cette phase, le registre PREG4 est rendu passant, le signal WR est appliqué à la banque RBANK et l'octet sélectionné B2i ou B2i+1 est enregistré dans le registre de destination Rd. Il apparaîtra clairement à l'homme de l'art que cet aspect de l'invention est susceptible de divers autres modes de réalisation. L'instruction qui vient d'etre décrite est une instruction de lecture d'un octet et de chargement de l'octet dans un registre. Cette instruction peut être déclinée en diverses variantes, par exemple en une instruction simple de lecture permettant de placer un octet sur le bus de donnée BUS2. Egalement, l'adresse virtuelle VADD, au lieu d'être indexée par l'adresse ADRs d'un registre source Rs, peut être directement fournie par l'instruction. Par ailleurs, l'homme de l'art notera que l'opération d'extraction d'un octet peut être réalisée au moyen de l'unité arithmétique et logique ALU d'un microprocesseur (dans ce cas, le circuit MUX1 n'est plus nécessaire) . Ce mode de réalisation s'applique aux microprocesseurs ayant une unité ALU possédant la fonction classique de permutation des octets d'un mot de 16 bits. Dans ce cas, l'extraction d'un octet est faite en deux étapes. Au cours de la première étape, on réalise si nécessaire la permutation des octets Blair B2i+1 du mot de 16 bits lu dans la mémoire (selon la valeur du bit bO de l'adresse virtuelle), de manière que l'octet à sélectionner soit en position d'octet LSB. Ensuite, on supprime l'octet MSB en faisant le ET logique du mot de 16 bits avec le masque [OOH,FFH]. Encore d'autres variantes et modes de réalisation apparaîtront à l'homme de l'art. Pour fixer les idées sur l'étendue des possibilités offertes par l'invention, la figure 6 montre que des adresses virtuelles VADDO, VADDi, VADD3, VADD4 peuvent aussi servir à sélectionner plusieurs octets BO, B1, B3, B4 se chevauchant dans un mot de 16 bits. Ainsi, dans la description et les revendications, les termes "mots binaires juxtaposés" et "groupe de mots binaires" ne signifient pas uniquement que des mots binaires sont concaténés dans une mémoire mais peut également signifier que les mots binaires se chevauchent et ont des bits communs. Enfin, bien qu'il soit plus avantageux pour la mise en oeuvre du procédé de l'invention d'utiliser les bits de plus faibles poids de l'adresse virtuelle comme index donnant la position d'un mot binaire dans un mot mémoire de plus grande taille, il apparaîtra clairement à l'homme de l'art que tout bit d'une adresse virtuelle peut être choisi par convention en tant que bit d'index, dans la mesure où ce bit est extrait de l'adresse virtuelle au moment de sa transformation en adresse de lecture. La seule différence est que, dans ce cas, il n'y a plus de correspondance entre l'emplacement des octets dans la mémoire virtuelle et leur emplacement dans la mémoire réelle. REVENDICATIONS 1. Procédé de stockage de mots binaires (B2j, B2i+l) de taille déterminée dans une mémoire (MEM1, MEM2) ne permettant que d'enregistrer et de lire des mots mémoire de plus grande taille, caractérisé en ce que - les mots binaires (B2j, B2i+l) sont stockés dans la mémoire en groupes de mots formant des mots mémoire, et - à chaque mot binaire susceptible d'être lu dans la mémoire est associée une adresse virtuelle (VADD) comprenant N1 premiers bits (bO, bl) et N2 seconds bits (bl5-bl, b15-b2) , les N1 premiers bits (bO, bl) de l'adresse virtuelle désignant l'emplacement du mot binaire (B2j, B2i+l) dans le groupe de mots comprenant le mot binaire, les N2 seconds bits (bl5-bl, bl5-b2) de l'adresse virtuelle formant au moins une partie de l'adresse (bl6-bl, bl?-b2) de lecture dans la mémoire (MEM1, MEM2) du groupe de mots comprenant le mot binaire. 2. Procédé selon la revendication 1, dans lequel les N1 premiers bits (bO, bl) sont des bits de plus faibles poids de l'adresse virtuelle (VADD). 3. Procédé selon l'une des revendications 1 et 2, dans lequel les N2 seconds bits (bl5-bl, b15-b2) de l'adresse virtuelle sont des bits de plus faible poids de l'adresse de lecture dans la mémoire du groupe de mots comprenant le mot binaire. 4. Procédé selon l'une des revendications 1 à 3, dans lequel un groupe de mots comprend au moins deux mots binaires concaténés ([B2i IB21+1]) 5. Procédé selon l'une des revendications 1 à 4, dans lequel les mots binaires sont des octets. 6. Procédé selon la revendication 5 dans lequel la mémoire (MEM1) est prévue pour stocker des mots mémoire de 16 ou 32 bits, l'adresse virtuelle (VADD) d'un octet comprend au moins un bit de faible poids (bO, bl) pour désigner au moins un octet compris dans un mot mémoire. 7. Procédé de lecture d'un mot binaire (B2j, B2itl) de taille déterminée dans une mémoire (MEM1, MEM2) comprenant des mots mémoire de plus grande taille, le mot binaire (B2j, B2i+l) étant stocké dans la mémoire dans un groupe de mots formant un rnot mémoire, le mot binaire étant identifié par une adresse virtuelle (VADD), procédé caractérisé en ce qu'il comprend les étapes consistant à - (A2) extraire les N1 premier bits (bO, bl) de l'adresse virtuelle (VADD) du mot binaire, - (A2) concaténer les N2 seconds bits (bl5-bl, b15-b2) de l'adresse virtuelle du mot binaire avec N3 bits complémentaires de poids fort (bl6, bol7) pour former une adresse (ADD) applicable à la mémoire, - (B) lire le groupe de mots présents à l'adresse (ADD) ainsi déterminée, - (C) extraire le mot binaire (bai, B2i+l) du groupe de mots lus dans la mémoire, à un emplacement désigné par les N1 premiers bits (bO, bl) de son adresse virtuelle. 8. Procédé selon la revendication 7, dans lequel les N1 premiers bits sont extraits par décalage à droite de l'adresse virtuelle avec concaténation simultanée des N2 seconds bits avec les N3 bits complémentaires. 9. Procédé selon l'une des revendications 7 et 8, dans lequel au moins certains bits (b16, bol7) des N3 bits complémentaires sont choisis en fonction d'une page (PO, P1) de la mémoire (MEM1) dans laquelle le mot binaire doit être lu. 10. Microprocesseur (MP), comprenant des moyens (SREG, LSBREG, MSBREG, MUX1) pour exécuter le procédé selon l'une. des revendications 7 à 9. 11. Microprocesseur selon la revendication 10, comprenant des moyens (DEC, RBANK) pour exécuter ledit procédé sur réception d'une instruction spéciale (LOAD8b) de lecture du mot binaire comprenant sous forme directe ou indexée (ADRs) l'adresse virtuelle (VADD) du mot binaire.