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.
Programmable Array LogicProgrammable Array Logic (PAL) is a family of programmable logic device semiconductors used to implement logic functions in digital circuits introduced by Monolithic Memories, Inc. (MMI) in March 1978. MMI obtained a registered trademark on the term PAL for use in "Programmable Semiconductor Logic Circuits". The trademark is currently held by Lattice Semiconductor. PAL devices consisted of a small PROM (programmable read-only memory) core and additional output logic used to implement particular desired logic functions with few components.
Xilinxthumb|FPGA Xilinx Spartan-3 (référence XC3S400) contenant portes logiques Xilinx (nom complet Xilinx, Inc.) est une entreprise américaine de semi-conducteurs. Inventeur du FPGA, Xilinx fait partie des plus grandes entreprises spécialisées dans le développement et la commercialisation de composants logiques programmables, et des services associés tels que les logiciels de CAO électroniques, blocs de propriété intellectuelle réutilisables et formation. Le , AMD annonce son intention de racheter Xilinx.
Programmable logic arrayA programmable logic array (PLA) is a kind of programmable logic device used to implement combinational logic circuits. The PLA has a set of programmable AND gate planes, which link to a set of programmable OR gate planes, which can then be conditionally complemented to produce an output. It has 2N AND gates for N input variables, and for M outputs from PLA, there should be M OR gates, each with programmable inputs from all of the AND gates. This layout allows for many logic functions to be synthesized in the sum of products canonical forms.
AlteraAltera est un fabricant de composants reprogrammables (FPGA, CPLD). Dans ce domaine, il est en concurrence avec Xilinx, Actel, Lattice ou encore Atmel (appartenant à Microchip depuis ). Altera est aussi à l'origine du processeur softcore NIOS et du bus Avalon. Le , Intel annonce le rachat d'Altera pour 16,7 milliards de dollars. Le titre est retiré le 24 décembre 2015. MAX 3000A MAX 7000 : annoncé en 1991 MAX II : annoncé 2004 MAX IIZ : annoncé le MAX V : annoncé le MAX 10 : disponible depuis 2015 Avalon est un bus informatique développé par la société Altera et destiné à l'implémentation sur du matériel programmable (FPGA).
Circuit logique programmableUn circuit logique programmable ou PLD (Programmable Logical Device), est un circuit intégré logique qui peut être programmé après sa fabrication. Il se compose de nombreuses cellules logiques élémentaires contenant des bascules logiques librement connectables. L'utilisateur doit donc programmer le circuit avant de l'utiliser. Les différentes logiques de programmation (unique, reprogrammable) et d'architecture ont conduit à la création de sous-familles dont les plus connues sont les FPGA et les CPLD.
Gate arrayA gate array is an approach to the design and manufacture of application-specific integrated circuits (ASICs) using a prefabricated chip with components that are later interconnected into logic devices (e.g. NAND gates, flip-flops, etc.) according to custom order by adding metal interconnect layers in the factory. It was popular during the upheaval in the semiconductor industry in the 1980s, and its usage declined by the end of the 1990s.
Processeur softcoreUn processeur softcore est un processeur (CPU) implémenté sur un système reprogrammable comme un FPGA. On parle alors de « système sur puce programmable » (System on Programmable Chip ou SoPC). Le mot softcore est une contraction des mots anglais software (« logiciel ») et core (« cœur d'exécution d'un microprocesseur »). En effet, un softcore est une implémentation de processeur disponible sous forme de description bas niveau, dans un langage de description matérielle comme le VHDL ou le Verilog, ou directement sous la forme de fichier de configuration pour éviter la diffusion des sources.
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.
Multiplieur-accumulateurEn programmation, à l'origine en traitement numérique du signal, l'opération combinée multiply–accumulate (MAC) ou multiply-add (MAD) est une instruction-machine qui calcule le produit de deux nombres et agrège le résultat au contenu d'un accumulateur. Le circuit électronique qui réalise cette opération est appelé « multiplieur-accumulateur » ; l'opération elle-même est souvent abrégée en MAC ou « opération MAC.
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.
Performances (informatique)En informatique, les performances énoncent les indications chiffrées mesurant les possibilités maximales ou optimales d'un matériel, d'un logiciel, d'un système ou d'un procédé technique pour exécuter une tâche donnée. Selon le contexte, les performances incluent les mesures suivantes : Un faible temps de réponse pour effectuer une tâche donnée Un débit élevé (vitesse d'exécution d'une tâche) L'efficience : faible utilisation des ressources informatiques : processeur, mémoire, stockage, réseau, consommation électrique, etc.
Logique polyvalenteLes logiques polyvalentes (ou multivalentes, ou multivaluées) sont des alternatives à la logique classique aristotélicienne, bivalente, dans laquelle toute proposition doit être soit vraie soit fausse. Elles sont apparues à partir des années 1920, surtout à la suite des travaux du logicien polonais Jan Łukasiewicz. Elles sont principalement étudiées au niveau du seul calcul propositionnel et peu au niveau du calcul des prédicats.
Électronique numériqueL'électronique numérique concerne le système ou la technologie appliquée dont les caractéristiques sont exprimées par des valeurs de nombres, en anglais digital signifiant « chiffre ». La meilleure fiabilité lors de la transmission des signaux numérisés procure en principe, un contrôle de bout en bout de la chaîne des signaux. Le mode numérique permet de s'affranchir le plus souvent du bruit de fond, des parasites et autres artefacts lors de la transmission et améliore notamment le rapport signal sur bruit.
Circuit underutilizationCircuit underutilization also chip underutilization, programmable circuit underutilization, gate underutilization, logic block underutilization refers to a physical incomplete utility of semiconductor grade silicon on a standardized mass-produced circuit programmable chip, such as a gate array type ASIC, an FPGA, or a CPLD. In the example of a gate array, which may come in sizes of 5,000 or 10,000 gates, a design which utilizes even 5,001 gates would be required to use a 10,000 gate chip.
AdditionneurUn additionneur est un circuit logique permettant de réaliser une addition. Ce circuit est très présent dans les ordinateurs pour le calcul arithmétique mais également pour le calcul d'adresses, d'indice de tableau dans le processeur. On dénombre deux types d'additionneurs : parallèle (circuit combinatoire) et série (circuit séquentiel). Dans la classe des additionneurs parallèles, nous décrirons ici ceux à propagation de retenue et ceux à retenue anticipée.
Microprocesseurvignette|Un Intel 4004 dans son boîtier à seize broches, premier microprocesseur commercialisé. vignette|Architecture de l'Intel 4004. vignette|L'intérieur d'un Intel 80486DX2. Un microprocesseur est un processeur dont tous les composants ont été suffisamment miniaturisés pour être regroupés dans un unique boîtier. Fonctionnellement, le processeur est la partie d'un ordinateur qui exécute les instructions et traite les données des programmes.
Calculatricethumb|Une pascaline. Inventée au , c'est la première machine à calculer. Une calculatrice ou calculette (terme souvent considéré comme péjoratif par les fabricants) est une machine conçue pour simplifier et fiabiliser des opérations de calcul. D'abord mécanique, puis électromécanique, la machine à calculer est devenue électronique dans les , avec l'introduction de la première machine à calculer électronique en 1961, suivie d'une miniaturisation accélérée des circuits intégrés.
Histoire des ordinateursvignette|alt=Une grande salle avec des armoires métalliques contre les murs, sur lesquels sont connectés des dizaines de câbles qui sont reconnectés sur l'armoire adjacente|L'ENIAC, vers 1950. Lhistoire des ordinateurs commence au milieu du . Si les premiers ordinateurs ont été réalisés après la Seconde Guerre mondiale, leur conception repose sur le résultat de divers prototypes tels que l'Harvard Mark I et le Z3, machines électromécaniques programmables commencées en 1939, et surtout de deux calculateurs électroniques : le Colossus du service de cryptanalyse britannique en 1943, l'ENIAC en 1945.
CompilateurEn informatique, un compilateur est un programme qui transforme un code source en un code objet. Généralement, le code source est écrit dans un langage de programmation (le langage source), il est de haut niveau d'abstraction, et facilement compréhensible par l'humain. Le code objet est généralement écrit en langage de plus bas niveau (appelé langage cible), par exemple un langage d'assemblage ou langage machine, afin de créer un programme exécutable par une machine.