Architecture de processeur - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Classification des architectures

Architecture CISC

Une architecture CISC propose de nombreux modes d'adressage, dont certains sont souvent complexes. Le jeu d'instructions est généralement fourni.

Exemples : x86 étendue en IA-32, elle-même étendue en x64 ; Motorola 680x0.

Architecture RISC

Une architecture RISC propose un jeu d'instructions relativement réduit. Les modes d'adressage sont plus simples que dans une architecture CISC. L'architecture propose en général un nombre important de registres généraux. Ces caractéristiques favorisent une utilisation optimale du pipeline au niveau de la micro-architecture.

Exemples : SPARC, POWER et PowerPC, MIPS, ARM.

Architecture VLIW

Ce concept fait reposer une partie de la gestion du pipeline sur le compilateur : le processeur reçoit des instructions longues qui regroupent plusieurs instructions plus simples.

Architecture vectorielle

Alors que les instructions des processeurs traditionnels traitent un nombre (un scalaire) à la fois, les instructions des processeurs vectoriels peuvent travailler sur des vecteurs.

Exemples : les machines Cray.

Éléments d'une architecture externe

Dans la plupart des architectures, les programmes manipulent des registres de travail. Ces derniers sont donc à la base de l'architecture. Cependant, le processeur peut comporter d'autres registres, internes, non visibles du programmeurs : ceux-ci ne font pas partie de l'architecture.

L'accès aux données de la mémoire se fait selon un certain nombre de modes d'adressage qui sont spécifiés au niveau de l'architecture. De plus, cette dernière définit la vue logique qu'ont les programmes de la mémoire, et la façon dont est réalisée la liaison avec la mémoire physique. De même on spécifie les modalités d'accès aux entrées-sorties : registres spécialisés (c'est souvent le cas dans les microcontrôleurs), espace mémoire particulier (auquel cas les modes d'adressage sont souvent plus réduits que dans les espaces mémoire normaux), adresses particulières dans l'espace mémoire normal. Les types de données manipulés par le processeur doivent être précisés.

Les registres, la mémoire et les entrées-sorties sont manipulées par les instructions machine des programmes. Le jeu d'instructions est donc une donnée conséquente de l'architecture : il spécifie très précisément le comportement de chaque instruction machine.

Une architecture définit la façon dont sont gérées les erreurs ou exceptions.

Dans le cas d'une architecture qui supporte le multiprocesseurs, la façon dont les différents processeurs communiquent et se synchronisent doit être spécifiée.

Idéalement, on peut penser que les divers caches que peut intégrer un processeur (mémoire cache, TLB, etc.) pourraient être transparents pour le programmeur, donc hors du champ de l'architecture externe. Cependant, il est le plus souvent nécessaire que les programmes (en général le système d'exploitation) interagissent avec les caches (par exemple, pour invalider des entrées du TLB lorsque nécessaire). L'architecture externe décrit alors le rôle et l'interface de ces caches.

Jeux d'instructions supplémentaires SIMD

Afin d'améliorer les performances en calcul des processeurs traditionnels, on peut adjoindre à leur architecture de base un ensemble d'instructions et de registres dédié aux traitements SIMD. On compte notamment les technologies suivantes :

  • dans le monde PowerPC : AltiVec ;
  • dans le monde x86 : MMX (multimedia extensions), SSE (streaming SIMD extensions), AVX (advanced vector extensions).
Page générée en 0.085 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise