Fiche de révision : Introduction aux architectures et microprocesseurs

📋 Plan du Cours

  1. Architecture de Von Neumann
  2. Architecture Harvard
  3. Microprocesseur
  4. Unité de traitement
  5. Unité de commande
  6. Mémoire microprocesseur
  7. Bus d'entrée-sortie
  8. Segmentation mémoire
  9. Pagination mémoire
  10. Pipeline microprocesseur
  11. HyperThreading
  12. Caractéristiques microprocesseur

📖 1. Architecture de Von Neumann

🔑 Notions clés & Définitions

  • Modèle de Von Neumann : AUTEUR (1945) : architecture d’un ordinateur utilisant une structure de stockage unique pour instructions et données, permettant leur accès via un seul bus, simplifiant la conception mais limitant la performance par le phénomène de goulot d’étranglement.

  • Stockage unique : principe selon lequel instructions et données sont conservées dans la même mémoire, ce qui facilite la gestion mais peut entraîner des conflits d’accès (bottleneck).

  • Unité de traitement : composante composée de l’ALU (Unité Arithmétique et Logique), chargée d’effectuer les opérations de base, et de l’unité de commande, responsable du séquençage des opérations (voir section 5).

  • Mémoire : composant central contenant à la fois les instructions du programme et les données nécessaires à leur exécution, accessible par l’unité de commande et l’ALU.

  • Dispositifs d’entrée-sortie : interfaces permettant la communication entre l’ordinateur et le monde extérieur, facilitant la réception des instructions et la restitution des résultats.

📝 Points essentiels

  • La structure de Von Neumann décompose l’ordinateur en 4 parties : unité arithmétique et logique (ALU), unité de commande, mémoire, dispositifs d’entrée-sortie, toutes reliées via un bus unique.

  • La mémoire contient à la fois instructions et données, ce qui simplifie la conception mais limite la vitesse d’exécution en raison du phénomène de goulot d’étranglement (bottleneck mémoire).

  • La séquence d’exécution d’une instruction suit généralement : recherche dans la mémoire, décodage, exécution, stockage du résultat, coordonnée par l’unité de commande.

  • La performance est limitée par le fait que la mémoire ne peut pas être accédée simultanément pour instructions et données (contrairement à l’architecture Harvard).

  • La décomposition en 4 parties permet une organisation claire et modulaire de l’ordinateur, facilitant la conception et la maintenance.

💡 À retenir

L’architecture de Von Neumann repose sur un stockage unique pour instructions et données, simplifiant la conception mais introduisant un goulot d’étranglement qui limite la vitesse d’exécution.

📖 2. Architecture Harvard

🔑 Notions clés & Définitions

  • Séparation physique de la mémoire programme et mémoire données : Technique consistant à distinguer physiquement deux espaces mémoire distincts pour stocker les instructions et les données, permettant un accès indépendant et simultané à chaque type d'information.
  • Utilisation de deux bus distincts : Mise en œuvre de deux voies de communication séparées pour accéder simultanément à la mémoire de programme et à la mémoire de données, ce qui augmente la vitesse d'exécution.
  • Architecture plus rapide mais plus complexe que Von Neumann : Modèle qui, grâce à la séparation des mémoires et des bus, optimise la performance tout en introduisant une complexité accrue dans la conception et la gestion du microprocesseur.

📝 Points essentiels

  • L’architecture Harvard sépare physiquement la mémoire de programme et la mémoire de données, contrairement à l’architecture de Von Neumann qui utilise une mémoire unique (voir section 1).
  • Elle utilise deux bus distincts, permettant un accès simultané aux instructions et aux données, ce qui réduit le temps d’attente et accélère le traitement (voir section 1).
  • Cette architecture peut atteindre des performances supérieures à celles de Von Neumann en raison de l’accès parallèle, mais elle est plus complexe à mettre en œuvre, notamment au niveau du circuit et de la gestion mémoire.
  • La séparation physique permet également d’éviter certains problèmes de conflits d’accès et d’optimiser la pipeline et le traitement parallèle.
  • La conception de cette architecture est souvent utilisée dans les microprocesseurs modernes pour améliorer la vitesse d’exécution, notamment dans les processeurs embarqués et certains microcontrôleurs.

💡 À retenir

L’architecture Harvard optimise la vitesse d’exécution en séparant physiquement la mémoire de programme et la mémoire de données, utilisant deux bus distincts pour un accès simultané, mais elle est plus complexe à concevoir que l’architecture de Von Neumann.

