Langage machineLe langage machine, ou code machine, est la suite de bits qui est interprétée par le processeur d'un ordinateur exécutant un programme informatique. C'est le langage natif d'un processeur, c'est-à-dire le seul qu'il puisse traiter. Il est composé d'instructions et de données à traiter codées en binaire. Chaque processeur possède un langage machine. Si un processeur A est capable d'exécuter toutes les instructions du processeur B, on dit que A est compatible avec B.
IBM 360 et 370L’IBM 360 est un ordinateur fabriqué en 1965 par la firme International Business Machines. Ce calculateur mainframe comportait de nombreuses innovations, dont la compatibilité très grande entre machines par la microprogrammation, et rencontra un énorme succès pour l'époque. La série 360 a massivement contribué à imposer les ordinateurs dans le monde tant scientifique que des affaires.
VAXthumb|Logo du Digital VAX 11. La famille d'ordinateurs VAX-11 (ou simplement VAX) conçue au sein de la société Digital Equipment Corporation (DEC) par Gordon Bell, Bill Demmer, Richie Lary, Steve Rothman et Bill Strecker à partir de 1975 connut un très grand succès. Cette gamme se positionnait comme les successeurs des PDP-11 dont les premiers modèles gardent un mode compatible. D'ailleurs le nom VAX signifie Virtual Address eXtension (Extension de l'adressage virtuel), faisant référence au faible espace d'adressage mémoire disponible sur le PDP-11 ( de base).
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.
Registre de processeurUn registre est un emplacement de mémoire interne à un processeur. Les registres se situent au sommet de la hiérarchie mémoire : il s'agit de la mémoire la plus rapide d'un ordinateur, mais dont le coût de fabrication est le plus élevé, car la place dans un microprocesseur est limitée. Une architecture externe de processeur définit un ensemble de registres, dits architecturaux, qui sont accessibles par son jeu d'instructions. Ils constituent l'état externe (architectural) du processeur.
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.
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.
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.
OpérandeEn mathématiques, dans une expression décrivant une opération, chacun des éléments sur lesquels s'applique l’opération est appelé un opérande. Selon l'arité de l'opérateur utilisé, il peut y avoir ainsi zéro, un ou plusieurs opérandes. En langage de programmation, l'arité de l'opérateur peut dépendre du jeu d'instructions. Un opérande peut être une constante, une simple variable ou une expression faisant intervenir d'autres opérations. Deux opérandes distincts peuvent avoir la même expression et a fortiori la même valeur.
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.
MicroprogrammationLa microprogrammation est une technique de réalisation du séquenceur d'un processeur, utilisé dans la technologie CISC, dans laquelle le comportement du séquenceur est décrit par le contenu d'une mémoire. Ce contenu est appelé microprogramme ou microcode. Il peut être vu comme un programme destiné à une machine très simple appelée micro-séquenceur ; le processeur final est alors considéré comme une machine virtuelle simulée par le micro-séquenceur. Par opposition la technologie RISC ne contient pas de microcode.
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).
Architecture SPARCthumb|Un microprocesseur UltraSPARC II. SPARC, acronyme pour Scalable Processor Architecture, est une architecture de processeur de type RISC, originellement développée par Sun Microsystems. Sa conception est fortement influencée par l'architecture expérimentale Berkeley RISC, développée au début des années 1980. SPARC est un des premiers succès commerciaux de la famille d'architectures RISC, influençant ainsi des nombreux processeurs produit pendant les années 1980 et 1990.
Compatibilité ascendante et descendantevignette|La Wii, qui a succédé à la Gamecube, est compatible avec cette dernière, ce qui en fait un exemple de compatibilité descendante. La rétrocompatibilité, ou compatibilité descendante, est la compatibilité d'un produit vis-à-vis de ses anciennes ou précédentes versions ; la compatibilité ascendante ou postcompatibilité est la compatibilité d'un produit vis-à-vis des versions plus récentes, voire encore en phase de conception.
Common Language Runtime(CLR) est le nom choisi par Microsoft pour le composant de machine virtuelle du framework .NET. Il s'agit de l'implémentation par Microsoft du standard Common Language Infrastructure (CLI) qui définit l'environnement d'exécution des codes de programmes. Le CLR fait tourner une sorte de bytecode nommé Common Intermediate Language (CIL). Le compilateur à la volée transforme le code CIL en code natif spécifique au système d'exploitation. Le CLR fonctionne sur des systèmes d'exploitation Microsoft Windows.
ByteLe byte (prononcé ), ou multiplet en français, est la plus petite unité « logiquement » adressable par un programme sur un ordinateur. Aujourd’hui, le besoin d'une structure commune pour le partage des données a fait que le byte de , appelé octet, s'est généralisé en informatique. Cependant, jusque dans les années 1970, il existait des processeurs avec des bytes de tailles très variables ; il existe, pour la programmation des automates et autres équipements industriels simples, des processeurs utilisant des mémoires adressables par quantité de , voire moins ; beaucoup de microprocesseurs adressent physiquement la mémoire par mot de plusieurs bytes afin d'augmenter les performances.
Architecture 8 bitsvignette|Le MMN80CPU (clone du Zilog Z80), un processeur 8 bits En architecture des ordinateurs, les unités 8 bits d'entiers, d'adresses mémoire ou d'autres données sont celles qui ont une largeur de , c'est-à-dire . Aussi, les architectures 8 bits de processeurs et d'unités arithmétiques et logiques sont celles qui sont fondées sur des registres, des bus d'adresse, ou des bus de données de cette taille. « 8 bits » est aussi un terme donné à une génération de calculateurs dans lesquels les processeurs 8 bits étaient la norme.
AssembleurUn langage d'assemblage ou langage assembleur est, en programmation informatique, le langage de plus bas niveau qui représente le langage machine sous une forme lisible par un humain. Les combinaisons de bits du langage machine sont représentées par des symboles dits « mnémoniques », c'est-à-dire faciles à retenir. Le programme assembleur convertit ces mnémoniques en langage machine, ainsi que les valeurs (écrites en décimal) en binaire et les libellés d'emplacements en adresses, en vue de créer par exemple un fichier objet ou un fichier exécutable.
Effet de bord (informatique)En informatique, une fonction est dite à effet de bord (traduction mot à mot de l'anglais side effect, dont le sens est plus proche deffet secondaire) si elle modifie un état en dehors de son environnement local, c'est-à-dire a une interaction observable avec le monde extérieur autre que retourner une valeur. Par exemple, les fonctions qui modifient une variable locale statique, une variable non locale ou un argument mutable passé par référence, les fonctions qui effectuent des opérations d'entrées-sorties ou les fonctions appelant d'autres fonctions à effet de bord.
Mémoire virtuellethumb|Schéma de principe de la mémoire virtuelle. En informatique, le mécanisme de mémoire virtuelle a été mis au point dans les années 1960. Il repose sur l'utilisation de traduction à la volée des adresses (virtuelles) vues du logiciel, en adresses physiques de mémoire vive. La mémoire virtuelle permet : d'utiliser de la mémoire de masse comme extension de la mémoire vive ; d'augmenter le taux de multiprogrammation ; de mettre en place des mécanismes de protection de la mémoire ; de partager la mémoire entre processus.