Intel, la course au cœurs. Pourquoi ?!


Poster un nouveau sujet   Répondre au sujet    Forum pour jeunes -> Informatique et Technologies

Lec
De passage
De passage




Inscrit le: 04 Déc 2009
Messages: 24

Message Posté le: Ven Déc 04, 2009 15:45 pm    Sujet du message: Intel, la course au cœurs. Pourquoi ?!
Intel Corporation est le plus grand fabricant mondial de semi-conducteur au monde si on se base sur le chiffre d'affaires. Cette entreprise américaine fut co-fondée en 1968 par Gordon Moore, Robert Noyce et Andrew Grove. Elle fabrique des microprocesseurs.

Rien de nouveau sous le soleil.

Mais le fondeur vient de sortir en ce début décembre un magnifique nouveau prototype ! la SSC 48 cœurs embarquant à son bord quelques 1,3 milliards de transistors. ( Pour se rendre compte : 1 300 000 000 ). En dépit de cette prouesse technologique, 20 fois plus puissante que ses cadettes ( 6/8 cœurs ), sa consommation en énergie ne dépasse pas les 125 watts.
567 millimètres carrés. Impressionnant.

Mais j'ai des questions dans ce domaine fort sombre pour ma personne.

Possêdant un double coeur sur mon ordinateur depuis quelques temps et exploitant Windows Seven, je ne vois pas la différence avec mon ancien micro portable XP. Pourquoi ?

Quel est l'intérêt pour Intel de poursuivre sa R&D dans les microprocesseurs multi-cœurs ?!

Des microprocesseurs de cette puissance changeront-ils certains facteurs au sein des entreprises ( serveurs, communication, ... ) ?

Merci de m'éclairer.
Invité








Message Posté le: Ven Déc 04, 2009 15:51 pm    Sujet du message:
Pour 2 raisons essentiellement :

- Augmenter la fréquence des processeurs est de plus en plus en plus difficile, donc augmenter le nombre de coeurs permet d'augmenter la force de calcul sans augmenter la fréquence des puces.

- Les applications sont de plus en plus développées en multi-thread (l'application lorsqu'elle fonctionne fait tourner plusieurs processus en parallèle et non 1 seul) et ceci a un sens si on fait tourner cette application sur un processeur multi-coeur.
Lec
De passage
De passage




Inscrit le: 04 Déc 2009
Messages: 24

Message Posté le: Ven Déc 04, 2009 15:55 pm    Sujet du message:
servlet a écrit:
Pour 2 raisons essentiellement :

- Augmenter la fréquence des processeurs est de plus en plus en plus difficile, donc augmenter le nombre de coeurs augmente la force de calcul sans augmenter le nombre de coeurs.


Mais n'est-ce pas risqué de multiplier les cœurs au sein des nouvelles générations de microprocesseurs ? Juste au niveau des avaries ou des problèmes techniques ?
Je veux dire, plus il y en a, plus il y a de risques, non ?

servlet a écrit:
Les applications sont de plus en plus développées en multi-thread (l'application lorsqu'elle fonctionne fait tourner plusieurs processus en parallèle et non 1 seul) et ceci a un sens si on fait tourner cette application sur un processeur multi-coeur.


Quelles seront les applications en 2012 ( date futur de commercialisation de la SSC48 ) nécessitant autant de processus parallèles au sein du grand publique ?
Invité








Message Posté le: Ven Déc 04, 2009 16:04 pm    Sujet du message:
Citation:
- Augmenter la fréquence des processeurs est de plus en plus en plus difficile, donc augmenter le nombre de coeurs permet d'augmenter la force de calcul sans augmenter la fréquence des puces.


bon déjà j'ai édité mon précédent message sinon ça n'avait aucun sens

sinon ce que tu dis sur les avaries a un sens, mais il faut aussi considérer que les puces sont aujourd'hui très fiables surtout que ça reste des matériels à durée de vie relativement courte

autrement, pour te donner des noms d'applications grand public, je n'en ai aucune idée ...
Lec
De passage
De passage




Inscrit le: 04 Déc 2009
Messages: 24

Message Posté le: Ven Déc 04, 2009 16:09 pm    Sujet du message:
Justement, ce que je me disais c'est surtout, est-ce que ces nouveaux microprocesseurs auront vraiment une utilité pour le peuple ?!

