Principes de l'organisation des ordinateurs

L'organisation des ordinateurs (principes de l'organisation des ordinateurs) est l'un des cours fondamentaux de la spécialité informatique et technologie.

L'organisation des ordinateurs étudie principalement la composition et les principes de fonctionnement des différents composants matériels à l'intérieur d'un système informatique, ainsi que la manière dont ils se coordonnent pour exécuter un programme.

En étudiant les principes de l'organisation des ordinateurs, vous comprendrez pourquoi le CPU peut exécuter des programmes, comment la mémoire stocke les données, comment les instructions s'exécutent, et tout le processus d'un ordinateur depuis la mise sous tension jusqu'à l'exécution d'un programme.

Ce tutoriel utilise un grand nombre d'exemples et de schémas pour aider les lecteurs à construire un système de connaissances fondamentales complet sur les entrailles de l'ordinateur, posant ainsi une base solide pour l'apprentissage de cours tels que les systèmes d'exploitation, les principes des compilateurs, les bases de données et les réseaux informatiques.


Que sont les principes de l'organisation des ordinateurs ?

Les principes d'organisation des ordinateurs étudient principalement la structure de composition et les mécanismes de fonctionnement des systèmes matériels informatiques. Ils se situent entre les circuits numériques et l'architecture des ordinateurs et constituent une base importante pour comprendre les mécanismes de fonctionnement des ordinateurs modernes.

Cette discipline met l’accent sur la manière dont les différents composants d’un ordinateur travaillent ensemble, notamment les composants essentiels tels que l’unité centrale de traitement (CPU), la mémoire, les périphériques d’entrée/sortie, les bus et les contrôleurs.

  • Comprendre la structure matérielle interne des ordinateurs
  • Maîtriser le processus d'exécution des programmes dans un ordinateur
  • Apprendre les principes de fonctionnement des composants essentiels tels que le CPU, la mémoire et le bus.
  • Comprendre les technologies clés telles que le jeu d'instructions, le pipeline, les interruptions et le cache.
  • Poser les bases de l'étude des systèmes d'exploitation, des principes des compilateurs et du développement embarqué.

À qui s'adresse ce tutoriel ?

Ce tutoriel s'adresse aux étudiants des filières informatiques et aux développeurs qui souhaitent acquérir une compréhension approfondie des principes sous-jacents des ordinateurs.

  • Étudiants en informatique et technologie
  • Ingénieurs en développement logiciel
  • Pour les apprenants qui préparent des examens d'entrée en troisième cycle, des concours de la fonction publique ou des examens de niveau en informatique.
  • Pour les développeurs qui souhaitent comprendre en profondeur les mécanismes de fonctionnement du CPU et de la mémoire.
  • Pour les ingénieurs travaillant sur les systèmes d'exploitation, les compilateurs et le développement embarqué.

Prérequis pour ce tutoriel

Avant d'étudier ce tutoriel, il est recommandé d'avoir des connaissances de base en informatique, ce qui vous aidera à mieux comprendre les systèmes matériels informatiques.

  • Bases de l'informatique
  • Bases du langage C ou de Python
  • Méthodes de représentation binaire, décimale et hexadécimale.
  • Notions de base en logique numérique (une compréhension suffit).
  • Capacité à utiliser un ordinateur avec aisance pour le développement de programmes.

Composants d'un système informatique

Un système informatique complet se compose généralement d'un système matériel et d'un système logiciel, où le système matériel comprend principalement les parties suivantes :

                 计算机系统
                     │
        ┌────────────┴────────────┐
        │                         │
    硬件系统                  软件系统
        │
 ┌──────┼──────────────┐
 │      │      │       │
CPU   存储器   输入设备  输出设备
 │
 ├── 运算器(ALU)
 ├── 控制器(CU)
 └── 寄存器(Register)


Un premier exemple d'organisation d'un ordinateur

Voici un programme C simple. Il semble ne comporter qu'une seule ligne de code, mais à l'intérieur de l'ordinateur, il passe par plusieurs processus tels que la compilation, le chargement, l'extraction, le décodage et l'exécution.

Exemple

#include <stdio.h>

int main()
{
    printf("Hello World!\n");
    return 0;
}

Lors de l'exécution du programme, le processus passe approximativement par les étapes suivantes :

  • Le code source est compilé en instructions machine
  • Chargement du programme en mémoire
  • Le CPU récupère les instructions depuis la mémoire (Fetch).
  • L'unité de contrôle décode (Decode)
  • L'unité arithmétique exécute les instructions (Execute).
  • Le résultat est écrit en retour dans un registre ou en mémoire (Write Back)

Documentation de référence

  • Organisation et conception des ordinateurs David A. Patterson, John L. Hennessy
  • Systèmes informatiques : une perspective de programmeur (CSAPP) Randal E. Bryant, David R. O'Hallaron
  • Principes d'organisation des ordinateurs (Tang Shuofei)
  • Manuel du développeur de logiciels pour les architectures Intel® 64 et IA-32
  • Manuel de référence de l'architecture ARM
autres extensions