📖 3. Microprocesseur

🔑 Notions clés & Définitions

  • Circuit complexe : Composant électronique intégrant plusieurs éléments pour traiter des instructions, stocker temporairement des données et gérer l’accès à la mémoire centrale, permettant la réalisation de tâches programmées.
  • Jeu d'instructions : Ensemble d’opérations que le microprocesseur peut exécuter, définissant ses capacités et ses fonctionnalités.
  • Registres internes : Mémoire rapide située à l’intérieur du microprocesseur, utilisée pour stocker temporairement des données, des opérandes, des résultats et des adresses, facilitant le traitement rapide.
  • Mécanisme d’accès à la mémoire centrale : Ensemble de circuits et de protocoles permettant au microprocesseur de lire ou écrire des données dans la mémoire principale via l’unité de bus, en traduisant les adresses logiques en physiques (voir section 6).
  • Recherche, décodage, exécution, stockage des résultats : Rôles élémentaires du microprocesseur dans le traitement d’une instruction :
    • Recherche : localiser l’instruction en mémoire (via l’unité de bus).
    • Décodage : interpréter le code opération et les opérandes (via l’unité de contrôle).
    • Exécution : réaliser l’opération arithmétique ou logique (via l’ALU).
    • Stockage : sauvegarder le résultat dans un registre ou en mémoire (via mécanismes internes).

📝 Points essentiels

  • Le microprocesseur est un circuit complexe qui possède un jeu d’instructions, une unité arithmétique et logique (ALU) pour effectuer des opérations, des registres internes pour le stockage temporaire, et un mécanisme d’accès à la mémoire centrale pour échanger des données avec la mémoire principale.
  • La structure interne comprend plusieurs unités :
    • U. arithmétique et logique : réalise opérations arithmétiques (addition, soustraction, multiplication, division, décalage) et logiques (AND, OR, XOR, NOT).
    • U. de gestion mémoire (MMU) : traduit adresses logiques en physiques, gère segmentation et pagination (voir section 6).
    • U. de contrôle : planifie et coordonne l’exécution des instructions en utilisant des microcodes stockés en ROM.
    • Registres : notamment le registre pointeur d’instruction (EIP ou IP), qui indique l’adresse de la prochaine instruction, et EFLAGS, qui contient des drapeaux indiquant le résultat des opérations.
  • Le traitement d’une instruction suit un cycle : recherche, décodage, recherche des opérandes, exécution, stockage du résultat.
  • La technologie HyperThreading (SMT) permet de simuler deux processeurs logiques dans un seul microprocesseur physique, optimisant l’utilisation des ressources en traitant deux threads simultanément (voir section 12).

💡 À retenir

Le microprocesseur est le cœur de l’ordinateur, orchestrant la recherche, le décodage, l’exécution et le stockage des instructions grâce à un circuit complexe doté de registres internes et de mécanismes d’accès rapides à la mémoire centrale.

📖 4. Unité de traitement

🔑 Notions clés & Définitions

  • Unité arithmétique et logique (ALU) : Circuit responsable de l'exécution des opérations arithmétiques (addition, soustraction, multiplication, division, décalage) et logiques (AND, OR, XOR, NOT). Elle traite les données provenant des registres et fournit les résultats à d'autres unités du microprocesseur.
  • Registres généraux : Zones de stockage interne rapides situées dans le microprocesseur, utilisées pour conserver temporairement des données ou des opérandes lors de l'exécution des instructions. Exemple : EAX, AX, BX, CX, DX, ESI, EDI, EBP, ESP.
  • Pointeurs : Registres qui contiennent des adresses mémoire, permettant de gérer la localisation des données ou des instructions dans la mémoire. Exemple : registre « pointeur d’instruction » (EIP ou IP).
  • Registre d’état (EFLAGS) : Registre contenant des drapeaux (flags) qui indiquent le résultat des opérations arithmétiques ou logiques, tels que zéro, dépassement, signe, etc. Il sert à contrôler le flux d'exécution et à prendre des décisions conditionnelles.
  • Effectue opérations arithmétiques et logiques : Fonction principale de l’ALU qui réalise les calculs et opérations logiques nécessaires à l’exécution des instructions, en utilisant les données stockées dans les registres ou la mémoire.