C'est surtout pour les domaines comme le spatial, la défense, la finance, non ?!
Invité








Message Posté le: Ven Déc 04, 2009 16:31 pm    Sujet du message:
C'est un sujet compliqué (mais intéressant) que tu abordes là, avec de nombreuses problématiques qui rentrent en ligne de compte. Et je ne suis pas du tout un spécialiste. Donc je peux tout à fait dire de la merde sur le sujet.

Déjà, le multi thread est moins "sûr" dans le sens où sont accrues les risques d'avarie logicielle. Aussi je doute que l'on voit ça pour le calculateur embarqué d'un avion ou d'une fusée par exemple.

Par contre il a toute son application pour des outils temps réels qui requiert beaucoup de calculs mais ne requiert pas une fiabilité absolue : une plateforme de trading sur un poste de travail par exemple.

Pour le grand public, ça peut avoir un sens. Pas forcément pour des applications développées en multi thread qui sont, je pense, encore rare pour le grand public. Mais parce que aujourd'hui les systèmes d'exploitation gèrent de mieux en mieux le multi thread et peuvent donc faire exécuter en parallèle plusieurs programmes distincts que tu utilises simultanément sur ta machine.
Criterium
Suprème actif
Suprème actif



Age: 39
Inscrit le: 08 Sep 2008
Messages: 4223
Localisation: ailleurs

Message Posté le: Ven Déc 04, 2009 17:02 pm    Sujet du message:
Et la programmation multi-thread est également plus difficile (problèmes d'accès aux données principalement, les différents threads ne doivent pas accéder toutes en même temps aux mêmes zones mémoires - l'article sur Wikipedia sur les "sémaphores" explique la problématique), ce qui réduit, comme servlet disait, son application dans des systèmes nécessitant une grande fiabilité (embarqué, spatial, etc.).

Par contre, il y a des outils qui gagnent énormément au multi-threading, et qui sont utilisées par le grand public, comme des logiciels musicaux (pour traiter les pistes indépendamment), ou indirectement, comme des robots de recherche et d'indexation pour le web, les recherches dans de grandes bases de données, etc. – ou pour un public spécialisé, et là je pense particulièrement à la bioinformatique et à la modélisation moléculaire (mais je ne doute pas, même si je ne connais pas du tout ces sujets, que ça puisse servir dans des calculs mathématiques, physiques ou financiers).

Pour le nombre de transistors élevé, cela n'est pas simplement du au nombre de cœurs mais principalement à l'architecture CISC d'Intel (et d'AMD et d'autres), appelée le x86, qui pour des raisons de rétrocompatibilité est devenue un énorme fouillis (les microprocesseurs x86 sont comparables à des sortes de "microprocesseurs qui lancent des microprocesseurs à l'intérieur d'eux-mêmes").
Papillon

Enfin bon, pour le moment peu de personnes (dans le grand public) ont besoin de 4 cœurs, alors ne nous inquiétons pas.
Lec
De passage
De passage




Inscrit le: 04 Déc 2009
Messages: 24

Message Posté le: Sam Déc 05, 2009 10:43 am    Sujet du message:
servlet a écrit:
C'est un sujet compliqué (mais intéressant) que tu abordes là, avec de nombreuses problématiques qui rentrent en ligne de compte. Et je ne suis pas du tout un spécialiste. Donc je peux tout à fait dire de la merde sur le sujet.

Déjà, le multi thread est moins "sûr" dans le sens où sont accrues les risques d'avarie logicielle. Aussi je doute que l'on voit ça pour le calculateur embarqué d'un avion ou d'une fusée par exemple.


Donc, c'est bien l'hypothèse que j'avais fourni, des avaries logicielles accrues. Mais on ne sait pas, si les fondeurs comme Intel prévoit des éléments de sécurité ou d'autres facteurs réduisant le risque d'avaries.

servlet a écrit:
Par contre il a toute son application pour des outils temps réels qui requiert beaucoup de calculs mais ne requiert pas une fiabilité absolue : une plateforme de trading sur un poste de travail par exemple.


J'y avais pensé, mais je n'osais pas le mettre.

