Brevet FR2850767A1 — publié le 20040806

Système de traitement de données intégré dans un produit semi-conducteur Domaine technique de l'invention La présente invention concerne les systèmes informatique et notamment un système de traitement de données intégré dans un produit semi-conducteur. Etat de la technique Avec le développement de l'industrie microélectronique, de plus en plus de fonctions sont intégrées au sein des produits semi-conducteurs, qu'il s'agisse de fonctions de télécommunication (Ethernet, Sans fil), ou de traitement de données sophistiquées, le plus souvent avec l'appui de processeurs sophistiqués pour le traitement du signal. Ces fonctions tendent à se généraliser et ce notamment en 20 raison du développement des micro ordinateur portables, portatifs et même miniaturisés. Les assistants personnels numériques (ou P.D.A.) intègrent à présent des fonctions multimédias avancées, et l'on rencontre même des téléphones offrant des traitement audio sophistiqués, tels que la lecture MPEG3. L'accumulation des diverses fonctions au sein d'un même produit semiconducteur pose problème car la puissance de calcul exigée pour la mise en oeuvre de telles fonctions encombrent les bus systèmes embarqués dans les puces qui n'offre qu'une puissance limitée, et ce notamment en raison du caractère grand public des applications envisagées. Il est nécessaire de prévoir une architecture de circuit intégré apte à offrir un traitement aussi diversifié que le traitement audio ou vidéo avancé, la ST - 02-GR2-099 communication via un réseau Internet, et ce dans une puce offrant également des applications bureautique avancées. Le but de la présente demande consiste à optimiser l'architecture d'un système de traitement de données intégré dans un produit semi-conducteur. Exposé de l'invention La présente invention a pour but de proposer une nouvelle architecture de système de traitement de données intégré dans un produit semi-conducteur. Un autre but de la présente invention consiste à proposer un dispositif de système intégré sur une puce de silicium adaptée à la réalisation de micro 15 ordinateurs portables offrant des fonctionnalités avancées. L'invention réalise ces buts au moyen d'une architecture de système comportant de traitement de données intégré comportant un processeur de traitement de données associé à un bus système et ayant accès à une première zone d'espace mémoire 20 via le dit bus système. Le circuit intégré comporte en outre un micro réseau local intégré et un second espace mémoire accessible via le micro réseau local. Des unités fonctionnelles communiquent via le réseau local intégré et échangent des messages de sorte à pouvoir soulager le processeur et le bus système. Grâce à cette nouvelle architecture de système, on réalise une claire séparation entre, d'une part, les traitements inhérents aux opérations effectuées par le système d'exploitant opérant dans l'unité centrale et, d'autre part, le traitement des données qui mobilisent les ressources du réseau local intégral. De préférence, le réseau local intégré assure la communication entre un ensemble de sous-systèmes eux -même intégré assurant des fonctions bien diverses, telle que la commande d'un afficheur à cristaux liquides, (Liquid Cristal Display ou L.C.D.), un pont de communication avec le premier bus, ou des soussystèmes annexes. ST - 02-GR2-099 e 1 2850767 - 3 Dans un mode de réalisation préféré, les première et seconde zones d'espace mémoire forme un ensemble unifié accessible audit processeur. De préférence, on dispose un bloc de communication permettant l'interfaçage avec un bus série, une liaison infrarouge ou un réseau Ethernet directement via le micro réseau local. Le système selon l'invention est destiné la réalisation d'un assistant 10 personnel numérique ou d'un ordinateur de poche. Description des dessins D'autres caractéristiques, but et avantages de l'invention apparaîtront à la lecture de la description et des dessins ci-après, donnés uniquement à titre d'exemples non limitatifs. Sur les dessins annexés: La figure 1 illustre le schéma de principe d'un système de traitement de données intégré sur un même produit semi-conducteur. Description d'un mode de réalisation préféré 1. Description détaillée En référence à la figure 1 on décrit à présent la réalisation d'un circuit intégré sous la forme d'une puce électronique comportant un ensemble complet d'acquisition et de traitement de données sous le contrôle d'un processeur. Typiquement, le circuit intégré est adapté à la réalisation d'un ordinateur portatif particulièrement miniaturisé, tel qu'on les rencontre dans les assistants personnels numériques (désigné également par l'appellation " pocket computer " ou encore Portable Digital Assistant ou P.D.A.), lesquelles offrent un ensemble de fonctions audio, vidéo et multimédia avancées. D'une manière générale, l'homme du métier pourra appliquer les principes décrits ci-après à tout autre système de traitement de données. La figure 1 montre un circuit intégré 100 comportant un processeur 110 ou unité logique de calcul et de traitement, laquelle communique via un bus système HB 130 avec divers éléments. Le bus système 130 est tout bus système que l'on io associe généralement avec un processeur, et de préférence un bus dit multicouche comportant plusieurs bus individuels (données, instructions) .... Le processeur 110 communique également via le bus système avec un contrôleur d'interruption vectoriel 120 et un premier circuit d'interface mémoire EMI (Extended Memory Interface) 150 permettant l'accès à un espace mémoire (non représenté) extérieure 15 au circuit intégré 100, par exemple de type SDRAM. En fonction de l'application considérée, il pourra être opportun d'introduire d'autres circuits annexes que l'on connecte usuellement à un bus système connecté à un processeur, par exemple pour la gestion de l'alimentation, la gestion des horloges etc... Le circuit intégré 100 comporte en outre un ensemble d'unités fonctionnelles assurant un certain nombre de fonctions spécialisées utiles pour des traitements audio, vidéos ou de communication avancés, et plus généralement multimédias. Un bloc de communication 170 assure la communication avec l'extérieur du circuit intégré, et en particulier via une liaison sans fil de type 802.11, une liaison 25 infrarouge (IrdA), un bus série de type Universal Serial Bus (U.S.B.), un réseau Ethernet luimême pouvant être connecté au réseau Internet, voire toute unité de stockage appropriée (ATAPI, Multimedia Card, etc... ). Ainsi le bloc de communication 170 comporte les moyens permettant la mise en oeuvre des protocoles de bas niveau pour l'échange de données avec l'extérieur, et notamment 30 les protocoles TCP/IP nécessaires à la communication via le réseau Internet. Le traitement de données utilisateurs - purgées des informations de protocole de bas niveau - peuvent ensuite être traitées par l'un des autres blocs fonctionnels connectés au micro réseau 140. On a représenté dans la figure 1 une unité 131 de commande pour l'affichage LCD, une unité 132 de mémoire tampon destinée à ST - 02-GR2-099 l'affichage, une unité 134 d'accélération graphique 2D/3D, une unité 135 de mémoire tampon destinée au stockage des données utilisateurs reçues via le réseau Internet. D'une manière générale, on pourra envisager toute autre unité fonctionnelle spécialisée et notamment un processeur mathématique ou de s traitement du signal pour effectuer du traitement audio tel que du codage MPEG par exemple etc... Dans un mode de réalisation préféré, le circuit semi-conducteur sera prévu avec un nombre suffisant d'unités fonctionnelles différentes de manière à le rendre io particulièrement versatile. En fonction de l'application considérée, et suivant une procédure de chargement des pilotes adaptée, les différentes unités seront activées au sein du circuit intégré. Les différentes unités fonctionnelles du circuit 100 communiquent via un 15 micro réseau 140 local faisant partie du circuit intégré et fonctionnant indépendamment du bus système 130 et auquel se trouve connecté un second circuit d'interface mémoire (EMI) 160 permettant des échanges avec une seconde mémoire extérieure (non représentée), par exemple une mémoire de type SDRAM. Le circuit d'interface mémoire (EMI) 160 pourra permettre tout interfaçage avec une 20 mémoire Flash, voire un support de type PCMCIA... Un circuit pont 133 permet la communication entre ce réseau 140 et le bus système 130. D'une manière spécifique, le bloc de communication 170 est également connecté au bus système pour permettre un échange directe entre celui-ci et le processeur 110. Les deux espaces mémoires accessibles via les deux circuits d'interface 150 et 160 sont organisées de manière à présenter, pour le processeur 110, un espace de stockage unifié. Bien que disposant d'un espace d'adressage unifié, à mémoire distribué, on observe donc que le processeur 110 ne détient pas la place centrale du système. La plupart des opérations effectuées pour les traitement complexes 30 (audio, vidéo etc...) restent au niveau du micro réseau intégré 140. La communication entre celui-ci et le bus système 130 est assuré au moyen d'une unité pont (Bridge) permettant l'échange de messages. ST - 02-GR2-099 D'une manière générale, le processeur 110 fonctionne sous la commande d'un applicatif de haut niveau ou d'un système d'exploitation de haut niveau, tel que le système d'exploitation WINDOWS CE TM commercialisé par la société MICROSOFT Corp. Inc., ou tout système équivalent. L'existence du micro réseau 5 LAN 140 permet une communication directe entre les différentes unités fonctionnelles spécialisées 131-135, le bloc de communication 170 et l'espace mémoire accessible via le circuit d'interface 170. De préférence, le micro réseau 140 est de type réseau local basé sur un 1o réseau de type client-serveur tel qu'on le connaît dans les systèmes de communication. Typiquement, la communication via le réseau répondra à un protocole assurant une communication rapide, via le micro réseau 140, de messages de données ou d'instructions permettant la communication entre les différents blocs fonctionnels et la seconde unité de stockage externe accessible via is le circuit 160. Il. Fonctionnement - détail du protocole de communication Le protocole de communication sur le micro réseau local 140 est basé sur la 20 communication de messages définissant l'adresse de l'expéditeur, l'adresse du destinataire, des paramètres définissant le type d'échanges avec le récepteur, le nombre d'octets à transmettre, l'adresse mémoire ou les données doivent être transmises ou réceptionnées, la taille du bus éventuellement etc... et toute information utile à la mise en oeuvre de la communication entre deux éléments 25 fonctionnels connectés au micro réseau 140. Des procédures d'accusés de réception peuvent être utilement mises en oeuvre sur le micro réseau local 140 de manière à accroître la sécurité des échanges sur ce dernier. Plus généralement, l'homme du métier pourra adapter toutes les techniques utilisées dans la conception classique des réseau pour assurer cette communication directe entre deux sous30 éléments fonctionnels intégrés au sein du même produit semiconducteur. Ill. Avantages ST - 02-GR2-099 En créant ce canal de communication auxiliaire se situant en marge du bus système 130 du processeur 110, on arrive à traiter directement les données, notamment celles reçues de l'extérieur via le block de communication 170 pour les traiter par l'unité fonctionnelle adéquate et les stocker finalement dans l'espace mémoire géré par le second circuit EMI 160. On assure ainsi une communication particulièrement aisée entre les différentes unités fonctionnelles et ce en marge de l'activité du bus système et du processeur 110. On facilite ainsi d'une manière considérable le traitement io multitâche du circuit intégré puisque le processeur 110 peut se concentrer sur ses tâches de haut niveau. L'architecture qui est décrite permet donc de séparer clairement - au moyen de la distribution des espaces mémoires entre les deux circuits 150 et 160, le 15 traitement effectué par le système d'exploitation mis en oeuvre dans le processeur (traitement de haut niveau), et le traitement de bas niveau, effectué par les différents blocs fonctionnels spécialisés. Il en résulte une architecture optimisée, et, en outre, on évite les problèmes considérables liés à la gestion de l'arbitration du bus système. On observe l'avantage considérable apportée par cette nouvelle architecture: il y a une claire séparation entre les ressources sollicitées par le système d'exploitation de haut niveau, par exemple Windows CE Tm mis en oeuvre dans le système et, d'autre part, les ressources mises en oeuvres notamment pour 25 le traitement complexe des données. Dans le cas d'un processeur de traitement du signal, on observe que celui-ci peut être aisément configuré via le système d'exploitation opérant dans le processeur 110 et, une fois cette configuration effectué, le processeur peut recevoir directement les données, les traiter et les stocker dans l'espace mémoire géré par le second circuit d'interfaçage 160. Le bus 30 système principal et le processeur 110 ne sont pas sollicités et ces derniers peuvent par conséquent se consacrer aux tâches de haut niveau sous le contrôle du système d'exploitation. ST - 02-GR2-099 L'unité de traitement et de données, étant soulagées de toutes ces opérations de bas niveau, peut alors se consacrer aux opérations de commande du fonctionnement de tous les sous systèmes. On notera que, en outre, il n'est pas nécessaire de définir un circuit d'arbitration pour le réseau local intégré. La 5 communication se fait par messages de petites tailles qui sont échangés entre les unités fonctionnelles. L'invention permet la réalisation d'un nouveau type de circuit intégré, comportant de multiples unités fonctionnelles communicant via un micro réseau 10 local intégré. Cette architecture apporte un avantage considérable, tant sur le plan de la conception des circuits que sur le plan de la fabrication de ces mêmes circuits. Sur le plan de la conception des circuits intégrés, comme il y a une claire démarcation entre, d'une part, le système d'exploitation principal exécuté par le 1 5 processeur 110 et les différentes unités de traitement spécialisées connectés au micro réseau 140, il suffit, pour assurer la communication entre les divers éléments fonctionnels, de prévoir le chargement des pilotes adéquats pour gérer ces différents sous-ensembles. Ainsi, il devient très facile de modifier la conception du circuit intégré: l'ajout d'un bloc fonctionnel et sa connexion au réseau 140 20 impliquera seulement l'ajout du pilote correspondant de manière que ce pilote puisse être chargé par le système d'exploitation principal. Ainsi la modification de circuit devient elle très facile, à l'instar de ce que l'on connaît dans l'assemblage de cartes périphériques pour le montage d'un ordinateur. Sur le plan de la fabrication des circuits intégrés, on constate que l'architecture qui est proposée permet d'effectuer un tri sélectif permet le réemploi de circuits dont certains blocs fonctionnelles sont défectueux. En effet, si lors des tests de fabrication, l'on constate que dans un circuit intégré, une unité fonctionnelle 30 est défectueuse, il suffira de la désactiver - ce qui peut être fait par exemple au moyen de la commande du circuit de distribution d'horloge - afin de réaliser un circuit intégré - présentant des fonctionnalités réduites, mais qui cependant fonctionne. Ainsi, une puce particulière dans laquelle le processeur DSP est ST - 02-GR2-099 inopérant pourra être recycler pour son emploi dans un système de terminal d'accès au réseau internet par exemple. Ainsi, l'invention permet de réaliser un circuit intégré particulièrement 5 versatile, offrant de multiples fonctionnalités, et permettant une facilité de conception, de modification et de tri pour le procédé de fabrication. ST - 02-GR2-099 - 10 Revendications 1. Système de traitement de données intégré comportant: - un processeur (110) de traitement de données associé à un bus système (130) et ayant accès à une première zone d'espace mémoire (150) via le dit bus système; caractérisé en ce qu'il comporte: - un micro réseau local intégré (140); un second espace mémoire (160) accessible via ledit micro réseau local; un ensemble d'unités fonctionnelles (131, 132, 133, 134, 135, 170) connectées 15 audit micro bus local et communiquant par échange de messages via le dit micro réseau local intégré (140). 2. Système de traitement de données intégré selon la revendication 1 caractérisé en ce que ladite première et ladite seconde zone d'espace mémoire forme un 20 ensemble unifié accessible audit processeur (110). 3. Système selon la revendication 1 ou 2 caractérisé en ce que ledit ensemble d'unités fonctionnelles comporte un bloc de communication (170) permettant l'interfaçage avec un bus série, une liaison infrarouge ou un réseau Ethernet. 4. Système selon la revendication 1 ou 2 caractérisé en ce que ledit ensemble d'unités fonctionnelles comporte un controlleur pour l'affichage sur un écran à cristaux liquides. 5. Système selon la revendication 1 ou 2, caractérisé en ce que ledit ensemble d'unités fonctionnelles comporte un pont de communication entre ledit bus système (130) et ledit réseau local intégré (140). ST - 02-GR2-099 6. Système selon la revendication 1 ou 2 caractérisé en ce que ledit ensemble d'unités fonctionnelles comporte un accélérateur graphique 2D/3D connecté audit micro réseau local intégré (140). 7. Système selon la revendication 1 ou 2 caractérisé en ce que ledit ensemble d'unités fonctionnelles comporte une mémoire tampon destiné à recevoir les données reçues du réseau Ethernet. 8. Système selon l'une des revendications précédentes conçue pour la réalisation io d'un assistant personnel numérique ou d'un ordinateur de poche. ST - 02-GR2-099