Les processeurs RISC pour échiquiers

Au début, nous pouvions classer les microprocesseurs commerciaux en quatre catégories : mono-puce, 8 bits, 16 bits et 32 bits. Le microprocesseur mono-puce par excellence était le 6301Y, avec des registres sur 8 bits et une fréquence d’horloge typique de 8 MHz. Les 8 bits haut de gamme étaient équipés du processeur 6502 utilisant différentes fréquences, la plus courante étant 5 MHz. Les modèles les plus rapides fonctionnaient à 10 MHz et, s’ils étaient équipés du Turbo Kit, ils atteignaient 16/18/20 MHz. Le microprocesseur 16 bits par excellence était le Motorola 68000, qui atteignait des fréquences de 20 MHz. Les 32 bits étaient basés sur le Motorola 68020 à 12, 16 et 20 MHz. Mon Fidelity Designer 2325 Master est poussé à 24 MHz. Plus tard, lorsque les prix l’ont permis, des échiquiers ont été équipé avec les Motorola 68030 et 68040, mais leur prix de vente élevé a placé ces machines hors de portée de la plupart des fans.

En 1990, la société TASC BV a commencé à travailler sur un produit basé sur la technologie RISC, sous forme d’une carte ISA pour les PC compatibles IBM. Plus tard, il a été mis en vente en tant qu’échiquier dédié avec plateau auto-répondeur en bois. Les processeurs RISC utilisent un très petit jeu d’instructions qui permet une exécution plus rapide et plus efficace que les jeux d’instructions complexes du Motorola 680×0 et Intel 80×86. TASC a opté pour le modèle ARM2, qui tournait initialement à 14 MHz. Ce processeur proposait une puissance de calcul similaire à celle d’un 68020 / 20MHz mais à moindre coût. Sa puissance de calcul est estimée à 4 MIPS (millions d’instructions par seconde) ce qui équivaut à un 68020 / 20Mhz ou un 80386 / 33MHz. Plus tard, une version de l’ARM2 à 32 MHz a été utilisée, d’une puissance de calcul supérieure à un 68030 / 20MHz mais avec une différence de prix encore plus grande que le cas précédent.

A cette période, le couple Spracklen (auteur des programmes Fidelity Electronics) préparait un modèle basé sur le processeur Sun Sparc pour la firme Saitek. Jusque-là, ils avaient travaillé avec les 6502 et 680×0, mais avaient décidé de se lancer dans ce qui semblait être la tendance à venir.

Ensuite, l’entreprise Saitek a introduit des processeurs très intéressants sur des échiquiers aux performances assez bonnes avec un prix de vente très serré. C’étaient les modèles GK2000 et GK2100, un programme de Frans Morsch (auteur de Fritz) et le processeur Hitachi H8. Avant longtemps, Novag a également présenté son modèle Ruby avec le H8.

Hitachi propose une très large gamme de processeurs RISC hautes performances et économiques. Presque tous les échiquiers dédiés actuellement en vente ont un processeur Hitachi. Tous sont RISC et certains du type connu sous le nom de “single chip” (mono-puce). Un seul circuit intégré prend en charge l’écran LCD, contient la RAM (pour les tables de transposition), les entrées sorties etc. Ceci contraste avec l’ancienne architecture où différentes puces se chargeaient de la ROM, RAM, du calcul, du LCD, du clavier. La clé est que le H8 intègre la ROM, la RAM, le contrôleur LCD, l’interface avec la RAM externe et la SDRAM, et de nombreux autres éléments nécessaires à la mise en œuvre de tout micro-ordinateur. De plus, le câblage et les conceptions complexes sont éliminés, ce qui réduit les coûts. Un autre avantage est que les temps d’accès à la mémoire diminuent considérablement.

En plus du H8, Hitachi propose la famille SuperH (SH) 32 et 64 bits avec des performances vraiment élevées, atteignant 360 MIPS pour certains modèles. Par exemple, la console Sega Dreamcast contient l’un de ces processeurs SH haut de gamme pour offrir les graphismes et la vitesse de traitement nécessaire. 

Hitachi H8

La famille H8 est divisée en 2 sous-familles:

8 bits H8

