Page d'accueil » comment » Pourquoi les nouvelles générations de processeurs sont-elles plus rapides à la même vitesse d'horloge?

    Pourquoi les nouvelles générations de processeurs sont-elles plus rapides à la même vitesse d'horloge?

    Vous pourriez être curieux de savoir comment les nouvelles générations de processeurs peuvent être plus rapides aux mêmes vitesses d'horloge que les processeurs plus anciens. Est-ce juste des changements dans l'architecture physique ou est-ce quelque chose de plus? Le message de questions et réponses du superutilisateur d'aujourd'hui contient les réponses aux questions d'un lecteur curieux.

    La séance de questions et réponses d'aujourd'hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté..

    Photo gracieuseté de Rodrigo Senna (Flickr).

    La question

    SuperUser reader agz veut savoir pourquoi les nouvelles générations de processeurs sont plus rapides à la même vitesse d'horloge:

    Pourquoi, par exemple, un Core i5 dual-core à 2,66 GHz serait-il plus rapide qu'un Core 2 Duo à 2,66 GHz, également dual core??

    Est-ce à cause d'instructions plus récentes capables de traiter des informations en moins de cycles d'horloge? Quels autres changements architecturaux sont impliqués?

    Pourquoi les nouvelles générations de processeurs sont-elles plus rapides à la même vitesse d'horloge??

    La réponse

    Les contributeurs de SuperUser, David Schwartz et Breakthrough, ont la solution pour nous. Tout d'abord, David Schwartz:

    Habituellement, ce n'est pas à cause d'instructions plus récentes. C'est simplement parce que le processeur nécessite moins de cycles d'instruction pour exécuter les mêmes instructions. Cela peut être dû à un grand nombre de raisons:

    1. Les grandes caches signifient moins de temps perdu à attendre de la mémoire.
    2. Plus d'unités d'exécution signifie moins de temps d'attente pour commencer à exécuter une instruction.
    3. Une meilleure prédiction de branche signifie moins de temps perdu en exécutant de manière spéculative des instructions qui n'ont jamais réellement besoin d'être exécutées.
    4. Les améliorations de l'unité d'exécution signifient moins de temps d'attente pour terminer les instructions.
    5. Des pipelines plus courts signifient que les pipelines se remplissent plus rapidement.

    Etc.

    Suivi de la réponse de Breakthrough:

    La référence définitive absolue est celle des manuels du développeur de logiciels pour architectures Intel 64 et IA-32. Ils détaillent les changements entre les architectures et constituent une excellente ressource pour comprendre l'architecture x86..

    Je vous recommande de télécharger les volumes combinés 1 à 3C (premier lien de téléchargement sur la page liée ci-dessus). Le volume 1, chapitre 2.2 contient les informations souhaitées.

    Voici quelques différences générales énumérées dans ce chapitre et allant des micro-architectures Core à Nehalem / Sandy Bridge:

    • Prévision de branche améliorée, récupération plus rapide des erreurs de prédiction
    • Technologie HyperThreading
    • Contrôleur de mémoire intégré, nouvelle hiérarchie de cache
    • Traitement plus rapide des exceptions en virgule flottante (Sandy Bridge uniquement)
    • Amélioration de la bande passante LEA (Sandy Bridge uniquement)
    • Extensions d'instructions AVX (Sandy Bridge uniquement)

    La liste complète se trouve dans le lien fourni ci-dessus (Volume 1, Chapitre 2.2).

    Assurez-vous de lire plus de cette discussion intéressante via le lien ci-dessous!


    Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.