- Configurer son portable pour gagner en autonomie (3ème partie)
- Intel : FSB 1333, quad-core abordable, nouveaux hauts de gamme
- Tout savoir sur le Computex 2007
- Computex 2007 : premières impressions
- Core 2 Duo 4 Mo pour tous : E6420 et E6320
- CeBIT 2007 : que faut-il en retenir ?
- Supreme Commander : quelles performances ?
- Le point sur la virtualisation
- Intel E4300 : le Core 2 Duo pour tous ?
- 2006/2007 vu par la rédaction
Source: Presence PC – Mots-clés : architecture, K10, AMD, Phenom
Catégories: Processeur
- 1 – Introduction
- 2 – Barcelona, une vue d’ensemble
- 3 – Une vue d’ensemble (suite) : réellement nouveau ?
- 4 – Lecture & décodage des instructions
- 5 – Suite : Analogie, prédiction de branchement
- 6 – Amélioration de la gestion de la pile
- 7 – Des unités d’exécution remaniées
- 8 – Une hiérarchie mémoire revue et corrigée
- 9 – Une hiérarchie mémoire revue et corrigée (suite)
- 10 – 2 contrôleurs mémoires pour le prix d’un
- 11 – Améliorations diverses
- 12 – Conclusion
Améliorations diverses
Comme souvent avec une nouvelle génération les ingénieurs ont ajouté quelques instructions à l’ISAISA est l’acronyme du terme anglais L’Industry Standard Architecture est un standard de bus informatique interne utilisé pour connecter des cartes d’e.... Ainsi Barcelona inclus ce qu’AMDAMD est l’acronyme de « Advanced Micro Devices, Inc. ». Il s’agit d’un fabricant de semi-conducteurs basé à Sunnyvale en Californie. La réputation du... appelle SSE4a mais dont les instructions n’ont rien à voir avec le SSE4Jeu d’instructions ciblant principalement des opérations audio et vidéo introduites par Intel sur les processeurs Core au début 2008 (les processeurs ... d’IntelIntel est le premier fabricant mondial de microprocesseurs pour ordinateurs. Le terme Intel est issu de la contraction de « Integrated Electronics »)...., comme si les choses n’étaient pas déjà assez confuses à ce niveau entre le SSSE3 du CoreUnité principale de calcul dans un processeur. Les principaux processeurs actuels regroupent désormais deux ou même quatre unités gravées dans la même... 2, le SSE4.1 du PenrynNom de code d’une famille de processeurs Intel Core 2 et Xeon lancée en 2007-2008. Ces processeurs reposent sur l’architecture Core dont ils constitue... et le SSE4.2 du NehalemNom de code des processeurs Intel prévus pour l’horizon 2008-2009. Ils constituent une refonte majeure de l’architecture x86 Intel et devraient prendr....
A côté de cela AMD introduit deux instructions opérant sur les registres généraux : LZCNT compte le nombre de 0 en tête d’un registre et POPCNT compte le nombre de bits à 1 dans un registre. Histoire d’en rajouter une couche si jamais vous suiviez jusqu’ici, POPCNT ne fait pas partie du jeu d’instructions SSE4a (logique il opère sur les GPR) mais fait en revanche partie du jeu d’instructions… SSE4.2 d’Intel !
Conscient que la gestion de la consommation était un facteur clé des nouvelles architectures AMD a été nettement plus loin que sur ses précédents processeurs. Ainsi avec le Barcelona chaque cœur peut désormais ajuster sa fréquenceLa fréquence désigne la mesure du nombre de fois qu’un phénomène périodique se reproduit chaque seconde. L’unité dans laquelle s’exprime la fréquence ... indépendamment des autres alors que sur le K8 la fréquence était verrouillée entre les deux cœurs et calculée en fonction de celui qui était le plus utilisé. De plus si le voltage est commun à tous les cœurs il est en revanche indépendant en ce qui concerne le northbridgePuce de la carte mère qui est l’un des deux éléments de son chipset. Le northbridge constitue avec le southbridge le chipset d’une carte mère. Son rôl... et le cachePetite quantité de mémoire rattachée à une mémoire principale et plus rapide que cette dernière, destinée à améliorer son efficacité globale. L’accès ... de niveau 3.
Enfin AMD continue ses efforts sur la virtualisation : le K10 supporte une technique appelée Nested paging offrant un support matériel pour un niveau de traduction d’adresses supplémentaire, ce qui jusqu’ici devait être effectué de manière logicielle (Shadow paging). D’après AMD cette technique a permis de libérer 75 % du temps d’occupation de l’hyperviseur.
Pour être complet signalons le support des pages de 1 Go et l’ajout d’un nouveau TLB de 128 entrées pour les pages de 2 Mo (64 entrées pour les pages de 4 Mo), utiles notamment dans les applications serveurs comme les grosses bases de données.
- Page précédente 2 contrôleurs mémoires pour le prix d’un
- Page suivante Conclusion


