Stretch : un CPU à jeu d'instructions variable

Vendredi 30 avril 2004 à 05:22 par Gregory Pakosz
Source: Présence PC
25 commentaires
Une petite startup du nom de Stretch vient d'annoncer son nouveau concept de CPU, le S5000. Celui-ci aurait la particularité d'intégrer une logique programmable dans le moteur, et ainsi de modifier à la volée le jeu d’instructions qu’il supporte.

Concrètement, les CPU de la famille S5000 se présentent comme l'association d'un processeur RISC (jeu d'instruction réduit - le CPU ne peut réaliser que des opérations simples, à l'instar des processeurs grand public actuels) avec un ISEF (Instruction Set Extension Fabric). L'ISEF est donc un chemin de données basé sur la logique programmable Stretch, et est configurable de manière logicielle. En clair, l'ISEF permet donc d'étendre le jeu d'instructions du processeur, et de définir les nouvelles instructions en utilisant du code C/C++ (langage de programmation dit 'de haut niveau', de par l'abstraction qu'il offre par rapport aux spécificités du processeur).


Ainsi, le S5000 se donne pour but de délivrer des performances et une différenciation possible similaire à celles des FPGA et autres ASIC, sans le processus de design complexe (simplicité d'utilisation du C/C++). De ce fait, l'ISEF est capable d'exécuter en une seule instruction ce qui aurait pris plusieurs instructions (donc cycles) sur l'unité arithmétique et logique (ALU) d'un CPU RISC traditionnel. L'ISEF est par exemple capable d'exécuter des instructions comme le redimensionnement de l'image, ou l'algorithme TripleDES (qui applique par trois fois l'algorithme de cryptage DES sur des données).

Pour rentrer dans les considérations d'ordre physique, ces CPU seront cadencés de 250 MHz à 300 MHz. Ils peuvent traiter des instructions 16 bits et 24 bits, et intègrent l'unité arithmétique et logique (ALU), l'unité de virgule flottante (FPU) et l'unité de gestion de la mémoire (MMU avec Translation Look-aside Buffer). Ils intègrent également le contrôleur de mémoire (DDR 333 ou 400 MHz), 64 Ko de cache (32 Ko D-cache + 32 Ko I-cache) ainsi que 256 Ko de SRAM. La disponibilité s'échelonne de juillet à novembre, et la cible reste des secteurs bien particuliers comme l'équipement médical ou le matériel militaire. Le prix variera de 35 $ à 100 $.



Réagissez ! Retour à la liste des news
Publicité
Commentaires
ganjo 30/04/2004 07:52
Masquer
-0+
ganjo

Juste : le des cest pas de la compression mais du chiffrement

Polio 30/04/2004 11:19
Masquer
-0+
Polio

De loin cela ressemble a un CPU accole a une tuile de logique programmable.

Faut voir si ce genre de produit arrive a se trouver une place dans le marche entre les solutions FPGA + processeur (en hard ou soft) ou FPGA + DSP. :o

tommy31 30/04/2004 11:57
Masquer
-0+
tommy31

L'intérêt de cette news serait de savoir si c'est un nouveau CPU pour grand public, moins cher, plus efficace, "à géométrie variable" pour s'adapter aux applications, consommant très peu, peu polluant mais apparemment c'est réservé à une niche et il ne remplit pas toutes ces conditions.

Le cpu dont je parle n'est pas encore né : un mix de K8+P4+Tansmeta+Via
:lol: et ce ne serait pas encore ça.

Patch 30/04/2004 12:33
Masquer
-0+
Patch

ca fait quand même pas mal penser au Crusoe ce proc

cgsyanick 30/04/2004 13:15
Masquer
-0+
cgsyanick

Patch a écrit :

ca fait quand même pas mal penser au Crusoe ce proc




Exactement [:xam]
A la limite un peu plus souple encore...

le mogwai 30/04/2004 13:17
Masquer
-0+
le mogwai

Patch a écrit :

ca fait quand même pas mal penser au Crusoe ce proc



Aucun rapport. Le crusoe fonctionne sur le principe d'un traducteur de VLIW

fg03 30/04/2004 13:18
Masquer
-0+
fg03

Concretement est-ce qu'avec ce genre de CPU, si ca venait a se democratiser, peut-on imaginer charger des profiles genre
prifile jeux 3D pour optimiser son PC quand on joue a unseu type FPS ?
chargement profil PAO si on veut faire de la PAO, etc...
Ce serait l'idéal, sachant que les PC grands publics sont voué a être polyvalents

