Dans cet article, nous explorerons le monde fascinant de Unité de contrôle et toutes les implications qu'il a sur notre société actuelle. De son impact sur la culture populaire à sa pertinence dans la vie quotidienne, Unité de contrôle a joué un rôle crucial dans divers domaines de nos vies. De plus, nous examinerons l'évolution de Unité de contrôle au fil du temps et comment elle a influencé nos perceptions et nos actions. Grâce à une analyse complète, nous dévoilerons les mystères et les complexités entourant Unité de contrôle, fournissant un aperçu profond et perspicace de ce sujet d’importance universelle.
Dans un système logique, en particulier dans un processeur, l’unité de contrôle (de commande) ou séquenceur, 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 processeur, le séquenceur est l'un des composants principaux, avec l'unité arithmétique et logique et les registres. Le séquenceur récupère les instructions stockées dans la mémoire principale, les décode et les envoie au registre d’instructions. Le séquenceur gère les transferts de données nécessaires et les commandes à envoyer. Son travail est régi par une horloge[1].
Dans un séquenceur câblé, les signaux de contrôle sont produits par un circuit logique ad hoc qui réalise l'automate. Deux méthodes sont possibles :
En pratique, les séquenceurs des processeurs réels sont si complexes qu'aucune méthode de conception d'un séquenceur câblé ne donne de résultat satisfaisant, à un coût acceptable.
Les séquenceurs câblés ont été mis en œuvre sur les premiers ordinateurs, en utilisant des composants discrets ou même des pièces mécaniques. Les processeurs modernes utilisent des séquenceurs microprogrammés (voir ci-dessous).
Les programmes des machines à laver et les types de points des machines à coudre ont longtemps été réalisés par des séquenceurs câblés. Dans les machines modernes, ils sont généralement réalisés en logiciel. Ce logiciel fonctionne sur un microprocesseur ou un microcontrôleur.
Un séquenceur microprogrammé utilise un programme appelé microcode, contenu dans une mémoire morte (ROM). Un tel séquenceur est plus simple à concevoir et à mettre à jour, mais moins rapide.
De par leur complexité, les architectures à jeu d'instructions étendu comme x86 ont tendance à utiliser des séquenceurs microprogrammés, alors que les architectures à jeu d'instructions réduit comme ARM s'amènent plus naturellement aux séquenceurs câblés. Autre exemple, l'architecture RISC-V est explicitement conçue de telle sorte à simplifier le jeu d'instructions et ainsi permettre une implémentation câblée.