On voit les efforts de l'equipe d'AMD et cela semble encourageant pour les futures perf' des Barcelona
La question que je me pose est au niveau des jeux d'instructions. Outre les optimisations purement hardware qui sont transparentes du point de vue software, à quel moment le nouveau jeu d'instructions est pris en compte?
Est-ce lors de la compilation avec un linker dépendant de chaque architecture?
Est-ce lors de l'installation du programme sur la machine cible?
Ou est-ce totalement transparent du point de vue du programme tiers et c'est alors l'os qui s'occupe d'optimiser le code pour prendre en compte les nouvelles instructions disponible?
Peut-être est-ce le processeur lors du décodage des instructions x86 qui détecte qu'une émulation possible peut-être faite avec les nouvelles instructions?
Je dois avouer que je ne comprends pas vraiment comment cela ce passe, dans le monde des microcontrôleurs c'est beaucoup plus simple
Ca me rappelle mes cours ou notre prof nous disait, vous voyez vous avez tout en main pour faire un processeur (tout ca parcqu'on arrivait à faire des additionneurs 8bits en vhdl^^)
Alors que la gestion des horloges est indépendantes... maikilsoncon... Il perde une occasion de bien faire descendre la consomation. J'imagine que seul la version portable pourra le faire...
ca dépend des programmes.
Globalement, en général on propose les optimisations à part sur certains calculs, avec le choix dans le programme (soit à la main, rare, soit en détectant si le CPU le fait). C'est surtout sur des programmes qui n'utilisent pas intensivement les instructions en question. On a donc au moins deux versions différentes du code : une SSE (par exemple) et une autre.
L'autre possibilité, c'est de limiter le programme à un jeu d'instruction minimum. C'est rare, parce que du coup ça limite le nombre de CPU utilisables : faut un parc installé important. On a de plus en plus de programme qui nécessitent le SSE(2) actuellement parce que la majorité des CPU actuels le sont.
Sinon, y a les programmes qui proposent plusieurs exécutables : un par type d'instruction, mais c'est chiant pour l'utilisateur.
l'OS n'est pas capable de définir les instructions à utiliser (et n'est en général pas optimisé pour des jeux en particulier) et le processeur n'est normalement pas capable de détecter les instructions.
Pour ce qui est du délai et du saut d'appellation, n'y a-t-il pas eu une architecture K9, abandonnée il y a environ 18 mois pour une cause inconnue ? (manque de performance, problèmes de fabrications, de brevet ?)
l'OS n'est pas capable de définir les instructions à utiliser (et n'est en général pas optimisé pour des jeux en particulier) et le processeur n'est normalement pas capable de détecter les instructions.
i386, i586, i686 ce n'est pas adapter le l'OS à un jeu en particulier ? (bien sur il y a plus de jeux d'instructionsque ca).
Les instructions à utiliser sont également choisit par le compilateur lors de la compilation non ? (bien sur il faut dire au compilateur qu'elles instructions notre proc supporte).
même si je ne comprends pas tout
bravo a l'équipe de PPC.
Ca me rappelle mes cours ou notre prof nous disait, vous voyez vous avez tout en main pour faire un processeur (tout ca parcqu'on arrivait à faire des additionneurs 8bits en vhdl^^)
Ha ben on a eu le même.
i386, i586, i686 ce n'est pas adapter le l'OS à un jeu en particulier ? (bien sur il y a plus de jeux d'instructionsque ca).
Les instructions à utiliser sont également choisit par le compilateur lors de la compilation non ? (bien sur il faut dire au compilateur qu'elles instructions notre proc supporte).
oui, pour Linux, tu peux limiter au CPU minimum, mais c'est pas nécessairement le cas.
les instructions sont choisies par le compilateur en fonction de ce qu'on lui demande, mais tu peux lui mettre plusieurs versions dans le programme (avec un choix, manuel ou automatique)
en général, on a quand même tendance a faire du code le "moins" optimisé possible pour garder une compatibilité correcte : on se limite par exemple au i686 avec MMX (ce qui doit représenter une bonne partie des machines actuelles)
Maintenant, si t'as du code qui va tourner sur une machine que tu connais bien, tu peux optimiser avec ce que le CPU supporte (ex. Gentoo qui peut être compilé en fonction de la machine).
Fraye > Quels passages ne comprends tu pas ?
l'article est trés bien fait et tout et tout..
bonnes explications.. ça se voit
ca vient plus de moi qui même quand il y a toutes les explications possibles
n'arrive plus a suivre techniquement.