cgsyanick 30/04/2004 13:19
Masquer
-0+
cgsyanick

le mogwai a écrit :

Aucun rapport. Le crusoe fonctionne sur le principe d'un traducteur de VLIW




C'est justement le Code Morphing que j'ai l'impression de retrouver ici, mais à un niveau encore plus haut que sur les Crusoe (plus loin du language machine j'entends).

le mogwai 30/04/2004 13:38
Masquer
-0+
le mogwai

fg03 a écrit :

Concretement est-ce qu'avec ce genre de CPU, si ca venait a se democratiser, peut-on imaginer charger des profiles genre
prifile jeux 3D pour optimiser son PC quand on joue a unseu type FPS ?
chargement profil PAO si on veut faire de la PAO, etc...
Ce serait l'idéal, sachant que les PC grands publics sont voué a être polyvalents



non, les optimisations sont spécifiques à un seul programme, pour peu qu'il aie été compilé avec les bonnes options. Et puis, il faut voir quand ca montre en puissance face aux processeurs x86

le mogwai 30/04/2004 13:39
Masquer
-0+
le mogwai

cgsyanick a écrit :

C'est justement le Code Morphing que j'ai l'impression de retrouver ici, mais à un niveau encore plus haut que sur les Crusoe (plus loin du language machine j'entends).



Le code morphing ne permet pas d'accélérer le traitement des instructions (sauf légères optimisations), il sert à reprogrammer le processeur pour simuler un autre type de processeur.

cgsyanick 30/04/2004 14:01
Masquer
-0+
cgsyanick

le mogwai a écrit :

Le code morphing ne permet pas d'accélérer le traitement des instructions (sauf légères optimisations), il sert à reprogrammer le processeur pour simuler un autre type de processeur.




[Après être parfaitement reveillé]
Je viens de me rendre compte que l'on a du RISC d'un coté et du VLSI de l'autre :D

Mais je vois toujours pas la différence entre l'ISEF et le CMS au niveau du concept, mis à part ce que j'ai dis plus haut [:c3po]

"The Code Morphing software is fundamentally a dynamic translation system, a program that compiles
instructions for one instruction set architecture into instructions for
another ISA."


"il sert à reprogrammer le processeur pour simuler un autre type de processeur", c'est exactement ce que fait le Crusoe non, il émule un processeur x86 virtuel : translation d'instructions x86, mise en cache, filtrage et prédiction de branchement.

La seule différence que je vois, comme je l'ai déjà dis, c'est le niveau du langage, plus haut en ce qui concerne l'ISEF.

cgsyanick 30/04/2004 14:02
Masquer
-0+
nicodache 30/04/2004 15:08
Masquer
-0+
nicodache

Florian c a écrit :

jeu d'instruction réduit - le CPU ne peut réaliser que des opérations simples, à l'instar des processeurs grand public actuels



c'est pas des cisc les processeurs actuels ? (du moins les x86)

SaVioLa78 30/04/2004 15:10
Masquer
-0+
SaVioLa78

cisc sur pc ... risc sur mac ...

Baster 30/04/2004 15:26
Masquer
-0+
Baster

pour être précis tous les processeurs grand publics actuels ont un core RISC, ensuite sur PC il y a une couche x86 pour garder la compatibilité. (corrigez moi si je dis des conneries :o)

Patch 30/04/2004 16:19
Masquer
-0+
Patch

Baster a écrit :

pour être précis tous les processeurs grand publics actuels ont un core RISC, ensuite sur PC il y a une couche x86 pour garder la compatibilité. (corrigez moi si je dis des conneries :o)


c bien ca

bap2703 30/04/2004 19:23
Masquer
-0+
bap2703

+1 depuis le P6 et le K6

SaVioLa78 30/04/2004 19:24
Masquer
-0+
SaVioLa78

bap2703 a écrit :

+1 depuis le [g]P6[/g] et le K6


:heink:

Patch 30/04/2004 19:25
Masquer
-0+
Patch

P6 = Pentium2 :o

SaVioLa78 30/04/2004 19:26
Masquer
-0+
SaVioLa78

au temps pour moi :o

Polio 01/05/2004 08:13
Masquer
-0+
Polio

