Brevet FR2892838A1 — publié le 20070504

La présente invention concerne un procédé et ses dispositifs associés de fiabilisation de flux numérique entre le processeur et les mémoires à accès aléatoire. L'invention trouvant notamment son application dans les domaines industriels de l'informatique et de l'électronique. Pour l'exécution d'un programme il est nécessaire de disposer à la fois, d'un processeur et d'une mémoire à accès aléatoire qui sous une forme particulière est connue sous l'appellation RAM. Le processeur loge un espace calcul et un espace mémoire dit registre. La mémoire à accès aléatoire loge quatre types de mémoire dont la mémoire réelle / dynamique, la mémoire réelle I linéaire, la mémoire virtuelle l dynamique, la mémoire virtuelle I linéaire. Un espace réel est logé dans la mémoire à accès aléatoire. L'espace réel est un espace dit non ponté, il accède directement à la RAM sans passer par une translation d'adresse. A la différence d'un espace réel, un espace virtuel a besoin de passer par une translation d'adresse dite pont pour permettre à celui-ci d'accéder physiquement à la mémoire à accès aléatoire. Un accès à la mémoire depuis un espace virtualisé passe forcément par un espace réel. Un noyau logique également appelé système d'opération ou système d'exploitation fonctionne en mode réel ou dans un espace réel. Une tâche de ce noyau logique, un processus du noyau logique ou encore une application fonctionnent en mode virtuel ou dans un espace virtuel. Certains de ces espaces sont dynamiques. D'autres sont linéaires. Les espaces dynamiques ne nécessitant pas de spécification de permission. Les espaces linéaires sont des espaces où il est possible de spécifier les permissions. Sur la carte mère le processeur et la mémoire à accès aléatoire dialoguent selon une série d'instructions et de fonctions. Ils échangent des informations qui contiennent des adresses mémoires qui sont allouées par le processeur et logées soit dans un registre du processeur soit dans la mémoire à accès aléatoire. Ce dialogue présente de nombreux dysfonctionnements. Les dysfonctionnements principaux étant l'exécution 1 o d'une adresse mémoire qui ne devrait pas être exécutée. La lecture d'une adresse mémoire qui ne devrait pas être lue. L'écriture dans une adresse mémoire qui ne devrait pas être écrite. La pagination est un dispositif de gestion de mémoire entre le processeur et la mémoire à accès aléatoire. La pagination permet au 15 processeur de s'attribuer des zones mémoires. La zone mémoire étant définie par une adresse de mémoire et par la taille demandée. La pagination permet aussi de gérer la permission d'accès à ces zones de mémoire. Les permissions étant de type soit exécutable, soit lecture, soit écriture. Un défaut dans cette méthode de pagination est qu'il est difficile de rendre 20 totalement aléatoires les adresses de mémoire permettant d'accéder à la mémoire à accès aléatoire. En effet, le système n'est pas prévu à cet effet et se bloquera et/ou prendra un espace mémoire trop important sur la mémoire à accès aléatoire. Il est donc bien évident que le système de dialogue entre le processeur et la mémoire à accès aléatoire est extrêmement complexe. Il est à noter que dans les processeurs actuels, le fait d'obtenir la permission de lecture sous entend une permission d'exécution. Un défaut extrêmement courant dans l'exécution des programmes est l'exécution d'instruction stockées dans une zone mémoire normalement prévue pour n'être qu'accessible en lecture. Certains industriels de l'art antérieur tentent l 0 de pallier ce problème en ajoutant des bits de contrôle d'exécution au système de mémoire conventionnel. Cela s'avère être insuffisant car le système de pagination ne permet pas de rendre totalement aléatoires les adresses de mémoire. Un objet principal de l'invention est de sécuriser les exécutions, la 15 lecture et l'écriture entre le processeur et la mémoire à accès aléatoire. Les débordements de mémoire étant une source connue de faille sont notamment bloqués par l'invention. Un objet de l'invention est d'optimiser les demandes d'allocation mémoire faites par le processeur. Ces demandes d'allocation étant 20 réelles/dynamiques ou réelles/linéaires ou virtuelles/dynamiques ou virtuelles/linéaires. Un objet de l'invention est de faciliter la gestion mémoire par le processeur. Cette invention favorisant le développement de système d'opération et ouvrant de nouvelles possibilités de lancer plusieurs systèmes d'opérations à la fois et ce de manière totalement transparente. Un objet de l'invention est de créer un nouveau dispositif de gestion de mémoire entre le processeur et la mémoire à accès aléatoire. Ce dispositif étant inter opérable ou interchangeable avec celui de l'art antérieur. Un objet de l'invention est de limiter les effets de chaleur dus à la 1 o charge nécessaire au processeur pour gérer la mémoire. Un objet de l'invention est pour les fabricants de permettre d'abaisser les fréquences de leur processeur tout en gardant un taux de performance équivalent ou plus élevé. Dans un aspect principal, l'invention consiste à sécuriser les t s exécutions, lectures et écritures entre le processeur et la mémoire à accès aléatoire par une gestion améliorée des permissions et par la mise sous contrainte des tâches des allocations linéaires réelles ou virtuelles. Dans un aspect, l'invention consiste à refondre le système d'allocation des ordinateurs notamment la pagination. 20 s Les figures annexées représentent un mode particulier de l'invention sur lesquelles : - La figure la représente une vue de principe d'un processeur - La figure lb représente une vue simplifiée d'une mémoire à accès aléatoire - La figure le représente une vue de principe des espaces mémoires sur la mémoire à accès aléatoire - La figure 2 représente une carte mère simplifiée selon un aspect particulier de l'invention La figure 3 représente une forme particulière en vue schématique de puce interface de gestion d'accès mémoire (180) selon l'invention - Les figures 4a, 4b, 4c, 4d, 4e, 4f décrivent plus particulièrement certains composants de la figure 3 Les figures 1 a et lb représentent une vue de principe d'un processeur principal (151) et de la mémoire aléatoire (155). Est représenté un processeur principal (151) qui loge un espace calcul (154) et un espace mémoire dit registre (152) et une mémoire tampon (153) également appelée mémoire cache. Le processeur principal (151) dialogue avec la mémoire à accès aléatoire (155) qui comprend des barrettes (156) au moyen de connexions dites bus (157). La figure le représente l'organisation mémoire sur l'espace mémoire de la mémoire à accès aléatoire (155). L'organisation générale de la mémoire de la mémoire à accès aléatoire (155) est un espace réel (1) qui contient des mémoires linéaires réelles (2), des mémoires dynamiques réelles (3) et plusieurs espaces virtuels (7). Chaque espace virtuel (7a, 7b, ..) correspondant à un processus ou une tâche du processeur. Une application pouvant regrouper plusieurs processus. Les espaces virtuels (7a, 7b, ..) comprenant un espace linéaire virtuel (5a) et un espace dynamique virtuel (6a). Un pont (8a, 8b, ..) permet d'établir une jonction entre une adresse virtuelle de l'espace virtuel (7a) et une adresse réelle dans l'espace réel (1). La figure 2 représente une carte mère simplifiée selon un aspect particulier de l'invention. Dans cet exemple deux processeurs (15la, 151b) sont montés sur la carte mère. Etant bien entendu que l'invention fonctionne aussi avec un seul processeur principal (151) ou plus de deux processeurs (151). Entre les processeurs (151a, 151b) et la mémoire à accès 1s aléatoire (155) est disposé un nouveau processeur (180) dit un processeur interface de gestion d'accès mémoire (180). Le processeur interface de gestion d'accès mémoire (180) est en interface de liaison par des bus (200) avec le processeur principal (151) pour la gestion de la validation de lecture, d'écriture et l'exécution d'une suite d'instructions dans la mémoire 20 à accès aléatoire (155) et par le bus (301) venant de la mémoire à accès aléatoire (155). Dans une option de réalisation, pour des questions de compatibilité avec les systèmes de l'art antérieur, une liaison directe (100) dit bus direct (100) entre le processeur (180) et la mémoire à accès aléatoire (155) est conservée. Pour des questions de sécurité, l'activation du processeur interface de gestion d'accès mémoire (180) désactivant l'utilisation du bus direct (100). Un autre aspect de l'invention consiste en l'apport d'une unité de stockage (190) dédiée au stockage d'informations spécifiques traitées par le processeur interface de gestion d'accès mémoire (180) dite unité de stockage dédiée interface (190). Cette unité de stockage dédiée interface (190) étant en liaison avec le processeur interface de gestion d'accès mémoire (180) et uniquement avec le processeur interface de gestion d'accès mémoire (180) par un bus (302) dit bus impasse (302). Bien évidemment, physiquement, pour des raisons de commodité de fabrication de carte mère, cette unité de stockage dédiée interface (190) peut se situer dans la mémoire à accès aléatoire. La spécificité restant que cette unité de stockage dédiée interface (190) est positionnée au fond d'une impasse électronique en unique liaison avec l'interface de gestion d'accès mémoire (180). La figure 3 décrit une composition de processeur interface de gestion d'accès mémoire (180) qui dans ce cas est composée de six sections (1 x, 2x, 3x, 4x, 6x, 8x). Ces sections effectuent chacune un certain type d'opération et mettent sous contrainte la lecture, l'écriture et l'exécution d'espaces mémoires ainsi que les demandes d'allocations effectuées par le processeur principal (151). Entre chaque section des informations sont échangées. Certaines informations suivent des chemins internes (I) au processeur interface de gestion d'accès mémoire (180). Certaines informations suivent des chemins externes (E), le processeur interface de gestion d'accès mémoire (180) en liaison avec un autre processeur ou une autre mémoire. Plus particulièrement, la section (lx) est une section dite neutre, la section (2x) est une section de gestion des tâches du processeur, la section (3x) est une section de génération de nombres aléatoires, la section (4x) est une section d'allocation réelle et virtuelle linéaire, la section (6x) est une section d'allocation réelle ou virtuelle dynamique, la section (8x) est une section de gestion d'accès (8x) du processeur principal (151) vers la mémoire à accès aléatoire (155). La figure 4a représente plus particulièrement la section neutre (lx). La section neutre (lx) ou section dite sécurisée est une mémoire séparée qui permet de ts stocker différentes données relatives aux tâches du processeur interface de gestion d'accès mémoire (180) aux adresses linéaires créées et aux adresses dynamiques créées. Pour ce faire, une entrée d'écriture (I 1 l) interne permet à la section neutre (lx) d'écrire dans l'unité de stockage dédiée interface (190). Une entrée de demande de recherche (I 12) interne permet 20 à la zone neutre (lx) de rechercher une information dans l'unité de stockage dédiée interface (190) par la sortie (E 14) qui passe dans le bus impasse (301) et qui est restituée par l'entrée (E 15) qui passe dans le bus impasse (301). Le résultat de la recherche est ensuite transmis par la sortie de recherche (1 13). La figure 4b représente la section de gestion des tâches du processeur (2x). Pour permettre au dispositif de mettre sous contrainte les accès physiques à la mémoire à accès aléatoire (155), le processeur principal (151) doit informer le processeur interface de gestion des accès mémoire (180) de gestion d'accès qu'un espace virtualisé a été créé. Une entrée externe (E 21) permet au processeur principal (151) d'informer en permanence la section de gestion des tâches du processeur (2x) du processeur interface de gestion des accès mémoire (180) de la position du curseur instruction du ou des processeurs principaux. Une entrée (E 22) permet de rendre une tâche réelle ou virtuelle du processeur(151) connue par l'ensemble du processeur interface de gestion des accès mémoire (180) par le biais de la sortie (I 26) vers la section neutre (lx) par l'entrée d'écriture (I 11). Une identification est donnée par le biais de la sortie (E 24). Une entrée (E 23) permet de détruire une tâche réelle ou virtuelle du processeur. Une entrée (E 25) donne l'identifiant de tâche associée à la destruction. De façon optionnelle, il est possible, lorsqu'une tâche est détruite, de déclencher volontairement et automatiquement la destruction des mémoires qui lui sont attachées. La destruction agit dans la section neutre (lx) par l'entrée d'écriture (I 11). La figure 4c représente la section lo de génération de nombres aléatoires (3x). Pour permettre à la puce de détecter les tentatives de débordement de mémoire ù de quelque type que ce soit ù et ainsi mettre en ouvre des actions de contre-mesures, il est nécessaire de fournir des adresses totalement aléatoires afin de rendre des adresses ou des nombres imprévisibles. Pour ce faire une des entrées (E 31) de la section de génération de nombres aléatoires (3x) permet de demander à celle-ci de générer un nombre aléatoire dans la sortie (E 32). Deux entrées optionnelles (E 34) et (E 35) peuvent être utilisées pour délimiter une fourchette où doit se situer le nombre aléatoire. Une entrée (E 33) permet d'informer en permanence la section de génération de nombres aléatoires (3x) de la position du curseur instruction du ou des processeurs principaux. Une autre entrée (E 36) permet de demander à la section de génération de nombres aléatoires (3x) de générer un nombre aléatoire qui corresponde à une adresse valide par rapport à l'entrée (E 33). Elle est Is associée à l'entrée (E 37) qui informe de la taille qui sera utilisée par le bloc de la future adresse. Comme pour l'entrée (E 31), un nombre aléatoire est généré en sortie (E 32). Pour le traitement de l'entrée (E 36) il est nécessaire de prendre en compte les données des tâches stockées dans l'unité de stockage dédiée interface (190) pour savoir si l'entrée (E 33) 20 vient d'un espace virtualisé ou réel et si l'adresse proposée pour la sortie (E 32) ne crée pas une collision avec une autre adresse. Tout ceci s'effectue par le biais de la sortie (1 38) vers (1 12) et par le biais de l'entrée (I 39) venant de (1 13). La figure 4d représente la section d'allocation (4x) réelle et virtuelle linéaire. Une entrée (E 41) permet d'informer en permanence, la section d'allocation (4x) de la position du curseur instruction du/des processeurs principaux (151). Trois entrées (E 42) (E 43) (E 44) seront utilisées en fonction des besoins des entrées de demandes. Une sortie (E 45) peut être utilisée en fonction des besoins d'une demande. Une entrée (E 46) permet de définir le type de demande à utiliser : - 1 Demande d'allocation d'un bloc de mémoire linéaire réelle aléatoirement positionnée dans la zone physique de la mémoire à accès aléatoire. Cette demande est associée à une taille par l'entrée (E 43) et un type de permission par l'entrée (E 44) qui peut être soit la lecture, l'écriture ou l'exécution. Une demande de création d'adresse aléatoire est faite à la section de génération de nombres aléatoires (3x) par la sortie (I 47) vers (E 36). L'entrée (E 43) est ensuite retransmise vers (E 37) par la sortie (I 53) pour informer la section de génération de nombres aléatoires (3x) de la taille demandée. Ensuite l'entrée (I 48) venant de (E 32) informe de l'adresse aléatoire qui devra être utilisée. La section neutre (1 x) est ensuite sollicitée par la sortie (I 51) vers (1 12) pour savoir par le biais de l'entrée (1 52) venant de (1 13) si l'entrée (E 41) a le droit d'allouer de la mémoire linéaire réelle (1 48). Si l'entrée (E 41) n'a pas le droit d'allouer de la mémoire linéaire réelle (E 48) alors la sortie (E 50) est utilisée sinon si l'adresse linéaire (I 48) plus la taille (E 43) ne crée pas de collision, celle-ci est allouée et enregistrée avec sa taille et ses permissions dans la section neutre (lx) par la sortie (1 49) vers l'entrée (1 11) de la section neutre (lx). La section d'allocation (4x) retransmet l'entrée (E 48) vers la sortie (E 45). - 2 Demande d'allocation d'une mémoire linéaire réelle avec une adresse de base fixe dans la zone physique de la mémoire à accès aléatoire. Cette demande est associée à une suggestion d'adresse mémoire par l'entrée (E 42), une taille par l'entrée (E 43) et d'un type de permission par l'entrée (E 44) qui peut être soit la lecture, l'écriture ou l'exécution. Contrairement à une demande d'allocation d'une mémoire linéaire réelle aléatoire, cette demande permet au processeur de spécifier l'adresse de base (E 42) qu'il préfère utiliser. La section neutre (lx) est ensuite sollicitée par la sortie (1 51) vers (1 12) pour savoir par le biais de l'entrée (I 52) venant de (I 13) si l'entrée (E 41) a le droit d'allouer de la mémoire linéaire réelle (E 42). Si l'entrée (E 41) n'a pas le droit d'allouer de la mémoire linéaire réelle (E 42) alors la sortie (E 50) est utilisée sinon si l'adresse linéaire réelle (E 42) plus la taille (E 43) ne crée pas de collision, la mémoire linéaire réelle est allouée et enregistrée avec sa taille et ses permissions dans la section neutre (lx) par la sortie (I 49) vers l'entrée (I 11), la section d'allocation réelle et virtuelle linéaire (4x) retransmet l'entrée (E 42) vers la sortie (E 45) 3 Demande d'allocation d' une mémoire linéaire virtuelle aléatoirement positionnée dans la zone physique de la mémoire à accès aléatoire. Cette demande est associée à une taille par l'entrée (E 43) et d'un type de permission par l'entrée (E 44) qui peut être soit la lecture, l'écriture ou l'exécution. Une demande de création d'adresse aléatoire est faite à la section de génération de nombres aléatoires (3x) par la sortie (I 47) vers (E 36). L'entrée (E 43) est ensuite retransmise vers (E 37) par la sortie (I 53) pour informer la section de génération de nombres aléatoires (3x) de la taille demandée. . Ensuite l'entrée (1 48) venant de (E 32) informe de l'adresse aléatoire qui devra être utilisée. La section neutre (lx) est ensuite sollicitée par la sortie (I 51) vers (1 12) pour savoir par le biais de l'entrée (I 52) venant de (I 13) si l'entrée (E 41) a ls le droit d'allouer de la mémoire linéaire virtuelle (I 48). Si l'entrée (E 41) n'a pas le droit d'allouer de la mémoire linéaire virtuelle (E 48) alors la sortie (E 50) est utilisée sinon si l'adresse linéaire (48) plus la taille (E 43) ne crée pas de collision, celle-ci est allouée et enregistrée avec sa taille et ses permissions dans la section neutre (lx) par la sortie 20 (1 49) vers l'entrée (I 11) et la section d'allocation réelle et virtuelle linéaire (4x) retransmet l'entrée (E 48) vers la sortie (E 45). - 4 Demande de destruction d'une zone mémoire linéaire virtuelle ou réelle. Cette demande est associée à une adresse par l'entrée (E 42). La section neutre (lx) est sollicitée par la sortie (I 51) vers (1 12) pour savoir par le biais de l'entrée (1 52) venant de (1 13) si l'entrée (E 41) a le droit de détruire l'adresse mémoire (E 42) et/ou si celle-ci est valide. Si l'entrée (E 41) n'a pas le droit de détruire l'adresse mémoire (E 42) et/ou si celle-ci n'est pas valide alors la sortie (E 50) est utilisée sinon une information de destruction est envoyée à la section neutre (lx) par (I 49) vers (I 11). 5 Demande de changement de permission d'une zone réelle ou virtuelle. Cette demande est associée à une adresse par l'entrée (E 42) et un type de permission par l'entrée (E 44) qui peut être soit la lecture, l'écriture ou l'exécution. La section neutre (lx) est ensuite sollicitée par la sortie (I 51) vers (I 12) pour savoir par le biais de l'entrée (I 52) venant de (1 13) si l'entrée (E 41) a le droit de changer les permissions de l'adresse mémoire (E 42) et si celle-ci est valide. Si l'entrée (E 41) n'a pas le droit de changer les permissions de l'adresse mémoire (E 42) et/ou si celle-ci n'est pas valide alors la sortie (E 50) est utilisée sinon les changements de permission sont ensuite mis à jour dans la section neutre (lx) par (I 49) vers (I 11).Une demande optionnelle de réallocation d'une zone déjà allouée peut aussi être demandée à la section d'allocation (4x) réelle et virtuelle linéaire Une autre demande optionnelle d'une mémoire linéaire réelle ou virtuelle miroir d'un autre espace linéaire réel ou virtuel peut aussi être demandée à la section d'allocation (4x) réelle et virtuelle linéaire. La figure 4e représente la section d'allocation (6x) réelle et virtuelle dynamique. La mémoire dynamique également appelée mémoire dans le tas fait aussi partie de la mémoire à accès aléatoire et a la particularité d'être une zone mémoire accessible notamment par au minimum deux procédures qui lui sont spécifiques û demande de mémoire û demande de libération de mémoire. Cette mémoire dynamique est utilisée notamment pour stocker des variables permanentes. Une entrée (E 61) permet d'informer en permanence, la section d'allocation (6x), de la position du curseur instruction duldes processeurs principaux.. L'entrée (E 63) est utilisée en fonction des besoins des entrées de demandes. Une sortie (E 64) est utilisée en fonction des besoins d'une 15 demande. Une entrée (E 62) permet de définir le type de demande à utiliser : - 1 Demande d'allocation d'un bloc de mémoire dynamique réelle ou virtuelle aléatoirement positionnée dans la zone physique de la mémoire à accès aléatoire. Cette demande est associée à une taille par 20 l'entrée (E 63). Une demande de création d'adresse aléatoire est faite à la section de génération de nombres aléatoires (3x) par la sortie (I 68) vers (E 36). L'entrée (E 63) est ensuite retransmise vers (E 37) par la sortie (I 70) pour informer la section de génération de nombres aléatoires (3x) de la taille demandée. Ensuite l'entrée (E 69) venant de (E 32) informe de l'adresse aléatoire qui devra être utilisée. La section neutre (lx) est ensuite sollicitée par la sortie (I 66) vers (I 12) pour savoir par le biais de l'entrée (1 67) venant de (1 13) si l'entrée (E 61) a le droit d'allouer de la mémoire dynamique (E 69). Si l'entrée (E 61) n'a pas le droit d'allouer de la mémoire linéaire virtuelle (E 69) alors la sortie (E 50) est utilisée sinon si l'adresse linéaire en entrée (E 69) plus la taille en entrée (E 63) ne crée pas de collision, celle-ci est allouée et enregistrée avec sa taille et ses permissions dans la section neutre (lx) par la sortie (I 65) vers l'entrée (I 11) et la section d'allocation réelle et virtuelle linéaire (4x) retransmet l'entrée (E 69) vers la sortie (E 64). Il est à noter que le processeur interface de gestion d'accès mémoire empêche de spécifier une adresse de base lors d'une demande d'allocation d'un bloc de mémoire dynamique réelle ou virtuelle. Cette démarche volontaire permet de conserver des adresses totalement aléatoires donc imprévisibles et donc sécurisées. - 2 Demande de libération d'une mémoire réelle ou virtuelle. Cette demande est associée à une adresse par l'entrée (E 63). La section neutre (lx) est sollicitée par la sortie (I 66) vers (I 12) pour savoir par le biais de l'entrée (I 65) venant de (I 13) si l'entrée (E 61) a le droit de détruire l'adresse mémoire en entrée (E 63) et si celle-ci est valide. Si l'entrée (E 61) n'a pas le droit de détruire l'adresse mémoire (E 63) et/ou si celle-ci n'est pas valide alors la sortie (E 50) est utilisée sinon une information de destruction est envoyé à la section neutre (lx) par (I 65) vers (I 11). La figure 4f représente la section de gestion d'accès (8x). Une entrée (E 81) permet d'informer en permanence, la section de gestion d'accès (8x) du processeur principal (151) vers la mémoire à accès aléatoire (155) de la position du curseur instruction du/des processeurs principaux (151). Deux entrées (E 83) (E 84) seront utilisées en fonction des besoins des entrées de demandes. Une sortie (E 88) peut être utilisée pour indiquer au processeur principal si la copie ou une exécution est autorisée. Une demande de vérification de copie est demandée par le processeur principal (151) via (E 82). Cette demande est associée aux entrées (E 83) et (E 84) qui désignent respectivement la source et la destination. La section neutre (lx) est sollicitée par la sortie (I 86) vers (I 12) pour savoir par le biais de l'entrée (1 87) venant de (1 13) si l'entrée (E 81) à le droit de copier ou pas (E 83) dans (E 84). Si l'entrée (E 81) n'a pas le droit de copier (E83) dans (E 84) alors la sortie (E 85) est utilisée sinon la sortie (E 88) informe le processeur principal que la copie est autorisée. Une demande de vérification de saut ou d'exécution est demandée par le processeur via l'entrée (E 82). Cette demande est associée à l'entrée (E 83) qui désigne l'adresse que le processeur doit exécuter. La section neutre (lx) est sollicitée par la sortie (I 86) vers (1 12) pour savoir par le biais de l'entrée (I 87) venant de (1 13) si l'entrée (E 81) a le droit d'exécuter ou pas (E 83). Si l'entrée (E 81) n'a pas le droit d'exécuter (E 82) alors la sortie (E 85) est utilisée sinon la sortie (E 88) informe au processeur principal que l'exécution est autorisée. L'invention concerne donc un gestionnaire de flux entre le processeur principal (151) et la mémoire à accès aléatoire (155) caractérisé en ce qu'il comprend un processeur interface de gestion d'accès mémoire (180) positionné en interface entre le processeur principal (151) et la mémoire à accès aléatoire (155), ce processeur interface de gestion d'accès mémoire (180) sélectionnant les caractéristiques pertinentes de flux avec lesquelles il alimente une unité de stockage dédiée interface (190), l'unité de stockage dédiée interface (190) étant uniquement accessible par le processeur interface de gestion d'accès mémoire (180) On voit bien que de nombreuses variantes éventuellement susceptibles de se combiner peuvent ici être apportées sans jamais sortir du cadre de l'invention tel qu'il est défini ci-après. On voit également que l'invention est constituée de modules qui, pris isolément ou par groupes, peuvent constituer une invention pour certains d'entre eux et sont donc également protégés par le présent brevet. Le mode de réalisation de cette invention est soit matériel soit logique. REVENDICATIONS 1. ù Gestionnaire de flux entre le processeur principal (151) et la mémoire à accès aléatoire (155) caractérisé en ce qu'il comprend un processeur interface de gestion d'accès mémoire (180) positionné en interface entre le processeur principal (151) et la mémoire à accès aléatoire (155), ce processeur interface de gestion d'accès mémoire (180) sélectionnant les caractéristiques pertinentes de flux avec lesquelles il alimente et traite une unité de stockage dédiée interface (190), l'unité de stockage dédiée interface (190) étant uniquement accessible par le processeur interface de gestion d'accès mémoire (180).