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.
Central processing unitA central processing unit (CPU)—also called a central processor or main processor—is the most important processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, logic, controlling, and input/output (I/O) operations. This role contrasts with that of external components, such as main memory and I/O circuitry, and specialized coprocessors such as graphics processing units (GPUs). The form, design, and implementation of CPUs have changed over time, but their fundamental operation remains almost unchanged.
Microprocesseur à jeu d'instruction étenduUn microprocesseur à jeu d'instruction étendu (, CISC) désigne un microprocesseur possédant un jeu d'instructions comprenant de très nombreuses instructions . L'architecture CISC est opposée à l'architecture RISC qui au contraire, limite ses instructions à l'essentiel afin de réduire la quantité de transistors. Le premier microprocesseur est l'Intel 4004, d'architecture 4 bits, sorti en 1971, suivi de l'Intel 8008, d'architecture , sorti en 1972.
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.
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.
Instruction set architectureIn computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an implementation. In general, an ISA defines the supported instructions, data types, registers, the hardware support for managing main memory, fundamental features (such as the memory consistency, addressing modes, virtual memory), and the input/output model of a family of implementations of the ISA.
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).
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.
Reconfigurable computingReconfigurable computing is a computer architecture combining some of the flexibility of software with the high performance of hardware by processing with very flexible high speed computing fabrics like field-programmable gate arrays (FPGAs). The principal difference when compared to using ordinary microprocessors is the ability to make substantial changes to the datapath itself in addition to the control flow. On the other hand, the main difference from custom hardware, i.e.
Unité de contrôleDans un système logique, en particulier dans un processeur, l’unité de contrôle (de commande) commande et contrôle le fonctionnement du système, notamment du chemin de données. Une unité de contrôle est un circuit logique séquentiel qui réalise un automate fini, plus précisément une machine de Moore ou de Mealy, qui génère des signaux de contrôle pour piloter les éléments du chemin de données. Dans un séquenceur câblé, les signaux de contrôle sont produits par un circuit logique ad hoc qui réalise l'automate.
Transport triggered architectureLes termes transport triggered architecture désignent en anglais un type d'architecture de processeur où la seule instruction disponible permet de déplacer une valeur d'un registre à un autre. Au lieu de constituer une instruction à part entière, toutes les opérations se font en transférant des valeurs dans des registres spécifiques : certains contiendront les opérandes, d'autres fourniront les résultats. Pour une instruction d'addition, par exemple, on commencerait par déplacer les opérandes dans les registres correspondants, par exemple AddI1 et AddI2.
Field-programmable gate arrayA field-programmable gate array (FPGA) is an integrated circuit designed to be configured after manufacturing. The FPGA configuration is generally specified using a hardware description language (HDL), similar to that used for an application-specific integrated circuit (ASIC). Circuit diagrams were previously used to specify the configuration, but this is increasingly rare due to the advent of electronic design automation tools. FPGAs contain an array of programmable logic blocks, and a hierarchy of reconfigurable interconnects allowing blocks to be wired together.
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.
Processeur scalaireUn processeur est dit scalaire s'il ne traite qu'une seule donnée à la fois. Il est superscalaire si, grâce à son architecture parallélisée, il est capable d'en traiter plusieurs. Les processeurs scalaires sont parfois mis en opposition avec les processeurs vectoriels. On parle aussi de valeur ou de variable scalaire pour désigner une valeur ou un contenant destiné par son type à contenir une valeur atomique. On oppose valeur atomique à valeur composite. Un entier, un nombre flottant sont des valeurs atomiques.
Processeur à jeu d'instructions réduitUn processeur à jeu d'instructions réduit (en anglais RISC pour Reduced instruction set computer) est un type d'architecture de processeur qui se caractérise par un jeu d'instructions visant la rapidité d'exécution grâce à la facilité de décodage et d'exécution en pipeline des instructions machine. À la fin des années 1980 et au début des années 1990, cette stratégie permet aux microprocesseurs RISC d'obtenir de meilleures performances que les architectures anciennes, de type CISC (de l'anglais complex instruction-set computer).
Parallélisme de donnéeLe parallélisme par distribution de donnée ou parallélisme de donnée (data parallelism en anglais) est un paradigme de la programmation parallèle. Autrement dit, c'est une manière particulière d'écrire des programmes pour des machines parallèles. Les algorithmes des programmes qui entrent dans cette catégorie cherchent à distribuer les données au sein des processus et à y opérer les mêmes opérations à l'instar des SIMD. Le paradigme opposé est celui du parallélisme de tâche. Catégorie:Programmation concurr
Architecture de processeurUne architecture externe de processeur ou architecture de jeu d'instructions (ISA, de l'anglais instruction set architecture), ou tout simplement architecture (de processeur), est la spécification fonctionnelle d'un processeur, du point de vue du programmeur en langage machine. L'architecture comprend notamment la donnée d'un jeu d'instructions, d'un ensemble de registres visibles par le programmeur, d'une organisation de la mémoire et des entrées sorties, des modalités d'un éventuel support multiprocesseur, etc.
Explicitly parallel instruction computingEPIC (explicitly parallel instruction computing, littéralement informatique à instruction explicitement parallèle) est un type d'architecture de microprocesseurs, utilisé entre autres dans les DSP et par Intel pour les microprocesseurs Itanium et Itanium 2. La philosophie de l'EPIC repose sur la disparition du réordonnancement à l'exécution : les instructions sont exécutées dans l'ordre exact dans lequel le compilateur les a disposées, mais celui-ci précise les instructions à exécuter en parallèle.
Mot (architecture informatique)En architecture informatique, un mot est une unité de base manipulée par un microprocesseur. On parle aussi de mot machine. La taille d’un mot s’exprime en bits, parfois même en octets. Elle est souvent utilisée pour classer les microprocesseurs (, ). Toutes choses étant égales par ailleurs, un microprocesseur est d’autant plus rapide que ses mots sont longs, car les données qu'il traite à chaque cycle sont plus importantes.
Manycore processorManycore processors are special kinds of multi-core processors designed for a high degree of parallel processing, containing numerous simpler, independent processor cores (from a few tens of cores to thousands or more). Manycore processors are used extensively in embedded computers and high-performance computing. Manycore processors are distinct from multi-core processors in being optimized from the outset for a higher degree of explicit parallelism, and for higher throughput (or lower power consumption) at the expense of latency and lower single-thread performance.