Brevet FR3120759A1 — publié le 20220916

Compteur Monotone La présente description concerne un compteur monotone dont la valeur est représentée par un nombre N de mots binaires stockés dans N cellules mémoire d'une mémoire non volatile, et étant adapté à mettre en oeuvre une opération d'incrémentation d'un pas (p) dans laquelle : - si i premières cellules mémoire, de rangs consécutifs compris entre k modulo N et k+i modulo N, représentent une valeur ("-") complémentaire à la valeur nulle ("0"), alors la valeur d'une deuxième cellule, de rang k+i+1 modulo N, est effacée ; et - si i+1 troisièmes cellules mémoire de rangs consécutifs compris entre k+1 modulo N et k+i+1 modulo N représentent une valeur ("-") complémentaire à la valeur nulle ("0"), alors la valeur (V) incrémentée de deux fois le pas (p) d'une quatrième cellule mémoire de rang k modulo N est écrite dans la troisième cellule mémoire de rang k+1 modulo N. Figure pour l'abrégé : Fig. 10 Compteur monotone La présente description concerne de façon générale les systèmes et dispositifs électroniques mettant en oeuvre un compteur. Plus particulièrement, la présente description concerne la mise en oeuvre d'un compteur monotone. Un compteur est une entité matérielle et/ou logicielle, adaptée à compter des éléments dénombrables et/ou à mesurer des grandeurs. Un compteur réalise successivement des opérations d'additions d'un pas à la valeur qu'il représente. Un compteur peut être mis en oeuvre par différents dispositifs et systèmes électroniques. A titre d'exemple, un compteur peut être mis en oeuvre par un processeur stockant la valeur du compteur dans une cellule d'une mémoire. Un compteur monotone est un compteur dont la valeur est strictement croissante (ou décroissante) au fur et à mesure des additions réalisées. Il serait souhaitable de pouvoir améliorer, au moins en partie, la mise en oeuvre de compteurs monotones connus. Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la représente, très schématiquement et sous forme de blocs, une architecture de dispositif électronique ; la représente, très schématiquement et sous forme de blocs, des états d'un mode de réalisation d'un compteur monotone ; la représente, très schématiquement et sous forme de blocs, un mode de mise en oeuvre d'étapes d'incrémentation d'un état du compteur de la ; la représente, très schématiquement et sous forme de blocs, un mode de mise en oeuvre d'étapes d'incrémentation d'un autre état du compteur de la ; la représente, très schématiquement et sous forme de blocs, un mode de mise en oeuvre d'étapes d'une opération d'initialisation d'un état du compteur de la ; et la représente, très schématiquement et sous forme de blocs, un mode de mise en oeuvre d'étapes d'une opération d'initialisation d'un autre état du compteur de la ; la représente, très schématiquement et sous forme de blocs, deux vues illustrant un mode de mise en oeuvre d'étapes de stabilisation d'états du compteur de la ; la représente, très schématiquement et sous forme de blocs, deux vues illustrant un mode de mise en oeuvre d'étapes de stabilisation d'autres états du compteur de la ; la représente, très schématiquement et sous forme de blocs, deux vues illustrant un mode de mise en oeuvre d'étapes de stabilisation d'un autre état du compteur de la ; et la représente, très schématiquement et sous forme de blocs, des états d'un autre mode de réalisation d'un compteur monotone. Compteur monotone dont la valeur est représentée par un nombre N de mots binaires stockés dans N cellules mémoire (C(0), …, C(N-1) ; C'(0), …, C'(N-1)) d'une mémoire non volatile (102), chaque mot binaire ayant une taille adaptée à représenter la valeur maximale dudit compteur, et étant adapté à mettre en oeuvre une opération d'incrémentation d'un pas (p) dans laquelle : - si i premières cellules mémoire (C(k), C(k+1) ; C'(k), …, C'(k+i)), de rangs consécutifs compris entre k modulo N et k+i modulo N, représentent une valeur ("-") complémentaire à la valeur nulle ("0"), alors la valeur d'une deuxième cellule (C(k+3) ; C'(k+i+1)), de rang k+i+1 modulo N, est effacée ; et - si i+1 troisièmes cellules mémoire ((C(k+1), C(k+2), C(k+3) ; C'(k+1), …, C'(k+i+1)) de rangs consécutifs compris entre k+1 modulo N et k+i+1 modulo N représentent une valeur ("-") complémentaire à la valeur nulle ("0"), alors la valeur (V) incrémentée de deux fois le pas (p) d'une quatrième cellule mémoire (C(k) ; C'(k)) de rang k modulo N est écrite dans la troisième cellule mémoire (C(k+1) ; C'(k+1)) de rang k+1 modulo N, avec : - N étant un entier supérieur ou égal à cinq ; - k un entier ; et - i un entier compris entre 2 et N-3. Compteur selon la revendication 1, dans lequel la valeur ("-") complémentaire à la valeur nulle ("0") est la valeur prise par une cellule mémoire (C(0), C(N-1) ; C'(0), C'(N-1)) après son effacement. Compteur selon la revendication 1 ou 2, dans lequel les cellules mémoire (C(0), …, C(k-2), C(k+4), C(N-1) ; C'(0), …, C'(k-2), …, C'(k+i+2), C'(N-1)) de rangs strictement inférieurs à k-1 modulo N et de rangs strictement supérieurs à k+i+1 modulo N représentent toutes une valeur quelconque ("#") différente de la valeur ("-") complémentaire à la valeur nulle ("0"). Compteur selon l'une quelconque des revendications 1 à 3, dans lequel le compteur monotone représente la valeur nulle ("0") lorsque une cinquième cellule mémoire (C(k) ; C'(k)) représentant la valeur nulle ("0") est suivie directement par i sixièmes cellules mémoire (C(k+1), C(k+2) ; C'(k+1), …, C'(k+i+1)) représentant la valeur ("-") complémentaire à la valeur nulle ("0"). Compteur selon l'une quelconque des revendications 1 à 4, dans lequel i vaut deux. Compteur selon la revendication 5, dans lequel, si les deux premières cellules mémoire (C(k), C(k+1)), de rangs consécutifs compris entre k modulo N et k+i modulo N, représentent la valeur ("-") complémentaire à la valeur nulle ("0"), une première opération d'initialisation comprend les étapes suivantes : - écrire la valeur nulle ("0") dans la cellule mémoire (C(k+2)) de rang k+2 modulo N ; - effacer la cellule mémoire (C(k+3)) de rang k+3 modulo N ; - écrire une valeur quelconque ("#", "0") différente de la valeur ("-") complémentaire à la valeur nulle ("0"), dans la cellule mémoire (C(k+1)) de rang k+1 modulo N ; et - effacer la valeur de la cellule mémoire (C(k+4)) de rang k+4 modulo N. Compteur selon la revendication 5 ou 6, dans lequel pendant l'étape d'écriture de la cellule mémoire (C(k+1)) de rang k+1 modulo N, la valeur quelconque ("#") est égale à la valeur nulle ("0"). Compteur selon l'une quelconque des revendications 5 à 7, dans lequel, si les trois troisièmes cellules mémoire ((C(k+1), C(k+2), C(k+3)) de rangs consécutifs compris entre k+1 modulo N et k+3 modulo N représentent la valeur ("-") complémentaire à la valeur nulle ("0"), une deuxième opération d'initialisation comprend les étapes suivantes : - écrire la valeur nulle ("0") dans la cellule mémoire (C(k+2)) de rang k+2 modulo N ; - écrire une valeur quelconque ("#", "0") dans la cellule mémoire (C(k+1)) de rang k+1 modulo N ; et - effacer la valeur de la cellule mémoire (C(k+4)) de rang k+4 modulo N. Compteur selon l'une quelconque des revendications 5 à 8, dans lequel pendant l'étape d'écriture de la cellule mémoire (C(k+1) ; C'(k+1)) de rang k+1 modulo N, la valeur quelconque ("#") est égale à la valeur nulle ("0"). Procédé de mise en oeuvre d'une opération d'incrémentation d'un compteur monotone selon l'une quelconque des revendications 1 à 9.