Quelle est la différence entre architecture et microarchitecture?

Le terme architecture a été popularisé par l’article « Architecture of the IBM System / 360 », IBM Journal of Research and Development, 8 (2): 87-101, avril 1964 par Gene M Amdahl, Gerrit A Blaauw et Frederick P Brooks, Jr. Ils disent,

Le terme architecture est utilisé ici pour décrire les attributs d’un système vus par le programmeur, i.e., la structure conceptuelle et le comportement fonctionnel, à la différence de l’organisation du flux de données et des contrôles, de la conception logique et de la mise en œuvre physique.

Selon la page Wikipedia sur l’architecture informatique, la terminologie a probablement été introduite au sein d’IBM en 1959.

Aujourd’hui, nous utiliserions le terme architecture de jeu d’instructions pour décrire la syntaxe et la sémantique de l’interface d’un ordinateur, y compris le type et la taille des opérandes, l’état du registre visible du programmeur, le modèle de mémoire, la façon dont les interruptions et les exceptions sont gérées, les instructions disponibles et la signification de chaque instruction. L’architecture du jeu d’instructions est la frontière entre le logiciel et le matériel, et constitue le contrat entre le programmeur et le concepteur de matériel.

Le terme microarchitecture est utilisé pour désigner l’organisation, ou le plus haut niveau d’implémentation, d’un processeur particulier. L’étude de la microarchitecture inclurait des sujets tels que le pipelining, le parallélisme au niveau des instructions, l’exécution hors ordre, l’exécution spéculative, la prédiction de branche et la mise en cache.

Je ne suis pas sûr de l’étymologie de la microarchitecture. Je peux le trouver utilisé dès 1975 (dans le titre de l’Atelier EUROMICRO sur la Microarchitecture des Systèmes Informatiques), mais il pourrait certainement être plus ancien que cela.

Actuellement, le terme architecture informatique ou architecture simple englobe généralement à la fois l’architecture des jeux d’instructions et la microarchitecture, ainsi que des problèmes plus larges au niveau du système tels que la connectivité réseau sur des multiprocesseurs.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.