Hitachi H8 / 300L : processeur 8 bits compatible avec le cœur de la série H8 / 300 mais à basse tension et faible consommation. Il adresse jusqu’à 64 Ko de mémoire. C’est le modèle le plus basique et le moins performant de la famille. Sa vitesse maximale est de 5 MHz à 5V ou 2,5 MHz à 3V, bien que le H8 / 3644 supporte également 5 MHz à 3V. Il intègre 8, 12, 16, 24 ou 32 Ko de ROM et 0,5 ou 1 Ko de RAM.

Hitachi H8 / 300: C’est le modèle le plus populaire de ce processeur. Il a un ensemble de 75 instructions à grande vitesse. C’est un processeur 8 bits qui peut fonctionner à 10 MHz (3V) ou à 16 MHz (5V). Il est capable d’adresser jusqu’à 64 Ko de mémoire externe et intègre 1 ou 2 Ko de RAM selon les modèles (H8 / 3434 et H8 / 3437). Le H8 est un processeur qui peut fonctionner à 8 bits, 16 bits ou 32 bits selon le cas. Cette sous-famille ne prend pas en charge les registres 32 bits, mais elle prend en charge les registres 8 bits ou 16 bits. Le processeur a initialement 16 registres 8 bits qui peuvent être configurés comme 8 registres 16 bits. Ici, il est nécessaire de clarifier, puisque le H8 / 300 est vraiment un 8 bits qui prend en charge le traitement de certaines opérations en 16 bits. Par exemple, l’ajout de registres se fait en 8 ou 16 bits, la multiplication des registres uniquement en 8 bits et la division doit être de la forme “Registre 16 bits entre registres 8 bits “. Avec cela, il est possible d’avoir un processeur plus performant qu’un pur 8 bits, mais à un coût très faible. Il intègre une mémoire ROM (Flash ROM, PROM ou Masked ROM) jusqu’à 60 Ko (32 ou 60 s’il s’agit du H8 / 3434 ou du H8 / 3437).

Hitachi H8S / 2100 : Cette sous-famille est caractérisée par l’intégration de 128 Ko de ROM Flash et 4 Ko de RAM. Il appartient vraiment à la sous-famille H8S 16 bits, mais 2 modèles ont été adaptés pour traiter le code 8 bits. Pour cette raison, il dispose de fonctionnalités plus avancées que les séries H8 / 300L et H8 / 300. Il dispose d’un bus de données externe 8/16 bits et fonctionne à 20 MHz ou 10 Mhz selon la tension de 5 ou 3 V. Il intègre également la prise en charge de la communication infrarouge (IrDA 1.0) et est capable d’adresser jusqu’à 16 Mo de RAM externe.

16 bits H8

H8 / 300H : Cette sous-famille possède des processeurs à 16, 17 et 18 MHz à 5V ou 10 et 13 MHz à 3V. Il existe des modèles sans ROM intégrée (H8 / 3001-5) prêts à gérer la mémoire externe via des interfaces EPROM, DRAM ou SRAM; mais avec 4,2 ou 0,5 Ko de RAM interne. D’autres modèles intègrent 16, 32, 48, 64, 96, 128 ou 256 Ko de ROM sur la puce, en plus de 4, 2 ou 0,5 Ko de RAM. Ils adressent jusqu’à 16 Mo de RAM externe. Cette sous-famille prend en charge certaines opérations arithmétiques 32 bits, mais elle ne peut pas être considérée comme un processeur 32 bits car elle ne peut pas traiter le code 32 bits, seulement 16 bits. Comme le H8 / 300, le H8 / 300H peut également traiter certaines instructions 8 bits.

H8S / 2000 : C’est la sous-famille la plus performante de la série H8. Il intègre 32, 64 ou 128 Ko de ROM et 2, 4 et 8 Ko de RAM selon le modèle. Sa fréquence de traitement est de 20 MHz à 5V et de 10/13 MHz à 3V. Les autres fonctionnalités sont identiques à celles de la série H8 / 300H, à l’exception des interfaces de mémoire externe, les suivantes étant prises en charge: EPROM, Burst ROM, SRAM et DRAM. 

HITACHI SH7xxx

