Aller au contenu

Architecture matérielle

Architecture de Von Neumann

  • Le cycle d'une machine séquentielle se répète jusqu'à l'arrêt de la machine :

    •   Le processeur récupère l'instruction à exécuter en mémoire à l'adresse PC.
    •   Le processeur décode et exécute l'instruction.
    •   Le processeur passe à l'instruction suivante (en incrémentant PC) et ainsi de suite.
  • Un programme est une suite d'instructions en code machine spécifique à un processeur, c'est-à-dire une suite d'octets que le processeur décode puis exécute. Ce code machine est souvent traduit en code assembleur pour faciliter sa lecture :

    Code machine
    00011010
    00100010 
    00010011
    00000011
    01111000 
    
    Code assembleur
    LD A, (DE) 
    LD (HL+), A 
    INC DE 
    DEC BC 
    LD A, B 
    

Compléments

Autour des mémoires

Mémoire Volatilité Capacité Débit Temps d'accès
  Registres Volatile 32 ko 500 Go/s 1 ns
  Caches Volatile 512 ko ~ 16 Mo 300 Go/s 10 ns
  RAM Volatile 16 Go 50 Go/s 100 ns
  Stockage Permanent 1 To 500 Mo/s 100 μs
  • Une mémoire est dite volatile si elle perd son contenu sans alimentation électrique, et permanente si elle conserve ses données même après coupure de courant.

  • Une mémoire de stockage peut être de type ROM (Read Only Memory, ou mémoire morte), qui ne peut être que lue (pas d'écriture possible). Typiquement une cartouche de jeu.

  • Les mémoires cache sont de petites mémoires rapides dans le CPU qui évite de trop attendre les données venant de la RAM en conservant celles qu'on utilise souvent ou bientôt. L'animation ci-dessous illustre les différents temps d'accès (ou latence) :

      Registres
    1 cycle

      Caches
    ~10 cycles

      RAM
    ~100 cycles

      Stockage
    ~100k cycles

Autour du processeur

  • Le processeur est cadencé au rythme d'une horloge interne de fréquence constante (en Hertz). Un cycle d'horloge correspond à la durée d'un cycle, soit l'inverse de la fréquence. Par exemple, un CPU cadencé à 3.3 Ghz effectue donc 3.3 milliards de cycles par seconde. Une instruction peut prendre un ou plusieurs cycles pour être complètement réalisée.

  • La loi de Moore est une observation empirique formulée par Moore en 1965, qui énonçait que le nombre de transistors dans les microprocesseurs doubles environ tous les deux ans. Cela signifie que la puissance de traitement des ordinateurs augmente également de manière exponentielle au fil du temps.

    Chaque point représente ici un processeur entre 2000 et 2023. La gravure représente la taille des transistors.

  • Architecture monoprocesseur : un seul processeur.

  • Architecture multiprocesseur : plusieurs processeurs physiques travaillant ensemble.
  • Un processeur moderne dispose de plusieurs unités de traitement appelées cœurs, chacun avec leurs propres registres, UAL, CU et mémoire cache, pouvant ainsi exécuter des instructions simultanément et indépendamment les uns des autres.

Autour des langages de programmation

  • Un langage bas niveau est proche du matériel : code machine, assembleur...
  • Un langage haut niveau est proche du langage humain et plus abstrait : Python, Scratch...
  • Un langage interprété est traduit en code machine pendant l'exécution : Python, JavaScript...
  • Un langage compilé est traduit en code machine avant l'exécution : C, Rust...

Systèmes sur puce (SoC)

  • Un SoC (System on a Chip ou Système sur puce) est une puce qui regroupe tous les composants essentiels d'un ordinateur classique : processeur (CPU), mémoire vive (RAM), processeur graphique (GPU) et circuits de communication (Wi-Fi, Bluetooth…).

  • Ces puces sont très compactes (quelques cm²) et surtout conçues pour consommer beaucoup moins d'énergie qu'un ordinateur traditionnel à puissance équivalente.

  • On les retrouve dans les smartphones, les consoles de jeux portables (comme la Nintendo Switch), les nano-ordinateurs (comme le Raspberry Pi), et même certains ordinateurs portables récents (comme les MacBook d'Apple depuis 2021).

  • Le marché des SoC est en forte croissance et joue un rôle majeur dans l'évolution des technologies mobiles et embarquées.

  • À gauche, la puce M1 Ultra d'Apple en comparaison avec un processeur de chez AMD, et à droite, l'architecture de la puce M1 Max d'Apple :

M1 Ultra M1 Max Die