Introduction aux systèmes informatiques
1. Système informatique : définition et fonctions principales
Un système informatique est un ensemble de composants matériels et logiciels qui traitent, stockent et transmettent des informations. Il remplit quatre fonctions clés :
| Fonction | Description |
|---|---|
| INPUT | Récupérer l’information sous toute forme |
| COMPUTE | Transformer l’information indépendamment de sa source |
| STORE | Stocker l’information à différentes échelles |
| OUTPUT | Restituer ou transmettre le résultat de la transformation |
2. Objectifs du traitement informatique
- Traitement : transformer des données brutes en informations utiles.
- Automatisation : exécuter rapidement des tâches répétitives ou complexes.
- Conservation : stocker l’information de façon fiable à court ou long terme.
- Contrôle : piloter des processus selon une logique définie.
À retenir : Un système informatique vise à améliorer efficacité, rapidité et précision pour une meilleure productivité.
3. Évolution historique majeure des systèmes informatiques
| Période | Innovations clés | Exemples historiques |
|---|---|---|
| Avant 1940 | Machines mécaniques, base du binaire | Métier Jacquard (1803), Machine analytique (1883), Machine de Turing (1936) |
| 1940 – 1970 | Composants électroniques, premiers ordinateurs programmables | MARK I (1941), ENIAC (1946), EDVAC (1947), UNIVAC (1951) |
| 1970 – 2000 | Transistors, circuits intégrés, langages de programmation | Micro-ordinateurs, invention du disque dur, COBOL |
| 2000 – aujourd’hui | Nanotechnologies, smartphones, IA | TICs, développement de l’intelligence artificielle |
4. Informatique : définition et branches
- Informatique = contraction de information et automatique, discipline du traitement numérique de l’information par dispositifs électroniques.
- Branches principales :
| Branche | Fonction principale |
|---|---|
| Systèmes d’exploitation | Gestion des ressources matérielles |
| Algorithmique & programmation | Résolution de problèmes et implémentation |
| Réseaux | Communication entre éléments du système |
| Bases de données | Gestion et organisation des données |
| Sécurité | Protection contre usages non prévus |
| Modélisation & simulation | Représentation simplifiée de systèmes complexes |
| Intelligence artificielle | Méthodes avancées de résolution de problèmes |
5. Architecture et organisation d’un ordinateur
- Architecture : organisation des unités d’un système pour répondre à un besoin spécifique selon les ressources disponibles.
- Choix d’architecture = compromis entre performances, coûts, efficacité et facilité (pas de solution universelle).
a) Composants matériels essentiels
| Composant | Rôle principal |
|---|---|
| Unité de traitement | Exécute les opérations et traitements |
| Unités de stockage | Conservent les données à court ou long terme |
| Unités d’entrée/sortie | Permettent la communication avec l’extérieur |
| Bus de communication | Transfèrent les données entre composants |
| Carte mère | Support physique et interconnexion des composants |
À retenir : La carte mère est le circuit imprimé qui connecte tous les composants matériels d’un système informatique.
6. Résumé des notions clés
- Un système informatique traite, stocke, transmet et restitue des informations.
- L’informatique est la science du traitement numérique de l’information.
- L’architecture d’un ordinateur est un compromis entre plusieurs critères.
- L’évolution des ordinateurs suit une progression technologique majeure en 4 étapes historiques.
- Les composants matériels fondamentaux sont reliés par la carte mère.
Arithmétique binaire et algèbre de Boole
1. Le système binaire
- L'informatique moderne utilise le système binaire, basé sur deux chiffres : 0 et 1.
- Avantages :
- Simplicité : seulement deux états à représenter.
- Fiabilité et stabilité : peu sensible aux fluctuations des signaux.
- Exemples de supports et états binaires :
| Phénomène | Support | États |
|---|---|---|
| Mécanique | Carte perforée / CD | Trou / Pas trou |
| Magnétique | Orientation champ mag | Nord / Sud |
| Optique | Lampe | ON / OFF |
| Électrique | Interrupteur | Fermé / Ouvert |
2. Codage de l’information en binaire
- L’ordinateur traite l’information sous forme binaire via des opérations de codage et décodage.
- Utilisations principales :
- Représentation des données (nombres, caractères, images, sons).
- Traitements (calculs, transformations).
- Stockage et transmission.
a) Types de codage
| Type | Description | Exemples |
|---|---|---|
| Nombres | Décomposition en puissances de 2, nombres signés, complément à un/deux, norme IEEE754 | Entiers, flottants |
| Caractères | Codage des caractères ASCII, ISO/IEC, Unicode | ASCII (128), Unicode (emoji) |
| Images | Ensemble de pixels codés en binaire | Pixels actifs, niveaux de gris, couleurs |
| Sons | Conversion d’un signal analogique en numérique | Échantillonnage, compression |
3. Arithmétique binaire
- Opérations essentielles à maîtriser :
- Numérotation (compter en binaire).
- Conversion binaire ↔ décimale.
- Opérations arithmétiques : addition, soustraction, multiplication, division.
4. Le transistor et les portes logiques
- Le transistor agit comme un interrupteur contrôlant le passage du courant électrique.
- Il est la base des portes logiques, qui forment les circuits intégrés.
- Exemple de règle pour un transistor :
Si alors (sortie égale à l'entrée).
5. Algèbre de Boole
- Développée par George Boole (1815–1864), elle formalise la logique binaire.
- Composants clés :
- Valeurs/variables : deux valeurs possibles (0 ou 1).
- Opérateurs : ET, OU, NON, etc.
- Lois : règles fondamentales pour manipuler les variables.
- Propriétés et théorèmes : pour simplifier et analyser les expressions logiques.
À retenir : L’algèbre de Boole est la base mathématique qui permet de modéliser et manipuler les circuits logiques en informatique.
Circuits combinatoires et circuits séquentiels
1. Circuits combinatoires
Un circuit combinatoire est un système logique dont les sorties dépendent uniquement des entrées présentes à un instant donné, sans mémoire d’état.
a) Opérations logiques fondamentales (Algèbre de Boole)
| Opération | Symbole | Description |
|---|---|---|
| NOT | ¬A | Négation de A |
| AND | A ∧ B | Conjonction (A et B) |
| OR | A ∨ B | Disjonction (A ou B) |
b) Portes logiques de base
| Porte | Fonction | Table de vérité (A, B → Sortie) |
|---|---|---|
| AND | 00→0, 01→0, 10→0, 11→1 | |
| OR | 00→0, 01→1, 10→1, 11→1 | |
| NAND | 00→1, 01→1, 10→1, 11→0 | |
| NOR | 00→1, 01→0, 10→0, 11→0 | |
| XOR | 00→0, 01→1, 10→1, 11→0 |
c) Fonctions réalisées par circuits combinatoires
- Opérateurs arithmétiques : additionneur, soustracteur, etc.
- Comparateurs : égalité, inégalité, ordre (==, !=, <, >, ≤, ≥)
- Circuits fonctionnels spécifiques : encodeurs, décodeurs, multiplexeurs, démultiplexeurs
d) Encodeurs et décodeurs
- Encodeur : convertit plusieurs lignes d'entrée en un code binaire compact (ex : 4 entrées → 2 bits)
- Décodeur : convertit un code binaire en plusieurs lignes de sortie
| Exemple Encodeur 4→2 bits | Entrée active | Sortie binaire |
|---|---|---|
| A0 | 1 0 0 0 | 00 |
| A1 | 0 1 0 0 | 01 |
| A2 | 0 0 1 0 | 10 |
| A3 | 0 0 0 1 | 11 |
| Exemple Décodeur 2→4 bits | Entrée binaire | Sortie active |
|---|---|---|
| 00 | 00 | A0 |
| 01 | 01 | A1 |
| 10 | 10 | A2 |
| 11 | 11 | A3 |
e) Multiplexeurs et démultiplexeurs
- Multiplexeur : sélectionne une entrée parmi plusieurs selon un code de sélection, transmettant la donnée choisie en sortie.
- Démultiplexeur : distribue une entrée unique vers une des nombreuses sorties selon un code de sélection.
f) Exemple d’application : système de contrôle aérien
- Entrées :
- P (piste occupée = 1, libre = 0)
- M (météo favorable = 1, défavorable = 0)
- V (brouillard présent = 1, visibilité suffisante = 0)
- SOS (alarme avion en détresse)
- Sorties :
- D (autorisation décollage) :
- A (autorisation atterrissage) :
- W (alerte) : (interdit décollage et atterrissage simultanés)
2. Circuits séquentiels
Un circuit séquentiel dépend des entrées et de l’état précédent, il possède donc une mémoire.
a) Notion d’horloge (clock / CLK)
- Signal périodique carré qui synchronise les changements d’état dans le circuit.
- Cadence les opérations pour garantir un fonctionnement ordonné.
b) Bascule RS (Flip-Flop RS)
- Stocke un bit d’information.
- Deux entrées : S (Set), R (Reset).
- Deux sorties complémentaires : Q et .
- Fonctionnement :
| S | R | Q (sortie) | Description |
|---|---|---|---|
| 0 | 0 | Q précédent | Mémorisation |
| 0 | 1 | 0 | Reset (Q=0) |
| 1 | 0 | 1 | Set (Q=1) |
| 1 | 1 | interdit | État non défini |
c) Bascule JK
- Amélioration de la bascule RS, supprime l’état interdit.
- Entrées J (Set), K (Reset), et horloge CLK.
- Fonctionnement commandé par CLK.
- Si J=K=1, bascule l’état (toggle).
d) Bascule D (Data)
- Stocke la valeur de l’entrée D à chaque front actif de l’horloge.
- Simplifie la synchronisation des données.
À retenir :
Un circuit combinatoire dépend uniquement des entrées actuelles, tandis qu’un circuit séquentiel dépend aussi de son état précédent, grâce à des éléments de mémoire comme les bascules synchronisées par une horloge.
Au cœur de l'ordinateur : processeur et architectures
1. Circuits séquentiels et chronogrammes
- Chronogramme : représentation temporelle des états des signaux (1 = haut, 0 = bas) en fonction du temps.
- Permet de visualiser l'évolution des signaux dans un circuit séquentiel.
- Exemple : pour un circuit avec entrées S, R et sorties Q1, Non Q1, le chronogramme montre leurs variations synchronisées.
2. Architecture d’un ordinateur
Un ordinateur est composé de :
| Composant | Rôle principal |
|---|---|
| Mémoire principale | Stockage temporaire des données et instructions |
| Mémoires secondaires | Stockage permanent (disques, SSD, etc.) |
| CPU (processeur) | Exécution des instructions et gestion des opérations |
| Périphériques | Entrées/sorties (clavier, écran, etc.) |
| Bus | Interconnexion des composants |
3. Le processeur (CPU)
- Unité de contrôle (CU) : génère les signaux de commande et active les composants.
- Unité arithmétique et logique (ALU) : réalise calculs et comparaisons.
- Registres : mémorisent instructions, adresses, états de l’ALU.
- Caches : mémorisent données fréquemment utilisées pour accélérer l’accès.
- Bus : voies de communication internes.
a) Cycle d’exécution d’une instruction
- Recherche (Fetch) : récupération de l’instruction en mémoire.
- Décodage (Decode) : interprétation de l’instruction et génération des signaux.
- Exécution (Execute) : activation des circuits et calculs.
- Écriture (Write Back) : stockage du résultat en mémoire ou registre.
4. Architectures processeur
| Architecture | Caractéristiques principales | Avantages | Inconvénients | Exemples |
|---|---|---|---|---|
| Von Neumann | Mémoire unifiée pour instructions et données, bus commun | Simple, peu coûteuse | Risque de goulot d’étranglement | Ordinateurs classiques |
| Harvard | Mémoires et bus distincts pour instructions et données | Meilleure performance | Plus complexe et coûteuse | Microcontrôleurs, DSP |
5. Caractéristiques d’un processeur
- Fréquence : nombre de cycles d’horloge par seconde.
- Jeu d’instructions : ensemble des commandes que le processeur peut exécuter.
- Architecture : organisation interne (CISC, RISC).
- Pipeline : technique d’exécution en plusieurs étapes pour accélérer le traitement.
6. Jeu d’instructions
Contient :
- Opérations : calculs, comparaisons, sauts conditionnels, appels, écritures.
- Formats : codage binaire des instructions (taille, structure).
- Types de données : types manipulables par le processeur.
- Registres : stockage rapide accessible.
- Modes d’adressage : méthodes d’accès aux données (direct, indirect, immédiat).
7. Architectures CISC vs RISC
| Critère | CISC (Complex Instruction Set Computing) | RISC (Reduced Instruction Set Computing) |
|---|---|---|
| Objectif | Simplifier la programmation avec instructions complexes | Simplifier le matériel pour accélérer l’exécution |
| Nombre d’instructions | > 100, souvent multi-cycles | 30 à 100, généralement à un cycle |
| Adressage | Complexe (direct, indirect) | Simple (LOAD/STORE) |
| Taille des instructions | Variable | Fixe (facilite le pipeline) |
| Exemples | x86 (Intel, AMD) | ARM, MIPS |
8. Pipeline d’exécution
- Divise l’exécution d’une instruction en 5 étapes successives :
| Étape | Description |
|---|---|
| 1. Fetch (IF) | Récupération de l’instruction |
| 2. Decode (ID) | Décodage et génération des signaux |
| 3. Execute (EX) | Exécution de l’opération |
| 4. Memory Access (MEM) | Accès à la mémoire si nécessaire |
| 5. Write Back (WB) | Écriture du résultat |
- Permet d’exécuter jusqu’à 5 instructions simultanément, augmentant la vitesse d’exécution jusqu’à 5 fois.
- Exemple de pipeline sur 5 cycles pour 5 instructions différentes.
À retenir : Le processeur exécute les instructions en suivant un cycle précis (fetch, decode, execute, memory access, write back), et son architecture (CISC ou RISC) influence la complexité et la rapidité d’exécution. Le pipeline optimise cette exécution en divisant les tâches.