Next: Perspectives Up: Les microprocesseurs MIPS Previous: Les processeurs MIPS

Le développement de systèmes à base de processeurs MIPS

Après avoir étudié les processeurs qui ont imposé MIPS sur le marché des RISC, nous abordons dans cette partie quelques uns des processeurs dérivés de ces architectures.

Les principaux systèmes sont bâtis autour des architectures R3000 et R4000, le R8000 étant trop récent pour avoir été déjà sujet à des modifications.

Initialement utilisée dans des stations de travail, des serveurs et des systèmes tolérants aux fautes, la famille de processeurs MIPS couvre également un large spectre d'applications. Principal marché : les applications embarquées. MIPS met en pratique une stratégie commerciale par le biais de licences qui permettent à ses partenaires de développer des produits destinés à des applications enfouies. Voici une liste non exhaustive de fondeurs de processeurs d'architecture MIPS :

Il va de soi que ce chapitre ne constitue pas une liste cpmplète de l'ensemble des processeurs développés à partir de cette architecture, mais il permet de prendre conscience de la large utilisation des systèmes à base de processeurs MIPS dans un grand nombre d'applications enfouies.

Processeurs dérivés du MIPS R3000

L'architecture MIPS dispose d'atouts la rendant intéressante pour le marché des systèmes embarqués : de grands caches d'instructions et de données, des unités flottantes optionnelles et des tampons d'écritures. Par ailleurs, l'unité de gestion de la mémoire facilite la protection sur beaucoup de systèmes d'exploitation temps réels.

Le R3081

Bien que ce processeur soit relativement ancien, il connaît encore de nouvelles mises à jour qui lui permettent d'être encore présent sur le marché des systèmes embarqués.

Annoncé en janvier 1992 par IDT, ce processeur fait suite aux modèles R3051 et R3052 d'entrée de gamme commercialisés en 1991. Ce nouveau composant vise deux marchés distincts : les applications embarquées de hautes performances et les systèmes ACE/ARC d'entrée de gammeACE/ARC. Il inclut une unité flottante, de grands caches et des caractéristiques qui facilitent son intégration dans les systèmes.

Configuration des caches.

Le R3081 a un cache d'instructions de 16 Ko et un cache de données de 4 Ko. Les caches peuvent également être configurés de manière à accueillir chacun 8 Ko d'instructions et de données ce qui permet un partitionnement efficace en fonction du type d'applications. (Cette configuration peut également être changée dynamiquement, mais nécessite bien évidemment que les caches soient vidés).

Le chargement du cache de données est configurable de 1 à 4 mots et une parité a également été rajoutée. De même que le R3051, ce processeur inclut des tampons de lecture/écriture de 4 mots chacun.

Caractéristiques technologiques.

Ce processeur est proposé à la fréquence 20, 25, 33 et 40 MHz et une version à 50 MHz est également prévue. La fréquence interne d'entrée peut être configurée de manière à faciliter le remplacement du R3051 directement par ce composant.

Par ailleurs, comme la plupart des processeurs destinés au marché embarqué, il inclut des fonctionnalités qui lui permettent de réduire sa consommation (mode de réduction de puissance sous lequel la fréquence interne est divisée par 16. La consommation passe alors de 900 mA à 250 mA).

L'interface bus a été modifiée pour permettre à un bus externe maître d'invalider des lignes de cache sélectionnées. Cependant, la logique d'espionnage de bus (bus snooping) reste limitée (le composant externe doit préciser les lignes de caches à invalider).

Le tableau reprend les principales caractéristiques des processeurs embarqués de la catégorie du R3081. Le concurrent direct de ce processeur est le Performance Semiconductor PIPER (1991) qui est le seul composant à inclure également une unité flottante.

R3071 et R3071E

