ARCHITECTURE
DES ORDINATEURS
BTS-GLA1/ISTA
Année Académique 23-24
Objectifs du cours
2 Le cours d'architecture des ordinateurs est essentiel dans les programmes
d'informatique et d'ingénierie informatique. Il vise à fournir aux étudiants une
compréhension approfondie des principes fondamentaux de conception des
systèmes informatiques, y compris la structure interne des ordinateurs, les
composants matériels, les instructions de machine, les unités de traitement, et les
concepts liés à la performance et à l'optimisation. Voici quelques objectifs généraux
communs :
Compréhension des Composants de Base :
Comprendre les composants de base d'un ordinateur, y compris le processeur, la
mémoire, les périphériques d'entrée/sortie, et le système de stockage.
Connaissance de l'Architecture du Processeur :
Comprendre l'architecture du processeur, y compris le jeu d'instructions, les
registres, l'ALU (Arithmetic Logic Unit), et le pipeline d'exécution.
Compréhension des Systèmes de Mémoire
Connaître les différents types de mémoire (RAM, ROM, mémoire cache) et
comprendre leur fonctionnement et leur utilisation dans un système informatique.
Objectifs du cours (Suite)
3
Étude des Périphériques d'Entrée/Sortie :
Comprendre les principes de fonctionnement des périphériques d'entrée/sortie
tels que les claviers, les souris, les écrans, les imprimantes, etc., ainsi que les
interfaces de communication.
Analyse de l'Organisation du Système :
Analyser l'organisation du système informatique en termes de hiérarchie des
mémoires, de gestion de l'entrée/sortie, et d'interconnexion des composants.
Étude des Langages de Description de Matériel :
Se familiariser avec les langages de description matérielle (comme VHDL ou
Verilog) utilisés dans la conception des circuits logiques et des composants
matériels.
Compréhension des Techniques de Performance
Apprendre les techniques d'optimisation et d'évaluation des performances des
systèmes informatiques, y compris l'analyse du temps d'exécution et de
l'utilisation des ressources.
Objectifs du cours (Suite et Fin)
4 Étude des Systèmes d'Entrée/Sortie Avancés :
Comprendre les systèmes d'entrée/sortie avancés tels que les bus, les
contrôleurs, les interruptions, et les DMA (Direct Memory Access).
Exploration des Architectures Parallèles et Distribuées :
Avoir une connaissance de base des architectures parallèles et distribuées, y
compris les systèmes multiprocesseurs et les systèmes en grappe.
Initiation aux Systèmes Embarqués
Comprendre les concepts de base des systèmes embarqués, y compris les
microcontrôleurs, les capteurs, et les interfaces matériel-logiciel.
Analyse des Tendances Actuelles
Être conscient des tendances actuelles telles que l'informatique quantique,
l'informatique neuromorphique, et les architectures basse consommation.
Application des Connaissances
Être capable d'appliquer les connaissances acquises pour concevoir et
optimiser des systèmes informatiques.
Méthodologie
5
Voici quelques méthodes d'enseignement et d'apprentissage couramment utilisées
dans les cours d'architecture des ordinateurs :
Cours Magistraux :
Les cours magistraux sont souvent utilisés pour présenter les concepts
théoriques fondamentaux, les principes de conception des ordinateurs et les
architectures de processeurs. Les enseignants expliquent les concepts à l'aide de
présentations, de démonstrations et d'exemples.
Pratique en Laboratoire :
Les laboratoires pratiques permettent aux étudiants d'appliquer les concepts
théoriques en travaillant avec du matériel informatique réel et des logiciels de
simulation. Cela peut inclure la programmation bas niveau, l'utilisation de
langages de description matérielle (comme VHDL), et la conception de circuits
logiques.
Remarque : Les Travaux Pratiques seront implémentés langage Assembleur,.
Méthodologie (suite)
6
Études de Cas :
Les études de cas peuvent impliquer l'analyse d'architectures de processeurs réels,
de systèmes embarqués ou de superordinateurs. Les étudiants peuvent étudier ces
cas pour comprendre les choix de conception, les défis techniques et les
innovations dans le domaine de l'architecture des ordinateurs.
Projets de Conception:
Les projets de conception permettent aux étudiants de concevoir des systèmes
informatiques simples ou des composants matériels spécifiques. Cela peut
impliquer la conception de circuits logiques, la programmation de
microcontrôleurs ou la création de simulateurs de processeurs.
Travaux Dirigés :
Les travaux dirigés sont des sessions interactives où les étudiants résolvent des
problèmes pratiques en groupe sous la supervision de l'enseignant. Cela peut
inclure des exercices de programmation bas niveau, des calculs de performance et
des simulations de systèmes informatiques.
Méthodologie (suite)
7
Recherche Indépendante :
Les étudiants peuvent être encouragés à effectuer des recherches indépendantes
sur des sujets liés à l'architecture des ordinateurs. Cela peut impliquer la lecture
d'articles de recherche, la réalisation d'expériences ou la rédaction de rapports sur
des sujets spécifiques.
Évaluations et Examens:
Les évaluations peuvent inclure des devoirs, des examens écrits, des
présentations orales, des projets individuels ou en groupe, et des examens
pratiques en laboratoire. Ces évaluations visent à évaluer la compréhension des
concepts théoriques et la capacité à appliquer ces concepts à des problèmes
concrets.
Ressources en Ligne :
Les ressources en ligne telles que des vidéos éducatives, des tutoriels et des
simulations interactives peuvent être utilisées pour renforcer l'apprentissage en
dehors des heures de cours.
Méthodologie (suite et Fin)
8
Collaboration et Discussion
Encourager la collaboration entre les étudiants par le biais de discussions en
classe, de forums en ligne ou de projets d'équipe. Cela favorise l'échange
d'idées et la compréhension collective des sujets complexes.
Compétences à acquérir
9 Le cours d'architecture des ordinateurs est conçu pour aider les étudiants à acquérir
un ensemble de compétences essentielles dans le domaine des systèmes
informatiques et de leur conception. Voici quelques-unes des compétences clés que
les étudiants sont susceptibles d'acquérir lors d'un tel cours :
Compréhension des Concepts Fondamentaux :
Comprendre les concepts fondamentaux de l'architecture des ordinateurs, y
compris la structure interne des processeurs, la mémoire, les périphériques
d'entrée/sortie, et les systèmes de stockage.
Connaissance des Instructions de Machine :
Comprendre le jeu d'instructions d'un processeur spécifique et être capable de
décoder et d'exécuter des instructions de machine.
Conception des Circuits Logiques :
Acquérir des compétences en conception et en analyse de circuits logiques
utilisés dans les composants matériels des ordinateurs.
Compétences à acquérir (Suite)
10
Programmation de Bas Niveau :
Maîtriser la programmation de bas niveau en langage assembleur
pour comprendre comment les programmes sont exécutés sur un
niveau matériel.
Optimisation des Performances :
Apprendre les techniques d'optimisation des performances des
systèmes informatiques, y compris l'optimisation des instructions,
la gestion de la mémoire et l'optimisation du code.
Compréhension des Hiérarchies de Mémoire :
Comprendre les hiérarchies de mémoire, y compris la mémoire
cache, la mémoire principale et la mémoire de stockage, ainsi que
les stratégies de gestion de la mémoire.
Compétences à acquérir (Suite et Fin)
11 Familiarité avec les Interfaces Matériel-Logiciel:
Connaître les interfaces matériel-logiciel, y compris les interruptions, les
DMA (Direct Memory Access) et les bus de données.
Compréhension des Systèmes Embarqués :
Acquérir des compétences en conception et en programmation de systèmes
embarqués, y compris les microcontrôleurs et les systèmes temps réel.
Connaissance des Nouvelles Technologies :
Être informé des dernières tendances et technologies en matière
d'architecture des ordinateurs, y compris l'informatique quantique,
l'informatique neuromorphique et les architectures parallèles.
Travail d'Équipe et Collaboration :
Avoir l'occasion de travailler en équipe sur des projets liés à la conception
de systèmes informatiques, ce qui favorise la collaboration et le travail
d'équipe.
12
Ces compétences sont essentielles pour les étudiants
en informatique et en ingénierie informatique, car
elles constituent la base de la compréhension des
systèmes informatiques et de leur fonctionnement,
ainsi que de la conception et de l'optimisation des
logiciels et matériels informatiques.
Mots Clés
13 Voici quelques mots clés importants liés au cours d'architecture des ordinateurs :
Architecture von Neumann : Modèle d'architecture informatique qui utilise un
concept de mémoire partagée pour les données et les instructions du programme.
Processeur (CPU) : L'unité centrale de traitement qui exécute des instructions de
programme et effectue des opérations arithmétiques/logiques.
Jeu d'instructions (ISA) : L'ensemble d'instructions comprises par un processeur,
définissant les opérations qu'il peut effectuer.
Pipeline : Technique d'optimisation où les instructions d'un programme sont
divisées en étapes distinctes, permettant l'exécution simultanée de plusieurs
instructions.
Mémoire Cache : Mémoire de petite taille et très rapide située entre le processeur
et la mémoire principale, utilisée pour stocker les données et les instructions
fréquemment utilisées.
Mémoire Principale (RAM) : La mémoire principale d'un ordinateur, où les
données et les instructions sont stockées temporairement pour être accessibles par
le processeur.
Mots Clés (Suite)
14 Mémoire de Stockage : Disques durs, SSDs et autres dispositifs utilisés pour
stocker des données à long terme.
Hiérarchie de Mémoire : Organisation des différentes niveaux de mémoire
(cache, RAM, stockage) dans un système informatique.
Bus de Données et d'Adresse : Voies de communication utilisées pour transférer
des données (bus de données) et des adresses mémoire (bus d'adresse) entre les
composants d'un ordinateur.
Interruptions : Signaux générés par des périphériques ou d'autres parties du
système, interrompant l'exécution normale du programme et demandant l'attention
du processeur.
DMA (Direct Memory Access) : Mécanisme où un périphérique peut transférer
des données directement à la mémoire principale sans impliquer le processeur.
Multiprocesseurs : Systèmes informatiques comportant plusieurs processeurs
travaillant ensemble sur des tâches.
Systèmes Embarqués : Systèmes informatiques intégrés dans d'autres dispositifs
ou produits, souvent avec des ressources limitées.
Mots Clés (Suite)
Informatique Quantique : Domaine de l'informatique qui utilise des principes de
15
la mécanique quantique pour effectuer des calculs.
Informatique Neuromorphique : Domaine de l'informatique s'inspirant du
fonctionnement du cerveau pour concevoir des systèmes de traitement de
l'information.
Architecture RISC (Reduced Instruction Set Computer) : Conception de
processeur avec un ensemble de commandes réduit pour améliorer les
performances.
Architecture CISC (Complex Instruction Set Computer) : Conception de
processeur avec un ensemble de commandes complexe incluant des opérations
complexes.
Parallélisme : Exécution simultanée de plusieurs opérations ou instructions,
améliorant les performances.
Benchmarks : Tests standardisés utilisés pour évaluer les performances des
systèmes informatiques.
Virtualisation : Technique permettant d'exécuter plusieurs systèmes d'exploitation
sur un seul matériel.
Mots Clés (Suite)
16 Systèmes d'Exploitation : Logiciel qui gère les ressources matérielles d'un
ordinateur et permet l'exécution d'autres logiciels.
Systèmes de Fichiers : Méthode d'organisation et de stockage des fichiers sur un
système informatique.
Réseaux : Interconnexion de plusieurs ordinateurs permettant le partage de
ressources et d'informations.
Sécurité Informatique : Mesures et techniques utilisées pour protéger les
systèmes informatiques contre les menaces et les attaques.
Systèmes Embarqués : Systèmes informatiques intégrés dans d'autres dispositifs
ou produits, souvent avec des ressources limitées.
Informatique Quantique : Domaine de l'informatique qui utilise des principes de
la mécanique quantique pour effectuer des calculs.
Informatique Neuromorphique : Domaine de l'informatique s'inspirant du
fonctionnement du cerveau pour concevoir des systèmes de traitement de
l'information.
Mots Clés (Suite et Fin)
17 Architecture RISC (Reduced Instruction Set Computer) : Conception de
processeur avec un ensemble de commandes réduit pour améliorer les
performances.
Architecture CISC (Complex Instruction Set Computer) : Conception de
processeur avec un ensemble de commandes complexe incluant des opérations
complexes.
Parallélisme : Exécution simultanée de plusieurs opérations ou instructions,
améliorant les performances.
Benchmarks : Tests standardisés utilisés pour évaluer les performances des
systèmes informatiques.
Virtualisation : Technique permettant d'exécuter plusieurs systèmes d'exploitation
sur un seul matériel.
Systèmes d'Exploitation : Logiciel qui gère les ressources matérielles d'un
ordinateur et permet l'exécution d'autres logiciels.
Systèmes de Fichiers : Méthode d'organisation et de stockage des fichiers sur un
système informatique.
Programme du Cours
18 CHAPITRE 1. Architecture d’un processeur de traitement.
L'architecture d'un processeur de traitement, également connue sous le nom d'unité centrale de
traitement (CPU), est complexe et implique de nombreux composants et étapes pour effectuer des
opérations sur les données. Voici une vue d'ensemble simplifiée de l'architecture d'un processeur
de traitement moderne :
1.1 Unité de Contrôle (Control Unit)
1.2 Unité d'Arithmétique et de Logique (Arithmetic Logic Unit - ALU)
1.3 Registres
1.4 Unité de Gestion de Mémoire (Memory Management Unit - MMU)
1.5 Unité d'Entrée/Sortie (Input/Output Unit - I/O Unit)
1.6 Bus de Données, Bus d'Adresse et Bus de Contrôle
1.7 Pipeline
1.8 Cache
1.9 Exercices
Programme du Cours (Suite)
19
CHAPITRE 2. La Mémoire.
La mémoire joue un rôle crucial en tant que lieu de stockage temporaire des données et des instructions nécessaires
pour l'exécution des programmes. Il existe plusieurs types de mémoire dans un système informatique, chacun ayant
un rôle spécifique.
2.1 Types et technologies
2.2 Notion de Hiérarchie
2.3 Organisation et utilisation
2.4 Implantation physique
2.5 Exercices d’entrainement
Programme du Cours (Suite)
20
CHAPITRE 3. Langage Assembleur.
Le langage assembleur est un langage de bas niveau utilisé pour programmer
les microprocesseurs et les microcontrôleurs. Il est spécifique à l'architecture
matérielle d'un ordinateur et se situe entre le langage machine (binaire)
3.1 Editeur de liens et bibliothèques
3.2 Instructions élémentaires modes d’adressage
3.3 Implantation de structures de contrôle
3.4 Sous programmes
3.5 Interruptions
3.6 Travaux pratiques et Travaux Dirigés
Programme du Cours (Suite)
21
CHAPITRE 4. Techniques d’interfaçage.
L'interfaçage en architecture des ordinateurs fait référence aux techniques
utilisées pour connecter et communiquer entre différents composants matériels
ou périphériques dans un système informatique. Ces techniques garantissent la
compatibilité et l'interaction entre les différents composants, permettant ainsi à
l'ordinateur de fonctionner efficacement
4.1 Notion de communication
4.2 Conversion de signaux
4.3 Liaison parallèle
4.4 Liaison série
4.5 Interruptions
Programme du Cours (Suite)
22
CHAPITRE 5. Technologies des périphériques.
En architecture des ordinateurs, les périphériques sont des dispositifs
matériels connectés à un ordinateur pour l'entrée, la sortie, ou le stockage
de données. Ces périphériques sont essentiels pour l'interaction entre
l'ordinateur et l'utilisateur, ainsi que pour l'extension des capacités de
l'ordinateur.
Références Bibliographiques
23