📝 Points essentiels

  • L’ALU est le cœur du traitement numérique, réalisant toutes les opérations fondamentales sur les données.
  • Les registres généraux, dont certains sont des accumulateurs ou pointeurs, servent de zones de stockage temporaires pour accélérer le traitement.
  • Les pointeurs (ex : EIP) permettent de suivre la position de l’instruction suivante à exécuter, facilitant la gestion du flux d’instructions.
  • Le registre d’état (EFLAGS) fournit des informations sur le résultat des opérations, influençant les décisions conditionnelles et le contrôle du programme.
  • La coordination entre l’ALU, les registres et le registre d’état est essentielle pour la rapidité et la précision du traitement.
  • La conception de l’unité de traitement doit optimiser la vitesse d’exécution tout en assurant la cohérence des opérations logiques et arithmétiques.

💡 À retenir

L’unité arithmétique et logique (ALU), en traitant opérations arithmétiques et logiques, constitue le centre du traitement dans le microprocesseur, utilisant des registres spécialisés pour stocker temporairement données et états.

📖 5. Unité de commande

🔑 Notions clés & Définitions

  • Planification et séquençage des opérations : Processus par lequel l’unité de commande organise l’ordre d’exécution des différentes étapes nécessaires à la réalisation d’une instruction, en assurant une progression cohérente et efficace (voir section 4).
  • Émission de signaux de contrôle : Action par laquelle l’unité de commande envoie des commandes de bas niveau aux autres unités du microprocesseur pour coordonner leur fonctionnement, notamment pour l’exécution des microinstructions contenues dans les microcodes (voir section 4).
  • Microcodes en ROM : Ensemble de microinstructions stockées en mémoire morte (ROM) qui définissent le comportement de l’unité de contrôle pour chaque instruction machine, permettant une exécution précise et rapide (voir section 4).
  • Exemple d'exécution d'instruction ADD : Lors de l’exécution de l’instruction ADD, l’unité de commande planifie le séquencement des opérations, émet les signaux de contrôle pour charger les opérandes dans l’ALU, effectue l’addition via le circuit de l’ALU, puis stocke le résultat dans le registre cible (voir section 4).
  • Signaux de contrôle : Commandes électriques ou logiques envoyées par l’unité de commande pour activer ou désactiver certains composants du microprocesseur, orchestrant ainsi l’ensemble du processus d’exécution (voir section 4).
  • Microinstructions : Petites instructions en langage de contrôle qui indiquent à chaque étape ce que doit faire l’unité de commande, souvent contenues dans les microcodes en ROM (voir section 4).

📝 Points essentiels

  • L’unité de commande est responsable du séquençage des opérations, c’est-à-dire de déterminer l’ordre précis dans lequel chaque étape de traitement doit se dérouler.
  • Elle émet des signaux de contrôle pour coordonner l’action des autres unités, notamment l’ALU, les registres, et la mémoire.
  • Ces signaux sont généralement contenus dans des microcodes stockés en ROM, permettant une exécution rapide et fiable des instructions.
  • Lors de l’exécution d’une instruction comme ADD, l’unité de commande décompose l’opération en microinstructions, contrôle le transfert des opérandes, l’opération arithmétique, puis le stockage du résultat.
  • La planification garantit que chaque étape est réalisée dans le bon ordre, évitant conflits et assurant la synchronisation des opérations.
  • La coordination par signaux de contrôle permet une exécution simultanée ou séquentielle efficace, selon la complexité de l’instruction.

💡 À retenir

L’unité de commande orchestre l’exécution des instructions en planifiant, séquençant et contrôlant chaque étape via des microcodes en ROM, assurant ainsi la coordination précise des opérations du microprocesseur.

📖 6. Mémoire microprocesseur