Annoncés par IDT en juillet 1994, ces deux produits issus de la famille des processeurs R3000 sont typiquement des versions du R3081 avec les performances flottantes en moins. Ils sont spécialement destinés aux marchés des réseaux et autres applications nécessitant de grands caches (20 Ko au total) avec des performances flottantes moindres. Le E indique une version avec unité de gestion mémoire (MMU). Ces deux composants sont proposés aux fréquences de 33, 40 et 50 MHz, les prix s'échelonnant de $75à $118.

Le R3900

Annoncé en février 1995, ce processeur constitue une interprétation de l'architecture MIPS par Toshiba. Appelé le R3900, pour indiquer la proximité de ses performances avec celles du R4000, il vise directement le marché des applications embarquées hautes performances. Ce processeur est conçu sur le jeux d'instructions MIPS I et sur les registres 32 bits du R3000 mais il en améliore les performances grâce à une gestion matérielle des interblocages (register scoreboarding) et un multiplieur rapide qui effectue une multiplication-addition (32x32) en 2 cycles.

Le jeu d'instructions du R3900 est en fait un hybride entre les définitions des jeux d'instructions MIPS I et MIPS II. Il implémente toutes les instructions standard du jeu d'instructions MIPS I à l'exception des opérations de lecture/écriture du coprocesseur, plus des améliorations vues pour la première fois sur le R4000, plus quelques ajouts effectués par Toshiba.

Ce processeur supporte une prédiction statique avec des instructions du style Branch likely définie dans l'architecture MIPS II. L'utilisation d'un mécanisme de scoreboarding, unique sur ce type de composant à base de R3000, évite des gels du pipeline quand il n'y a aucune dépendance entre des instructions consécutives.

Le cache d'instructions optionnel est à correspondance directe et a une taille de 4 Ko. Il est non verrouillable (bien que cette caractéristique soit quelquefois souhaitée par des programmeurs temps réels pour conserver certaines fonctions fréquemment sollicitées par l'application).

Le cache de données est associatif par ensemble à deux voies et supporte un verrouillage par ligne. Sa capacité est de 1 Ko et il est à écriture simultanée (choix logique pour la plupart des systèmes embarqués).

L'interface externe a été conçue de manière à faciliter son intégration dans les systèmes. Les bus de 32 bits d'adresses et de données sont séparés et une logique de contrôle pour maintenir la cohérence au sein du cache est également implémentée (cache snoop control). Le remplissage du cache peut se faire sous un mode rafale configurable de 16 à 128 octets.

Caractéristiques technologiques.

Construit en technologie à 0.6 m avec deux couches de métal, le coeur du processeur occupe une surface de 15 sans les caches. Le fait de rajouter les 5 Ko de cache double presque la surface de la puce (26 ). La tension d'alimentation varie de 1.8 à 3.3 V maximum avec des fréquences de fonctionnement respectives de 15 à 50 MHz. La consommation maximale est de 550 mW, et peut-être quasiment diminuée de moitié pour des fréquences de fonctionnement moindres.

Conditionnement commercial.

Toshiba commercialise ce processeur dans une version destinée aux applications enfouies. Sous le nom de R3901, ou encore Southern Cross, il englobe le coeur du R3900 avec les caches et ajoute un tampon de lecture/écriture, une unité de gestion de la mémoire (MMU), une unité de traçage et de mise au point temps réel ainsi qu'une interface bus.

Les caractéristiques de ce processeur le désignent tout particulièrement au marché des Personal Digital Assistant avec des performances de l'ordre de 52 Dhrystone.Dhrystone Actuellement le R3091 est sur le point d'être produit, la prochaine étape pour Toshiba étant un composant R4000PC de 15 Watt.

Divers

Nous présentons dans cette dernière partie quelques uns des systèmes construits autour de processeur R3000.

On peut citer par exemple le custom développé par LSI Logic destiné aux consoles de jeux. Ce custom est bâti autour d'un processeur R3000 séquencé à 33 MHz et combiné avec un coprocesseur graphique, une logique de décompression vidéo et une interface facilitant son intégration dans des systèmes à faible coût. Ce custom fabriqué en technologie 0.5 m contient environ un million de transistors.

