English | Autres langues

Un taux de transfert élevé pour soutenir le traitement d'image par processeur C80
À l'instar des ensembles de puces 430 et 440 d'Intel (connus également sous les noms de "Triton" et de "Natoma") qui soutiennent un taux de transfert élevé entre la mémoire vive, l'unité centrale et le bus PCI, une nouvelle puce d'interface graphique (VIA) permet un taux de transfert élevé entre la mémoire SDRAM, un processeur de signaux numériques C80 et le bus PCI; elle effectue, de plus, d'autres transferts et du reformatage de données.
Le processeur de signaux numériques TMS320C80 de Texas Intruments est en voie de devenir le processeur de choix pour beaucoup d'applications de traitement d'image et pour cause : il réunit un processeur maître (MP) RISC de 32 bits, quatre processeurs parallèles (PP) DSP 32 bits à nombres entiers, 50ko de mémoire vive, un commutateur à barres croisées, un contrôleur de transfert de 64 bits ainsi qu'un contrôleur vidéo.
Les défis qu'il faut relever pour utiliser le C80 en traitement d'image rappellent ceux associés à la mise au point des systèmes de vision artificielle fonctionnant sur Pentium ou Pentium Pro. La puce est très rapide, mais le traitement est ralenti par les embouteillages à l'entrée et à la sortie. Intel a donc conçu, sur bus PCI, les ensembles de puces 430 et 440 afin d'obtenir l'efficacité de bande passante voulue à l'entrée et à la sortie. C'est aussi la voie que Matrox a choisie lorsqu'elle a conçu la puce VIA (Video Interface ASIC). C'est un circuit d'appoint qui libère le processeur C80 de ses tâches de gestion de données, lui permettant d'optimiser les transferts. Alimenté en données par le VIA, le C80 pourra se consacrer entièrement au traitement de celles-ci.
La puce VIA, le processeur C80, la mémoire SDRAM et, en option, NOA (Neighborhood Operations Processor), un processeur d'opération de voisinage, constituent le noyau de traitement des cartes de traitement d'image Génésis de Matrox. La carte mère comprend un module d'acquisition, un noyau de traitement et un module d'affichage. La carte de traitement contient un ou deux noyaux. La puce VIA régit la fonction d'interface pour l'ensemble des données du système, y compris les transferts internes, les transferts de carte à carte ou vers des sources extérieures comme l'ordinateur principal, ou en provenance de celles-ci.
La puce VIA comprend un bus d'accès mémoire SDRAM 64 bits, une interface 32 bits pour le module d'acquisition, une interface 32 bits du maître-esclave du bus PCI ainsi qu'une interface 32 bits du bus VM (VESA Media Channel est utilisé comme bus secondaire pour le transfert de données au module d'affichage ou à la carte de traitement).Le VIA contrôle l'accès au bus et assure un débit optimal sur la bande passante pour chaque interface et minimise les temps d'attente des opérations les plus critiques quant au temps d'exécution.
En plus de contrôler l'accès au bus, la puce VIA accomplit une autre tâche semblable à celles qu'exécute la puce 430, celle d'écriture en mémoire RAM. Lorsqu'un périphérique PCI doit accéder à la mémoire RAM du système, la puce 430, au lieu de se préparer au transfert de chaque pixel, met les pixels en file d'attente et transfères à la mémoire, en rafales, l'ensemble des données. Grâce au bus d'acquisition géré par le VIA, les données saisies sont mises en attente dans les registres FIFO intégrés à la puce pour être ensuite acheminées en rafales vers la mémoire SDRAM par le bus local dont la capacité de transfert est de 400Mo/s. De cette façon, le traitement des données n'est pas assujetti à la vitesse de l'acquisition de celles-ci.
L'interface PCI du VIA peut également faire des opérations de préécriture et de prélecture de la mémoire RAM, assurant une communication optimale entre la mémoire de la carte et celle de l'ordinateur hôte et entre le processeur C80 et la mémoire RAM du système. Grâce à la puce VIA, le processeur C80 a plein accès à un espace adresse de 4Go sur bus PCI et à la mémoire de tous les autres processeurs C80 lorsqu'on utilise une configuration multicartes.
La reconstitution des données-image est une autre tâche qui permet au VIA de faire travailler le C80 à pleine capacité. Par exemple, l'acquisition de données des caméras à sorties multitap qui simultanément envoi des groupes de pixels non consécutifs (sortie simultanée de deux lignes, l'une de pixels pairs, l'autre de pixels impairs; ou alternance de pixels pairs et impairs). La puce VIA reconstitue, en mémoire et en temps réel, ces données de pixels non consécutifs provenant de ce type de caméra. Le multiplexage temporel de l'acquisition par caméras RVB à balayage linéaire exige aussi un reformatage à la volée. La puce VIA permet au processeur C80 de renoncer à la reconstitution des données et de se concentrer sur leur traitement.
Une des caractéristiques très recherchée dans le traitement d'image haut de gamme est l'affichage en temps réel des images saisies et traitées; afin d'atteindre ce but, la carte mère offre un module d'affichage qui comporte une deuxième puce VIA. Les données de l'image sont transférées du noyau de traitement au module d'affichage par le bus VM. Le VIA supplémentaire écrit en mémoire WRAM, une mémoire tampon pour l'affichage, et détermine, par des opérations de sous-échantillonnage, de zoom et de chaînage, quels pixels seront écrits en mémoire. Comme le VIA contrôle le débit de la mémoire vers le convertisseur RAMDAC et qu'elle génère des signaux d'horloge, etc., le processeur C80 ne sera pas sollicité pour gérer l'affichage.
Non seulement l'utilisation d'une interface ASIC a-t-elle optimisé la gestion des données lors de l'acquisition, du traitement et de l'affichage de celles-ci, mais elle a, de plus, permis de réunir ces trois fonctions majeures sur une même carte. Elle supplée au fonctionnement de plusieurs composants et assure une utilisation optimale des voies d'accès de la carte. Des solutions moins inspirées nous obligeraient à utiliser au moins deux cartes pour supporter ces trois fonctions, situation qui causerait des embouteillages, notamment si le bus PCI était utilisé pour effectuer le transfert des données de l'image du module d'acquisition à l'unité de traitement ou au module d'affichage.
Intel a conçu des ensembles de puces tels Triton et Natoma afin que les concepteurs de systèmes puissent tirer plein avantage de la puissance des ordinateurs Pentium et Pentium Pro. Dans le même esprit, Matrox a conçu la puce VIA pour exploiter à son maximum la puissance de traitement du processeur C80 et de l'appliquer au traitement d'image. Cette puce possède toutes les caractéristiques pour satisfaire aux besoins d'interface d'un sous-système d'imagerie qui offre des fonctions d'acquisition, de traitement et d'affichage de vidéo rapide, en temps réel.
Haut de page
Plan du Site Contactez-Nous Procédures E-mail Matrox