Algorithme de TomasuloL’algorithme de Tomasulo est un algorithme facilitant le parallélisme au sein des processeurs mis au point en 1967 par Robert Tomasulo. Cet algorithme, est l'une des implémentations possibles pour l'exécution dans le désordre : il trie les instructions de manière à traiter plus tard les instructions qui seraient normalement bloquées en raison de dépendances de données. Mise en place pour la première fois pour l'unité de calcul en virgule flottante de l'IBM 360 modèle 90. Robert Tomasulo a reçu le Prix Eckert-Mauchly en 1997 pour cet algorithme.
Hazard (computer architecture)In the domain of central processing unit (CPU) design, hazards are problems with the instruction pipeline in CPU microarchitectures when the next instruction cannot execute in the following clock cycle, and can potentially lead to incorrect computation results. Three common types of hazards are data hazards, structural hazards, and control hazards (branching hazards). There are several methods used to deal with hazards, including pipeline stalls/pipeline bubbling, operand forwarding, and in the case of out-of-order execution, the scoreboarding method and the Tomasulo algorithm.
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.
Intel i960L’Intel i960 (ou 80960) est un processeur Intel de conception RISC qui est devenu assez populaire au début des années 1990 comme microcontrôleur, et qui fut pendant un certain temps le processeur le plus vendu dans ce domaine, sortant l'AMD 29000. Malgré son succès, à cause d'un effet secondaire dû à un procès avec DEC, duquel Intel reçut les droits de produire le processeur StrongARM, Intel abandonna le développement de l'i960 vers la fin des années 1990.
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 superscalaireUn processeur est dit superscalaire s'il est capable d'exécuter plusieurs instructions simultanément parmi une suite d'instructions. Pour cela, il comporte plusieurs unités de calcul, et est capable de détecter l'absence de dépendances entre instructions. Un processeur superscalaire cherche à exploiter le parallélisme entre instructions pour accélérer l'exécution des programmes. Cette approche évite de modifier les programmes pour exploiter le parallélisme : le processeur détecte lui-même les instructions pouvant être exécutées en parallèle, contrairement à d'autres approches, comme le VLIW.
AMD K5L'AMD K5 est un microprocesseur x86, pour Socket 5 et Socket 7, construit par AMD, et présenté pour la première fois en 1995. Il remplaça l'Am5x86, et fut suivi par le K6. Il est comparable au Cyrix 6x86, mais seul le K5 possède une architecture interne en RISC. Tous les modèles ont 4,3 millions de transistors. Aucun K5 ne supporte les instructions MMX. Il y avait deux sortes de processeurs K5, appelés en interne les séries « 5k86 » et « K5 », tous les deux lancés sous le nom K5. La ligne des « 5k86 » fonctionnait entre 75 et .
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.
Instruction cycleThe instruction cycle (also known as the fetch–decode–execute cycle, or simply the fetch-execute cycle) is the cycle that the central processing unit (CPU) follows from boot-up until the computer has shut down in order to process instructions. It is composed of three main stages: the fetch stage, the decode stage, and the execute stage. In simpler CPUs, the instruction cycle is executed sequentially, each instruction being processed before the next one is started.
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.
Exécution spéculativeEn informatique, l'exécution spéculative correspond au lancement anticipé d'une instruction, c'est-à-dire sans être certain que celle-ci ait réellement besoin d'être exécutée. Généralement, on peut distinguer trois types d'instructions et de déclarations dans un programme : celles qui doivent être exécutées de manière obligatoire. celles qui n'ont pas besoin d'être exécutées car elles ne sont pas pertinentes. celles qui ne sont de manière certaine dans aucun des deux groupes précédents.
Fréquence d'horlogeLa fréquence d'horloge d'un circuit numérique synchrone est la fréquence de son signal d'horloge (nombre de cycles par seconde). Cette information est indiquée en hertz (Hz). Le terme est utilisé en électronique dans des applications telles que les processeurs synchrones ou la synchronisation de télécommunications, pour aider à caractériser respectivement la puissance de traitement ou le débit d’information.
Hyper-threadingthumb|Principe de l’hyper-threading. Hyper-threading (officiellement appelée Hyper-Threading Technology (HTT) ou HT Technology (HT)) est la mise en œuvre par l'entreprise Intel du simultaneous multithreading (SMT) à deux voies dans ses microprocesseurs. Le premier modèle grand public de la gamme à en bénéficier fut le Pentium 4 Northwood cadencé à . Le Xeon Northwood en bénéficia auparavant. Schématiquement, l’hyper-threading consiste à créer deux processeurs logiques sur une seule puce, chacun doté de ses propres registres de données et de contrôle, et d’un contrôleur d’interruptions particulier.
Instructions par cycleEn architecture d'ordinateur, instructions par cycle d'horloge (instruction par cycle ou IPC) est un terme utilisé pour décrire un aspect de la performance d'un microprocesseur : le nombre moyen d'instructions exécutées pour chaque cycle du signal d'horloge. À ne pas confondre avec le nombre de cycles par instruction. Le nombre d'instructions par seconde d'un processeur peut être déterminé en multipliant l'IPC par la fréquence d'horloge (mesuré en cycles par seconde ou hertz) du microprocesseur en question.
Pipeline (architecture des processeurs)330px|droite|Plan d'un pipeline générique à trois étapes En microarchitecture, un pipeline (ou chaîne de traitement), est l'élément d'un processeur dans lequel l'exécution des instructions est découpée en plusieurs étapes. Le premier ordinateur à utiliser cette technique est l'IBM Stretch, conçu en 1961. Avec un pipeline, le processeur peut commencer à exécuter une nouvelle instruction sans attendre que la précédente soit terminée. Chacune des étapes d’un pipeline est appelé étage.
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.
Prédiction de branchementLa prédiction de branchement est une fonctionnalité d'un processeur qui lui permet de prédire le résultat d'un branchement. Cette technique permet à un processeur de rendre l'utilisation de son pipeline plus efficace. Avec cette technique, le processeur va faire de l’exécution spéculative : il va parier sur le résultat d'un branchement, et va poursuivre l’exécution du programme avec le résultat du pari. Si le pari échoue, les instructions chargées par erreur dans le pipeline sont annulées.
NehalemLa microarchitecture Nehalem est une microarchitecture x86 d'Intel, utilisée par les familles Nehalem et Westmere. Elle succède à Core, par rapport à laquelle elle apporte plusieurs changements majeurs, comme l'intégration du contrôleur mémoire et l'utilisation d'un nouveau bus de données système et inter-processeur (QPI). Les déclinaisons Clarkdale intègrent en outre un contrôleur PCI-Express. Le premier processeur Nehalem a été le Core i7 920 sorti en . La microarchitecture suivante est Sandy Bridge.
Cache de processeurUn cache de processeur est une antémémoire matérielle utilisée par l'unité centrale de traitement (CPU) d'un ordinateur pour réduire le coût moyen (temps ou énergie) de l’accès aux données de la mémoire principale. Un cache de processeur est une mémoire plus petite et plus rapide, située au plus près d'une unité centrale de traitement (ou d'un cœur de microprocesseur), qui stocke des copies des données à partir d'emplacements de la mémoire principale qui sont fréquemment utilisés avant leurs transmissions aux registres du processeur.
Compteur ordinalDans un processeur, le compteur ordinal ou pointeur d'instruction (en anglais : instruction pointer ou program counter) est le registre (souvent nommé PC) qui contient l'adresse mémoire de l'instruction en cours d'exécution ou prochainement exécutée (cela dépend de l'architecture). Une fois l'instruction chargée, il est automatiquement incrémenté pour pointer l'instruction suivante. Les instructions de branchement ou d'appel et retour de sous-programmes permettent de choisir une autre adresse pour influer sur le déroulement du programme informatique.