L'année 1993 a également été particulièrement faste en annonce de processeurs embarqués à base de R3000. En mars, NEC a introduit le VR3800. Ce composant inclut des caches d'instructions et de données internes et un générateur d'horloge. Disponible à des fréquences pouvant aller de 16 à 25 MHz, son prix varie de $40à $49.

En juin, LSI a annoncé une mise à jour de son LR33020 destiné aux terminaux-X. Le LR33120 combine un coeur R3000, un contrôleur vidéo et des entrées/sorties spécialisées.

En octobre, Sony et HDL ont détaillé leur système à base de R3000. Ils utilisent tous deux une approche différente. Le R3100 est un custom spécialement adapté aux besoins de Sony, alors que celui de HDL utilise un modèle de synthèse afin de créer un circuit adapté aux besoins spécifiques des clients et à divers procédés de fabrication. Seul le noyau RISC du R3000 est conservé (pipelines, registres et génération des adresses), le reste étant totalement configurable (présence de caches, capacité en mémoire, multiplieur/diviseur, multiplieur-accumulateur, etc...).

Processeurs dérivés du MIPS R4000

De même que dans le cas des processeurs à base de R3000, le MIPS R4000 est à l'origine de toute une gamme de processeurs destinés au marché des systèmes embarqués hautes performances, des stations de travail ou encore des PCs. Nous essayerons dans cette partie de donner un aperçu de cette gamme à travers la présentation de trois processeurs.

Le R4400

Commercialisé à partir du premier trimestre 1993, ce processeur est le successeur du R4000. Également disponible en trois versions : le R4400PC (cache primaire seulement), le R4400SC (avec interface cache secondaire) et le R4400MC (pour systèmes multiprocesseurs), ce processeur initialement proposé à une fréquence interne de 150 MHz (75 externe), atteignait 250 MHz en juin 1995.

Implémenté dans une technologie à 0.6 m à deux couches de métal, sa consommation est de 20 W et 10 W pour des tensions d'alimentation respectives de 5 V et 3.3 V.

Du point de vue de son architecture, ce processeur est sensiblement identique au R4000, les principales différences étant l'ajout d'un tampon d'écriture supplémentaire dans le but d'améliorer les performances graphiques et le doublement de la taille des caches (32 Ko au total), en plus de l'augmentation de l'horloge interne.

Commercialisé par l'ensemble des partenaires de MIPS, le R4400 offre de 60 à 80%de performances supplémentaires

Le R4600

Ce processeur est issue d'un projet lancé à l'origine par IDT, puis repris par Quantum Effect Design (QED), une petite firme fondée par d'anciens employés de MIPS dont l'objectif était de développer des processeurs MIPS à faible coût pour des systèmes desktop bon marché, et plus particulièrement ceux destinés à Windows NT.

Ce composant a été échantillonné en 1993 et commercialisé en 1994. Également connu sous le nom de Orion, ce processeur est compatible avec le R4000PC au niveau logiciel et brochage. Cependant sa structure interne est différente. Ce processeur utilise un pipeline RISC à cinq étages semblable à celui du R3000 avec un minimum de pénalité. Cette simplicité a permis de réduire le temps de conception ainsi que la surface occupée. Cette simplicité se retrouve également au niveau de l'absence de support pour un cache secondaire ou encore pour un système multiprocesseur. Ce processeur inclut 32 Ko de caches internes (associatif à deux voies) et est conçu pour fonctionner sous 3.3 V. Initialement annoncé à une fréquence de fonctionnement de 100 MHz, il est successivement passé à 133 puis 150 MHz (juillet 1994).

L'une des caractéristiques de ce processeur est également la mise hors tension de certaines unités fonctionnelles lorsqu'elles ne sont pas utilisées. Cette gestion dynamique permet de réduire de manière non négligeable la consommation.