La série SuperH est apparue en 1993 dans la famille SH-1. En 1994, les familles SH-2 et SH-3 sont apparues. Plus tard, la série a été complétée avec les variantes SH-3E et SH-DSP. À ce stade, Hitachi a signé un accord de coopération technologique avec ST Microelectronics. De cette alliance, la famille SH-4 est née en 1996 et, très récemment, en 1999, la SH-5. Toutes les familles, à l’exception du nouveau SH-5, sont des processeurs RISC 32 bits

SH-1 : Cette famille comprend tous les modèles de type SH70xx. Ce sont des processeurs 32 bits capables d’exécuter une instruction complète par cycle d’horloge. La série SH-1 peut fonctionner à 20 Mhz (5 V) ou 12,5 MHz (3,3 V), soit 20 et 12,5 MIPS respectivement. Tous les modèles incluent un jeu d’instructions RISC optimisé pour le langage C. Tous les modèles sont fabriqués à l’aide de la technologie 0,8 micron et peuvent adresser jusqu’à 32 Mo de mémoire externe. Il existe 8 versions, mais voyons les principales:

SH7020: intègre 16 Ko de ROM et 1 Ko de RAM. Unité de multiplication et d’accumulation matérielle 16 bits, un bus interne 32 bits et externe 16 bits. Le jeu d’instructions est sur 16 bits fixes et optimisées pour le langage C. Il prend en charge l’accès à la mémoire externe PSRAM, DRAM, ROM et l’interface d’entrée sortie périphériques.

SH7021: Identique au modèle précédent à l’exception de l’intégration d’une ROM / EPROM de 32 Ko.

SH7032: Il n’intègre pas de ROM, mais la RAM a été augmentée à 8 Koctets. Il a des bus en 32 bits internes et externes. Il intègre également une unité de multiplication et d’accumulation capable d’effectuer l’opération en 2-3 cycles d’horloge et prend en charge la mémoire externe de type PSRAM, DRAM, ROM et les E / S périphériques.

SH7034: Mêmes caractéristiques que le modèle précédent à l’exception de la quantité de mémoire intégrée. Il a 64 Ko de ROM et 4 Ko de RAM. Ce processeur est celui incorporé dans les modèles Mephisto Milano Pro, Senator, Atlanta et Magellan.

SH-2 : Pour augmenter les performances, Hitachi a ajouté une unité de multiplication et d’accumulation 32 bits avec une unité de division. Il existe 19 versions au total, 16 normales et 3 avec puce DSP (traitement du signal numérique). Ils intègrent jusqu’à 512 Ko de Flash ROM, peuvent adresser jusqu’à 128 Mo de RAM et il existe des versions avec un cache de 4Ko pour les instructions et les données. Ils sont fabriqués avec une gravure de 0,8 micron et fonctionnent à 5V et 3,3V avec des fréquences de 16, 20, 18, 33 et 66 MHz, traitant entre 20 et 78 MIPS. Les versions SH-DSP intègrent jusqu’à 256 Ko de Flash ROM et une unité DSP 16 bits.

SH-3 : Cette famille comprend 8 modèles au total, dont un SH3-DSP. Ils sont gravés à 0,5 micron. Ils ont jusqu’à 16 Ko de cache et un bus pour les données externes sur 8/16/32 bits. Ils peuvent adresser jusqu’à 448 Mo de mémoire externe. Il dispose d’une unité de multiplication et d’accumulation de 32 bits, d’une unité de gestion de mémoire, d’une gestion dynamique de la consommation et d’une horloge en temps réel. Les fréquences sont de 45, 60, 66, 100 et 133 MHz obtenant des performances comprises entre 45 et 178 MIPS selon les versions. Prend en charge PCMCIA, IrDA 1.0, les interfaces SmartCard et les interfaces série JTAG et PLL. La version SH3-DSP fonctionne à 66/133 MHz et comprend 16 Ko de cache et une unité DSP 16 bits. Il est capable de 168 MIPS.

