Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Omniprésence de l'x86 est-il une bonne chose pour Linux ?

176 réponses
Avatar
PP
Bonsoir à tous,

en lisant un peu partout sur internet des news, notamment les dernières
sur www.blogarm.net, je m'attriste de l'omniprésence de l'architecture
x86 partout.

Cette dernière semble être de plus en plus compétitive face aux
spécialistes du secteur comme ARM par exemple dans l'embarqué et les
SoC. Peut-être pas du point de vue technique mais au moins marketing !

Ma peur de voir encore une fois le couple WIntel envahir le marché de
nous imposer une vision uniforme est effrayante.

Le seul point positif peut-être de cette histoire, c'est que Linux
pourrait être choisi encore plus facilement pour tous les matériels
équipés en x86. Ce qui ouvrirait une perspective de personnalisation de
nos équipement encore plus grande !?

Qu'en pensez-vous ?

10 réponses

Avatar
JKB
Le 02 Oct 2010 13:52:03 GMT,
Nicolas George <nicolas$ écrivait :
JKB , dans le message , a
écrit :
Tu n'as pas cherché bien loin. Je ne vais pas m'abaisser à te
fournir des URL.



Non, surtout pas, ça risquerait de rendre ton discours vaguement crédible.



Je t'en ai filé la dernière fois qu'on a évoqué le sujet.

Qu'est-ce qu'il ne faut pas lire. C'est au contraire très bien fichu
dès qu'on utilise siginfo_t et sigaction() à la place des
semantiques anciennes.



Ce n'est pas utiliser sigaction qui te permettra de faire un malloc dans un
signal handler.



Je ne sais pas ce que tu utilises comme système, mais sur tous les
miens malloc() est thread safe. Et des mallocs dans les
gestionnaires de signaux, j'en fais. Je fais même des trucs plus
tordus que ça à l'aide de pthread_getspecific(). Il suffit de savoir
ce qu'on fait.

Et ne me dis pas que c'est un problème de
design



Ben si, je le dis.



Je maintiens.

Les signaux peuvent donc tout à fait être utilisés à l'intérieur
d'un même processus entre les différents threads.



Oui, ils peuvent. Et ceux qui utilisent cette possibilité sont des tarés.



Est-ce que tu peux imaginer un seul instant que ceux qui ne pensent
pas comme toi ne sont peut-être pas des imbéciles ? Il y a des tas
de programmes (et pas seulement les miens) qui utilisent ce genre de
chose.

C'est un des principes d'Unix : on te donne toujours assez de corde pour te
pendre.

Non, parce que ces API sont _synchrones_ alors que les signaux sont
_asynchrones_. Le fait d'utiliser des API _synchrones_ te contraint
à utiliser des attentes actives ou du polling. Dans quelle langue
faut-il que je te le dise ?



Tu peux le traduire dans la langue que tu veux, ça ne le rendra pas vrai.



Ah, chouette, je vais avoir un exemple qui infirme ce que je dis.
Tiens, non ? Comme c'est bizarre. Ça devrait pourtant être simple...

Notification qui devient synchrone vis à vis du thread normalement
signalé.



Oui. C'est le but : synchrone => plus simple, donc moins de bugs.

Et on retombe dans le polling.



Non.



Chouette, une démonstration... Ah, tiens, non, comme d'habitude...
Qu'un esprit supérieur comme le tien ne comprenne pas la différence
entre le polling et la signalisation asynchrone me sidère.
Il y en a vraiment qui ont trouvé leurs dipômes dans des pochettes
surprises !

Tu es bouché à l'émeri parce que tu pars du principe que les deux
approches sont équivalentes, ce qui est faux. Les signaux ne servent
pas qu'à cela et ne peuvent être remplacés par un système synchrone.
Tous les appels systèmes dits lents peuvent échouer sur un EINTR, et
ton approche revient à faire du polling _dans_ ces appels systèmes
si tu veux que les deux approches soient équivalentes.



