Brevet FR2764717A1 — publié le 19981218

PROCEDE DE LECTURE D'INSTRUCTIONS DE MICROPROCESSEUR DE DECODEUR DE DONNEES NUMERIQUES ET DECODEUR UTILISANT UN TEL PROCEDE L'invention concerne un procédé de lecture d'instructions de microprocesseur. Plus particulièrement, I'invention concerne un procédé de lecture d'instructions de microprocesseur de décodeur de données numériques. De façon préférentielle, I'invention s'applique à un décodeur de données numériques vidéo tel que, par exemple, un décodeur permettant le traitement de données vidéo au format MPEG Il. Les instructions de microprocesseur de décodeur de données numériques sont contenues dans des circuits de mémoire morte de type ROM ou FLASH-ROM. L'acronyme ROM est issu de l'anglais "Read Only Memory" et sera utilisé par la suite pour désigner une mémoire morte. Comme cela est connu de l'homme de l'art, les mémoires mortes de type ROM ou FLASH-ROM sont utilisées du fait de leur capacité à conserver leur contenu en l'absence de tension d'alimentation. Contrairement aux mémoires de type ROM, les mémoires de type FLASH-ROM ont pour caractéristique de permettre une mise à jour des données qu'elles contiennent. Afin d'augmenter la rapidité avec laquelle fonctionnent les différents circuits constituant le décodeur, il est souhaitable d'utiliser un microprocesseur travaillant à une fréquence élevée. Pour tirer un réel avantage d'un microprocesseur travaillant à fréquence élevée, le temps d'accès aux instructions du microprocesseur doit alors être diminué. II est en effet nécessaire d'effectuer un transfert rapide des instructions contenues dans la mémoire ROM ou FLASH-ROM vers le microprocesseur. Pour effectuer un transfert rapide des instructions de la mémoire ROM ou FLASH-ROM vers le microprocesseur, il est connu d'utiliser des mémoires ROM ou FLASH-ROM dont les temps d'accès sont très courts, par exemple de l'ordre de 60 ns. De telles mémoires sont d'un coût très élevé. D'autre part, comme cela a été mentionné ci-dessus, dans le cas de l'utilisation d'une mémoire de type FLASH-ROM, il est possible d'effectuer une mise à jour des instructions du microprocesseur. Pour effectuer la mise à jour des instructions du microprocesseur, il est nécessaire de reprogrammer la mémoire de type FLASH-ROM en utilisant des instructions spécialement dédiées à cette tâche. Durant le cycle de reprogrammation, la mémoire de type FLASH-ROM n'est plus accessible. Le programme qui contrôle la mise à jour est alors un programme complexe qui opère le transfert de ses propres instructions de la mémoire de type FLASH-ROM vers une mémoire à accès direct communément appelée mémoire de type RAM. II est alors nécessaire de réserver dans la mémoire de type RAM une zone mémoire suffisamment importante pour stocker le programme de mise à jour. L'acronyme RAM est issu de l'anglais wRandom Access Memory" et sera utilisée par la suite pour désigner une mémoire à accès direct. Selon l'art connu, la mémoire de type RAM utilisée pour le contrôle de la mise à jour est la mémoire qui stocke les différentes données-utilisateur provenant de diffuseurs de programmes. Par données-utilisateur, il faut entendre, par exemple, les messages de gestion des droits de l'utilisateur, ou encore les messages contenant les différentes conditions d'accès qu'un utilisateur a sur les différents services proposés par un prestataire de services. L'utilisation, pour le contrôle de la mise à jour, de la mémoire de type RAM qui stocke les données-utilisateur a pour conséquence de limiter dans des proportions importantes la place disponible pour stocker les données-utilisateur. Cette limitation est un réel inconvénient. Cet inconvénient est d'autant plus important que la mise à jour est effectuée chez le client. En effet, lors d'une mise à jour effectuée chez le client, il est souhaitable que les différentes fonctionnalités du décodeur ne soient pas trop limitées afin que le client puisse continuer à jouir de l'utilisation du décodeur dans les conditions les meilleures qui soient. De plus, le programme de contrôle du processus de mise à jour occupe généralement un espace mémoire plus important que la place disponible dans la mémoire RAM mentionnée ci-dessus. La mise à jour doit alors être effectuée en fractionnant le programme de contrôle en plusieurs sous-programmes. Ces différents sous-programmes sont alors soit successivement stockés dans la mémoire de type RAM mentionnée ci-dessus afin d'accomplir la mise à jour dans son entier par passes successives, soit distribués dans différentes mémoires de type RAM associées à différents circuits du décodeur. Dans le premier cas, la mise à jour s'effectue avec lenteur. A titre d'exemple, la durée de mise à jour peut être de l'ordre de plusieurs minutes. Or, lors de la mise à jour du décodeur, d'éventuels problèmes peuvent survenir, tels que, par exemple, une coupure d'alimentation ou encore une interruption de la transmission des données permettant la mise à jour. Du fait de la lenteur avec laquelle la mise à jour s'effectue, la probabilité pour que le décodeur ne puisse pas être placé dans des conditions correctes de fonctionnement est alors non négligeable. Dans le deuxième cas, les différents circuits dont les mémoires sont en tout ou partie occupées par les sous-programmes mentionnés ci-dessus sont dans l'impossibilité de fonctionner. Dans les deux cas, la mise à jour selon l'art antérieur présente donc de nombreux inconvénients. L'invention ne présente pas ces inconvénients. La présente invention concerne un procédé de lecture, par un microprocesseur de décodeur de données numériques, d'instructions permettant un fonctionnement du microprocesseur, lesdites instructions étant contenues dans une zone mémoire de type ROM ou FLASH-ROM avant la mise en route du microprocesseur. Le procédé comprend une étape permettant le transfert de tout ou partie desdites instructions dans une zone mémoire spécifique de type RAM lors de la mise en route du microprocesseur. La présente invention concerne également un décodeur de données numériques comprenant un microprocesseur, une zone mémoire de type ROM ou FLASH-ROM contenant des instructions du microprocesseur. Le décodeur numérique comprend une zone mémoire spécifique de type RAM permettant de stocker tout ou partie desdites instructions. Par zone mémoire spécifique, il faut entendre une zone mémoire spécialement dédiée au stockage des instructions du microprocesseur, c'est-à-dire une zone mémoire distincte de la zone mémoire de type RAM qui contient les données de l'utilisateur ainsi que de toute zone mémoire associée à l'un quelconque des différents circuits du décodeur. Un avantage de l'invention est d'améliorer la rapidité avec laquelle fonctionne un décodeur de données numériques, que les instructions du microprocesseur contenu dans le décodeur soient stockées dans une mémoire de type FLASH-ROM ou une mémoire de type ROM. Un autre avantage de l'invention est d'améliorer les conditions de mise à jour des instructions d'un microprocesseur de décodeur numérique dans le cas où les instructions du microprocesseur sont stockées dans une mémoire de type FLASH-ROM. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture d'un mode de réalisation préférentiel fait en référence à la figure jointe. La figure jointe comprend un microprocesseur 1, une mémoire RAM 2 et une mémoire ROM ou FLASH-ROM 3. La mémoire 3 est divisée en deux zones, Z3 et Z4. La zone Z4 contient des instructions du microprocesseur 1 et la zone Z3 contient -les instructions permettant d'initialiser le fonctionnement du microprocesseur 1, -les instructions permettant le transfert, vers la mémoire 2, des instructions contenues dans la zone Z4, -les instructions permettant d'effectuer la reprogrammation de la zone Z4. Selon l'invention, les instructions contenues dans la zone Z4 sont transférées en tout ou partie, préférentiellement a chaque mise en route du décodeur, dans une zone de la mémoire 2. La mémoire 2 est divisée en deux zones Z1 et Z2. la zone Z1 contient les données-utilisateur et la zone Z2 contient les données provenant de la zone Z4. La zone mémoire Z2 a un temps d'accès inférieur au temps d'accès de la zone mémoire Z4. Avantageusement, il s'ensuit que le temps mis par le microprocesseur 1 pour accéder à ses instructions est plus court selon l'invention que selon l'art connu. Selon l'invention, la mémoire RAM 2 est dimensionnée pour pouvoir contenir simultanément les données-utilisateur dans la zone Z1 et les instructions du microprocesseur qu'elle stocke dans la zone Z2 à la mise en route du décodeur. Selon un perfectionnement de l'invention, les instructions du microprocesseur sont constituées, en tout ou partie, de données comprimées. La zone mémoire Z3 comprend alors des instructions permettant que soit effectué, dans la zone Z4, la compression des données représentant les instructions du microprocesseur. A titre d'exemple, le programme de compression peut être un algorithme de type 'Huffman' adapté à la compression de code binaire. Selon l'invention, la capacité mémoire de la mémoire 3 peut alors avantageusement être réduite par rapport à la capacité mémoire des mémoires ROM ou FLASH-ROM utilisées selon l'art antérieur. Toutes choses égales par ailleurs, la capacité mémoire de la mémoire 3 selon l'invention peut ainsi, par exemple, être réduite de moitié par rapport à la capacité mémoire d'une mémoire du même type utilisée selon l'art antérieur. Une mémoire de type ROM ou FLASH-ROM étant d'un coût plus élevé qu'une mémoire de type RAM, il s'ensuit avantageusement que le circuit mémoire utilisé pour la gestion des instructions du microprocesseur selon l'invention est d'un coût moins élevé que le circuit utilisé selon l'art antérieur. Selon le perfectionnement de l'invention mentionné ci-dessus, les données représentant les instructions du microprocesseur sont des données comprimées. La zone Z2 de la mémoire 2 de type RAM contient alors un programme de décompression des données comprimées. A titre d'exemple, le programme de décompression peut être un algorithme de type 'Huffman' adapté à la compression du code binaire. Dans le cas de l'utilisation d'une mémoire FLASH-ROM comme mémoire contenant les instructions du microprocesseur 1, un avantage de l'invention est de permettre une mise à jour des instructions sans perturber les différentes fonctionnalités du décodeur. Selon l'invention, il n'est en effet plus nécessaire de fractionner le programme qui contrôle la mise à jour des instructions en sous-programmes et de distribuer ces différents sous-programmes dans les différentes mémoires RAM de différents circuits du décodeur. Le décodeur peut ainsi avantageusement continuer à travailler dans toutes ses fonctionnalités. Un autre avantage de l'invention est de ne plus rendre nécessaire l'accès à la mémoire 3 après que les instructions contenues dans la zone mémoire Z4 ont été copiées dans la zone mémoire Z2. Il est alors possible de faire évoluer, selon les besoins, les différentes fonctionnalités du décodeur de façon simple. Une évolution des fonctionnalités du décodeur peut se traduire par de nouveaux programmes qui améliorent des programmes antérieurs ou qui permettent d'utiliser des modes de fontionnement totalement nouveaux. A titre d'exemple, des protocoles spécifiques de communication avec un nouveau serveur peuvent être facilement installés chez le client. II est alors possible, selon l'invention, de concevoir des décodeurs dont le logiciel n'intègre que des fonctions de base et de mise à jour. A titre d'exemple non limitatif, I'invention permet de réaliser un décodeur dont le microprocesseur 1 travaille à une fréquence de 25 Mhz, dont la mémoire RAM 2 est une mémoire de deux Mega-octets et dont la mémoire ROM ou FLASH ROM 3 est une mémoire de un Mega-octet. L'échange de données entre la mémoire RAM 2 et le microprocesseur 1 s'effectue alors avec des données codées sur 16 bits à un rythme de l'ordre de 17 Mega-octets par seconde et l'échange de données entre la mémoire ROM ou FLASH-ROM 3 avec des données codées sur 8 bits à un rythme de 4 Mega-octets par seconde. REVENDICATIONS 1. Procédé de lecture, par un microprocesseur (1) de décodeur de données numériques, d'instructions permettant un fonctionnement du microprocesseur (1), lesdites instructions étant contenues dans une zone mémoire (Z4) de type ROM ou FLASH-ROM avant la mise en route du microprocesseur (1), caractérisé en ce qu'il comprend une étape permettant le transfert de tout ou partie desdites instructions dans une zone mémoire spécifique (Z2) de type RAM lors de la mise en route du microprocesseur (1). 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend une étape de compression des données qui représentent lesdites instructions lorsque lesdites données sont contenues dans la zone mémoire (Z4) de type ROM ou FLASH-ROM et une étape de décompression, dans la zone mémoire (Z2) de type RAM, des données comprimées issues de l'étape de compression. 3. Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que la zone mémoire (Z4) étant du type FLASH-ROM, il comprend une étape permettant la mise à jour des instructions contenues dans ladite zone mémoire (Z4). 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que les données numériques sont des données vidéo. 5. Décodeur de données numériques comprenant un microprocesseur (1), une zone mémoire (Z4) de type ROM ou FLASH-ROM contenant des instructions du microprocesseur (1), caractérisé en ce qu'il comprend une zone mémoire spécifique (Z2) de type RAM permettant de stocker tout ou partie desdites instructions. 6. Décodeur selon la revendication 5, caractérisé en ce que la mémoire (3) de type ROM ou FLASH-ROM comprend des moyens pour comprimer les données représentant les instructions du microprocesseur (1) et la zone mémoire spécifique (Z2) des moyens pour décomprimer les données comprimées qu'elle contient.