MicrocontrôleurUn microcontrôleur (en notation abrégée μc, ou uc ou encore MCU en anglais) est un circuit intégré qui rassemble les éléments essentiels d'un ordinateur : processeur, mémoires (mémoire morte et mémoire vive), unités périphériques et interfaces d'entrées-sorties. Les microcontrôleurs se caractérisent par un plus haut degré d'intégration, une plus faible consommation électrique, une vitesse de fonctionnement plus faible (de quelques mégahertz jusqu'à plus d'un gigahertz) et un coût réduit par rapport aux microprocesseurs polyvalents utilisés dans les ordinateurs personnels.
Firmwarethumb|Une télécommande contient un firmware. Dans un système informatique, un firmware (ou micrologiciel, microprogramme, microcode, logiciel interne ou encore logiciel embarqué) est un programme intégré dans un matériel informatique (ordinateur, photocopieur, automate (API, APS), disque dur, routeur, appareil photo numérique, etc.) pour qu'il puisse fonctionner. Le mot anglais firmware est issu de firm (« résistant » ou « ferme », en anglais) et de software (logiciel, programme informatique).
Système embarquéUn système embarqué est un système électronique et informatique autonome, souvent temps réel, spécialisé dans une tâche précise. Le terme désigne aussi bien le matériel informatique que le logiciel utilisé. Ses ressources sont généralement limitées spatialement (encombrement réduit) et énergétiquement (consommation restreinte). L'un des premiers systèmes modernes embarqués reconnaissables a été le Apollo Guidance Computer en 1967, le système de guidage de la mission lunaire Apollo, développé par Charles Stark Draper du Massachusetts Institute of Technology.
In-circuit emulatorUn émulateur in-circuit également appelé in-circuit emulator (ICE) ou on-circuit debugger (OCD) ou background debug module (BDM) est un dispositif matériel permettant de déboguer le logiciel d'un système embarqué. Un tel dispositif est nécessaire car les systèmes embarqués présentent un certain nombre de lacunes. Ainsi, ils ne comportent ni clavier, ni écran, ni lecteur de disquettes, de disque dur ou n'importe quelle autre interface avec l'utilisateur ou périphérique de stockage qui sont présents sur un ordinateur de bureau.
Logiciel enfouiLes logiciels enfouis ou embarqués (embedded software), sont des entités autonomes qui remplissent une mission indépendante, parfois critique, sans intervention humaine, en général en interaction directe avec l’environnement extérieur que celui-ci soit physique ou informatique. Ces systèmes autonomes peuvent être isolés mais ils sont la plupart du temps reliés et communiquent à travers un réseau grâce à un logiciel d'intermédiation.
Binary blobIn the context of free and open-source software, proprietary software only available as a binary executable is referred to as a blob or binary blob. The term usually refers to a device driver module loaded into the kernel of an open-source operating system, and is sometimes also applied to code running outside the kernel, such as system firmware images, microcode updates, or userland programs. The term blob was first used in database management systems to describe a collection of binary data stored as a single entity.
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.
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.
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.
Booting process of LinuxThe multi-stage booting process of Linux is in many ways similar to the BSD and other Unix-style boot processes, from which it derives. Booting a Linux installation involves multiple stages and software components, including firmware initialization, execution of a boot loader, loading and startup of a Linux kernel image, and execution of various startup scripts and daemons.
LinuxLinux ou GNU/Linux est une famille de systèmes d'exploitation open source de type Unix fondés sur le noyau Linux créé en 1991 par Linus Torvalds. De nombreuses distributions Linux ont depuis vu le jour et constituent un important vecteur de popularisation du mouvement du logiciel libre. Si, à l'origine, Linux a été développé pour les ordinateurs compatibles PC, il n'a jamais équipé qu'une très faible part des ordinateurs personnels.
Système sur une pucethumb|Puce ARM Exynos sur le smartphone Nexus S de Samsung. Un système sur une puce, souvent désigné dans la littérature scientifique par le terme anglais (d'où son abréviation SoC), est un système complet embarqué sur un seul circuit intégré (« puce »), pouvant comprendre de la mémoire, un ou plusieurs microprocesseurs, des périphériques d'interface, ou tout autre composant nécessaire à la réalisation de la fonction attendue.
OpenWrtOpenWrt est une distribution GNU/Linux minimaliste pour matériel embarqué (routeurs, tablettes, téléphones...). Historiquement développée pour remplacer le firmware des routeurs basés sur des systèmes sur une puce Broadcom (par exemple les routeurs WLAN d'Asus, Belkin, Dell, Linksys, US Robotics, Viewsonic), OpenWrt fournit une interface Web avec le firmware Whiterussian (webif) et Kamikaze via les projets X-Wrt et LuCI. Whiterussian n'est disponible que pour les équipements à base de Broadcom BCM47xx (ex: Linksys WRT54G, Asus WL-500g.
4-bit computing4-bit computing is the use of computer architectures in which integers and other data units are 4 bits wide. 4-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data buses of that size. Memory addresses (and thus address buses) for 4-bit CPUs are generally much larger than 4-bit (since only 16 memory locations would be very restrictive), such as 12-bit or more, while they could in theory be 8-bit. A group of four bits is also called a nibble and has 24 = 16 possible values.
FuzzingLe fuzzing (ou test à données aléatoires) est une technique pour tester des logiciels. L'idée est d'injecter des données aléatoires dans les entrées d'un programme. Si le programme échoue (par exemple en plantant ou en générant une erreur), alors il y a des défauts à corriger. Exemples de points d'entrée d'un programme : Fichiers Périphériques (clavier, souris, etc.) Variables d'environnement Réseau Limitation des ressources (mémoire, disque dur, temps CPU, etc.) etc.
UEFIvignette|droite|Logo du standard. vignette|Fonctionnement synthétique de l'EFI (Extensible Firmware Interface). Le standard UEFI (de l’anglais Unified Extensible Firmware Interface, signifiant en « Interface micrologicielle extensible unifiée ») définit une interface entre le micrologiciel (firmware) et le système d'exploitation (OS) d'un ordinateur. Cette interface succède sur certaines cartes-mères au BIOS. AMD, American Megatrends, Apple, ARM, Dell, HP, Intel, IBM, Insyde Software, Microsoft et Phoenix Technologies sont les promoteurs de l’UEFI Forum qui définissent les normes de cette technologie.
ÉmulationEn informatique, l'émulation consiste à substituer à un élément de matériel informatique un logiciel. thumb|Capture d'écran de Qemu Launcher. « Émuler » signifie « simuler, sur un ordinateur, le comportement de ». L'émulation est donc une imitation du comportement physique d'un matériel par un logiciel, contrairement à la simulation, qui vise à imiter un modèle abstrait. L'émulateur reproduit le comportement d'un modèle dont toutes les variables sont connues, alors que le simulateur tente de reproduire un modèle mais en devant extrapoler une partie des variables qui lui sont inconnues (exemple : la simulation du comportement d'un trou noir).
Instruction set simulatorAn instruction set simulator (ISS) is a simulation model, usually coded in a high-level programming language, which mimics the behavior of a mainframe or microprocessor by "reading" instructions and maintaining internal variables which represent the processor's registers. Instruction simulation is a methodology employed for one of several possible reasons: To simulate the instruction set architecture (ISA) of a future processor to allow software development and test to proceed without waiting for the development and production of the hardware to finish.
Supervisor Call instructionThis article covers the specific instruction on the IBM System/360 and successor mainframe computers, and compatible machines. For the general concept of an instruction for issuing calls to an operating system, see System call. A Supervisor Call instruction (SVC) is a hardware instruction used by the System/360 family of IBM mainframe computers up to contemporary zSeries, the Amdahl 470V/5, 470V/6, 470V/7, 470V/8, 580, 5880, 5990M, and 5990A, and others; Univac 90/60, 90/70 and 90/80, and possibly others; the Fujitsu M180 (UP) and M200 (MP), and others; and is also used in the Hercules open source mainframe emulation software.
Appareil électronique de faible puissanceUn appareil électronique de faible puissance est un appareil électronique qui a été conçu pour utiliser peu de puissance électrique, par exemple un ultraportable. Montre Les premières tentatives de réduction de la quantité d'énergie requise par un dispositif électronique ont été liées au développement de la montre-bracelet. Les montres électroniques ont besoin d'électricité comme source d'énergie, et certains mouvements mécaniques et mouvements électromécaniques hybrides ont également besoin d'électricité.