Pour atteindre une haute fréquence d'horloge avec un pipeline plus simple, le processeur Orion tire partie du processus de fabrication d'IDT à 0.6 m avec trois couches de métal. Ce processeur a des performances équivalentes à celles d'un Pentium, et vise le marché des systèmes Windows NT. Le R4600 et son dérivé, le R4700, se sont également imposés dans les stations de travail bas de gamme de SGI.

Le R4300 et le R4200

Annoncé en mai 1995, le R4300, conçu par NEC, est un composant 64 bits bâti sur le design du R4200 avec un bus plus simple et des performances supérieures. Ce composant est destiné au domaine du jeu vidéo et a été choisi pour équiper les plate-formes Nintendo.

Une deuxième version de ce composant, nommé R4300i (i pour interactive) devrait voir le jour au cours du deuxième semestre 1995. Plus connue sous le nom de l'architecture multimédia de MIPS Magic Carpet, ce processeur a les performances brutes d'un Pentium à 60 MHz et est en outre optimisé pour le traitement d'image 3D et supporte la décompression MPEG2. Son prix de $35le destine à une très large diffusion. Silicon Graphics va l'utiliser pour les set top boxes destinés à la télévision interactive, mais d'autres sociétés se sont montrées également très intéressées (ATT, Samsung Electronics, Philips Electronics).

Présentation générale.

Ce nouveau composant n'est pas sans rappeler l'architecture du R4200. Ce dernier a été développé par MIPS Technologies Inc. (MTI) mais à la différence d'autres processeurs de MIPS, a été exclusivement fondu par NEC avec une période d'exclusivité de un an (qui a depuis expiré). Le R4300 a été également développé par MTI avec l'aide de NEC mais devrait théoriquement être disponible pour les autres licenciés de MIPS.

Les deux composants sont quasiment identiques à l'exception de leur interface bus externe, l'unité de multiplication et le procédé de fabrication.

Les chemins de données sont partagés entre les unités entière et flottante. Le R4200 a été le premier processeur à mettre en oeuvre cette technique qui permet d'économiser énormément de place en logique et routage mais sacrifie les performances entières et flottantes (par exemple, tout le CPU est gelé pendant les opérations flottantes à longues latences, soit jusqu'à 50 cycles). MTI a modifié le multiplieur combiné entier/flottant pour éviter ce problème sur le R4300. La nouvelle unité de multiplication exécute une multiplication de 32x32 bits en cinq cycles, que ce soit en entier ou en flottant. Les opérations double précision ou autres opérations 64 bits ont une latence de huit cycles.

Le R4300, comme le R4200, met en oeuvre un pipeline de cinq étages semblable à celui du R3000. Par ailleurs, la taille du cache d'instructions a été doublée par rapport au R4000 et est de 16 Ko, la taille du cache de données restant inchangée (8 Ko). Le R4200, comme le R4300, ne supporte pas de cache secondaire ni d'interface permettant son intégration dans des systèmes multiprocesseurs.

La structure du TLB reste inchangée, mais le nombre de ses entrées a été ramené de 48 (sur le R4000) à 32.

L'une des profondes modifications effectuées sur ce composant concerne le bus système externe. Dans le but de faciliter sa gestion, MIPS l'a divisé en deux bus de 32 bits et a ramené les signaux de contrôle à cinq bits. Cette nouvelle structure permet au R4300 de coexister avec d'autres maîtres, tels que des composants DMA.

Technologie.

Le R4300 est fabriqué selon la même procédé que le R4100 et le R4400 à 200 MHz, en utilisant une technologie à 0.35 m avec trois couches de métal. NEC teste actuellement le R4300 à 100 MHz avec une production prévue au mois de septembre 1995.

De même que l'ensemble des processeurs destinés au marché des systèmes enfouis, ce processeur dispose d'un mode de consommation réduite.