cgsyanick a écrit :

[Après être parfaitement reveillé]
Je viens de me rendre compte que l'on a du RISC d'un coté et du VLSI de l'autre :D

Mais je vois toujours pas la différence entre l'ISEF et le CMS au niveau du concept, mis à part ce que j'ai dis plus haut [:c3po]

"The Code Morphing software is fundamentally a dynamic translation system, a program that compiles
instructions for one instruction set architecture into instructions for
another ISA."


"il sert à reprogrammer le processeur pour simuler un autre type de processeur", c'est exactement ce que fait le Crusoe non, il émule un processeur x86 virtuel : translation d'instructions x86, mise en cache, filtrage et prédiction de branchement.

La seule différence que je vois, comme je l'ai déjà dis, c'est le niveau du langage, plus haut en ce qui concerne l'ISEF.




En lisant la brochure pdf du S5000, ils expliquent que leur soft permet de cabler en hard une portion critique (au niveau performances) de code en C et C++. On peut voir donc leur produit comme l'association d'un processeur 32 bit ordinaire et d'une unite specialisee reprogrammable.

Par comparaison, sur le Crusoe c'est l'unite qui se charge de la translation de l'ISA qui est programmable (dans quelle proportion, ca je ne le sais pas :??: ).


Baster > Ca y est enfin la golden-week :D

cgsyanick 01/05/2004 08:28
Masquer
-0+
cgsyanick

Polio a écrit :

En lisant la brochure pdf du S5000, ils expliquent que leur soft permet de cabler en hard une portion critique (au niveau performances) de code en C et C++. On peut voir donc leur produit comme l'association d'un processeur 32 bit ordinaire et d'une unite specialisee reprogrammable.

Par comparaison, sur le Crusoe c'est l'unite qui se charge de la translation de l'ISA qui est programmable (dans quelle proportion, ca je ne le sais pas :??: ).


Baster > Ca y est enfin la golden-week :D




Relis ce que je dis plus haut [:spamafote]

le mogwai 01/05/2004 08:35
Masquer
-0+
le mogwai

cgsyanick>

Pour le Crusoe (et tous les dérivés), le code morphing se supperpose à l'ensemble des intructions du processeur, ce qui permet de le faire passer pour n'importe quel autre processeur existant (sous réserve que le CMS rentre dans l'espace qui lui est imparti)

Pour le S5000 et ses dérivé, la démarche est tout autre, tu a un jeu d'instruction fixe, immuable, auquel tu peux ajouter des instructions spécialisées à la volée. Mais il restera toujour intrinsèquement de un S5000 et les programmes compilés pour une autre plateforme ne tourneront pas dessus.


En fait, le Crusoë est bien plus souple que le S5000, qui lui joue plutôt la carte de la performance.

cgsyanick 01/05/2004 08:45
Masquer
-0+
cgsyanick

le mogwai a écrit :

cgsyanick>

Pour le Crusoe (et tous les dérivés), le code morphing se supperpose à l'ensemble des intructions du processeur, ce qui permet de le faire passer pour n'importe quel autre processeur existant (sous réserve que le CMS rentre dans l'espace qui lui est imparti)

Pour le S5000 et ses dérivé, la démarche est tout autre, tu a un jeu d'instruction fixe, immuable, auquel tu peux ajouter des instructions spécialisées à la volée. Mais il restera toujour intrinsèquement de un S5000 et les programmes compilés pour une autre plateforme ne tourneront pas dessus.


En fait, le Crusoë est bien plus souple que le S5000, qui lui joue plutôt la carte de la performance.




:jap:
Voila la réponse que j'attendais :)
J'aurais plutot vu le S5000 plus souple justement de par l'utilisation d'un langage dérivé du c/c++, mais je préfere ton idée :jap:

Bon reste à voir les perfs quand même hein :D

Baster 01/05/2004 09:05
Masquer
-0+
Baster

Polio a écrit :


Baster > Ca y est enfin la golden-week :D



YES !!!!! :sol:
Bon j'ai du bosser hier :( (quelques heures, juste histoire de faire acte de présence :D)
Sinon j'ai 3 copines qui montent sur Tokyo cet aprem pour me voir (enfin faire du shopping [:baster]), pour 4 jours, j'suis bien content :D

A savoir Vous allez poster en tant qu'utilisateur anonyme.



Publicité