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.
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.
Noyau Linuxvignette|upright=2|Couches de fonctions du Noyau Linux Le noyau Linux est un noyau de système d'exploitation de type UNIX. Il est utilisé dans plusieurs systèmes d'exploitation dont notamment GNU/Linux (couramment appelé « Linux ») et Android. Le noyau Linux est un logiciel partiellement libre (contenant des BLOB et des modules non-libre - consultez Linux-libre) développé essentiellement en langage C par des milliers de bénévoles et salariés collaborant sur Internet.
Pilote informatiqueUn pilote informatique (driver), souvent abrégé en pilote, est un programme informatique destiné à permettre à un autre programme (souvent un système d'exploitation) d'interagir avec un périphérique. En général, chaque périphérique a son propre pilote. Dit de manière simplifiée, un pilote d'imprimante est un logiciel qui traduit les ordres de l'utilisateur (le système) dans le langage de l'imprimante. Sans pilote, l'imprimante ou la carte graphique par exemple ne pourraient pas être utilisées.
Loadable Kernel ModuleDans un système d'exploitation, un module est une partie du noyau qui peut être intégrée pendant son fonctionnement. Le terme anglais généralement employé pour les désigner est Loadable Kernel Module, abrégé LKM, ou . Cette fonctionnalité existe dans les noyaux Linux et les noyaux BSD. C'est une alternative aux fonctionnalités compilées dans le noyau, qui ne peuvent être modifiées qu'en relançant le système. Les modules du noyau Linux sont généralement placés dans /lib/modules. Ils utilisent l'extension .
Processeur graphiqueUn processeur graphique, ou GPU (de l'anglais Graphics Processing Unit), également appelé coprocesseur graphique sur certains systèmes, est une unité de calcul assurant les fonctions de calcul d'image. Il peut être présent sous forme de circuit intégré (ou puce) indépendant, soit sur une carte graphique ou sur la carte mère, ou encore intégré au même circuit intégré que le microprocesseur général (on parle d'un SoC lorsqu'il comporte toutes les puces spécialisées).
General-purpose processing on graphics processing unitsGPGPU est l'abréviation de general-purpose computing on graphics processing units, c'est-à-dire calcul générique sur processeur graphique. L'objectif de tels calculs est de bénéficier de la capacité de traitement parallèle des processeurs graphiques. Avant l'arrivée des GPGPU, le CPU, processeur central de l'ordinateur, traitait la plupart des opérations lourdes en calcul comme les simulations physiques, le rendu hors-ligne pour les films, les calculs de risques pour les institutions financières, la prévision météorologique, l'encodage de fichier vidéo et son Intel avec ses 80 % de parts de marché sur les CPU dominait donc très largement tous les besoins en calcul et pouvait en extraire de substantielles marges.
Calcul hétérogèneHeterogeneous computing refers to systems that use more than one kind of processor or core. These systems gain performance or energy efficiency not just by adding the same type of processors, but by adding dissimilar coprocessors, usually incorporating specialized processing capabilities to handle particular tasks. Usually heterogeneity in the context of computing referred to different instruction-set architectures (ISA), where the main processor has one and other processors have another - usually a very different - architecture (maybe more than one), not just a different microarchitecture (floating point number processing is a special case of this - not usually referred to as heterogeneous).
Processeur de signal numériqueUn DSP (de l'anglais « Digital Signal Processor », qu'on pourrait traduire par « processeur de signal numérique » ou « traitement numérique de signal ») est un microprocesseur optimisé pour exécuter des applications de traitement numérique du signal (filtrage, extraction de signaux) le plus rapidement possible. Les DSP sont utilisés dans la plupart des applications du traitement numérique du signal en temps réel. On les trouve dans les modems (modem RTC, modem ADSL), les téléphones mobiles, les appareils multimédia (lecteur MP3), les récepteurs GPS.
Noyau de système d'exploitationUn noyau de système d’exploitation, ou simplement noyau, ou kernel en anglais, est une des parties fondamentales de certains systèmes d’exploitation. Il gère les ressources de l’ordinateur et permet aux différents composants — matériels et logiciels — de communiquer entre eux. En tant que partie du système d’exploitation, le noyau fournit des mécanismes d’abstraction du matériel, notamment de la mémoire, du (ou des) processeur(s), et des échanges d’informations entre logiciels et périphériques matériels.
Nouveau (informatique)Nouveau est un projet de la fondation X.Org et de Freedesktop.org visant à produire des pilotes libres pour les cartes graphiques Nvidia par rétro-ingénierie. Ben Skeggs (alias darktama) est le mainteneur du pilote DDX xf86-video-nouveau et de la partie DRM (pilote nouveau dans le noyau). Les pilotes Nouveau sont utilisés par défaut, quand une carte ou circuit graphique Nvidia est détecté, dans Fedora 11 et Ubuntu depuis la 11.10. PSCNV est un fork de Nouveau initié par la société , visant à proposer le support d’un GPGPU (comme CUDA ou OpenCL) particulier appelé ENZO.
Heterogeneous System ArchitectureHeterogeneous System Architecture (HSA) is a cross-vendor set of specifications that allow for the integration of central processing units and graphics processors on the same bus, with shared memory and tasks. The HSA is being developed by the HSA Foundation, which includes (among many others) AMD and ARM. The platform's stated aim is to reduce communication latency between CPUs, GPUs and other compute devices, and make these various devices more compatible from a programmer's perspective, relieving the programmer of the task of planning the moving of data between devices' disjoint memories (as must currently be done with OpenCL or CUDA).
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).
Direct Rendering ManagerDirect Rendering Manager (gestionnaire de rendu direct en anglais), abrégé en DRM est un sous-système du noyau linux, servant à la gestion cohérente au sein du système informatique, du mode d'affichage (modesetting), des tampons mémoires utilisés par le système graphique, de la gestion de objets partagés en mémoire, de la gestion de la queue de commandes au processeur graphique, la gestion de l'intervalle de rafraîchissement vertical, ainsi que la synchronisation inter-processus de toutes ces fonctions.
Stream processingIn computer science, stream processing (also known as event stream processing, data stream processing, or distributed stream processing) is a programming paradigm which views streams, or sequences of events in time, as the central input and output objects of computation. Stream processing encompasses dataflow programming, reactive programming, and distributed data processing. Stream processing systems aim to expose parallel processing for data streams and rely on streaming algorithms for efficient implementation.
Microprocesseur multi-cœurvignette|Un processeur quad-core AMD Opteron. vignette|L’Intel Core 2 Duo E6300 est un processeur double cœur. Un microprocesseur multi-cœur (multi-core en anglais) est un microprocesseur possédant plusieurs cœurs physiques fonctionnant simultanément. Il se distingue d'architectures plus anciennes (360/91) où un processeur unique commandait plusieurs circuits de calcul simultanés. Un cœur (en anglais, core) est un ensemble de circuits capables d’exécuter des programmes de façon autonome.
Puce d'accélération de réseaux de neuronesUn Accélérateur d'IA pour accélérateur d'intelligence artificielle (ou NPU, Neural Processing Unit) est une catégorie de microprocesseur ou de systèmes de calculs conçu pour accélérer un réseau de neurones artificiels, accélérer des algorithmes de vision industrielle et d'apprentissage automatique pour la robotique, l'internet des objets et autres taches de calculs-intensifs ou de contrôle de capteurs. Il s'agit souvent de conceptions multicœurs et se concentrant généralement sur l'arithmétique de faible-précision, des nouvelles architectures de flux de données ou de la capacité de calcul en mémoire.
Linux-libreGNU Linux-libre (Linux-libre avant son rattachement au projet GNU) est un fork du noyau Linux visant au retrait de tous les modules propriétaires (appelés BLOB) chargés dans la version originelle sans le code source, avec du code impénétrable ou sous licence propriétaire. Ses versions sont réalisées et maintenues à partir de la branche stable. thumb|right|Lux, mascotte alternative dessinée par Guillaume Pasquet basée sur Tux L'origine du projet remonte à 2005 au sein d'une communauté sud-américaine déjà très active avec les projets Ututo, BLAG ou ceux de la Fondation pour le logiciel libre Amérique latine (Free Software Foundation Latin America).
Cell (processeur)Le Cell est un processeur conçu conjointement par IBM, Sony et Toshiba, révélé en . Il équipe notamment la console de jeu vidéo PlayStation 3 de Sony. Il est envisagé de produire également des ordinateurs à base de Cell chez IBM, et Toshiba (Qosmio F50/55 et G50/55).
Panique du noyauvignette|upright=1|Panique d'un noyau Linux QEMU. vignette|upright=1|Panique d'un noyau Darwin macOS. vignette|upright=1|Panique d'un système Linux sur écran d'information de la RATP. La panique du noyau (kernel panic) est un mécanisme de signalement d'erreur système du noyau d'un système d'exploitation, en particulier UNIX, GNU/Linux ou macOS. La panique du noyau peut intervenir dans des circonstances diverses, qui normalement traduisent toutes des erreurs impossibles à corriger et à ignorer et interdisant la poursuite du fonctionnement de l'ordinateur.