OrdinateurUn ordinateur est un système de traitement de l'information programmable tel que défini par Alan Turing et qui fonctionne par la lecture séquentielle d'un ensemble d'instructions, organisées en programmes, qui lui font exécuter des opérations logiques et arithmétiques. Sa structure physique actuelle fait que toutes les opérations reposent sur la logique binaire et sur des nombres formés à partir de chiffres binaires.
Informatiquealt=Salle informatique de la bibliothèque d'Art et d'Archéologie de Genève|vignette|Salle informatique de la bibliothèque d'Art et d'Archéologie de Genève (2017). L'informatique est un domaine d'activité scientifique, technique, et industriel concernant le traitement automatique de l'information numérique par l'exécution de programmes informatiques hébergés par des dispositifs électriques-électroniques : des systèmes embarqués, des ordinateurs, des robots, des automates Ces champs d'application peuvent être séparés en deux branches : théorique : concerne la définition de concepts et modèles ; pratique : s'intéresse aux techniques concrètes de mise en œuvre.
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.
Programme informatiqueUn programme informatique est un ensemble d'instructions et d’opérations destinées à être exécutées par un ordinateur. Un programme source est un code écrit par un informaticien dans un langage de programmation. Il peut être compilé vers une forme binaire ou directement interprété. Un programme binaire décrit les instructions à exécuter par un microprocesseur sous forme numérique. Ces instructions définissent un langage machine.
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.
Calculateur analogiquethumb|L'Elwat, un calculateur analogique polonais fabriqué entre 1967 et 1969 ; les éléments visibles sont, de gauche à droite, un voltmètre, un téléscripteur, un oscilloscope et l'ordinateur à proprement parler. Un calculateur analogique est une application particulière des méthodes analogiques consistant à remplacer l'étude d'un système physique donné par celle d'un autre système physique régi par les mêmes équations. Pour que cela présente un intérêt, le système « analogue » doit être facile à construire, les mesures aisées et moins coûteuses que sur le système réel.
Vision par ordinateurLa vision par ordinateur est un domaine scientifique et une branche de l’intelligence artificielle qui traite de la façon dont les ordinateurs peuvent acquérir une compréhension de haut niveau à partir d's ou de vidéos numériques. Du point de vue de l'ingénierie, il cherche à comprendre et à automatiser les tâches que le système visuel humain peut effectuer. Les tâches de vision par ordinateur comprennent des procédés pour acquérir, traiter, et « comprendre » des images numériques, et extraire des données afin de produire des informations numériques ou symboliques, par ex.
Optimisation non linéaireEn optimisation, vue comme branche des mathématiques, l'optimisation non linéaire (en anglais : nonlinear programming – NLP) s'occupe principalement des problèmes d'optimisation dont les données, i.e., les fonctions et ensembles définissant ces problèmes, sont non linéaires, mais sont aussi différentiables autant de fois que nécessaire pour l'établissement des outils théoriques, comme les conditions d'optimalité, ou pour la bonne marche des algorithmes de résolution qui y sont introduits et analysés.
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.
Constrained optimizationIn mathematical optimization, constrained optimization (in some contexts called constraint optimization) is the process of optimizing an objective function with respect to some variables in the presence of constraints on those variables. The objective function is either a cost function or energy function, which is to be minimized, or a reward function or utility function, which is to be maximized.
High-level synthesisHigh-level synthesis (HLS), sometimes referred to as C synthesis, electronic system-level (ESL) synthesis, algorithmic synthesis, or behavioral synthesis, is an automated design process that takes an abstract behavioral specification of a digital system and finds a register-transfer level structure that realizes the given behavior. Synthesis begins with a high-level specification of the problem, where behavior is generally decoupled from low-level circuit mechanics such as clock-level timing.
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.
Commande optimaleLa théorie de la commande optimale permet de déterminer la commande d'un système qui minimise (ou maximise) un critère de performance, éventuellement sous des contraintes pouvant porter sur la commande ou sur l'état du système. Cette théorie est une généralisation du calcul des variations. Elle comporte deux volets : le principe du maximum (ou du minimum, suivant la manière dont on définit l'hamiltonien) dû à Lev Pontriaguine et à ses collaborateurs de l'institut de mathématiques Steklov , et l'équation de Hamilton-Jacobi-Bellman, généralisation de l'équation de Hamilton-Jacobi, et conséquence directe de la programmation dynamique initiée aux États-Unis par Richard Bellman.
Langage de description de matérielUn langage de description de matériel, ou du matériel (ou HDL pour hardware description language en anglais) est un langage informatique permettant la description d'un circuit électronique au niveau des transferts de registres (RTL). Celui-ci peut décrire les fonctions réalisées par le circuit (description comportementale) ou les portes logiques utilisées par le circuit (description structurelle). Il est possible d'observer le fonctionnement d'un circuit électronique modélisé dans un langage de description grâce à la simulation.
Optimisation convexevignette|320x320px|Optimisation convexe dans un espace en deux dimensions dans un espace contraint L'optimisation convexe est une sous-discipline de l'optimisation mathématique, dans laquelle le critère à minimiser est convexe et l'ensemble admissible est convexe. Ces problèmes sont plus simples à analyser et à résoudre que les problèmes d'optimisation non convexes, bien qu'ils puissent être NP-difficile (c'est le cas de l'optimisation copositive). La théorie permettant d'analyser ces problèmes ne requiert pas la différentiabilité des fonctions.
Calculateur mécaniquevignette| Hamann Manus R. Un calculateur mécanique est construit à partir de composants mécaniques tels que des leviers et des engrenages, plutôt que des composants électroniques. Les exemples les plus courants sont les calculatrices mécaniques qui utilisent la rotation des engrenages pour augmenter les affichages de sortie. Des exemples plus complexes pourraient effectuer la multiplication et la division et même une analyse différentielle. Un modèle vendu dans les années 1960 pouvait calculer les racines carrées.
Simulation informatiquevignette|upright=1|Une simulation informatique, sur une étendue de , de l'évolution du typhon Mawar produite par le Modèle météorologique Weather Research and Forecasting La simulation informatique ou numérique est l'exécution d'un programme informatique sur un ordinateur ou réseau en vue de simuler un phénomène physique réel et complexe (par exemple : chute d’un corps sur un support mou, résistance d’une plateforme pétrolière à la houle, fatigue d’un matériau sous sollicitation vibratoire, usure d’un roulem
DEC Alphathumbnail|200px|right|Un DEC Alpha . Le DEC Alpha, aussi appelé Alpha AXP, est un microprocesseur superscalaire RISC initialement développé et fabriqué par Digital Equipment Corp. (DEC), qui le commercialisa dans ses stations de travail et ses serveurs. La conception de ce processeur s’est très largement inspirée du processeur , ce dernier ayant connu de nombreux retards et ne sera finalement jamais commercialisé. Selon son fabricant Il sera notamment utilisé dans plusieurs superordinateurs Cray entre .
Intel 8080vignette|upright=1.1|Un clone de 8080, de chez AMD : l'AM9080ADC (CMOS) vignette|upright=1.1|Architecture interne du 8080 L’Intel 8080 est l'un des premiers microprocesseurs conçus et fabriqués par Intel. Présenté en avril 1974, ce processeur 8 bits qui fonctionnait à , est généralement considéré comme le premier microprocesseur véritablement utilisable dans une unité centrale. L’Intel 8080 est le successeur de l'Intel 8008, dont il partageait le langage assembleur, car il utilisait le même jeu d'instructions développé par la société .
Abstraction (informatique)En informatique, le concept d'abstraction identifie et regroupe des caractéristiques et traitements communs applicables à des entités ou concepts variés ; une représentation abstraite commune de tels objets permet d'en simplifier et d'en unifier la manipulation. thumb|upright=1.4|Différentes couches de logiciel, partant d'en bas, le matériel est programmé en langage binaire, via un firmware, qui permet une abstraction pour le noyau, puis lui même pour le système d'exploitation, qui a son tour permet une abstraction pour les applications.