SH-4: Il s’agit de la famille la plus moderne de la série SuperH, fabriquée avec la technologie 0,35 micron et fonctionne à 1,8 V. Il existe deux versions avec 16 Ko de cache pour les données plus 8 Ko pour les instructions, un bus de données externe 64/32/16/8 bits, un espace d’adressage mémoire externe de 2 Go et une unité de multiplication et d’accumulation de 32 bits. Il fonctionne à 167 et 200 MHz et dispose d’une nouvelle unité de calcul en virgule flottante avec des graphiques vectoriels 128 bits optimisés pour le calcul 3D. Cette unité atteint 7 millions de polygones par seconde. Le SH-4 atteint 360 MIPS. Ce processeur est ce qui équipe le Sega Dreamcast. Ce serait bien de voir un Magellan ou un Sapphire II fonctionner avec ce processeur. Le SH-4 prend en charge les mémoires ROM, SRAM, DRAM, SDRAM pour accéder à la mémoire externe. Il prend également en charge la connexion de cartes PCI.

SH-5 : fabriqué en utilisant la technologie du cuivre à 0,15 microns et une tension de base de 1,5 V. Il fonctionne à 400 MHz et traite entre 700 et 1000 MIPS. La famille SH-5 a un cœur 64 bits, une unité multimédia 64 bits avec instructions SIMD (compatible Pentium III), 32 Ko de cache de données, 32 Ko de cache d’instructions, une unité de gestion de mémoire, une unité de mémoire, un calculateur en virgule flottante de 128 bits.

Après avoir vu ses fonctionnalités, il suffit d’ajouter qu’Hitachi garantit une compatibilité “ascendante” entre les codes programmés pour n’importe quel SH7xxx, ce qui est une excellente nouvelle. Les processeurs Hitachi dominent aujourd’hui le marché des microprocesseurs dédiés. La raison doit être strictement économique. Le prix d’un SH-4 à 200 MHz est de 40 $ US à partir de 10 000 unités. Que coûte un SH-1 comme celui que Saitek utilise dans ses modèles ? Pourquoi les fabricants ne nous ont-ils pas plus gâtés? Ils utilisent un processeur de 1993 alors qu’il y a des processeurs plus puissants sur le marché et compatibles avec celui déjà utilisé, pour un surcoût très faible que, j’en suis sûr, les fans paieraient volontiers. Ensuite, nous avons le cas Novag. Pourquoi utiliser toujours des H8 dans les principaux modèles, alors que la série SH donnerait à nos échiquiers plus de puissance de calcul? Bref, les mystères de la stratégie produit…

En plus de Hitachi, il existe un autre fabricant qui opte pour le marché des processeurs RISC à faible coût. Ce n’est nul autre qu’Intel.  Intel disposait de deux gammes de processeurs: le i960 et le StrongARM. Ils sont tous deux très puissants dans leurs domaines respectifs. Examinons ces familles de processeurs un peu plus en détail.

Intel i960

Le 80960, connu sous le nom de i960, est un processeur RISC 32 bits orienté pour effectuer des tâches d’E / S et décharger les processeurs principaux, ou pour effectuer toute tâche qui pourrait être mise en service sur un processeur RISC à faible coût. Son prix moyen était  d’environ 7 $ US à partir de 10 000 unités. Dans la famille i960, nous trouvons les modèles suivants: 80960CA, 80960CF, 80960JA, 80960JF, 80960JD, 80960JT, 80960HA, 80960HD et 80960HT. Il y en a d’autres, mais ceux mentionnés sont les plus représentatifs. 

i960CA : Il tourne à 33 MHz, intègre 1 Ko de RAM, 1 Ko de cache pour les instructions, un cœur superscalaire et un bus externe de 33 MHz. Il dispose d’un bus démultiplexé et traite 6 MIPS.

i960CF : Il fonctionne à 40 MHz, a 1 Ko de cache pour les données et 4 Ko de cache pour les instructions. Il a un bus démultiplexé et un noyau superscalaire. 16 MIPS.

i960JA : a un cœur scalaire et des capacités de faible consommation. Il intègre 1 Ko de cache pour les données et 2 Ko de cache pour les instructions. Il fonctionne à 33 MHz et traite 10 MIPS.

i960JF : identique au modèle précédent sauf pour la mémoire cache, qui est de 4 Ko pour les instructions et de 2 Ko pour les données. Traite 12 MIPS.

i960JD : identique à i960JF mais fonctionne à 66 MHz. Il traite 18 MIPS.

i960JT : identique à i960JD mais augmente le cache à 16 Ko pour les instructions et 8 Ko pour les données. De plus, sa vitesse est portée à 100 MHz et traite 30 MIPS.