man poll



Foutaises. Tu peux prendre poll() dans tous les sens, il ne se
comporte pas comme un gestionnaire de signal. Au mieux comme un
point d'arrêt qu'on réveillerait avec un signal. Ce n'est pas
équivalent. On a pourtant dû t'apprendre ce qu'est une équivalence
en mathématiques !

Sans commentaire. Est-ce que tu crois que les concepteurs d'Unix (je
ne parle même pas des specs POSIX, BSD ou SyV) aient imposé un truc
inutile ?



Il y a plein de trucs inutiles dans Unix.



Dont signalfd. Merci de ton soutien.

D'autre part, lorsque tu commences à utiliser les signaux, la
moindre des choses est de savoir ce que tu fais.



Je sais ce que je fais, et c'est pour ça que j'évite d'utiliser des signaux.



Moi aussi, mais il y a des choses que tu ne peux faire _sans_, au
moins simplement.

Tiens, rien que pour nous amuser un peu :
http://www.rpl2.fr/cgi-bin/cvsweb/rpl/src/instructions_d5.c?annotate=1.43

À la ligne 3039, il y a un signal qui passe d'un thread à un autre
à fin de synchronisation. Je te mets au défi de le remplacer par
quelque chose de meilleur et de plus portable. Plusieurs
développeurs ont bossé sur ce point durant pas mal de temps, si tu
veux vraiment le savoir, ce point a mis plus de quatre ans pour
trouver une solution fiable. Nous sommes donc tous des tanches. Mais tu
vas comme à ton habitude nous dire que c'est un mauvais design et
que l'équipe qui a bossé là-dessus est une équipe composée de
branques. Donc j'attends (et ceux qui développent ce truc avec moi
depuis une grosse dizaine d'années) tes lumières avec une certaine
impatience. Montre-nous de quoi tu es capable.

Au passage, on a tout essayé, même une synchronisation à l'aide de
données qui circulaient dans un pipe. On a tout essayé pour éviter
l'utilisation de signaux.

sem_wait(&sem);



Ben déjà, les sémaphores, c'est aussi une API de merde, alors bon...



Ben tiens. Quel est le problème ?

polling(&mysignalfd);



Tu veux prouver quoi ? Que tu sais faire des programmes grotesques qui ne
marchent pas ? Je le savais déjà.



Quels programmes grotesques ? Des noms et des justifications je te
prie.

Si ça, ce n'est pas une attente active, j'aimerais bien que tu me
définisses ce qu'est pour toi une attente active !



Oh, quand on veut faire une attente active, on peut toujours. Même avec des
signaux, d'ailleurs.

Que tu sois manifestement une tanche pour programmer avec autre chose que
des signaux, ça dit des choses sur toi, pas sur les signaux.



J'attends que tu me donnes ne serait-ce qu'un argument (et pas ton
blabla habituel) qui infirmerait ce que je te dis sur signalfd().

Qu'ils crèvent. Ce genre de merde est typique du monde Linux. Sous
prétexte que les programmeurs ne savent pas programmer,



Ouais. D'ailleurs, Linux ne marche pas.



Quel rapport ? Je n'ai pas dis ça. Simplement que les dévs de la
libc devraient déjà faire fonctionner correctement ce qui est
spécifié dans POSIX.1 et SysV avant de rajouter de telles
aberrations. Tu as vraiment des problèmes de compréhension du
français.

Mais qu'est-ce qu'il ne faut pas lire. L'overhead introduit est
_négligeable_ vis à vis de toutes les autres opérations faites par
l'OS. Si ce n'est pas le cas, c'est juste que ton OS a été écrit pas
un pied.



L'overhead dont il est question, c'est diviser par trois la vitesse de
toutes les opérations arithmétiques entières. Mais à part ça, c'est
négligeable. Ben voyons.