🔑 Notions clés & Définitions

  • Traduction des adresses logiques en adresses physiques : Processus permettant de convertir une adresse générée par le programme (adresse logique) en une adresse réelle en mémoire (adresse physique). Elle est essentielle pour accéder aux données stockées dans la mémoire centrale, notamment dans les mécanismes de segmentation et pagination. AUTEUR (2020) : cette traduction optimise l'accès mémoire en minimisant le temps d'accès et en maximisant l'espace adressable.

  • Circuit de segmentation : Composant du microprocesseur chargé de gérer la segmentation mémoire, qui attribue à chaque programme un espace d'adressage unique appelé « segment ». Il utilise des registres de segment (CS, SS, DS, ES, FS, GS) et des descripteurs pour définir la base et la limite de chaque segment. La segmentation permet une gestion efficace de la mémoire en isolant les espaces des programmes.

  • Circuit de pagination : Mécanisme qui découpe la mémoire principale en blocs de 4 Ko appelés « pages ». La pagination crée un environnement virtuel permettant de simuler un grand espace d'adressage à partir d'une mémoire physique limitée, en utilisant des répertoires et tables de pages. Elle facilite la mémoire virtuelle et le swapping, tout en réduisant le temps d'accès.

  • Registres de segment (CS, SS, DS, ES, FS, GS) : Registres internes du microprocesseur qui stockent les adresses de base des segments mémoire (Code, Stack, Data, Extra). Leur rôle est de fournir la référence de départ pour la traduction d'adresse lors de l'accès à la mémoire, en combinant leur contenu avec l'offset pour obtenir l'adresse physique.

  • Objectifs de la gestion mémoire : Minimiser le temps d'accès à la mémoire en utilisant la segmentation et pagination pour réduire la recherche d'informations, tout en maximisant l'espace adressable par le processeur (jusqu'à 64 To en mode protégé 32 bits). Ces mécanismes assurent une utilisation optimale des ressources mémoire.

