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.
Architecture 16 bitsvignette|Le WDC W65C816S, un micro-processeur 16 bits En informatique, l’architecture est un type de structure d'ordinateur exploitant des mots (processeur, mémoire, bus) d'une taille de (soit deux octets). Un mot de peut stocker 2 valeurs différentes, soit . Un processeur peut donc adresser directement de mémoire. Au milieu des années 1960, les premiers ordinateurs commercialisés incluent le HP-2116 de HP, le PDP-11 de DEC et le Nova de Data General. Ils sont conçus et fabriqués à base de composants discrets et de ce fait relativement complexes et volumineux.
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.
Microsoft WordMicrosoft Word est un logiciel de traitement de texte publié par Microsoft. La version la plus récente est Word 2021. Sa première version a été distribuée en 1983 sous le nom de Multi-Tool Word (« Multi-Outil de traitement de texte ») pour le système d'exploitation Xenix qui était une version du système Unix à la fin des années 1970. Des versions ultérieures furent écrites pour plusieurs autres plates-formes dont IBM PC sous système d’exploitation DOS en 1983, Apple Macintosh en 1984, SCO UNIX, OS/2 et les premières versions Windows en 1989.
X86 assembly languagex86 assembly language is the name for the family of assembly languages which provide some level of backward compatibility with CPUs back to the Intel 8008 microprocessor, which was launched in April 1972. It is used to produce object code for the x86 class of processors. Regarded as a programming language, assembly is machine-specific and low-level. Like all assembly languages, x86 assembly uses mnemonics to represent fundamental CPU instructions, or machine code.
Array (data type)In computer science, array is a data type that represents a collection of elements (values or variables), each selected by one or more indices (identifying keys) that can be computed at run time during program execution. Such a collection is usually called an array variable or array value. By analogy with the mathematical concepts vector and matrix, array types with one and two indices are often called vector type and matrix type, respectively. More generally, a multidimensional array type can be called a tensor type, by analogy with the physical concept, tensor.
Array programmingIn computer science, array programming refers to solutions that allow the application of operations to an entire set of values at once. Such solutions are commonly used in scientific and engineering settings. Modern programming languages that support array programming (also known as vector or multidimensional languages) have been engineered specifically to generalize operations on scalars to apply transparently to vectors, matrices, and higher-dimensional arrays.
KilobyteThe kilobyte is a multiple of the unit byte for digital information. The International System of Units (SI) defines the prefix kilo as a multiplication factor of 1000 (103); therefore, one kilobyte is 1000 bytes. The internationally recommended unit symbol for the kilobyte is kB. In some areas of information technology, particularly in reference to solid-state memory capacity, kilobyte instead typically refers to 1024 (210) bytes.
BitLe bit est l'unité la plus simple dans un système de numération, ne pouvant prendre que deux valeurs, désignées le plus souvent par les chiffres 0 et 1. Un bit peut représenter aussi bien une alternative logique, exprimée par faux et vrai, qu'un « chiffre binaire », binary digit en anglais, dont le mot bit, qui signifie « morceau », est aussi l'abréviation. Dans la théorie de l'information, un bit est la quantité minimale d'information transmise par un message, et constitue à ce titre l'unité de mesure de base de l'information en informatique.
Processeur 64 bitsthumb|Un processeur AMD. Un processeur est un processeur dont la largeur des registres est de sur les nombres entiers. Les processeurs ne peuvent normalement pas adresser plus de () de mémoire centrale, tandis que les processeurs peuvent en adresser (). C'est pourquoi dès qu'il y a plus de de RAM sur une machine, la mémoire au-delà de ce seuil ne sera directement adressable qu'en mode . Diverses techniques contournent cette limitation sans franchir le pas du mode .
Vecteur (structure de données)En informatique, un vecteur désigne un conteneur d'éléments ordonnés et accessibles par des indices, dont la taille est dynamique : elle est mise à jour automatiquement lors d'ajouts ou de suppressions d'éléments. On retrouve les vecteurs dans de nombreux langages de programmation, notamment le C++ et le Java. Ils sont alors inclus dans des bibliothèques et l'utilisateur n'a pas besoin d'en programmer un. En langage objet, la classe vecteur est généralement polymorphe, c'est-à-dire qu'il est possible de l'utiliser avec n'importe quel type d'objet.
Array slicingIn computer programming, array slicing is an operation that extracts a subset of elements from an array and packages them as another array, possibly in a different dimension from the original. Common examples of array slicing are extracting a substring from a string of characters, the "ell" in "hello", extracting a row or column from a two-dimensional array, or extracting a vector from a matrix. Depending on the programming language, an array slice can be made out of non-consecutive elements.
Computer memoryComputer memory stores information, such as data and programs for immediate use in the computer. The term memory is often synonymous with the term primary storage or main memory. An archaic synonym for memory is store. Computer memory operates at a high speed compared to storage which is slower but less expensive and higher in capacity. Besides storing opened programs, computer memory serves as disk cache and write buffer to improve both reading and writing performance.
WordStarWordStar était un logiciel de traitement de texte édité par MicroPro International, conçu à l'origine pour le système d'exploitation CP/M, mais plus tard porté sous DOS, qui occupa une part de marché dominante du début au milieu des années 1980. Bien que Seymour I. Rubinstein fut le principal actionnaire de la compagnie, Rob Barnaby était le seul auteur des premières versions du programme. À partir de la version 4.0, le logiciel a été basé sur un nouveau code, écrit principalement par Peter Mierau.
Semiconductor memorySemiconductor memory is a digital electronic semiconductor device used for digital data storage, such as computer memory. It typically refers to devices in which data is stored within metal–oxide–semiconductor (MOS) memory cells on a silicon integrated circuit memory chip. There are numerous different types using different semiconductor technologies. The two main types of random-access memory (RAM) are static RAM (SRAM), which uses several transistors per memory cell, and dynamic RAM (DRAM), which uses a transistor and a MOS capacitor per cell.
Bit slicingBit slicing is a technique for constructing a processor from modules of processors of smaller bit width, for the purpose of increasing the word length; in theory to make an arbitrary n-bit central processing unit (CPU). Each of these component modules processes one bit field or "slice" of an operand. The grouped processing components would then have the capability to process the chosen full word-length of a given software design. Bit slicing more or less died out due to the advent of the microprocessor.
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.
Théorie des ensemblesLa théorie des ensembles est une branche des mathématiques, créée par le mathématicien allemand Georg Cantor à la fin du . La théorie des ensembles se donne comme primitives les notions d'ensemble et d'appartenance, à partir desquelles elle reconstruit les objets usuels des mathématiques : fonctions, relations, entiers naturels, relatifs, rationnels, nombres réels, complexes... C'est pourquoi la théorie des ensembles est considérée comme une théorie fondamentale dont Hilbert a pu dire qu'elle était un « paradis » créé par Cantor pour les mathématiciens.
Paradigme (programmation)vignette|Schéma simple à 3 blocs, avec des connexions étiquetées Le paradigme de programmation est la façon (parmi d'autres) d'approcher la programmation informatique et de formuler les solutions aux problèmes et leur formalisation dans un langage de programmation approprié. Ce n'est pas de la méthodologie contenant une méthode ; cette dernière organise le traitement des problèmes reconnus dans l'écosystème concerné pour aboutir à la solution conceptuelle et programme exécutable.
Langage de programmation de bas niveauvignette|Language de programmation Un langage de programmation de bas niveau ne fournit que peu d'abstraction par rapport au jeu d'instructions du processeur de la machine. Les langages de bas niveau sont à opposer aux langages de haut niveau, qui permettent de créer un programme sans tenir compte des caractéristiques particulières (registres, etc) de l'ordinateur censé exécuter le programme. Le langage machine et le langage d'assemblage sont les archétypes de langages de bas niveau, puisqu'ils permettent de manipuler explicitement des registres, des adresses mémoires, des instructions machines.