Non, c'est de diviser par deux la vitesse de calcul d'une adresse.
Je ne sais pas si tu es au courant (mais la tanche fait un peu de
programmation noyau), mais un OS, ça fait beaucoup d'autres choses
que du calcul d'adresses mémoire. Par ailleurs, les noyaux 32 bits
qui adressent plus de 4 Go de mémoire en 32 bits ne sont pas _trois_
fois plus lents que les autres.

Comme d'habitude, tu racontes n'importe quoi parce que tu veux avoir
la plus grosse. Je te la laisse. Ceux qui ont eu le courage de lire
jusqu'ici pourront constater que tu n'as fourni _aucun_ argument
pour infirmer ce que je disais. Tout au plus as-tu essayé de noyer
le poisson dans un raisonnement abscons.

<EOT>

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
Hugolino
Le 02-10-2010, Miod Vallat a écrit :

>> Oui, et non. Il me semble que les instructions à longueur
>> variable complexifient grandement le séquenceur d'accès et la
>> gestion du cache.
>
> Oui, mais seulement si tu négliges le vortex spatio-temporel
> d'improbabilité autour du vexin qui sur-courbe le scalaire
> gravitationnel et donc emprisonne le temps.

Le Vexin français ou le Vexin normand ?



Il y aurait donc un Vexin français ? Je veux dire... un Vexin avec des
routes qui tournicotent dans la plaine, un Vexin avec des bouses de
vaches étalées (de préférence au milieu du virage) sur la traj' et qui
t'obligent à tirer tout droit dans les champs, un Vexin que tu sais
qu'il faut y aller mollo de la poignée de gaz quand ça commence à sentir
la puanteur de la ville passke t'arrive à Pontoise ?
(On me dit rien à moi...)

--
Tu oublies que les années passées à l'Est comptent double, sinon plus,
jeune blanc-bec.


Tu as négligé le vortex spatio-temporel d'improbabilité autour du vexin qui
sur-courbe le scalaire gravitationnel et donc emprisonne le temps.
Avatar
pehache-youplaboum
"PP" a écrit dans le message de news:
4ca711e1$0$16096$

Tu es désappointé par le fait qu'Intel fasse beaucoup d'efforts de
développement sur les x86 ??



Je suis désappointé par le fait qu'on pourrait avoir des machines
peut-être encore plus puissante et meilleur marché, et surtout avoir
des machines plus petite, silencieuse, etc. si on ne se coltinait pas
la technologie x86, ou plutôt son héritage rustinique de 30 ans !
Heureusement qu'Intel fait des progrès, sinon, les concurrents
auraient depuis de nombreuses années pris la relève.



Heureusement qu'il fait beau, sinon il ferait mauvais, en quelque sorte...


Enfin, bon, je garde espoir, le Toshiba AC100 ferait tourner enfin
une Ubuntu 10.10, ce qui est je pense un évenement majeur!

imaginez la logithèque linux, accessible à un netbook de ce genre



La logithèque Linux accessible sur les netbooks, ce n'est pas
franchement nouveau...



Netbooks autres que x86, bien sûr !



Je demande à voir en pratique cette soit-disant supériorité des netbooks
autres que x86



Mais qu'est-ce que tu racontes ???

OpenMP est une spécification décrivant des directives et des appels
de routines pour faire de la programmation parallèle en C ou en
Fortran. Rien à voir avec Microsoft, et ces spécifications sont
publiques.



je parle de certaines fonctions des processeurs Intel ou x86, ..



Moi je parlais d'OpenMP et tu réponds sur un truc qui n'a strictement rien à
voir, donc.

...qui sont
peu voire non décrite (d'après un truc que j'ai lu il y a quelques
jours sur le net). Je trouve cela vachement interessant le concept !!
Soit c'est faux, soit c'est vrai et c'est plus grave, car qui utilise
alors ces fonctions/instructions ?
Je ne parle pas de compilation, je parle des processeurs eux-même !