📝 Points essentiels

  • La traduction des adresses logiques en adresses physiques est réalisée par la MMU (Unité de gestion mémoire), qui s'appuie sur la segmentation et la pagination pour optimiser l'accès mémoire. La segmentation donne à chaque programme un espace d'adressage dédié, appelé « segment », défini par des registres de segment (CS, SS, DS, ES, FS, GS) et des descripteurs. La pagination découpe la mémoire en pages de 4 Ko, permettant la création d'un environnement virtuel et la gestion efficace de la mémoire virtuelle via des répertoires et tables de pages.

  • La segmentation en mode réel limite l'espace adressable à 1 Mo (2^20), en utilisant des registres de segment de 16 bits. En mode protégé, la segmentation permet d'accéder à un espace beaucoup plus vaste (jusqu'à 1 Go avec des descripteurs de 32 bits). La pagination complète cette gestion en découpant la mémoire en pages, facilitant le swapping et la mémoire virtuelle.

  • La traduction d'adresse implique la combinaison de l'adresse de segment (contenue dans un registre de segment) et d'un offset pour obtenir l'adresse physique. La table des descripteurs et la table des pages sont utilisées pour localiser la mémoire physique correspondante.

  • La gestion mémoire vise à réduire le temps d'accès en utilisant des mécanismes de cache et de pré-chargement, tout en maximisant l'espace adressable grâce à la segmentation et pagination combinées.

💡 À retenir

La traduction des adresses logiques en adresses physiques, via la segmentation et la pagination, permet d'optimiser l'accès mémoire en réduisant le temps d'accès et en augmentant l'espace adressable, assurant ainsi une gestion efficace et flexible de la mémoire dans le microprocesseur.

📖 7. Bus d'entrée-sortie

🔑 Notions clés & Définitions

  • Échange d'informations entre bus externe et unités internes : Processus par lequel le bus d'entrée-sortie communique avec les composants internes du microprocesseur, permettant le transfert de signaux, instructions, données et contrôles pour assurer la synchronisation et la cohérence des opérations.

  • Émission et réception des signaux d'adresse, données et contrôle : Mécanisme par lequel le bus d'entrée-sortie transmet des signaux pour indiquer l'adresse mémoire ou périphérique ciblée, les données à transférer, ainsi que les signaux de contrôle pour gérer le flux d'information (lecture, écriture, etc.).

  • Utilisation par unité de pré-extraction pour charger instructions : Fonction de l’unité de pré-extraction qui, lorsque le bus n’est pas occupé, charge séquentiellement les instructions suivantes du programme dans une zone tampon, permettant une exécution plus fluide et continue sans attendre le chargement depuis la mémoire vive.

  • Maintien d'une queue de pré-extraction d'instructions : Organisation en mémoire tampon où sont stockées les instructions pré-chargées par l’unité de pré-extraction, assurant un approvisionnement constant pour l’unité de décodage et évitant les délais liés au chargement direct depuis la mémoire principale.

📝 Points essentiels

L’unité de bus joue un rôle central dans la communication entre le microprocesseur et le monde extérieur, en émettant ou recevant des signaux d’adresse, de données et de contrôle. Lorsqu’elle n’est pas occupée par une instruction en cours d’exécution, l’unité de pré-extraction utilise le bus pour charger séquentiellement plusieurs instructions dans une queue spécifique, ce qui optimise le traitement en évitant les interruptions dues à des accès mémoire. La décomposition d’une instruction en deux parties — le code opération (OPCODE) et les opérandes — facilite son traitement par l’unité de contrôle, qui planifie et coordonne l’exécution via microcodes rangés en ROM. La gestion efficace de ces échanges et de la queue de pré-extraction permet d’accroître la fluidité et la performance du microprocesseur, notamment dans un contexte de pipeline où plusieurs instructions peuvent être traitées simultanément. La capacité à maintenir cette queue et à gérer l’échange d’informations est essentielle pour optimiser la vitesse d’exécution et la réactivité du système.

💡 À retenir

Le bus d'entrée-sortie, associé à l’unité de pré-extraction et à la queue d’instructions, optimise la communication et la fluidité du traitement en chargeant en avance plusieurs instructions, ce qui améliore la performance globale du microprocesseur.

📖 8. Segmentation mémoire

🔑 Notions clés & Définitions

  • Segmentation : Technique qui attribue à chaque programme un espace d’adressage unique appelé « segment » en mémoire centrale. Elle permet de diviser la mémoire en segments distincts, chacun correspondant à une partie du programme ou des données, facilitant la gestion et la protection de la mémoire (AUTEUR (date)).
  • Registres de segment : Registres spécifiques (CS, SS, DS, ES, FS, GS) qui stockent les descripteurs de segments, c’est-à-dire l’adresse de début, la taille limite, et les droits d’accès à chaque segment. Ils servent à traduire l’adresse logique en adresse physique en mode protégé (AUTEUR (date)).
  • Tables descripteurs : Structures de données contenant les descripteurs de segments, accessibles via des registres de segment, permettant de gérer plusieurs segments et d’assurer leur protection et leur organisation. La table des descripteurs est essentielle pour la traduction d’adresses en mode protégé (AUTEUR (date)).
  • Espace d’adressage en mode réel : Mode où la segmentation est simplifiée, l’espace d’adressage est limité à 1 Mo (2^20), sans gestion avancée de la protection ni de la mémoire virtuelle. La segmentation y est utilisée principalement pour la compatibilité avec l’architecture x86 en mode réel (AUTEUR (date)).
  • Espace d’adressage en mode protégé : Mode avancé permettant d’utiliser la segmentation avec des descripteurs, des droits d’accès, et une gestion de mémoire plus sophistiquée, jusqu’à 64 Go pour un processeur 32 bits, avec protection contre les accès non autorisés et gestion multitâche (AUTEUR (date)).

📝 Points essentiels

  • La segmentation donne à chaque programme son propre espace d’adressage, évitant ainsi les conflits et permettant la protection mémoire (AUTEUR (date)).
  • En mode protégé, chaque segment est défini par un descripteur dans la table descripteurs, contenant l’adresse de début, la limite, et les droits d’accès, ce qui permet une gestion fine et sécurisée de la mémoire (AUTEUR (date)).
  • La traduction d’une adresse logique en adresse physique se fait via le registre de segment (ex : CS pour le code, DS pour les données) et la table des descripteurs, en utilisant l’offset fourni par l’instruction (AUTEUR (date)).
  • La segmentation en mode réel limite l’espace adressable à 1 Mo, sans protection ni gestion avancée, adaptée à l’architecture initiale x86. En mode protégé, l’espace adressable peut atteindre 64 Go avec une gestion plus sophistiquée (AUTEUR (date)).
  • La technique de segmentation, combinée à la pagination, permet d’optimiser la gestion mémoire, réduire les temps d’accès, et maximiser l’espace adressable tout en assurant la sécurité et la stabilité du système (AUTEUR (date)).

💡 À retenir

La segmentation mémoire consiste à diviser l’espace mémoire en segments distincts, chacun défini par des descripteurs dans une table, permettant une gestion flexible, protégée et efficace de la mémoire en mode protégé, tout en étant compatible avec un mode réel limité à 1 Mo.

📖 9. Pagination mémoire

🔑 Notions clés & Définitions

  • Découpage de la mémoire principale en pages de 4 Ko : Technique consistant à diviser la mémoire physique en blocs de taille fixe (4 Ko), facilitant la gestion et la traduction des adresses (voir section 7).
  • Création d'un environnement virtuel simulant un grand espace d'adressage : Utilisation de la pagination pour faire croire à un espace mémoire plus vaste que la mémoire physique réelle, en combinant mémoire RAM et mémoire disque (mémoire virtuelle).
  • Utilisation de répertoires et tables de pages : Structures de données permettant de faire correspondre les adresses logiques aux adresses physiques, en organisant la mémoire virtuelle en plusieurs niveaux (voir section 7).
  • Gestion mémoire virtuelle avec swapping : Technique permettant de déplacer temporairement des pages de la mémoire RAM vers le disque dur (swap), pour libérer de l’espace mémoire et gérer de grandes quantités de données (voir section 7).

📝 Points essentiels

  • La pagination découpe la mémoire en pages de 4 Ko, ce qui permet une gestion flexible et efficace de la mémoire virtuelle (voir section 7).
  • La mémoire virtuelle combine la mémoire RAM et l’espace disque pour donner un environnement d’adressage plus étendu, en utilisant la technique de swapping pour échanger des pages entre mémoire physique et disque (voir section 7).
  • La traduction des adresses logiques en adresses physiques s’appuie sur des structures hiérarchiques : répertoires et tables de pages, permettant une gestion dynamique et sécurisée de la mémoire (voir section 7).
  • La gestion par pagination minimise le temps d’accès à la mémoire et maximise l’espace adressable, notamment en mode protégé, en isolant les processus et en évitant la fragmentation (voir section 7).
  • La technique de swapping est essentielle pour la gestion de mémoire virtuelle, permettant de charger et décharger des pages selon les besoins du système et des applications (voir section 7).

💡 À retenir

La pagination mémoire, en découpant la mémoire en pages de 4 Ko et en utilisant des structures hiérarchiques, permet de créer un environnement virtuel d’adressage étendu et flexible, optimisant la gestion et la sécurité de la mémoire.

📖 10. Pipeline microprocesseur

🔑 Notions clés & Définitions

  • Exécution simultanée de plusieurs instructions en pipeline : Technique permettant à un microprocesseur d’exécuter plusieurs instructions en même temps en divisant leur traitement en étapes successives, augmentant ainsi le débit global. AUTEUR (2020) : cette méthode optimise la progression des instructions à travers différentes unités du processeur.

  • Découpage du traitement en étapes (bus, décodage, ALU, MMU) : Processus de segmentation de chaque instruction en phases distinctes, telles que l’accès au bus, le décodage, l’exécution dans l’ALU, et la gestion mémoire via la MMU, pour permettre leur traitement parallèle dans le pipeline.

  • Amélioration du débit d'instructions : Objectif principal du pipeline, visant à augmenter le nombre d’instructions traitées par unité de temps en réduisant le temps d’attente entre chaque instruction, grâce à la parallélisation des opérations.

  • Illustration des cycles d'horloge et progression des instructions : Représentation graphique ou schématique montrant comment chaque instruction progresse étape par étape à chaque cycle d’horloge, permettant de visualiser le parallélisme et la superposition des opérations.

📝 Points essentiels

  • Le pipeline divise le traitement d’une instruction en plusieurs étapes successives (ex : bus, décodage, ALU, MMU), permettant à différentes instructions d’être traitées simultanément à chaque étape, ce qui augmente le débit global du processeur.

  • La technique d’exécution simultanée repose sur le découpage en phases, ce qui nécessite une gestion précise des dépendances entre instructions pour éviter les erreurs ou conflits (hazards).

  • La progression des instructions dans le pipeline est illustrée par des cycles d’horloge, où chaque étape d’une instruction se superpose avec celles des autres instructions, optimisant ainsi l’utilisation des ressources.

  • La mise en œuvre du pipeline doit gérer les risques liés à l’interférence entre instructions (hazards de données, de contrôle), par des mécanismes comme le forwarding ou la prédiction de branchement.

  • La technologie HyperThreading (voir section 12) exploite aussi le principe de parallélisme, mais à un niveau différent, en simulant plusieurs processeurs logiques pour maximiser l’utilisation des ressources.

💡 À retenir

Le pipeline microprocesseur divise le traitement des instructions en étapes parallèles successives, permettant d’accroître significativement le débit d’instructions traitées par cycle d’horloge, tout en nécessitant une gestion rigoureuse des dépendances et des risques liés à l’exécution simultanée.

📖 11. HyperThreading

🔑 Notions clés & Définitions

  • Processeur logique : définition de deux processeurs logiques au sein d’un seul processeur physique, permettant une gestion multitâche plus efficace. AUTEUR (date) : La technologie HyperThreading consiste à définir deux processeurs logiques dans un processeur physique, ce qui permet au système de reconnaître deux entités indépendantes pour l'exécution de threads.

  • Reconnaissance par le système : le système d’exploitation identifie deux processeurs logiques comme deux processeurs physiques distincts, optimisant ainsi la gestion des tâches simultanées. AUTEUR (date) : La supercherie d’HyperThreading repose sur cette reconnaissance, permettant une utilisation accrue des ressources du processeur.

  • SMT (Simultaneous Multi Threading) : technique où deux threads sont exécutés simultanément sur un seul cœur physique, exploitant au maximum les ressources du processeur. AUTEUR (date) : La technologie HyperThreading est une forme de SMT, garantissant que des données sont envoyées en masse pour améliorer la performance.

  • Optimisation des ressources du processeur : mécanisme visant à utiliser au mieux les unités internes du processeur en permettant l’exécution parallèle de plusieurs threads, réduisant ainsi les temps d’attente et augmentant le débit. AUTEUR (date) : HyperThreading permet de garantir que des données lui sont envoyées en masse, maximisant l’utilisation des ressources.

📝 Points essentiels

  • La technologie HyperThreading définit deux processeurs logiques dans un seul processeur physique, ce qui permet au système d’exploitation de traiter deux threads simultanément, améliorant la performance globale du système. Cela repose sur la reconnaissance par le système de deux entités indépendantes, même si elles partagent les mêmes ressources physiques.

  • La technique SMT (Simultaneous Multi Threading) est au cœur de HyperThreading, permettant l’exécution parallèle de deux threads, ce qui optimise l’utilisation des unités internes du processeur, notamment en garantissant que des données lui sont envoyées en masse.

  • La reconnaissance par le système comme deux processeurs physiques permet une gestion multitâche plus efficace, réduisant les temps d’attente et augmentant le débit d’instructions traitées.

  • La supercherie d’HyperThreading repose sur la capacité du microprocesseur à masquer la latence liée à l’attente de ressources, en exécutant plusieurs threads simultanément, ce qui améliore la performance en environnement multitâche.

💡 À retenir

L’HyperThreading crée deux processeurs logiques dans un seul cœur physique, permettant une exécution simultanée de plusieurs threads pour optimiser l’utilisation des ressources du processeur et améliorer la performance globale du système.

📖 12. Caractéristiques microprocesseur

🔑 Notions clés & Définitions

  • Caractéristiques générales du microprocesseur : Ensemble des paramètres qui déterminent la performance et la capacité d’un microprocesseur, tels que la fréquence, la taille des registres, la largeur des bus, et le nombre de transistors (source : UF - ENI, 2020).

  • Jeu d'instructions : Ensemble d’opérations que le microprocesseur peut exécuter, constituant le langage machine du processeur. Il détermine la compatibilité et la capacité d'exécution des programmes (source : UF - ENI, 2020).

  • Registres internes : Mémoire rapide située à l’intérieur du microprocesseur, utilisée pour stocker temporairement les données, les instructions, et les états du processeur. Leur taille et nombre influencent la performance (source : UF - ENI, 2020).

  • Mécanismes d'accès mémoire : Techniques et circuits permettant au microprocesseur de lire ou écrire des données dans la mémoire centrale, incluant segmentation, pagination, et gestion des bus (source : UF - ENI, 2020).

  • Performances et technologies associées : Indicateurs comme la fréquence d’horloge (MHz ou GHz), le nombre d’instructions par seconde (MIPS), et innovations technologiques telles que HyperThreading, qui optimisent l’utilisation des ressources du processeur (source : UF - ENI, 2020).

📝 Points essentiels

  • La fréquence d’horloge (MHz ou GHz) détermine la vitesse de traitement, chaque cycle permettant l'exécution d'instructions ou d'opérations (UF - ENI, 2020).
  • La taille des registres internes influence la quantité de données que le microprocesseur peut traiter rapidement, par exemple 32 ou 64 bits, impactant la capacité de traitement et la compatibilité des instructions.
  • La largeur des bus de données détermine la quantité de données transférables par cycle entre le microprocesseur et la mémoire ou périphériques, affectant la bande passante.
  • Le nombre de transistors intégrés dans la puce est un facteur clé de la complexité et de la puissance du microprocesseur, permettant d’intégrer plus de fonctionnalités et d’optimiser la vitesse.
  • La technologie HyperThreading (voir section 11) permet à un seul cœur physique de simuler deux processeurs logiques, améliorant la gestion multitâche et l’utilisation des ressources.
  • La performance globale est souvent mesurée en Millions d’instructions par seconde (MIPS), reflet de la capacité d’exécution du processeur.

💡 À retenir

Les caractéristiques techniques d’un microprocesseur, telles que la fréquence, la taille des registres, et la technologie HyperThreading, déterminent ses performances et sa compatibilité avec les applications modernes.

📊 Tableaux de Synthèse

CritèreArchitecture de Von NeumannArchitecture HarvardAuteur / Référence
MémoireUnique (instructions + données)Séparée (instructions + données)John von Neumann (1945)
BusUniqueDeux bus séparés-
Accès mémoireSéquentiel, conflit possibleParallèle, accès simultané-
ComplexitéFaiblePlus complexe-
PerformanceLimité par goulot d’étranglementSupérieure grâce au accès parallèle-
Utilisation typiqueOrdinateurs classiquesMicrocontrôleurs, processeurs modernes-
CritèreMicroprocesseurUnité de traitement (ALU)Auteur / Référence
DéfinitionCircuit intégrant circuits, registres, contrôlesCircuit réalisant opérations arithmétiques et logiques-
Composants principauxRegistres, ALU, unité de contrôle, mécanismes mémoireALU, registres, bus internes-
FonctionExécuter instructions, gérer les donnéesEffectuer opérations arithmétiques et logiques-
Cycle d’instructionRecherche, décodage, exécution, stockage--

⚠️ Pièges & Confusions Fréquentes

  1. Confondre architecture Von Neumann et Harvard : la première utilise une mémoire unique, la seconde une mémoire séparée.
  2. Croire que la séparation des bus dans Harvard garantit une performance infinie : la complexité augmente, mais la vitesse dépend aussi d’autres facteurs.
  3. Confondre registre et mémoire : les registres sont internes et très rapides, la mémoire centrale est plus lente.
  4. Penser que l’ALU peut stocker des données : elle effectue des opérations, mais ne stocke pas de données à long terme.
  5. Confondre le cycle d’instruction avec le cycle de traitement de l’ALU : le cycle inclut recherche, décodage, exécution, stockage.
  6. Mauvaise compréhension de HyperThreading : il s’agit de threads simultanés, pas de plusieurs processeurs physiques.
  7. Confusion entre segmentation mémoire et pagination : la segmentation divise la mémoire en segments logiques, la pagination en pages physiques.

✅ Checklist Examen

  1. Connaître la définition de l’architecture de Von Neumann selon John von Neumann (1945) et ses caractéristiques principales.
  2. Savoir différencier architecture Harvard et Von Neumann, notamment en termes de mémoire et bus.
  3. Expliquer le rôle de l’unité de traitement, notamment de l’ALU, dans le microprocesseur.
  4. Identifier les composants internes du microprocesseur : registres, ALU, unité de contrôle.
  5. Décrire le cycle d’instruction : recherche, décodage, exécution, stockage.
  6. Comprendre le principe de la mémoire unique dans Von Neumann et ses limitations.
  7. Connaître l’intérêt de la séparation mémoire dans Harvard pour la performance.
  8. Maîtriser la fonction de l’ALU dans le traitement des opérations arithmétiques et logiques.
  9. Savoir ce qu’est un registre interne et son rôle dans le traitement rapide des données.
  10. Expliquer le mécanisme d’accès à la mémoire centrale via l’unité de gestion mémoire (MMU).
  11. Connaître la technologie HyperThreading (SMT) et son impact sur l’utilisation des ressources.
  12. Vérifier la maîtrise des différences entre segmentation mémoire et pagination mémoire.

Testez vos connaissances

Testez vos connaissances sur Introduction aux architectures et microprocesseurs avec 9 questions à choix multiples avec corrections détaillées.

1. Qu'est-ce que l'architecture de Von Neumann ?

2. Quelle est l'une des principales limitations de l'architecture de Von Neumann ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Introduction aux architectures et microprocesseurs avec 9 flashcards interactives.

Architecture de Von Neumann — définition ?

Modèle utilisant une mémoire unique pour instructions et données.

Modèle de Von Neumann — année?

1945

Architecture Harvard — principe ?

Mémoire séparée pour instructions et données, avec bus distincts.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches