Exécution dans le désordreL'exécution dans le désordre ( en anglais) consiste à réorganiser l'ordre dans lequel les instructions vont s'exécuter dans le processeur. Ces instructions ne sont alors pas forcément exécutées dans l'ordre dans lequel elles apparaissent dans le programme. Cela permet de mieux exploiter les ressources d'un processeur et ainsi de gagner du temps de calcul par rapport à l'exécution dans l'ordre () qui consiste à exécuter les instructions dans l'ordre prévu par le compilateur.
Instruction-level parallelismInstruction-level parallelism (ILP) is the parallel or simultaneous execution of a sequence of instructions in a computer program. More specifically ILP refers to the average number of instructions run per step of this parallel execution. ILP must not be confused with concurrency. In ILP there is a single specific thread of execution of a process. On the other hand, concurrency involves the assignment of multiple threads to a CPU's core in a strict alternation, or in true parallelism if there are enough CPU cores, ideally one core for each runnable thread.
Execution unitIn computer engineering, an execution unit (E-unit or EU) is a part of the central processing unit (CPU) or graphics processing unit (GPU) that performs the operations and calculations forwarded from the instruction unit. It may have its own internal control sequence unit (not to be confused with the CPU's main control unit), some registers, and other internal units such as an arithmetic logic unit, address generation unit, floating-point unit, load–store unit, branch execution unit or some smaller and more specific components.
Unité de calcul en virgule flottantethumbnail|Le Motorola 68882, un coprocesseur arithmétique. Une unité de calcul en virgule flottante (UVF, en anglais floating-point unit, FPU) est une partie d'un processeur, spécialement conçue pour effectuer des opérations sur des nombres à virgule flottante. Tous les processeurs incorporent au moins l'addition, la soustraction et la multiplication. L'opération fused multiply–add (multiplication suivie d'une addition, avec un seul arrondi), requise par la norme IEEE 754 dans sa révision de 2008, est de plus en plus implémentée.
Single instruction multiple dataSingle Instruction on Multiple Data (signifiant en anglais : « instruction unique, données multiples »), ou SIMD, est une des quatre catégories d'architecture définies par la taxonomie de Flynn en 1966 et désigne un mode de fonctionnement des ordinateurs dotés de capacités de parallélisme. Dans ce mode, la même instruction est appliquée simultanément à plusieurs données pour produire plusieurs résultats.
Parallélisme (informatique)vignette|upright=1|Un des éléments de Blue Gene L cabinet, un des supercalculateurs massivement parallèles les plus rapides des années 2000. En informatique, le parallélisme consiste à mettre en œuvre des architectures d'électronique numérique permettant de traiter des informations de manière simultanée, ainsi que les algorithmes spécialisés pour celles-ci. Ces techniques ont pour but de réaliser le plus grand nombre d'opérations en un temps le plus petit possible.
Pentium ProLe Pentium Pro est un microprocesseur x86 32 bits produit par Intel, de sixième génération (architecture P6), sorti en 1995. Avec ce processeur, Intel s'est attaqué au marché des serveurs pour entreprises, dominé par IBM, faisant baisser le prix des serveurs et monter en puissance les architectures Intel, ce qui profite aussi aux produits pour PC, devenus assez puissants pour traiter de grandes quantités de sons et photos. Ce processeur a été conçu pour les systèmes 32 bits de l'époque comme Windows NT et OS/2.
Intel P6La microarchitecture P6 est une architecture de microprocesseurs x86 d'Intel, utilisée dans les processeurs Pentium Pro, Pentium II, Pentium III, Pentium M, Core 1, et certains Pentium Dual-Core et Celeron.
Renommage de registresEn architecture des ordinateurs, on appelle renommage de registres le fait qu'une microarchitecture alloue dynamiquement les registres architecturaux à un ensemble plus vaste de registres physiques au cours de l'exécution d'un programme. Une architecture externe de processeur définit un ensemble de registres, dits architecturaux, que peuvent manipuler les programmes en langage machine. Dans une microarchitecture superscalaire, le processeur essaie d'exécuter en parallèle plusieurs instructions.
Very long instruction wordVLIW, initiales de very long instruction word en anglais, traduit littéralement par « mot d'instruction très long », dénote une famille d'ordinateurs dotés d'un processeur à mot d'instruction très long (couramment supérieur à 128 bits). VLIW est une technologie reportant une partie de la gestion du pipeline d'exécution d'un processeur dans les compilateurs. Cette technologie, semblable à l'EPIC proposée par l'Itanium d'Intel va donc fournir une instruction longue qui sera une agrégation d'instructions courtes indépendantes.
Cyrix 6x86Le CYRIX 6x86 est un microprocesseur de type x86 lancé en 1995. Fin 1995, Cyrix présente sa sixième génération de processeurs : le 6x86 autrement appelé MI. Dans les calculs en nombres entiers, le 6x86 surpasse même les processeurs d'Intel mais ce n'est pas le cas en calcul en virgule flottante (la FPU tourne à la moitié de la vitesse du processeur). Quoique compatible avec le Pentium par son brochage et sa tension électrique, le 6x86 de Cyrix n'est pas à proprement parler un clone de ce dernier, certains programmes et cartes mères se révélant même incapables de fonctionner avec celui-ci.
Multithreadingthumb|Schéma d'un process multithread Un processeur est dit multithread s'il est capable d'exécuter efficacement plusieurs threads simultanément. Contrairement aux systèmes multiprocesseurs (tels les systèmes multi-cœur), les threads doivent partager les ressources d'un unique cœur : les unités de traitement, le cache processeur et le translation lookaside buffer ; certaines parties sont néanmoins dupliquées : chaque thread dispose de ses propres registres et de son propre pointeur d'instruction.
Microprocesseur multi-cœurvignette|Un processeur quad-core AMD Opteron. vignette|L’Intel Core 2 Duo E6300 est un processeur double cœur. Un microprocesseur multi-cœur (multi-core en anglais) est un microprocesseur possédant plusieurs cœurs physiques fonctionnant simultanément. Il se distingue d'architectures plus anciennes (360/91) où un processeur unique commandait plusieurs circuits de calcul simultanés. Un cœur (en anglais, core) est un ensemble de circuits capables d’exécuter des programmes de façon autonome.
Pentium (marque)Pentium est une marque déposée par Intel en 1993 pour remplacer les nombres utilisés jusqu'alors (80286, 80386, 80486) et que ses concurrents pouvaient imiter (Am386, Cyrix Cx486SLC, etc.). La marque a aussi vu Intel entrer sur le marché des processeurs pour serveurs Windows NT puis Linux. Elle a servi à désigner plusieurs évolutions majeures de microprocesseurs de la famille x86 (Pentium, Pentium Pro, Pentium 4) et mineures (Pentium MMX, Pentium II, Pentium III, Pentium M, Pentium D) de l'architecture de processeur x86.
Processeur vectorielvignette|Processeur vectoriel d'un supercalculateur Cray-1. Un processeur vectoriel est un processeur possédant diverses fonctionnalités architecturales lui permettant d'améliorer l’exécution de programmes utilisant massivement des tableaux, des matrices, et qui permet de profiter du parallélisme inhérent à l'usage de ces derniers. Développé pour des applications scientifiques et exploité par les machines Cray et les supercalculateurs qui lui feront suite, ce type d'architecture a rapidement montré ses avantages pour des applications grand public (on peut citer la manipulation d'images).
Architecture matériellevignette|Architecture matérielle d'un processeur Intel Core2. vignette|Architecture matérielle d'un Cyclops64 (BlueGene/C). L’architecture matérielle décrit l’agencement interne de composants électroniques ainsi que leurs interactions. Le terme interne employé ici permet de bien faire la différence avec l’architecture (externe) de processeur (ou architecture de jeu d'instruction), qui s'intéresse à la spécification fonctionnelle d'un processeur, du point de vue du programmeur en langage machine.
Simultaneous multithreadingLe simultaneous multithreading (SMT) est une technique informatique datant des années 1960. Il s'agit d'une forme de multithreading, une technique qui consiste, comme le symmetric multiprocessing (SMP), à augmenter le TLP (thread level parallelism), c’est-à-dire le parallélisme des threads. Le SMT est le partage d'un cœur de processeur superscalaire (les pipelines, les unités de calcul et les caches) entre plusieurs threads.
AMD K6Le K6 est un microprocesseur x86, construit par AMD, qui remplaça le K5. Lancé le , cadencé à 166 et , le K6 est basé sur le design du microprocesseur Nx686 que NexGen concevait quand cette société fut rachetée par AMD. Il a été suivi le de versions à et . Il dispose d'une FPU intégrée, de de mémoire cache de niveau 1 et des instructions MMX d'Intel et se connecte sur un connecteur de type Socket 7 (bus ) ou SuperSocket 7 (bus ).
Pipeline (computing)In computing, a pipeline, also known as a data pipeline, is a set of data processing elements connected in series, where the output of one element is the input of the next one. The elements of a pipeline are often executed in parallel or in time-sliced fashion. Some amount of buffer storage is often inserted between elements. Computer-related pipelines include: Instruction pipelines, such as the classic RISC pipeline, which are used in central processing units (CPUs) and other microprocessors to allow overlapping execution of multiple instructions with the same circuitry.
Microarchitectureright|400px|thumb|La microarchitecture Core d'Intel right|400px|thumb|La microarchitecture Nehalem d'Intel La microarchitecture d'un processeur est un plan de ce processeur au niveau logique. Elle décrit, par exemple : le nombre de pipelines et leur longueur respective ; le nombre de mémoires cache et associativité respectives ; l'existence de renommage de registres ; d'une unité d'exécution out-of-order ; d'une unité de prédiction de branchement. Elle est également parfois appelée architecture, bien que ce terme ait d'autres sens différents en informatique.