i960HA : Ce modèle a 16 Ko de cache pour les instructions, 8 Ko pour les données, un bus démultiplexé et un noyau superscalaire. Il fonctionne à 40 MHz et traite jusqu’à 50 MIPS.

i960HD : identique à i960HA mais fonctionne à 66 MHz. Traite jusqu’à 100 MIPS.

i960HT : identique à i960HD mais fonctionne à 100 MHz. Traite jusqu’à 166 MIPS.

i960RN : version 64 bits du i960. Il fonctionne à 100 Mhz. Il s’agit d’un i960JT 100 MHz avec un bus interne de 64 bits à 66 MHz. Il est capable de déplacer des données en mémoire à 528 Mbps. Il gère la SDRAM à 66 MHz jusqu’à 128 Moctets. Utilisation optimale pour le RAID matériel.

Intel StrongARM

Cette série de processeurs offre de très hautes performances tout en conservant un faible coût d’acquisition et une faible consommation d’énergie. 

SA-110 : C’est la première famille de la série StrongARM. Il dispose de 16 Ko de cache pour les instructions et de 16 Ko pour les données, ainsi que de 8 tampons d’écriture. Il intègre une unité de gestion de la mémoire, selon le modèle, 4/16/1024 Ko. Il prend en charge 2 modes de gestion de l’alimentation et fonctionne à 100/160/166/200/233 MHz en traitant respectivement 115/185/192/230/268 MIPS. Il est entièrement compatible avec toutes les applications et tous les systèmes d’exploitation développés pour les processeurs ARM précédents.

SA-1100 : Intègre 16 Ko de cache pour les instructions et 8 Ko pour les données, 4 tampons de lecture, 8 tampons d’écriture, unité de gestion de la mémoire, 3 modes de gestion de l’alimentation et fonctionne à 133 et 190 MHz. Il produit respectivement 150 et 220 MIPS. Prend en charge la mémoire externe via ROM, Flash ROM / RAM, SRAM et DRAM. Il intègre également la prise en charge de 2 sockets PCMCIA. Il peut adresser, selon la version, 4/64/1024 Mo de mémoire externe. Il existe 2 versions qui n’intègrent pas les modes d’économie d’énergie et qui tournent à 160 et 220 MHz. Leurs performances passent respectivement à 180 et 250 MIPS.

SA-1110 : intègre 16 Ko de cache pour les instructions et 8 Ko pour les données, une unité de gestion de mémoire comme le SA-1100, 8 tampons d’écriture et 4 tampons de lecture. Mappe 4/64/1024 Ko de RAM sur le bus mémoire compatible avec ROM, SMROM, Flash ROM / RAM, SRAM, SRAM-like avec E / S à latence variable, DRAM et SDRAM. Il comprend également un contrôleur LCD couleur / niveaux de gris, plusieurs canaux de communication série, la prise en charge de jusqu’à 2 prises PCMCIA et des ports d’E / S à usage général. Il fonctionne à 133 et 206 MHz pour obtenir des performances de 150 et 235 MIPS respectivement.

Pour finir, voyons une petite comparaison des performances entre les différents processeurs.

6502 5 MHz

1.6 MIPS

68020 20 MHz

4 MIPS

68 030 33 MHz

11,9 MIPS

68030 50 MHz

18 MIPS

68040 40 MHz

44 MIPS

68060 66 MHz

94 MIPS

68060 77 MHz

110 MIPS

Basilisk II 0.9 JIT Pentium III Tualatin 1,26 GHz 512 Ko de cache
~ 68030 1025 MHz

369 MIPS

i80386 33 MHz

4 MIPS

ARM2 14 MHz

4 MIPS

i960

6 à 166 MIPS

Sun Sparc 20 MHz

7 MIPS

78 000 20 MHz

20 MIPS

88 000

17 à 135 MIPS

H8

5 à 10 MIPS

SH7034 20 MHz (SH-1)

20 MIPS

SH7xxx (SH-2/3/4)

37 à 360 MIPS

i80486 100 MHz

30 MIPS

Pentium 200 MMX

52 MIPS

StrongARM

115 à 268 MIPS

K6-2 300 MHz

110 MIPS