Le R4300 affiche des performances de 125 Dhrystone Dhrystonece qui le place non loin de ses concurrents (Intel 960, et le SH7708 d'Hitachi). Il améliore les performances entières du R4200 de 10%et les performances flottantes de 50%du fait de l'amélioration du multiplieur.

Divers

Nous présentons dans cette dernière partie quelques uns des processeurs à base de R4000. Comme on l'a vue précédemment, l'architecture de ces processeurs peut être très différente du processeur original mais reste cependant conforme au jeu d'instructions MIPS III.

Annoncé en novembre 1994, le R4650 est un dérivé de l'architecture Orion. Produit par IDT et NKK, Quantum Effect Design est à l'origine de ce nouveau processeur. Ce composant vise le marché des systèmes embarqués nécessitant des calculs intensifs : routeurs de réseaux, applications vidéo de compression et décompression et consoles de jeux haut de gamme. Ce processeur améliore la latence de la multiplication entière d'un facteur de quatre par rapport au R4000 et R4600. Il inclut par ailleurs de nouvelles instructions telles que :

Il est à noter cependant que les opérations flottantes double-précision ont été supprimées afin de gagner de la place. Ces instructions déclenchent une exception et sont émulées logiciellement. La structure des caches est la même que sur le R4600 (caches d'instructions et de données séparés, associatif à deux voies) avec cependant une possibilité de verrouillage par logiciel d'un des ensembles.

Par ailleurs, ce processeur abandonne le concept de gestion de la mémoire, jugé complexe et coûteux pour un système enfoui, et inclut plutôt une protection de la mémoire plus rudimentaire par l'intermédiaire d'un ensemble de registres frontières. Deux registres servent de frontière supérieure pour les instructions et les données. Si une adresse virtuelle est supérieure ou égale à la valeur contenue dans l'un de ces registres, une exception est générée.
Un deuxième processeur, le R4700, a également été annoncé en octobre 1994 par IDT. Ce processeur constitue également une nouvelle version du R4600 destinée aux stations de travail d'entrée et de milieu de gamme. Ce nouveau composant améliore les performances flottantes d'environ 20%grâce à l'amélioration du multiplieur flottant. Il devrait délivrer 87.5 Mflops à 175 MHz grâce à l'utilisation d'une technologie CMOS à 0.6 m au lieu des 0.64 m utilisés pour le R4600.
Dernier processeur annoncé par NEC en mars 95, le R4100 est destiné au marché des Personal Digital Assistant grâce à sa faible consommation et à ses performances. Il inclut une instruction de multiplication-addition et délivre 45 Dhrystone Dhrystone à 40 MHz. Le R4100 sera vendu exclusivement par NEC.

Ce processeur est issu du R4200 avec des améliorations qui le prédestinent à des applications enfouies où les critères de consommations sont vitaux. Alimenté sous 3.3 V, sa consommation est de 120 mW (à une fréquence de 40 MHz). Descendre sa tension à 2.2 V fait décroître sa fréquence à 20 MHz et sa consommation à 27 mW. Comme la plupart des processeurs embarqués, il dispose de plusieurs modes de fonctionnement en consommation réduite :

Ces deux modes permettent de réduire de 90 et 95%la consommation, une quelconque interruption externe permettant de rétablir un fonctionnement normal en quelques cycles. Un mode hibernation permet par ailleurs de mettre en veille le processeur, une intervention matérielle étant alors nécessaire pour le relancer (hard reset).

Ce processeur a une architecture 64 bits. Il supporte le jeu d'instructions MIPS III et inclut également une nouvelle instruction de multiplication-addition de type () utile pour des applications audio et vidéo.

Ce processeur inclut des caches d'instructions et de données de 2 Ko et de 1 Ko à correspondance directe et à écriture différée. Il devrait être réalisé en technologie CMOS à 0.5 m avec trois couches de métal.



Next: Perspectives Up: Les microprocesseurs MIPS Previous: Les processeurs MIPS


flloansi@IRISA.irisa.fr
Fri Jun 7 11:05:24 MET DST 1996