servlet a écrit:
Pour le grand public, ça peut avoir un sens. Pas forcément pour des applications développées en multi thread qui sont, je pense, encore rare pour le grand public. Mais parce que aujourd'hui les systèmes d'exploitation gèrent de mieux en mieux le multi thread et peuvent donc faire exécuter en parallèle plusieurs programmes distincts que tu utilises simultanément sur ta machine.


Oui.
En revanche, depuis XP, les deux derniers logiciels d'exploitation de Microsoft sont devenus de sacrés gourmands en terme de ressource utilisées. Combien de personne ai-je entendu marmonner des méchanceté lorsque leur dernier micro, flambant neuf, ramé avec deux ou trois applications lancées. C'est là, que souvent, j'ai vu des personnes modifier les paramètres des soft pour avoir de meilleurs capacités de vitesse.

Criterium a écrit:
Et la programmation multi-thread est également plus difficile (problèmes d'accès aux données principalement, les différents threads ne doivent pas accéder toutes en même temps aux mêmes zones mémoires - l'article sur Wikipedia sur les "sémaphores" explique la problématique), ce qui réduit, comme servlet disait, son application dans des systèmes nécessitant une grande fiabilité (embarqué, spatial, etc.).


Mais alors, si la fiabilité réduit, les fondeurs comme Intel n'ont pas solution pour lutter contre ça ?!

Criterium a écrit:
Par contre, il y a des outils qui gagnent énormément au multi-threading, et qui sont utilisées par le grand public, comme des logiciels musicaux (pour traiter les pistes indépendamment), ou indirectement, comme des robots de recherche et d'indexation pour le web, les recherches dans de grandes bases de données, etc. – ou pour un public spécialisé, et là je pense particulièrement à la bioinformatique et à la modélisation moléculaire (mais je ne doute pas, même si je ne connais pas du tout ces sujets, que ça puisse servir dans des calculs mathématiques, physiques ou financiers).


C'est donc plus utile pour des universitaires et des entrepreneurs dans des secteurs spéciaux ?!

Criterium a écrit:
Pour le nombre de transistors élevé, cela n'est pas simplement du au nombre de cœurs mais principalement à l'architecture CISC d'Intel (et d'AMD et d'autres), appelée le x86, qui pour des raisons de rétrocompatibilité est devenue un énorme fouillis (les microprocesseurs x86 sont comparables à des sortes de "microprocesseurs qui lancent des microprocesseurs à l'intérieur d'eux-mêmes").
Papillon


Alors là, je n'ai pas bien compris. Des microprocesseurs qui lancent des microprocesseurs à l'intérieur d'eux-mêmes ? Tu peux développer ?!

Criterium a écrit:
Enfin bon, pour le moment peu de personnes (dans le grand public) ont besoin de 4 cœurs, alors ne nous inquiétons pas.


En revanche, une majorité regrette d'être passé sous Vista ou Seven. Lorsque l'on me dit " Tu as XP ? Gardes-le ! "
Criterium
Suprème actif
Suprème actif



Age: 39
Inscrit le: 08 Sep 2008
Messages: 4223
Localisation: ailleurs

Message Posté le: Sam Déc 05, 2009 11:12 am    Sujet du message:
Lec a écrit:
Mais alors, si la fiabilité réduit, les fondeurs comme Intel n'ont pas solution pour lutter contre ça ?!

Ah, mais la fiabilité ne se réduit pas forcément pour autant! Papillon

D'une part, tous les systèmes d'exploitation moderne font du multi-thread, même sans avoir plusieurs cœurs – il y a une technologie qui s'appelle l'hyper-threading qui permet d'avoir plusieurs flow d'exécution sur le même processeur – donc la "fiabilité moindre" est déjà là ; au contraire, on peut se dire que c'est plus fiable que les threads soient mieux répartis sur différents cœurs, car chaque cœur a ses registres (en gros, un registre est une minuscule mémoire extrêmement rapide, avec lequel travaille constamment le processeur ; certains enregistrent des adresses mémoires, d'autres des résultats intermédiaires, d'autres la position dans le programme, etc.) qui lui sont propres, et sa mémoire cache (tout du moins la L1 ou la L2) qui lui est propre : il devrait donc y avoir moins de "bavures" au niveau du processeur lui-même.

