FR 3156932 A1 20250620 FR 2314482 A 20231219 Selon un aspect, il est proposé un système informatique comprenant : - une mémoire (MEM) de données configurée pour stocker un tableau d’octets (BTAB), - un processeur de traitement du signal numérique (DSP) configuré pour exécuter un programme d’ordinateur (PRG) stocké dans une mémoire de programme (MEMP) comprenant des instructions permettant d’accéder à un bit dans ledit tableau d’octets (BTAB), ledit processeur de traitement du signal numérique (DSP) étant configuré pour accéder à chaque octet dudit tableau d’octets, - un circuit dédié (HWC) configuré pour accéder en lecture et/ou en écriture à un bit d’un octet dudit tableau d’octets en utilisant : ● un pointeur de position de bit (BITP) pointant vers le bit à accéder dans le tableau d’octets en combinaison, et ● ledit octet (BTE_IN) comprenant le bit à accéder. Figure pour l’abrégé : Figure 1 SYSTEME INFORMATIQUE ET PROCEDE POUR EFFECTUER UN ACCES ALEATOIRE D’UN BIT DANS UNE MEMOIRE Des modes de réalisation et de mise en œuvre concernent la lecture et l’écriture aléatoire d’un bit dans une mémoire de données d’un système informatique. Un système informatique peut comprendre une mémoire de données configurée pour stocker un tableau d’octets et une unité centrale de traitement configurée pour accéder en lecture et/ou en écriture à cette mémoire de données afin de lire ou écrire des mots dans ledit tableau d’octets. L’unité centrale de traitement est généralement configurée pour accéder en lecture et/ou en écriture à la mémoire de données afin de lire des mots sur 8 bits, 16 bits ou 32 bits. Il existe certaines applications requérant une lecture et/ou une écriture aléatoire d’un bit dans un tableau d’octets stocké dans une mémoire de données d’un système informatique. On parle de lecture et/ou d’écriture aléatoire lorsque la lecture et/ou l’écriture sont réalisés à des moments non prévisibles. Les accès en lecture et/ou en écriture peuvent notamment être réalisés pour lire et/ou écrire chaque bit du tableau d’octets. Par exemple, une application connue requérant la lecture ou l’écriture aléatoire d’un bit dans une mémoire de données est le codage et le décodage d’un signal audio. Dans ces applications, les accès mémoire sur 8 bits, 16 bits ou 32 bits ne permettent pas de lire ou écrire directement un bit dans la mémoire de données. Afin d’accéder à un seul bit dans le tableau d’octets de la mémoire de données, il est courant d’accéder à l’octet dudit tableau d’octets comportant le bit à accéder puis d’utiliser un masque associé à la position du bit à accéder dans ledit octet afin de sélectionner le bit dans ledit octet. Cet accès au bit est réalisé par voie logicielle par l’unité centrale de traitement. Une telle méthode requiert d’effectuer plusieurs tests et mises à jour pour accéder à un seul bit. En particulier, le masque doit être mis à jour pour chaque bit à accéder. Ces tests et mises à jour exécutés par voie logicielle peuvent nécessiter plusieurs cycles de l’unité centrale de traitement. Ainsi, un tel accès audit bit est relativement long à réaliser. En outre, un tel accès audit bit consomme une quantité d’énergie relativement importante du fait des nombreux cycles de l’unité centrale de traitement requis. Or, pour certaines applications notamment pour le Bluetooth à basse énergie (désigné également par l’acronyme « BLE » de l’anglais « Bluetooth Low Energy »), il est important de minimiser la consommation d’énergie et le nombre de calculs pour réaliser une tâche donnée. Il existe donc un besoin de proposer une solution permettant d’accéder plus simplement et plus rapidement à un bit dans un tableau d’octets. Selon un aspect, il est proposé un système informatique comprenant : - une mémoire de données configurée pour stocker un tableau d’octets, et une mémoire de programme configurée pour stocker un programme d’ordinateur, - un processeur de traitement du signal numérique configuré pour exécuter un programme d’ordinateur comprenant des instructions permettant d’accéder à un bit dans ledit tableau d’octets, ledit processeur de traitement du signal numérique étant configuré pour accéder à chaque octet dudit tableau d’octets, - un circuit dédié –notamment intégré dans le processeur de traitement du signal numérique– configuré pour accéder en lecture et/ou en écriture à un bit d’un octet dudit tableau d’octets en utilisant : ● un pointeur de position de bit pointant vers le bit à accéder dans le tableau d’octets, et ● ledit octet comprenant le bit à accéder. Un tel système informatique utilise simplement un pointeur de position de bit, et non pas un pointeur de position d’octet pris en combinaison avec un masque. Un tel système informatique est configuré pour accéder à un bit dans la mémoire aléatoirement en utilisant un circuit dédié pour réaliser certaines instructions. Ce circuit dédié occupe peu d’espace dans le système informatique et améliore nettement le délai pour accéder à un bit en mémoire. Un tel système informatique est configuré pour accéder simplement et rapidement à un bit dans la mémoire aléatoirement. En effet, un tel circuit dédié requiert peu de cycles d’exécution du processeur de traitement du signal numérique pour accéder à un bit dans la mémoire aléatoirement. Un tel circuit dédié permet également de diminuer la consommation d’énergie pour accéder à un bit dans la mémoire aléatoirement, car un tel accès est réalisé en effectuant peu d’opérations et en peu de cycles. Dans un mode de réalisation avantageux, le circuit dédié comprend un premier bloc configuré pour calculer une valeur de décalage d’octet selon la valeur du pointeur de position de bit. Avantageusement, le premier bloc du circuit dédié comprend : - une porte logique de type « ET » configurée pour effectuer une opération logique de type « ET » entre la valeur du pointeur de position de bit et la valeur hexadécimale 0x7 pour obtenir une valeur d’indexation, - un circuit de comparaison configuré pour calculer la valeur de décalage d’octet en comparant la valeur d’indexation à 0, la valeur de décalage d’octet étant égale à -1 lorsque la valeur d’indexation est égale à 0 et égale à 0 sinon. Dans un mode de réalisation avantageux, le circuit dédié comprend un deuxième bloc configuré pour déterminer la valeur d’un bit à lire à partir du pointeur de position de bit et d’un octet comprenant ledit bit à lire. Avantageusement, le deuxième bloc du circuit dédié comprend : - un circuit additionneur configuré pour augmenter la valeur du pointeur de position de bit de 1, - une première porte logique de type « ET » configurée pour effectuer une opération logique de type « ET » entre la valeur augmentée du pointeur de position de bit et une valeur hexadécimale égale à 0x7, - un circuit soustracteur configuré pour calculer une valeur de décalage en soustrayant une valeur égale à 7 de la valeur en sortie de la première porte logique de type « ET », - un circuit de décalage configuré pour décaler vers la droite la valeur de l’octet comprenant ledit bit à accéder d’un nombre de bits correspondant à ladite valeur de décalage, - une deuxième porte logique de type « ET » configurée pour effectuer une opération logique de type « ET » entre une valeur égale à 1 et la valeur de l’octet décalée de manière à obtenir la valeur du bit à lire. Le circuit dédié utilise deux blocs pour la lecture d’un bit dans le tableau d’octets. En particulier, l’ensemble des tests pour la lecture d’un bit est réalisé par le circuit dédié, et non pas par une unité centrale de traitement du système informatique. De la sorte, l’accès en lecture aléatoire d’un bit dans le tableau d’octets de la mémoire de données est réalisé plus rapidement. Dans un mode de réalisation avantageux, le programme d’ordinateur comprend des instructions qui lorsqu’elles sont mises en œuvre par le processeur de traitement du signal numérique conduisent celui-ci à effectuer au moins un appel d’une fonction pour lire un bit dans le tableau d’octets, chaque appel de cette fonction prenant en entrée le pointeur de position de bit et un pointeur d’octet comme attributs et entraînant : - un calcul d’une valeur de décalage d’octet par ledit premier bloc, puis - une mise à jour du pointeur d’octet par ladite valeur de décalage d’octet, puis - une détermination de la valeur du bit à lire par ledit deuxième bloc du circuit dédié. Pour programmer une telle lecture d’un bit dans le tableau d’octets de ladite mémoire de données, il est possible d’utiliser des fonctions intrinsèques qui permettent d’utiliser ledit circuit dédié. Une fonction intrinsèque est intégrée dans un compilateur. Cela permet de simplifier la programmation d’un tel accès aléatoire à un bit dans la mémoire de données. Avantageusement, le circuit dédié comprend un troisième bloc configuré pour écrire la valeur d’un bit à la place d’un bit pointé par le pointeur de position de bit dans un octet sur lequel écrire. Dans un mode de réalisation avantageux, le troisième bloc du circuit dédié comprend : - un circuit additionneur configuré pour augmenter la valeur du pointeur de position de bit de 1, - une première porte logique de type « ET » configuré pour effectuer une opération logique de type « ET » entre la valeur augmentée du pointeur de position de bit et une valeur hexadécimale égale à 0x7, - un circuit soustracteur configuré pour calculer une valeur de décalage en soustrayant une valeur égale à 7 de la valeur en sortie de la première porte logique de type « ET », - un circuit de décalage configuré pour décaler vers la gauche la valeur 1 d’un nombre de bits correspondant à ladite valeur de décalage pour créer un masque, - une porte logique inverseuse configuré pour créer un masque complémentaire à partir dudit masque obtenu en sortie du circuit de décalage, - un deuxième circuit logique de type « ET » configuré pour appliquer le masque complémentaire sur l’octet sur lequel écrire pour obtenir un premier octet B0, - un circuit logique de type « OU » configuré pour appliquer le masque sur l’octet sur lequel écrire pour obtenir un deuxième octet. - un circuit de sélection configuré pour générer un octet correspondant au premier octet si la valeur du bit à écrire est égale à 1 ou correspondant au deuxième octet sinon. De préférence, le programme d’ordinateur comprend des instructions qui lorsqu’elles sont mises en œuvre par le processeur de traitement du signal numérique conduisent celui-ci à effectuer au moins un appel d’une fonction pour écrire un bit dans le tableau d’octets, chaque appel de cette fonction prenant en entrée le pointeur de position de bit et un pointeur d’octet comme attributs et entraînant : - un calcul d’une valeur de décalage d’octet par ledit premier bloc, puis - une mise à jour du pointeur d’octet par ladite valeur de décalage d’octet, puis - une écriture du bit à écrire par ledit troisième bloc du circuit dédié. Pour programmer une telle écriture d’un bit dans le tableau d’octets de ladite mémoire de données, il est également possible d’utiliser des fonctions intrinsèques qui permettent d’utiliser ledit circuit dédié. De préférence, le programme d’ordinateur comprend des instructions qui lorsqu’elles sont mises en œuvre par le processeur de traitement du signal numérique conduisent celui-ci à initialiser le pointeur de position de bit pour qu’il pointe vers la position du dernier bit du tableau d’octets, et à décrémenter ledit pointeur de position de bit à chaque accès en lecture et/ou en écriture. Selon un autre aspect, il est proposé un procédé, mis en œuvre par un système informatique, d’accès en lecture et/ou en écriture à un bit d’un octet stocké dans un tableau d’octets dans une mémoire de données dudit système informatique, le procédé comprenant une mise en œuvre d’instructions du programme d’ordinateur par un processeur de traitement du signal numérique du système informatique entraînant: - un accès audit octet stocké dans la mémoire de données par le processeur de traitement du signal numérique, - une mise en œuvre d’un circuit dédié du système informatique –notamment intégré dans le processeur de traitement du signal numérique– pour accéder en lecture et/ou en écriture audit bit de l’octet accédé par le processeur de traitement du signal numérique en utilisant : ● un pointeur de position de bit pointant vers le bit à accéder dans le tableau d’octets, et ● ledit octet comprenant le bit à accéder. Dans un mode de mise en œuvre avantageux, le procédé comprend une mise en œuvre d’un premier bloc du circuit dédié pour calculer une valeur de décalage d’octet selon la valeur du pointeur de position de bit. Avantageusement, la mise en œuvre du premier bloc du circuit dédié entraîne : - une mise en œuvre d’une porte logique de type « ET » du premier bloc pour effectuer une opération logique de type « ET » entre la valeur du pointeur de position de bit et la valeur hexadécimale 0x7 pour obtenir une valeur d’indexation, - une mise en œuvre d’un circuit de comparaison du premier bloc pour calculer la valeur de décalage d’octet en comparant la valeur d’indexation à 0, la valeur de décalage d’octet étant égale à -1 lorsque la valeur d’indexation est égale à 0 et égale à 0 sinon. Dans un mode de mise en œuvre avantageux, le procédé comprend en outre une mise en œuvre d’un deuxième bloc du circuit dédié pour déterminer la valeur d’un bit à lire à partir du pointeur de position de bit et d’un octet comprenant ledit bit à lire. Avantageusement, la mise en œuvre du deuxième bloc du circuit dédié entraîne : - une mise en œuvre d’un circuit additionneur du deuxième bloc pour augmenter la valeur du pointeur de position de bit de 1, - une mise en œuvre d’une première porte logique de type « ET » du deuxième bloc pour effectuer une opération logique de type « ET » entre la valeur augmentée du pointeur de position de bit et une valeur hexadécimale égale à 0x7, - une mise en œuvre d’un circuit soustracteur du deuxième bloc pour calculer une valeur de décalage en soustrayant une valeur égale à 7 de la valeur en sortie de la première porte logique de type « ET », - une mise en œuvre d’un circuit de décalage du deuxième bloc pour décaler vers la droite la valeur de l’octet comprenant ledit bit à accéder d’un nombre de bits correspondant à ladite valeur de décalage, - une mise en œuvre d’une deuxième porte logique de type « ET » du deuxième bloc pour effectuer une opération logique de type « ET » entre une valeur égale à 1 et la valeur de l’octet décalée de manière à obtenir la valeur du bit à lire. Dans un mode de mise en œuvre avantageux, le procédé comprend une mise en œuvre d’instructions du programme d’ordinateur par le processeur de traitement du signal numérique entraînant au moins un appel d’une fonction pour lire un bit dans le tableau d’octets, chaque appel de cette fonction prenant en entrée le pointeur de position de bit et un pointeur d’octet comme attributs et entraînant : - un calcul d’une valeur de décalage d’octet par ledit premier bloc, puis - une mise à jour du pointeur d’octet par ladite valeur de décalage d’octet, puis - une détermination de la valeur du bit à lire par ledit deuxième bloc du circuit dédié. Avantageusement, le procédé comprenant en outre une mise en œuvre d’un troisième bloc du circuit dédié pour écrire la valeur d’un bit à la place d’un bit pointé par le pointeur de position de bit dans un octet sur lequel écrire. Dans un mode de mise en œuvre avantageux, la mise en œuvre du troisième bloc du circuit dédié entraîne : - une mise en œuvre d’un circuit additionneur du troisième bloc pour augmenter la valeur du pointeur de position de bit de 1, - une mise en œuvre d’une première porte logique de type « ET » du troisième bloc pour effectuer une opération logique de type « ET » entre la valeur augmentée du pointeur de position de bit et une valeur hexadécimale égale à 0x7, - une mise en œuvre d’un circuit soustracteur du troisième bloc pour calculer une valeur de décalage en soustrayant une valeur égale à 7 de la valeur en sortie de la première porte logique de type « ET », - une mise en œuvre d’un circuit de décalage du troisième bloc pour décaler vers la gauche la valeur 1 d’un nombre de bits correspondant à ladite valeur de décalage pour créer un masque, - une mise en œuvre d’une porte logique inverseuse du troisième bloc pour créer un masque complémentaire à partir dudit masque obtenu par la mise en œuvre du circuit de décalage, - une mise en œuvre d’un deuxième circuit logique de type « ET » du troisième bloc pour appliquer le masque complémentaire sur l’octet sur lequel écrire pour obtenir un premier octet, - une mise en œuvre d’un circuit logique de type « OU » du troisième bloc pour appliquer le masque sur l’octet sur lequel écrire pour obtenir un deuxième octet. - une mise en œuvre d’un circuit de sélection pour générer un octet BTE_OUT correspondant au premier octet si la valeur du bit à écrire est égale à 0 ou correspondant au deuxième octet sinon. De préférence, comprenant une mise en œuvre d’instructions du programme d’ordinateur par le processeur de traitement du signal numérique entraînant au moins un appel d’une fonction pour écrire un bit dans le tableau d’octets, chaque appel de cette fonction prenant en entrée le pointeur de position de bit et un pointeur d’octet comme attributs et entraînant : - un calcul d’une valeur de décalage d’octet par ledit premier bloc, puis - une mise à jour du pointeur d’octet par ladite valeur de décalage d’octet, puis - une écriture du bit à écrire par ledit troisième bloc du circuit dédié. Avantageusement, le procédé comprend une mise en œuvre d’instructions du programme d’ordinateur par le processeur de traitement du signal numérique entraînant une initialisation du pointeur de position de bit pour qu’il pointe vers la position du dernier bit du tableau d’octets, et une décrémentation dudit pointeur de position de bit à chaque accès en lecture et/ou en écriture. D’autres avantages et caractéristiques de l’invention apparaîtront à l’examen de la description détaillée de modes de réalisation, nullement limitatifs, et des dessins annexés sur lesquels : FIG. 1 FIG. 2 FIG. 3 FIG. 4 FIG. 5 FIG. 6 illustrent des modes de réalisation et de mise en œuvre de l’invention. La FIG. 1 illustre un mode de réalisation d’un système informatique SYS. Le système informatique SYS comprend une unité centrale de traitement CPU et une mémoire centrale MMEM. Le système informatique comprend également un processeur de traitement du signal numérique DSP (désigné également par l’expression anglaise « Digital signal processor ») avec une mémoire MEM de données, une mémoire MEMP de programme et un circuit HWC dédié aux accès en lecture et/ou en écriture à un bit dans un octet. Ce dernier est intégré dans une unité arithmétique et logique ALU (désignée également par l’expression anglaise « Arithmetic and Logic Unit ») du processeur de traitement du signal numérique DSP. Le processeur de traitement du signal numérique DSP contient aussi une unité de control CU (désignée également par l’expression anglaise « Control Unit »), une unité de génération d’adresse AGU (désignée également par l’expression anglaise « Address Generation Unit ») et un banc de registres (désigné également par l’expression anglaise « Register file »). Le système informatique SYS peut être un système sur puce. La mémoire MEM de données est configurée pour stocker un tableau d’octets BTAB. La mémoire MEM peut être accédée en lecture ou en écriture par le processeur de traitement du signal numérique DSP. Chaque accès à la mémoire par le processeur de traitement du signal numérique DSP est réalisé pour des mots ayant une taille minimale d’un octet. Ainsi, le processeur de traitement du signal numérique DSP peut accéder à chaque octet du tableau d’octets BTAB de la mémoire MEM. Le processeur de traitement du signal numérique DSP peut placer les octets chargés dans ses registres qui servent de tampons entre la mémoire de données MEM et l’ALU du processeur de traitement du signal numérique DSP. Néanmoins, le processeur de traitement du signal numérique DSP ne peut pas lire ou écrire directement un bit dans ledit tableau d’octets. Les données du tableau d’octets BTAB peuvent correspondre à des données compressées d’un flux de données audio. En particulier, le flux de données audio comprend une succession d’échantillons audio. Ces échantillons peuvent être compressés afin de réduire leur taille. Par exemple, les échantillons peuvent être indépendamment compressés sur un bit, deux bits, trois bits ou quatre bits. Chaque bit du flux de données audio peut avoir sa propre signification. La valeur de chaque bit du flux de données peut influencer l’action à prendre dans le processus de décompression par exemple. C’est pourquoi il est important de pouvoir accéder à un bit du flux de données audio compressées. Il est donc important de pouvoir accéder à chaque bit du tableau d’octets stocké en mémoire. Le processeur de traitement du signal numérique DSP est configuré pour exécuter un programme d’ordinateur PRG comprenant des instructions qui lorsqu’elles sont mises en œuvre dans le processeur de traitement du signal numérique DSP conduisent celle-ci à réaliser un accès en lecture et/ou en écriture à un bit d’un octet du tableau d’octets stocké en mémoire. Ce programme d’ordinateur PRG peut être stocké dans la mémoire MEMP de programme du système informatique SYS. Le processeur de traitement du signal numérique DSP peut allouer un premier registre R1 pour stocker un octet BTE_IN lu dans le tableau d’octets BTAB stocké dans la mémoire MEM. Le processeur de traitement du signal numérique DSP peut également allouer un deuxième registre R2 pour stocker un pointeur BITP de position du bit à accéder dans le tableau d’octets BTAB. Le processeur de traitement du signal numérique DSP peut également allouer un troisième registre R3 pour stocker une valeur OFFST de décalage d’octet. Le processeur de traitement du signal numérique DSP peut également allouer un quatrième registre R4 pour stocker une valeur du bit à accéder BIT_OUT. Pour écrire un bit, le processeur de traitement du signal numérique DSP utilise le registre R4 pour stocker le bit BIT_IN à écrire dans l’octet BTE_IN contenu dans le registre R1. Il réutilise le registre R1 pour stocker l’octet résultant BTE_OUT avec ledit bit écrit à la sortie. Le circuit HWC peut notamment être obtenu à partir d’un code « RTL » (de l’anglais « Register Transfer Level ») Le circuit HWC dédié comprend un premier bloc NXTBBW configuré pour déterminer la valeur suivante du décalage d’octet OFFST. Un tel premier bloc NXTBBW est illustré à la FIG. 2 . En particulier, le premier bloc NXTBBW est configuré pour recevoir en entrée la valeur du pointeur de position de bit BITP stockée dans le deuxième registre R2. Ce premier bloc NXTBBW comprend une porte logique AND1 de type « ET ». La porte logique AND1 est configurée pour recevoir en entrée la valeur du pointeur de position de bit BITP ainsi qu’un masque de valeur ‘0x7’ (en hexadécimal). La porte logique de type « ET » est configurée pour appliquer le masque de valeur ‘0x7’ sur la valeur du pointeur de position de bit BITP. La porte logique de type « ET » permet ainsi de savoir à partir des trois bits de poids faible du pointeur de position de bit BITP s’il faut pré-ajuster ou non le pointeur d’octets via le décalage d’octet OFFST. La porte logique AND1 est configurée pour générer en sortie une valeur d’indexation INDX. En particulier, la valeur d’indexation INDX sur un octet est comprise entre 0 et 7. Ainsi, il suffit de regarder les trois bits de poids faibles du pointeur de position de bit pour connaître la valeur d’indexation INDX. Le premier bloc NXTBBW comprend également un circuit de comparaison CMPC prenant en entrée la valeur d’indexation INDX. Le circuit de comparaison CMPC permet de vérifier si la valeur d’indexation est à 0. Si la valeur d’indexation est à 0, cela signifie qu’il ne reste qu’un seul bit de l’octet à lire car les autres ont déjà été lus auparavant. Dans ce cas, il convient de modifier la valeur de décalage d’octet pour traiter l’octet suivant dans le tableau d’octets après avoir lu le dernier bit de l’octet actuel. En particulier, le circuit de comparaison CMPC prend également en entrée deux paramètres de valeur ‘-1’ et ‘0’. Ainsi, le circuit de comparaison CMPC est configuré pour comparer la valeur d’indexation INDX à la valeur ‘0’ et pour générer la valeur suivante du décalage d’octet en fonction du résultat de cette comparaison. En particulier, le circuit de comparaison CMPC est configuré pour générer une valeur suivante du décalage d’octet OFFST à ‘-1’ lorsque la valeur d’indexation est égale à ‘0’, et à ‘0’ lorsque la valeur d’indexation est différente de ‘0’. Cette valeur suivante du décalage d’octet OFFST est ensuite stocké dans le troisième registre R3. Le premier bloc NXTBBW est alors configuré pour déterminer la valeur de décalage d’octet OFFST en un seul cycle dans le processeur de traitement du signal numérique DSP. Le circuit dédié HWC comprend un deuxième bloc READBIT configuré pour déterminer la valeur BIT_OUT d’un bit donné dans un octet BTE_IN. Un tel deuxième bloc READBIT est illustré à la FIG. 3 . Le deuxième bloc READBIT est configuré pour recevoir en entrée la valeur BITP du pointeur de position de bit stockée dans le deuxième registre R2 ainsi que l’octet BTE_IN stocké dans le premier registre R1. Le deuxième bloc READBIT comprend un circuit additionneur ADD1 configuré pour recevoir en entrée la valeur du pointeur de position de bit BITP ainsi qu’une valeur égale à ‘1’. Le circuit additionneur ADD1 est ainsi configuré pour additionner ‘1’ à la valeur du pointeur de position de bit BITP. Le deuxième bloc READBIT comprend également une première porte logique AND2 de type « ET » configurée pour recevoir en entrée la valeur du pointeur de position de bit BITP augmentée de ‘1’ et un masque de valeur ‘0x7’ en hexadécimal. Le deuxième bloc READBIT comprend également un circuit soustracteur SUB1 configuré pour recevoir en entrée une valeur égale à ‘7’ et la valeur générée en sortie de la porte logique AND2. Ce circuit soustracteur SUB1 est configuré pour générer une valeur SL correspondant à la différence entre la valeur ‘7’ et la valeur générée en sortie de la porte logique AND2. La valeur SL est donc calculé par la formule suivante : . Le deuxième bloc READBIT comprend également un registre à décalage SFT1 configuré pour recevoir l’octet BTE_IN stocké dans le premier registre R1 et pour décaler cet octet BTE_IN vers la droite d’un nombre de bits correspondant à la valeur SL. Le deuxième bloc READBIT comprend également une deuxième porte logique AND3 de type « ET » configurée pour recevoir en entrée une valeur égale à ‘1’ et l’octet décalé généré en sortie du registre à décalage SFT1. Cette porte logique AND3 permet ainsi de générer en sortie la valeur BIT_OUT du bit le plus faible de l’octet décalé. Cette valeur correspond à la valeur du bit de l’octet BTE_IN stocké dans le premier registre situé à la position pointée par le pointeur de position de bit BITP. Cette valeur BIT_OUT du bit de l’octet BTE_IN est ensuite stockée dans le quatrième registre R4. Ainsi, le deuxième bloc READBIT permet de déterminer la valeur BIT_OUT du bit de l’octet BTE_IN stocké dans le premier registre R1 situé à la position pointée par le pointeur de position de bit BITP. En particulier, le deuxième bloc READBIT est configuré pour déterminer la valeur BIT_OUT en un seul cycle du processeur de traitement du signal numérique DSP. Le troisième bloc WRITEBIT est configuré pour écrire un bit BIT_IN à une position BITP dans un octet BTE_IN stocké dans le premier registre R1. Un tel troisième bloc WRITEBIT est illustré à la FIG. 5 . Le troisième bloc WRITEBIT est configuré pour recevoir en entrée la valeur du bit BIT_IN stocké dans le quatrième registre R4, la valeur BITP du pointeur de position de bit stockée dans le deuxième registre R2 ainsi que l’octet BTE_IN stocké dans le premier registre R1. Le troisième bloc WRITEBIT comprend un circuit additionneur ADD1 configuré pour recevoir en entrée la valeur du pointeur de position de bit BITP ainsi qu’une valeur égale à ‘1’. Le circuit additionneur ADD1 est ainsi configuré pour additionner ‘1’ à la valeur du pointeur de position de bit BITP. Le troisième bloc WRITEBIT comprend également une première porte logique AND2 de type « ET » configurée pour recevoir en entrée la valeur du pointeur de position de bit BITP augmentée de ‘1’ et un masque de valeur ‘0x7’ en hexadécimal. Le troisième bloc WRITEBIT comprend également un circuit soustracteur SUB1 configuré pour recevoir en entrée une valeur égale à ‘7’ et la valeur générée en sortie de la porte logique AND2. Ce circuit soustracteur SUB1 est configuré pour générer une valeur SL correspondant à la différence entre la valeur ‘7’ et la valeur générée en sortie de la porte logique AND2. La valeur SL est donc calculé par la formule suivante : . Le troisième bloc WRITEBIT comprend également un registre à décalage SFT2 configuré pour calculer un masque MSK. Ce masque MSK sert à insérer le bit d’entrée BIT_IN dans l’octet BTE_IN. En particulier, le registre à décalage SFT2 est configuré pour décaler la valeur 1 vers la gauche d’un nombre de bits correspondant à la valeur SL pour obtenir le masque MSK. Le troisième bloc WRITEBIT comprend en outre une porte inverseuse NOT1 configurée pour inverser le masque MSK de manière à obtenir un masque complémentaire INVMSK. Le troisième bloc WRITEBIT comprend également une deuxième porte logique AND4 de type « ET » configurée pour appliquer le masque complémentaire INVMSK sur l’octet BTE_IN. Cette porte logique AND4 permet ainsi de générer en sortie un premier octet B0. Le troisième bloc WRITEBIT comprend également une porte logique OR1 de type « OU » configuré pour effectuer une opération logique de type « OU » entre le masque MSK et l’octet BTE_IN. Cette porte logique OR1 permet ainsi de générer en sortie un deuxième octet B1. Le troisième bloc WRITEBIT comprend aussi un circuit de sélection MUX1 configuré pour recevoir les octets B0 et B1 et pour générer un octet BTE_OUT correspondant à l’octet B0 ou à l’octet B1 selon la valeur du bit BIT_IN. En particulier, si la valeur du bit BIT_IN est égale à 0 alors l’octet BTE_OUT correspond à l’octet B0. Sinon, l’octet BTE_OUT correspond à l’octet B1. Le circuit de sélection MUX1 peut notamment être un multiplexeur. L’octet BTE_OUT obtenu en sortie du circuit de sélection MUX1 correspond à l’octet BTE_IN dans lequel le bit pointé par le pointeur de position de bit BITP a été modifié par la valeur du bit BIT_IN. Ainsi, le troisième bloc WRITEBIT permet d’écrire la valeur du bit BIT_IN dans l’octet BTE_IN à la position pointée par le pointeur de position de bit BITP. En particulier, le troisième bloc WRITEBIT est configuré pour écrire ledit bit dans l’octet BTE_IN en un seul cycle du processeur de traitement du signal numérique DSP. L’octet résultant BTE_OUT avec ledit bit écrit est stocké dans le registre R1 à la sortie. Le troisième bloc WRITEBIT peut partager les circuits ADD1, AND2 et SUB1 avec le deuxième bloc READBIT. En variante, les circuits ADD1, AND2 et SUB1 du deuxième bloc READBIT et du troisième bloc WRITEBIT peuvent être distincts. Comme vu précédemment, le processeur de traitement du signal numérique DSP est configuré pour exécuter un programme d’ordinateur comprenant des instructions qui, lorsque le programme est exécuté, conduisent le processeur de traitement du signal numérique DSP à réaliser un accès en lecture et/ou en écriture à un bit d’un octet du tableau d’octets stocké en mémoire. En particulier, l’exécution desdites instructions conduisent le processeur de traitement du signal numérique DSP à exécuter une fonction RD_BIT_NW ou une fonction WRT_BIT_NW. La fonction RD_BIT_NW est configurée pour accéder aléatoirement en lecture à un bit dans un tableau d’octets stocké dans la mémoire MEM. Cette fonction RD_BIT_NW est notamment appelée plusieurs fois pour lire l’ensemble des bits du tableau d’octets BTAB. En particulier, le programme d’ordinateur PRG est configuré pour mettre en œuvre le procédé d’accès en lecture à un bit stocké dans le tableau d’octets BTAB illustré à la FIG. 4 . Plus particulièrement, le programme d’ordinateur PRG comprend des instructions permettant d’effectuer une étape 40 d’initialisation. Cette étape 40 permet d’initialiser le pointeur de position de bit BITP à la valeur d’une longueur de la séquence de bits du tableau d’octets BTAB minorée d’un. Cette étape 40 permet également d’initialiser le pointeur d’octet à l’adresse du dernier octet dans le tableau d’octets BTAB stocké dans la mémoire MEM. Ladite fonction RD_BIT_NW peut ensuite être appelée plusieurs fois pour lire les différents bits du tableau d’octets BTAB. L’appel de la fonction RD_BIT_NW permet d’effectuer les étapes 41, 42, 43, 44 et 45 décrites dans la suite. À chaque appel de la fonction RD_BIT_NW, ces étapes 41, 42, 43, 44 et 45 sont donc exécutées. En particulier, ladite fonction RD_BIT_NW est configurée pour précalculer une valeur suivante d’un décalage d’octet. Pour ce faire, à l’étape 41, la fonction RD_BIT_NW utilise l’instruction NXTBBW mise en œuvre par le premier bloc NXTBBW dudit circuit dédié. Le précalcule de la valeur suivante d’un décalage d’octet permet de connaître le prochain octet à utiliser pour le prochain accès en lecture réalisé pour une prochaine mise en œuvre de la fonction RD_BIT_NW. L’instruction NXTBBW permet d’anticiper le calcul de la valeur suivant du décalage d’octet avant d’effectuer la lecture du bit dans l’octet actuel. Cela permet de réduire le temps d’exécution de la fonction RD_BIT_NW en réduisant le nombre de cycles d’exécution du processeur de traitement du signal numérique DSP. Ladite fonction RD_BIT_NW est ensuite configurée pour décrémenter le pointeur de position de bit, à l’étape 42. Ainsi le pointeur de position de bit décrémenté pointe vers la position du bit suivant dans le tableau d’octets BTAB. Ladite fonction RD_BIT_NW est ensuite configurée pour lire l’octet courant pointé par le pointeur d’octet dans le tableau d’octets, à l’étape 43. Ladite fonction RD_BIT_NW est ensuite configurée pour mettre à jour le pointeur d’octet en ajoutant la valeur du décalage d’octet au pointeur d’octet, à l’étape 44. Ladite fonction RD_BIT_NW est ensuite configurée pour lire puis retourner le bit courant, à l’étape 45. Pour ce faire, la fonction RD_BIT_NW utilise l’instruction READBIT mise en œuvre par le deuxième bloc READBIT dudit circuit dédié. Dans un processeur de type « multiple issue » ou « multi-thread », c’est-à-dire qui peut exécuter plusieurs instructions en parallèle en tenant compte des dépendances de données entre elles, ces étapes 41, 42, 43, 44 et 45 peuvent s’exécuter soit en séquentiel soit en parallèle. La fonction RD_BIT_NW utilise seulement le pointeur de position de bit à la place d’un pointeur d’octet et d’un masque pour lire un bit dans un tableau d’octets. La fonction RB_BIT_NW utilise donc seulement une variable au lieu de deux variables. À partir du pointeur de position de bit, en utilisant le premier bloc NXTBBW du circuit dédié, il est possible de déterminer une valeur d’indexation du bit à lire dans l’octet courant de la table d’octets et de calculer la valeur de décalage pour l’octet contenant le bit suivant à lire. Le premier bloc NXTBBW et le deuxième bloc READBIT du circuit dédié HWC sont configurés pour effectuer l’ensemble des calculs et des tests pour extraire le bit à lire d’un octet d’un tableau d’octets. Cela permet d’effectuer la lecture du bit plus rapidement. Par exemple, l’utilisation du circuit dédié permet d’être deux fois plus rapide qu’un accès lecture effectué uniquement par voie logicielle en utilisant un pointeur d’octet et un masque. Une telle fonction RD_BIT_NW peut être utilisée dans toutes applications requérant d’accéder en lecture aléatoirement à un bit dans un tableau d’octets de la mémoire. En particulier, la fonction RD_BIT_NW peut être utilisé dans n’importe quel codeur-décodeur audio requérant d’accéder en lecture aléatoirement à un bit dans un tableau d’octets de la mémoire. Plus particulièrement, la fonction RD_BIT_NW peut être mise en œuvre dans le codeur-décodeur audio « LC3 » (de l’anglais « Low Complexity Communication Codec »). Par exemple, la fonction RD_BIT_NW peut être mise en œuvre pendant le décodage d’un flux de données audio. Le programme d’ordinateur peut également comprendre des instructions qui, lorsque le programme est exécuté par le processeur de traitement du signal numérique DSP, conduisent celle-ci à exécuter une fonction WRT_BIT_NW. Cette fonction WRT_BIT_NW permet d’accéder aléatoirement en écriture à un bit dans un tableau d’octets stocké dans la mémoire. La fonction WRT_BIT_NW est configurée pour accéder aléatoirement en écriture sur un bit dans un tableau d’octets stocké dans la mémoire MEM. Cette fonction WRT _BIT_NW est notamment appelée plusieurs fois pour écrire sur l’ensemble des bits du tableau d’octets BTAB. En particulier, le programme d’ordinateur PRG est configuré pour mettre en œuvre le procédé d’accès en écriture sur un bit dans le tableau d’octets BTAB illustré à la FIG. 6 . Plus particulièrement, le programme d’ordinateur PRG comprend des instructions permettant d’effectuer une étape 60 d’initialisation. Cette étape 60 permet d’initialiser le pointeur de position de bit BITP à la valeur d’une longueur de la séquence de bits du tableau d’octets BTAB minorée d’un. Cette étape 60 permet également d’initialiser le pointeur d’octet à l’adresse du dernier octet dans le tableau d’octets BTAB stocké dans la mémoire MEM. Ladite fonction WRT_BIT_NW peut ensuite être appelée plusieurs fois pour écrire sur les différents bits du tableau d’octets BTAB. L’appel de la fonction WRT _BIT_NW permet d’effectuer les étapes 61, 62, 63, 64 et 65 décrites dans la suite. À chaque appel de la fonction WRT_BIT_NW, ces étapes 61, 62, 63, 64 et 65 sont donc exécutées. En particulier, ladite fonction WRT_BIT_NW est configurée pour précalculer une valeur suivante d’un décalage d’octet. Pour ce faire, à l’étape 61, la fonction WRT_BIT_NW utilise l’instruction NXTBBW mise en œuvre par le premier bloc NXTBBW dudit circuit dédié. Le précalcule de la valeur suivante d’un décalage d’octet permet de connaître le prochain octet à utiliser pour le prochain accès en écriture réalisé pour une prochaine mise en œuvre de la fonction WRT_BIT_NW. L’instruction NXTBBW permet d’anticiper le calcul de la valeur suivant du décalage d’octet avant d’effectuer l’écriture du bit dans l’octet actuel. Cela permet de réduire le temps d’exécution de la fonction WRT_BIT_NW en réduisant le nombre de cycles d’exécution du processeur de traitement du signal numérique DSP. Ladite fonction WRT_BIT_NW est ensuite configurée pour décrémenter le pointeur de position de bit, à l’étape 62. Ainsi le pointeur de position de bit décrémenté pointe vers la position du bit suivant dans le tableau d’octets BTAB. Ladite fonction WRT_BIT_NW est ensuite configurée pour lire l’octet courant pointé par le pointeur d’octet dans le tableau d’octets, à l’étape 63. Ladite fonction WRT_BIT_NW est ensuite configurée pour mettre à jour le pointeur d’octet en ajoutant la valeur du décalage d’octet au pointeur d’octet, à l’étape 64. Ladite fonction WRT_BIT_NW est ensuite configurée pour écrire un bit BIT_IN dans le bit courant, à l’étape 65. Pour ce faire, la fonction WRT_BIT_NW utilise l’instruction WRITEBIT mise en œuvre par le troisième bloc WRITEBIT dudit circuit dédié. Dans un processeur de type « multiple issue » ou « multi-thread », ces étapes 61, 62, 63, 64 et 65 peuvent s’exécuter soit en séquentiel soit en parallèle. La fonction WRT_BIT_NW utilise seulement le pointeur de position de bit à la place d’un pointeur d’octet et d’un masque pour écrire un bit dans un tableau d’octets. La fonction WRT_BIT_NW utilise donc seulement une variable au lieu de deux variables. À partir du pointeur de position de bit, en utilisant le premier bloc NXTBBW du circuit dédié, il est possible de déterminer une valeur d’indexation du bit sur lequel écrire dans l’octet courant de la table d’octets et de calculer la valeur de décalage pour l’octet contenant le bit suivant sur lequel écrire. Le premier bloc NXTBBW et le troisième bloc WRITEBIT du circuit dédié HWC sont configurés pour effectuer l’ensemble des calculs et des tests pour écrire sur un bit d’un tableau d’octets. Cela permet d’effectuer une écriture d’un bit plus rapidement. Par exemple, l’utilisation du circuit dédié permet d’être deux fois plus rapide qu’un accès en écriture effectué uniquement par voie logicielle en utilisant un pointeur d’octet et un masque. Une telle fonction WRT_BIT_NW peut être utilisée dans toutes applications requérant d’accéder en écriture aléatoirement à un bit dans un tableau d’octets de la mémoire. En particulier, la fonction WRT_BIT_NW peut être utilisé dans n’importe quel codeur-décodeur audio requérant d’accéder en lecture aléatoirement à un bit dans un tableau d’octets de la mémoire. Plus particulièrement, la fonction WRT_BIT_NW peut être mise en œuvre dans le codeur-décodeur audio « LC3 » (de l’anglais « Low Complexity Communication Codec »). Par ailleurs, le circuit dédié HWC du système informatique SYS présente l’avantage d’être peu coûteux et occupe peu de place dans le système informatique. L’utilisation d’un tel circuit dédié n’a aucun impact sur la fréquence maximale du processeur de traitement du signal numérique. L’utilisation d’un tel circuit dédié permet également de réduire la consommation d’énergie pour lire un bit dans un tableau d’octets dans la mémoire. Système informatique comprenant : - une mémoire (MEM) de données configurée pour stocker un tableau d’octets (BTAB), et une mémoire (MEMP) de programme configurée pour stocker un programme d’ordinateur (PRG), - un processeur de traitement du signal numérique (DSP) configuré pour exécuter un programme d’ordinateur (PRG) comprenant des instructions permettant d’accéder à un bit dans ledit tableau d’octets (BTAB), ledit processeur de traitement du signal numérique (DSP) étant configuré pour accéder à chaque octet dudit tableau d’octets, - un circuit dédié (HWC) configuré pour accéder en lecture et/ou en écriture à un bit d’un octet dudit tableau d’octets en utilisant : ● un pointeur de position de bit (BITP) pointant vers le bit à accéder dans le tableau d’octets, et ● ledit octet (BTE_IN) comprenant le bit à accéder. Système selon la revendication 1, dans lequel le circuit dédié (HWC) comprend un premier bloc (NXTBBW) configuré pour calculer une valeur de décalage d’octet selon la valeur du pointeur de position de bit. Système selon la revendication 2, dans lequel le premier bloc (NXTBBW) du circuit dédié (HWC) comprend : - une porte logique (AND1) de type « ET » configurée pour effectuer une opération logique de type « ET » entre la valeur du pointeur de position de bit (BITP) et la valeur hexadécimale 0x7 pour obtenir une valeur d’indexation (INDX), - un circuit de comparaison (COMPC) configuré pour calculer la valeur de décalage d’octet en comparant la valeur d’indexation (INDX) à 0, la valeur de décalage d’octet étant égale à -1 lorsque la valeur d’indexation est égale à 0 et égale à 0 sinon. Système selon l’une quelconque des revendications 2 ou 3, dans lequel le circuit dédié (HWC) comprend un deuxième bloc (READBIT) configuré pour déterminer la valeur d’un bit à lire à partir du pointeur de position de bit (BITP) et d’un octet (BTE_IN) comprenant ledit bit à lire. Système selon la revendication 4, dans lequel le deuxième bloc (READBIT) du circuit dédié (HWC) comprend : - un circuit additionneur (ADD1) configuré pour augmenter la valeur du pointeur de position de bit de 1, - une première porte logique (AND2) de type « ET » configurée pour effectuer une opération logique de type « ET » entre la valeur augmentée du pointeur de position de bit et une valeur hexadécimale égale à 0x7, - un circuit soustracteur (SUB1) configuré pour calculer une valeur de décalage (SL) en soustrayant une valeur égale à 7 de la valeur en sortie de la première porte logique (AND2) de type « ET », - un circuit de décalage (SFT1) configuré pour décaler vers la droite la valeur de l’octet comprenant ledit bit à accéder d’un nombre de bits correspondant à ladite valeur de décalage (SL), - une deuxième porte logique (AND3) de type « ET » configurée pour effectuer une opération logique de type « ET » entre une valeur égale à 1 et la valeur de l’octet décalée de manière à obtenir la valeur (BIT_OUT) du bit à lire. Système selon l’une quelconque des revendications 4 ou 5, dans lequel le programme d’ordinateur (PRG) comprend des instructions qui lorsqu’elles sont mises en œuvre par le processeur de traitement du signal numérique conduisent celui-ci à effectuer au moins un appel d’une fonction (RD_BIT_NW) pour lire un bit dans le tableau d’octets (BTAB), chaque appel de cette fonction prenant en entrée le pointeur de position de bit et un pointeur d’octet comme attributs et entraînant : - un calcul d’une valeur de décalage d’octet par ledit premier bloc (OFFST), puis - une mise à jour du pointeur d’octet par ladite valeur de décalage d’octet, puis - une détermination de la valeur du bit à lire par ledit deuxième bloc (READBIT) du circuit dédié (HWC). Système selon l’une des revendications 4 à 6, dans lequel le circuit dédié (HWC) comprend un troisième bloc (WRITEBIT) configuré pour écrire la valeur d’un bit à la place d’un bit pointé par le pointeur de position de bit (BITP) dans un octet (BTE_IN) sur lequel écrire. Système selon la revendication 7, dans lequel le troisième bloc (WRITEBIT) du circuit dédié (HWC) comprend : - un circuit additionneur (ADD1) configuré pour augmenter la valeur du pointeur de position de bit de 1, - une première porte logique (AND2) de type « ET » configuré pour effectuer une opération logique de type « ET » entre la valeur augmentée du pointeur de position de bit et une valeur hexadécimale égale à 0x7, - un circuit soustracteur (SUB1) configuré pour calculer une valeur de décalage (SL) en soustrayant une valeur égale à 7 de la valeur en sortie de la première porte logique (AND2) de type « ET », - un circuit de décalage (SFT2) configuré pour décaler vers la gauche la valeur 1 d’un nombre de bits correspondant à ladite valeur de décalage (SL) pour créer un masque (MSK), - une porte logique inverseuse (NOT1) configuré pour créer un masque complémentaire (INVMSK) à partir dudit masque (MSK) obtenu en sortie du circuit de décalage (SFT2), - un deuxième circuit logique de type « ET » (AND4) configuré pour appliquer le masque complémentaire (INVMSK) sur l’octet (BTE_IN) sur lequel écrire pour obtenir un premier octet (B0), - un circuit logique de type « OU » (OR1) configuré pour appliquer le masque (MSK) sur l’octet (BTE_IN) sur lequel écrire pour obtenir un deuxième octet (B1). - un circuit de sélection (MUX1) configuré pour générer un octet (BTE_OUT) correspondant au premier octet (B0) si la valeur du bit à écrire est égale à 0 ou correspondant au deuxième octet (B1) sinon. Système selon l’une quelconque des revendications 7 ou 8, dans lequel le programme d’ordinateur (PRG) comprend des instructions qui lorsqu’elles sont mises en œuvre par le processeur de traitement du signal numérique conduisent celui-ci à effectuer au moins un appel d’une fonction (WRT_BIT_NW) pour écrire un bit dans le tableau d’octets (BTAB), chaque appel de cette fonction prenant en entrée le pointeur de position de bit et un pointeur d’octet comme attributs et entraînant : - un calcul d’une valeur de décalage d’octet par ledit premier bloc (OFFST), puis - une mise à jour du pointeur d’octet par ladite valeur de décalage d’octet, puis - une écriture du bit à écrire par ledit troisième bloc (WRITEBIT) du circuit dédié (HWC). Système selon l’une des revendications 1 à 9, dans lequel le programme d’ordinateur (PRG) comprend des instructions qui lorsqu’elles sont mises en œuvre par le processeur de traitement du signal numérique (DSP) conduisent celui-ci à initialiser le pointeur de position de bit pour qu’il pointe vers la position du dernier bit du tableau d’octets (BTAB), et à décrémenter ledit pointeur de position de bit (BITP) à chaque accès en lecture et/ou en écriture. Procédé, mis en œuvre par un système informatique (SYS), d’accès en lecture et/ou en écriture à un bit d’un octet stocké dans un tableau d’octets (BTAB) dans une mémoire (MEM) de données dudit système informatique, le procédé comprenant une mise en œuvre d’instructions du programme d’ordinateur (PRG) stocké dans une mémoire (MEMP) de programmes par un processeur de traitement du signal numérique (DSP) du système informatique (SYS) entraînant: - un accès audit octet stocké dans la mémoire (MEM) de données par le processeur de traitement du signal numérique (DSP), - une mise en œuvre d’un circuit dédié (HWC) du système informatique (SYS) pour accéder en lecture et/ou en écriture audit bit de l’octet accédé par le processeur de traitement du signal numérique (DSP) en utilisant : ● un pointeur de position de bit (BITP) pointant vers le bit à accéder dans le tableau d’octets, et ● ledit octet (BTE_IN) comprenant le bit à accéder Procédé selon la revendication 11, comprenant une mise en œuvre d’un premier bloc (NXTBBW) du circuit dédié (HWC) pour calculer une valeur de décalage d’octet (OFFST) selon la valeur du pointeur de position de bit (BITP). Procédé selon la revendication 12, dans lequel la mise en œuvre du premier bloc (NXTBBW) du circuit dédié (HWC) entraîne : - une mise en œuvre d’une porte logique (AND1) de type « ET » du premier bloc (NXTBBW) pour effectuer une opération logique de type « ET » entre la valeur du pointeur de position de bit (BITP) et la valeur hexadécimale 0x7 pour obtenir une valeur d’indexation (INDX), - une mise en œuvre d’un circuit de comparaison (COMPC) du premier bloc (NXTBBW) pour calculer la valeur de décalage d’octet en comparant la valeur d’indexation (INDX) à 0, la valeur de décalage d’octet étant égale à -1 lorsque la valeur d’indexation est égale à 0 et égale à 0 sinon. Procédé selon l’une quelconque des revendications 12 ou 13, comprenant en outre une mise en œuvre d’un deuxième bloc (READBIT) du circuit dédié (HWC) pour déterminer la valeur d’un bit à lire à partir du pointeur de position de bit (BITP) et d’un octet (BTE_IN) comprenant ledit bit à lire. Procédé selon la revendication 14, dans lequel la mise en œuvre du deuxième bloc (READBIT) du circuit dédié (HWC) entraîne : - une mise en œuvre d’un circuit additionneur (ADD1) du deuxième bloc (READBIT) pour augmenter la valeur du pointeur de position de bit de 1, - une mise en œuvre d’une première porte logique (AND2) de type « ET » du deuxième bloc (READBIT) pour effectuer une opération logique de type « ET » entre la valeur augmentée du pointeur de position de bit et une valeur hexadécimale égale à 0x7, - une mise en œuvre d’un circuit soustracteur (SUB1) du deuxième bloc (READBIT) pour calculer une valeur de décalage (SL) en soustrayant une valeur égale à 7 de la valeur en sortie de la première porte logique (AND2) de type « ET », - une mise en œuvre d’un circuit de décalage (SFT1) du deuxième bloc (READBIT) pour décaler vers la droite la valeur de l’octet comprenant ledit bit à accéder d’un nombre de bits correspondant à ladite valeur de décalage (SL), - une mise en œuvre d’une deuxième porte logique (AND3) de type « ET » du deuxième bloc (READBIT) pour effectuer une opération logique de type « ET » entre une valeur égale à 1 et la valeur de l’octet décalée de manière à obtenir la valeur (BIT_OUT) du bit à lire. Procédé selon l’une quelconque des revendications 14 ou 15, comprenant une mise en œuvre d’instructions du programme d’ordinateur (PRG) par le processeur de traitement du signal numérique (DSP) entraînant au moins un appel d’une fonction (RD_BIT_NW) pour lire un bit dans le tableau d’octets (BTAB), chaque appel de cette fonction prenant en entrée le pointeur de position de bit et un pointeur d’octet comme attributs et entraînant : - un calcul d’une valeur de décalage d’octet par ledit premier bloc (OFFST), puis - une mise à jour du pointeur d’octet par ladite valeur de décalage d’octet, puis - une détermination de la valeur du bit à lire par ledit deuxième bloc (READBIT) du circuit dédié (HWC). Procédé selon l’une des revendications 11 à 16, comprenant en outre une mise en œuvre d’un troisième bloc (WRITEBIT) du circuit dédié (HWC) pour écrire la valeur d’un bit à la place d’un bit pointé par le pointeur de position de bit (BITP) dans un octet (BTE_IN) sur lequel écrire. Procédé selon la revendication 17, dans lequel la mise en œuvre du troisième bloc (WRITEBIT) du circuit dédié (HWC) entraîne : - une mise en œuvre d’un circuit additionneur (ADD1) du troisième bloc (WRITEBIT) pour augmenter la valeur du pointeur de position de bit de 1, - une mise en œuvre d’une première porte logique (AND2) de type « ET » du troisième bloc (WRITEBIT) pour effectuer une opération logique de type « ET » entre la valeur augmentée du pointeur de position de bit et une valeur hexadécimale égale à 0x7, - une mise en œuvre d’un circuit soustracteur (SUB1) du troisième bloc (WRITEBIT) pour calculer une valeur de décalage (SL) en soustrayant une valeur égale à 7 de la valeur en sortie de la première porte logique (AND2) de type « ET », - une mise en œuvre d’un circuit de décalage (SFT2) du troisième bloc (WRITEBIT) pour décaler vers la gauche la valeur 1 d’un nombre de bits correspondant à ladite valeur de décalage (SL) pour créer un masque (MSK), - une mise en œuvre d’une porte logique inverseuse (NOT1) du troisième bloc (WRITEBIT) pour créer un masque complémentaire (INVMSK) à partir dudit masque (MSK) obtenu par la mise en œuvre du circuit de décalage (SFT2), - une mise en œuvre d’un deuxième circuit logique de type « ET » (AND4) du troisième bloc (WRITEBIT) pour appliquer le masque complémentaire (INVMSK) sur l’octet (BTE_IN) sur lequel écrire pour obtenir un premier octet (B0), - une mise en œuvre d’un circuit logique de type « OU » (OR1) du troisième bloc (WRITEBIT) pour appliquer le masque (MSK) sur l’octet (BTE_IN) sur lequel écrire pour obtenir un deuxième octet (B1). - une mise en œuvre d’un circuit de sélection (MUX1) pour générer un octet (BTE_OUT) correspondant au premier octet (B0) si la valeur du bit à écrire est égale à 0 ou correspondant au deuxième octet (B1) sinon. Procédé selon l’une quelconque des revendications 17 ou 18, comprenant une mise en œuvre d’instructions du programme d’ordinateur (PRG) par le processeur de traitement du signal numérique (DSP) entraînant au moins un appel d’une fonction (WRT_BIT_NW) pour écrire un bit dans le tableau d’octets (BTAB), chaque appel de cette fonction prenant en entrée le pointeur de position de bit et un pointeur d’octet comme attributs et entraînant : - un calcul d’une valeur de décalage d’octet par ledit premier bloc (OFFST), puis - une mise à jour du pointeur d’octet par ladite valeur de décalage d’octet, puis - une écriture du bit à écrire par ledit troisième bloc (WRITEBIT) du circuit dédié (HWC). Procédé selon l’une des revendications 11 à 19, comprenant une mise en œuvre d’instructions du programme d’ordinateur (PRG) par le processeur de traitement du signal numérique (DSP) entraînant une initialisation du pointeur de position de bit pour qu’il pointe vers la position du dernier bit du tableau d’octets (BTAB), et une décrémentation dudit pointeur de position de bit (BITP) à chaque accès en lecture et/ou en écriture.