Je ne vois pas bien l'intérêt qu'aurait Intel à ne pas décrire certaines
fonctions de ses processeurs.

--
pehache
http://pehache.free.fr
Avatar
pehache-youplaboum
"Stephane CARPENTIER" a écrit dans le message
de news: 4ca70c7c$0$13217$

La réponse est quelques lignes plus haut.



En gros, tu considères que tous les programmeurs qui ne savent pas
bien programmer en multic?ur sont des cons ?



Ceux qui ont besoin de programmer en multicoeurs doivent apprendre à le
faire correctement, et il n'y a aucune raison a priori qu'ils n'y
parviennent pas. Sauf si l'a priori consiste à penser que ce sont des cons.



--
pehache
http://pehache.free.fr
Avatar
Miod Vallat
Je ne vois pas bien l'intérêt qu'aurait Intel à ne pas décrire certaines
fonctions de ses processeurs.



Pourtant, il faut montrer patte blanche si l'on veut en savoir
suffisamment. La documentation du Pentium premier du nom, par exemple,
contenait une «annexe H» de plusieurs dizaines de pages. Mais pour
l'obtenir, il fallait la demander explicitement à Intel, et prouver que
l'on travaillait pour un éditeur de systèmes d'exploitation...
Avatar
Richard
Le 02/10/2010 10:22, JKB a écrit :
Le Sat, 02 Oct 2010 09:08:27 +0200,
Richard écrivait :
Le 30/09/2010 09:11, JKB a écrit :

Maintenant tout ça a un coût en consommation, c'est
certain, mais ce coût on le réduit en améliorant les processeurs.



Permets-moi d'en douter. L'évolution du x86 ne se fait pas en
optimisant la circuiterie, mais en rajoutant des tas de rustines
pour contourner les problèmes de l'architecture. Au final, tu as un
processeur qui consomme de plus en plus et qui doit être le pire en
terme de rapport entre la puissance consommée et le puissance de
calcul. La seule chose qui le sauve encore, c'est la finesse de
gravure qui le rend moins consommateur, mais cette course à une
limite : non seulement les circuits rajoutés atteindront très
rapidement leur limites, mais les autres fondeur qui font du vrai
RISC vont aussi atteindre ses performances avec des consommations
largement moindres.



Je crois comme Michel Talon que l'avantage du RISC sur le CISC est
aujourd'hui nul. Le gros des transistors d'un CPU actuel, ce sont les
mémoires caches. Le surplus de circuiterie pour traduire les
instructions CISC en micro-instruction RISC est complétement négligeable.



C'est là que je ne suis pas, mais alors pas du tout d'accord.
Si tu prends un RISC, tu n'as pas besoin de cette circuiterie et en
dehors de problèmes de synchronisation des unités d'exécution, tes
instructions sont exécutées dans l'ordre.



Je ne vois pas le rapport. Il existe des processeurs RISC (MIPS p.ex.)
qui exécutent les instructions dans le désordre et des processeurs CISC
(Atom) qui les exécutent dans l'ordre.


Si tu prends un CISC. Il faut que ton interprète CISC qui te
transforme ton CISC en RISC commence par voir quelles sont les
unités disponibles, réorganise les instructions, calcule les modes
d'adressages (dans un RISC, les modes d'adressages sont immédiat,
direct, les autres, tu les fais à la main). C'est cette circuiterie
qui fait qu'un CISC consomme à puissance équivalente plus qu'un
RISC. Et c'est cette circuiterie qui permet à un CISC de faire des
progrès.



Oui, mais cette circuiterie est complètement négligeable dans la
complexité globale d'un CPU actuel. C'est quelques millions de
transistors sur des centaines de millions, voire des milliards.


Par ailleurs, je ne vois pas ce que vient faire le problème de la
mémoire cache.



Parce que la mémoire cache fait partie du CPU aujourd'hui et que c'est
une grosse partie de la taille du CPU et de sa consommation d'énergie.