Là où il peut se produire des problèmes, c'est au niveau des accès mémoires, mais ce n'est pas du au matériel, mais au logiciel : si quelqu'un programme mal son application multi-thread et que tous les cœurs veulent accéder en même temps à la même case mémoire pour la modifier, chacun peut y lire une valeur différente selon l'ordre dans lequel il passe pour y accéder, et le programme risque de planter ou de donner des résultats bizarres. Mais cela, c'est de la faute du développeur.

Par contre, lorsqu'un développeur ne fait pas de fautes sur une application multi-thread, c'est au contraire un grand pas en avant puisque ces applications peuvent fonctionner aussi bien sur un processeur 1 cœur que 48 cœurs (c'est au système d'exploitation de répartir les différents fils d'exécutions (threads) sur les différents processeurs physiques (cœurs)).

Donc, ce n'est moins fiable que dans des applications où l'on ne peut pas se permettre ni la moindre erreur/blocage ni l'utilisation d'un système d'exploitation. Pour tout le reste du monde, c'est un progrès, qui fera revenir certains développeurs à l'école, et qui nécessitera de bons systèmes d'exploitation pour sa pérénnité.

Lec a écrit:
Alors là, je n'ai pas bien compris. Des microprocesseurs qui lancent des microprocesseurs à l'intérieur d'eux-mêmes ? Tu peux développer ?!

Je vais essayer d'être simple, tu me diras si tu veux plus de détails sur un point en particulier – en gros, un processeur est conçu sur une architecture particulière. Selon l'architecture, le processeur parle un "langage machine" qui sera différent. Un vieux processeur d'Atari ne pourra jamais exécuter directement un programme écrit pour un vieux processeur Intel, par exemple (car le premier est conçu sur une architecture 68k et le second sur x86).

Les concepteurs de processeurs ont fait des choix sur leur architecture selon l'usage auquel le processeur était destiné, ou les principes de bases sur lequel il devait fonctionner – on cite souvent l'opposition entre les architectures sur un modèle RISC et celles sur un modèle CISC.
RISC -> peu d'instructions machines, très simples, ainsi il sera plus simple et plus rapide de traiter les instructions.
CISC -> beaucoup d'instructions machines, permettant de faire en peu d'instructions des tâches complexes, mais cela nécessitera plus de traitement, donc plus de temps et plus de transistors.

Les ordinateurs grand public fonctionnent à 99% sur une architecture CISC, et très, très largement l'architecture x86. Mais ce n'est pas tout : cette architecture a évolué avec le temps ; comme les ordinateurs devaient faire des tâches de plus en plus complexes, on a rajouté des instructions (sans parler des instructions qu'il a été nécessaire de rajouter pour tout simplement faire fonctionner un aussi grand amas de transistors). Et non seulement le x86 s'est complexifié, mais les impératifs économiques obligeaient Intel à faire en sorte qu'il y ait rétrocompatibilité, c'est-à-dire faire fonctionner parfaitement un vieux programme conçu pour les premiers x86, sur les prochains x86 à sortir – ce qui a contribué à complexifier encore plus cette architecture.

Donc maintenant, un processeur x86, lorsqu'il reçoit des instructions en langage machine, les trie, les découpe, les traduit en mini-instructions, traduites en micro-instructions, d'une façon différente selon le mode d'exécution du processeur (mode "réel" 16-bits comme au démarrage du BIOS? mode "protégé" 32-bits? nouveaux modes 64-bits?)... et ensuite seulement il les exécute et les vérifie à nouveau. C'est comme si le processeur était en lui-même un gros serveur, triait les instructions et les envoyait à des "sous-processeurs" plus simples, puis les récupérait.

Papillon

Lec a écrit:
En revanche, une majorité regrette d'être passé sous Vista ou Seven. Lorsque l'on me dit " Tu as XP ? Gardes-le ! "

Ça, c'est un autre problème Aux
anges
Invité








Message Posté le: Sam Déc 05, 2009 11:50 am    Sujet du message:
ce crayon me bluffe ! Idea

Poster un nouveau sujet   Répondre au sujet    Forum pour jeunes -> Informatique et Technologies