Un RISC a généralement plus de mémoire cache qu'un
CISC de même fréquence et beaucoup plus de registres. L'HyperSPARC
de 1992 avait déjà 136 registres internes et 1 Mo de cache synchrone
alors qu'il ne tournait qu'à 90 MHz ! Sans compter le nombre de
contextes câblés...

J'ai même ouï dire que, les instructions CISC étant plus courtes que les
RISC, leur lecture en mémoire est plus efficace que sur un processeur RISC.



Ça, permets-moi d'en douter. Les instructions (avec leurs opérandes)
font 32 ou 64 bits selon les modes sur un UltraSparc (soit un mot
mémoire). Sur Alpha, c'est 64 bits. Rien ne dépasse.

Le débat RISC contre CISC est même sans doute dépassé. Aujourd'hui c'est
plus la comparaison GPU/CPU qui est en vogue.



Objection : le débat est aujourd'hui entre RISC et VLIW.



Ce débat n'est pas mort ? Il me semblait que le processeur VLIW
(l'itanic) avait perdu la partie.


Le CISC
est encore utilisé parce qu'il est bien implanté.



Et qu'il conserve des performances tout-à-fait raisonnables.

Le CISC pose tout
un tas de problèmes d'utilisation des ressources du processeur.
Le débat GPU/CPU, c'est juste un effet de mode pour gratter de la
puissance de calcul parce qu'on ne l'a pas ailleurs.



Pas sûr que ce ne soit qu'un effet de mode. J'ai cru comprendre
que le futur serait l'intégration CPU-GPU, avec pour effet d'améliorer
le temps de communication entre les deux, le gros problème actuel des GPU.


Le point de vu de la série T* Sparc est très intéressante. C'est
exactement le contraire de l'IA64. Tu as un processeur multicoeur et
multithread. Seul le RISC te permet de créer un processeur
multithreadé efficace (les instructions sont tellement élémentaires
que tu sais à l'avance comment les organiser et éviter les temps
morts dans les traitements par le processeur). Exemple : le P4 HT (à
deux threads) te permet de gagner entre 5 et 30% selon les programmes.
Sur un T1 (et par coeur à quatre threads), tu fais tourner par
_coeur_ quatre threads presque aussi vite que si tu avais quatre
systèmes indépendants.



(L'IA64 c'est l'itanium pas le P4). Si les processeurs IA32 ou EMT64
comme le P4HT ou l'iCore7 ne sont pas très bon en hyper-threading, c'est
surtout parce que les unités d'exécution sont déjà utilisées en
parallèle au sein de chaque thread, ce qui limite leur disponibilité.
Sur une application monothread, un core d'iCore7 va déjà presque 4 fois
plus vite, c'est donc difficile de l'accélérer beaucoup plus.
Ils s'agit donc de deux approches différentes et la meilleure dépend du
domaine d'application où l'on se place.

--
Richard
Avatar
Tonton Th
On 10/02/2010 05:34 PM, Hugolino wrote:

Oui, et non. Il me semble que les instructions à longueur
variable complexifient grandement le séquenceur d'accès et la
gestion du cache.



Oui, mais seulement si tu négliges le vortex spatio-temporel
d'improbabilité autour du vexin qui sur-courbe le scalaire
gravitationnel et donc emprisonne le temps.



Faudrait demander son avis à Trillian, non ?

--
Ma coiffeuse est formidable - http://sonia.buvette.org/
Avatar
JKB
Le Sat, 02 Oct 2010 21:09:42 +0200,
Richard écrivait :
Le 02/10/2010 10:22, JKB a écrit :
Le Sat, 02 Oct 2010 09:08:27 +0200,
Richard écrivait :
Le 30/09/2010 09:11, JKB a écrit :

Maintenant tout ça a un coût en consommation, c'est
certain, mais ce coût on le réduit en améliorant les processeurs.



Permets-moi d'en douter. L'évolution du x86 ne se fait pas en
optimisant la circuiterie, mais en rajoutant des tas de rustines
pour contourner les problèmes de l'architecture. Au final, tu as un
processeur qui consomme de plus en plus et qui doit être le pire en
terme de rapport entre la puissance consommée et le puissance de
calcul. La seule chose qui le sauve encore, c'est la finesse de
gravure qui le rend moins consommateur, mais cette course à une
limite : non seulement les circuits rajoutés atteindront très
rapidement leur limites, mais les autres fondeur qui font du vrai
RISC vont aussi atteindre ses performances avec des consommations
largement moindres.



Je crois comme Michel Talon que l'avantage du RISC sur le CISC est
aujourd'hui nul. Le gros des transistors d'un CPU actuel, ce sont les
mémoires caches. Le surplus de circuiterie pour traduire les
instructions CISC en micro-instruction RISC est complétement négligeable.



C'est là que je ne suis pas, mais alors pas du tout d'accord.
Si tu prends un RISC, tu n'as pas besoin de cette circuiterie et en
dehors de problèmes de synchronisation des unités d'exécution, tes
instructions sont exécutées dans l'ordre.



Je ne vois pas le rapport. Il existe des processeurs RISC (MIPS p.ex.)
qui exécutent les instructions dans le désordre et des processeurs CISC
(Atom) qui les exécutent dans l'ordre.



Le rapport est simple : dans un RISC, tu n'es contraint à évaluer
des instructions dans le désordre que dans des cas où tu essaies
d'utiliser la même unité en même temps. Dans un CISC, tu es
contraint à le faire parce qu'il faut que tu optimises tes séquences
d'instructions à un niveau supérieur. Je prends un exemple
complètement décorrélé de tout processeur. Mettons que tu veuilles
mettre dans le registre A, la somme de B et de la donnée pointée par
X et incrémenter X. Tu as donc deux additions et un chargement de
registre. Si tu n'as qu'une ALU, les opérations vont s'exécuter en
séquence et le fait de bidouiller l'ordre en amont te permet
d'optimiser le fonctionnement de ce petit monde là.

Si tu prends un CISC. Il faut que ton interprète CISC qui te
transforme ton CISC en RISC commence par voir quelles sont les
unités disponibles, réorganise les instructions, calcule les modes
d'adressages (dans un RISC, les modes d'adressages sont immédiat,
direct, les autres, tu les fais à la main). C'est cette circuiterie
qui fait qu'un CISC consomme à puissance équivalente plus qu'un
RISC. Et c'est cette circuiterie qui permet à un CISC de faire des
progrès.



Oui, mais cette circuiterie est complètement négligeable dans la
complexité globale d'un CPU actuel. C'est quelques millions de
transistors sur des centaines de millions, voire des milliards.



Euh... Je parle du coeur sans sa mémoire cache.

Par ailleurs, je ne vois pas ce que vient faire le problème de la
mémoire cache.



Parce que la mémoire cache fait partie du CPU aujourd'hui et que c'est
une grosse partie de la taille du CPU et de sa consommation d'énergie.

Un RISC a généralement plus de mémoire cache qu'un
CISC de même fréquence et beaucoup plus de registres. L'HyperSPARC
de 1992 avait déjà 136 registres internes et 1 Mo de cache synchrone
alors qu'il ne tournait qu'à 90 MHz ! Sans compter le nombre de
contextes câblés...

J'ai même ouï dire que, les instructions CISC étant plus courtes que les
RISC, leur lecture en mémoire est plus efficace que sur un processeur RISC.



Ça, permets-moi d'en douter. Les instructions (avec leurs opérandes)
font 32 ou 64 bits selon les modes sur un UltraSparc (soit un mot
mémoire). Sur Alpha, c'est 64 bits. Rien ne dépasse.

Le débat RISC contre CISC est même sans doute dépassé. Aujourd'hui c'est
plus la comparaison GPU/CPU qui est en vogue.



Objection : le débat est aujourd'hui entre RISC et VLIW.



Ce débat n'est pas mort ? Il me semblait que le processeur VLIW
(l'itanic) avait perdu la partie.



Pas si sûr. Je n'aime pas l'approche VLIW, mais elle est
intéressante.

Le CISC
est encore utilisé parce qu'il est bien implanté.



Et qu'il conserve des performances tout-à-fait raisonnables.



Pour combien de temps encore ?

Le CISC pose tout
un tas de problèmes d'utilisation des ressources du processeur.
Le débat GPU/CPU, c'est juste un effet de mode pour gratter de la
puissance de calcul parce qu'on ne l'a pas ailleurs.



Pas sûr que ce ne soit qu'un effet de mode. J'ai cru comprendre
que le futur serait l'intégration CPU-GPU, avec pour effet d'améliorer
le temps de communication entre les deux, le gros problème actuel des GPU.



Ouaips, à voir. Ça me semble être une bêtise, mais bon, faut voir.

Le point de vu de la série T* Sparc est très intéressante. C'est
exactement le contraire de l'IA64. Tu as un processeur multicoeur et
multithread. Seul le RISC te permet de créer un processeur
multithreadé efficace (les instructions sont tellement élémentaires
que tu sais à l'avance comment les organiser et éviter les temps
morts dans les traitements par le processeur). Exemple : le P4 HT (à
deux threads) te permet de gagner entre 5 et 30% selon les programmes.
Sur un T1 (et par coeur à quatre threads), tu fais tourner par
_coeur_ quatre threads presque aussi vite que si tu avais quatre
systèmes indépendants.



(L'IA64 c'est l'itanium pas le P4).



Où ai-je dit que l'IA64 était le P4 ? Je compare deux processeur HT,
le P4 et le T*. L'IA64 ne peut être que mauvais en HT.

Si les processeurs IA32 ou EMT64
comme le P4HT ou l'iCore7 ne sont pas très bon en hyper-threading, c'est
surtout parce que les unités d'exécution sont déjà utilisées en
parallèle au sein de chaque thread, ce qui limite leur disponibilité.



Voilà, tu commences à comprendre les limites du x86. Et tu atteins
ces limites d'autant plus vite que les instructions de bases sont
des CISC.

Sur une application monothread, un core d'iCore7 va déjà presque 4 fois
plus vite, c'est donc difficile de l'accélérer beaucoup plus.
Ils s'agit donc de deux approches différentes et la meilleure dépend du
domaine d'application où l'on se place.



JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
pehache-youplaboum
"Miod Vallat" a écrit dans le message de news:
i87vms$23ta$
Je ne vois pas bien l'intérêt qu'aurait Intel à ne pas décrire
certaines fonctions de ses processeurs.



Pourtant, il faut montrer patte blanche si l'on veut en savoir
suffisamment. La documentation du Pentium premier du nom, par exemple,
contenait une «annexe H» de plusieurs dizaines de pages. Mais pour
l'obtenir, il fallait la demander explicitement à Intel, et prouver
que l'on travaillait pour un éditeur de systèmes d'exploitation...



OK. Donc elles ne sont pas "non décrites", simplement Intel sélectionne à
qui il diffuse l'information. Sur la base d'accords de confidentialité,
peut-être ?

--
pehache
http://pehache.free.fr
Avatar
Miod Vallat
OK. Donc elles ne sont pas "non décrites", simplement Intel sélectionne à
qui il diffuse l'information. Sur la base d'accords de confidentialité,
peut-être ?



Difficile à dire. Mais à partir du moment où il y a filtrage sur l'accès
à l'information, rien ne dit que toute l'information est rendue
disponible.

D'ailleurs, en général, c'est toujours la croix et la bannière pour
obtenir des errata complets et détaillés (et pas que chez Intel : AMD,
MIPS... ne font pas mieux).