Considérez les trois ordinateurs Dell décrits dans le tableau suivant.
| Modèle | Latitude 3440 | Precision Mobile 7780 | Precision 7960 |
|---|---|---|---|
| Type | Ordinateur portable | Station de travail portable | Station de travail |
| Processeur | Intel Core i5-1335U | Intel Core i9-13950HX | Intel Xeon w9-3495X |
| Mémoire (RAM) | 8GB - 3 200 MT/s - DDR4 (1 × 8GB) | 32GB - 5 600 MHz - DDR5 (1 × 32GB) | 512 GB - 4 800 MHz - GDDR6 (8 × 64 GB) |
| GPU | Intel Iris Xe Graphics G7 80EUs (integrated) | NVIDIA RTX 3500 | NVIDIA RTX A6000 |
| Disque | SSD 256 GB | SSD 1 TB | RAID 5 : 4 × SSD 4To |
| Taille | 14" - 1920 × 1080 | 15.6" - 3840 × 2160 | -- |
| Poids | 1.5 kg | 2.5 kg | -- |
| Prix | 900 € | 4 600 € | 32 100 € |
| Spécifications | cliquez ici | cliquez ici | cliquez ici |
Le premier ordinateur est un portable léger adapté à une utilisation personnelle et/ou bureautique. Le deuxième est une station de travail portable qui permet d'exécuter des applications nécessitant du calcul et du graphisme. Le troisième est un serveur puissant capable de travailler sur des calculs massifs tels que l'apprentissage profond.
Discutez des concepts fondamentaux liés aux principaux composants d’un ordinateur : le processeur, la mémoire (RAM) et le stockage.
ANSWER ELEMENTS
Le but de cette question est de rappeler les notions principales abordées pendant le cours.
Voici les points essentiels :
- Le processeur est responsable de l’exécution des programmes qui sont stockés dans la mémoire principale.
- Les composants principaux du processeur sont :
- Unité de contrôle : responsable de la récupération (en anglais, fetch) des instructions depuis la mémoire principale et de leur décodage à partir du code d’instruction.
- Unité arithmétique et logique (UAL) : effectue les opérations arithmétiques et logiques.
- Registres : stockent les résultats temporaires et des informations de contrôle (par exemple, le compteur de programme stocke l’adresse mémoire de la prochaine instruction à récupérer).
- La mémoire principale (RAM) est utilisée pour stocker les données temporaires et le code des programmes en cours d’exécution.
- La RAM est une mémoire volatile : son contenu est perdu lorsque l’ordinateur est éteint.
- La RAM est composée d’un ensemble de mots de taille égale, chaque mot étant une séquence de bits. Chaque mot est identifié par une adresse (utilisée pour lire/écrire le contenu du mot).
- Un mot peut contenir indifféremment une valeur ou une instruction de programme (architecture de Von Neumann).
- Le stockage fait référence à la mémoire non volatile. Deux principaux types de stockage :
- Disques durs (HDD) : stockent les données sur des plateaux en matériau magnétique. Ils sont lents à cause de leurs pièces mécaniques.
- Disques SSD : stockent les données dans des cellules semi-conductrices. Ils ne contiennent pas de pièces mobiles et sont donc plus rapides.
Aussi, rappelez-vous de la raison principale pour laquelle les ordinateurs utilisent plusieurs niveaux de mémoire.
- Les disques (HDD ou SSD) sont utilisés pour le stockage à long terme des données et des programmes.
- Avant l’exécution, le CPU charge les instructions et les données du disque vers la RAM, car accéder à la RAM est beaucoup plus rapide que de lire directement depuis le disque.
- Cependant, la capacité de la RAM est inférieure à celle des disques, car la RAM est beaucoup plus coûteuse.
- De plus, le CPU intègre ses registres (les mémoires les plus petites de l'ordinateur) et une mémoire cache pour un accès encore plus rapide aux données et aux instructions. Nous reviendrons sur ce point dans une question ultérieure.
Regardez les spécifications des deux premiers ordinateurs (lien dans la dernière ligne du tableau). Combien d'écrans peuvent être utilisés simultanément sur les deux ordinateurs portables, sans tenir compte des caractéristiques de la carte graphique ?
ÉLÉMENTS DE RÉPONSE
- Latitude 3440 : 3 écrans
- Écran de l'ordinateur.
- Port HDMI 1.4 : possibilité de brancher un écran.
- Port USB 3.2 Gen 2 Type-C avec DisplayPort : possibilité de brancher un écran.
- Precision Mobile 7780 : 7 écrans
- Écran de l'ordinateur.
- Ports HDMI 2.0a or 2.1 : possibilité de brancher un écran.
- USB 3.2 Gen 2 Type-C port avec DisplayPort : possibilité de brancher un écran.
- 2 x Thunderbolt 4 ports avec USB Type-C : on peut brancher deux écrans 4K à chaque port.
Quels sont les taux de transfert de données sur les connexions disponibles des deux ordinateurs portables ?
ÉLÉMENTS DE RÉPONSE
- Latitude 3440
- USB 3.2 Gen 1 : 5 Gbit/s
- USB 3.2 Gen 2 Type-C : 10 Gbit/s
- RJ45 (Ethernet) : 10/100/1000 Mbit/s
- Wifi : jusqu'à 2400 Mbit/s
- Bluetooth 5.3 : jusqu'à 2 Mbit/s
- WWAN module : jusqu'à 1 Gbit/s DL - 150 Mbit/s UL
- Precision Mobile 7780 : add/change
- Thunderbolt 4 ports with USB Type-C : 40 Gbit/s
- WWAN module : jusqu'à 3 Gbit/s DL - 250 Mbit/s UL
Nous voulons maintenant comparer les processeurs (CPU) des trois ordinateurs. La table suivante résume les points clés. Une comparaison exhaustive et officielle est disponible ici.
| Intel Core i5-1335U | Intel Core i9-13950HX | Intel Xeon w9-3495X | |
| Nombre de cœurs | 2 + 8 | 8 + 16 | 56 |
| Fréquence de base | 1.7 GHz | 2.20 GHz | 1.90 Ghz |
| Fréquence turbo | 4.60 GHz | 5.50 Ghz | 4.80 Ghz |
| Cache | 12 MB | 36 MB | 105 MB |
| Puissance | 15W | 55W | 350W |
| Taille mémoire max | 64 GB | 128 GB | 4 TB |
| Canaux mémoire max | 2 | 2 | 8 |
| Prix recommandé | $340.00 | $590.00 | $5889.00 |
| Geekbench 5 single-core score (cpu-monkey) | 1628 | 2108 | 1734 |
| Geekbench 5 multi-core score (cpu-monkey) | 7240 | 19759 | 56911 |
- Discutez les différences entre les trois processeurs. Pourriez-vous dire ce que signifient les différentes caractéristiques énumérées dans le tableau ?
- Examinez les limites du CPU en matière de mémoire. Ces limitations sont-elles respectées dans la configuration matérielle des trois ordinateurs ? Peut-on encore ajouter de la mémoire aux trois configurations ?
ÉLÉMENTS DE RÉPONSE
Voici une description des caractéristiques :
- Nombre de cœurs. Un cœur est une unité de calcul d'un CPU. Un cœur peut lire et exécuter des instructions d'un programme. Un CPU multicœur peut exécuter plusieurs instructions en même temps. Vous avez peut-être remarqué que les deux premiers ordinateurs ont deux types de cœurs. Vous pouvez le voir dans les spécifications détaillées. Voici les points à retenir :
- Les processeurs Intel sont généralement équipés de cœurs P (ou cœurs de performance) et de cœurs E (ou cœurs efficaces).
- Les cœurs P sont utilisés pour les charges de travail lourdes ; ils sont plus performants, mais ils coûtent plus cher et génèrent plus de chaleur (ils consomment donc plus d'énergie).
- Les cœurs E sont utilisés pour les tâches d'arrière-plan qui ne nécessitent pas une grande puissance de calcul. Ils sont moins performants, mais ils coûtent moins cher et génèrent moins de chaleur.
- L'objectif d'avoir deux types de cœurs est de trouver un équilibre entre les performances, le coût et la consommation d'énergie du CPU.
- Fréquence de base. Fréquence de l'horloge du CPU dans des conditions d'utilisation normales.
- Fréquence turbo. Fréquence de l'horloge du processeur en cas d'utilisation intensive. La technologie Turbo Boost augmente dynamiquement la fréquence de l'horloge pour gérer une charge de travail importante. La fréquence de l'horloge est définie en fonction de la chaleur du système et du nombre de cœurs utilisés. La fréquence d'horloge ne peut pas dépasser celle spécifiée par la fréquence turbo.
- Cache. Indique la quantité de mémoire cache intégrée dans la puce du processeur. ATTENTION sur ce point. Le chiffre indiqué ici fait référence à la taille du cache L3. Pour connaître la taille des autres niveaux de cache, il faut consulter les fiches techniques détaillées du processeur. Prenons l’exemple de l’Intel Core i5-1335U. Ce processeur appartient à la 13ᵉ génération, et les informations sur la taille de ses caches sont disponibles sur cette page. Voici les points à retenir :
- Chaque cœur possède son propre cache L1. Le cache L1 est divisé en deux mémoires : une stocke les données (DCU) et l’autre stocke les instructions (IFU). Le DCU est de 48 Ko pour les cœurs P et 32 Ko pour les cœurs E. L’IFU est de 32 Ko pour les cœurs P et 64 Ko pour les cœurs E.
- Chaque cœur P possède son cache L2 dédié de 1,25 Mo.
- Il existe un cache L2 partagé pour chaque groupe de 4 cœurs E, la taille de chacun étant de 2 Mo.
- Tous les cœurs partagent le même cache L3 de 256 Mo.
- On peut observer que la taille des caches augmente à chaque niveau : les caches L1 sont plus petits que les caches L2, qui sont eux-mêmes plus petits que les caches L3. Cette organisation permet d’équilibrer rapidité et capacité de stockage des données proches du processeur.
- Puissance. Niveau moyen de chaleur générée en cas d'utilisation intensive lorsque le CPU fonctionne à sa fréquence de base.
- Taille mémoire max. Quantité maximale de mémoire que le CPU peut adresser.
- Canaux mémoire max. Nombre maximal de modules de mémoire pouvant être reconnus par le CPU.
- Geekbench. Un benchmark, c'est-à-dire un ensemble de tests de performance, qui donne un score de performance à un CPU. Les scores figurant dans le tableau sont tirés du site web cpu-monkeys.
En général, une fréquence d'horloge plus élevée signifie un processeur plus rapide. Cependant, de nombreux autres facteurs peuvent affecter les performances. Le CPU dispose de plusieurs moyens pour optimiser l'exécution des instructions du programme. La technologie actuelle permet de répartir intelligemment l'exécution des instructions entre les cœurs de l'ordinateur. Il est donc possible qu'un ancien processeur ayant une fréquence d'horloge plus élevée soit moins performant qu'un processeur plus récent ayant une vitesse d'horloge plus faible.
La taille de la mémoire cache est également importante.
Les benchmarks sont utilisés pour comparer les performances des CPUs. Le tableau montre que l'Intel Core i9 a un meilleur score que l'Intel Xeon (qui coûte plus cher) lorsqu'un seul cœur est utilisé. Ceci est vrai pour le benchmark sélectionné, un autre peut donner un résultat différent. Les scores de performance doivent être considérés avec prudence.
En ce qui concerne la deuxième question, nous constatons que les trois configurations matérielles respectent les limites de la mémoire. En fait, les deux premiers ordinateurs n'utilisent qu'un seul canal de mémoire, nous pouvons donc ajouter un module supplémentaire, car les CPU respectifs supportent deux canaux.
La taille d’un bloc mémoire de l’Intel Core i5-1335U est de 64 octets. Combien de blocs le cache L3 peut-il stocker ?
ANSWER ELEMENTS
256 MB / 64 B = 4M blocs
Maintenant nous considérons le GPU (graphics processing unit). La table suivante décrit les caractéristiques des GPU des trois ordinateurs.
| Intel Iris Xe Graphics G7 80EUs (integré) | NVIDIA RTX 3500 | NVIDIA RTX A6000 | |
| Nombre de cœurs (CUDA) | 640 | 5 120 | 10 752 |
| Fréquence d'horloge | 1 100 MHz | 1 545 MHz | 1 800 MHz |
| Mémoire | 8 GB (shared) | 12 GB | 48 GB |
| FP16 performance | 2.816 TFLOPS | 15.82 TFLOPS | 38.71 TFLOPS |
| FP32 performance | 1 408.0 GFLOPS | 15.82 TFLOPS | 38.71 TFLOPS |
| FP64 performance | 352 GFLOPS | 247.2 GFLOPS | 604.8 GFLOPS |
| Cœurs tensor (Deep learning) | -- | 160 | 336 |
| Consommation d'énergie max | < 15W | 100W | 300 W |
Comparez les caractéristiques des trois GPU. Pourriez-vous dire ce que signifient les différentes caractéristiques énumérées dans le tableau ?
ÉLÉMENTS DE RÉPONSE
1. Contexte
- Pendant 30 ans, l’une des méthodes les plus importantes pour augmenter les performances des ordinateurs a été d’augmenter la fréquence d’horloge du CPU.
- Les premiers ordinateurs personnels avaient une fréquence d’horloge de 1 MHz, tandis que les CPU modernes peuvent atteindre des fréquences de 1 à 4 GHz.
- Cependant, cette approche a atteint ses limites en raison de la consommation d’énergie et des problèmes de dissipation de chaleur.
- En conséquence, l’accent s’est déplacé vers le calcul parallèle, où plusieurs unités de calcul travaillent ensemble pour effectuer des tâches plus efficacement.
- Les CPU ont commencé à intégrer plusieurs cœurs au début des années 2000.
- Un cœur de CPU comprend : une unité de contrôle, qui fournit les fonctionnalités nécessaires pour aller chercher, décoder et exécuter des instructions, une unité arithmétique et logique (ALU) et un ensemble de registres.
2. GPU
- Les Graphics Processing Units (GPU) ont été à l’origine conçus pour le rendu graphique.
- Le CPU prenait en charge les tâches générales, tout en déléguant les tâches liées au graphisme au GPU.
- Les chercheurs ont commencé à réaliser qu’un GPU pouvait être détourné pour effectuer des calculs non graphiques (à usage général), à condition que le problème puisse être exprimé comme une série d’opérations liées au graphisme.
- Initialement, les programmeurs devaient utiliser des API graphiques comme OpenGL ou DirectX pour effectuer des tâches générales, ce qui était compliqué.
- La programmation a été facilitée avec CUDA (NVIDIA), une extension du langage C.
3. Anatomie du GPU
- Un GPU se compose de nombreuses unités de calcul (appelées Streaming Multiprocessors chez Nvidia, Execution Units chez Intel, Compute Units chez AMD).
- Chaque unité de calcul possède une unité de contrôle + plusieurs cœurs (ALU + registres), comme illustré dans la figure (Nvidia appelle les cœurs des CUDA cores).
- Une unité de calcul exécute la même instruction sur différentes données en parallèle.
- Exemple : additionner deux vecteurs de 128 nombres en virgule flottante. Chaque cœur effectue 16 additions et tous travaillent en parallèle.
- Cela est appelé Single Instruction, Multiple Data (SIMD) ou Single Instruction Multiple Threads (SIMT).
4. Notre exemple
- Dans le premier ordinateur, le GPU est intégré dans le CPU. En conséquence, le CPU et le GPU partagent la même mémoire. Bien que l’intégration du GPU dans le CPU entraîne des performances plus faibles, pour la plupart des utilisateurs c’est une solution pratique et peu coûteuse. Les joueurs et les développeurs d’applications graphiques ont besoin d’une configuration avec un GPU dédié.
- Le deuxième et le troisième ordinateurs sont équipés de GPU NVIDIA dédiés. Ces GPU possèdent une mémoire dédiée.
- Un cœur CUDA exécute 2 opérations en virgule flottante par cycle d’horloge. Le nombre de cœurs et la fréquence d’horloge peuvent être utilisés pour estimer un nombre théorique d’opérations en virgule flottante par seconde (FLOPS).
FLOPS = Cœurs × Fréquence d’horloge × 2
- La valeur obtenue avec la formule n’est que théorique. Pour une comparaison concrète, il est préférable de consulter des benchmarks comme ici.
- Comme les cœurs CUDA sont limités à l’exécution de deux opérations par cycle d’horloge, NVIDIA a développé des cœurs plus avancés, appelés tensor cores. Ils peuvent calculer des opérations matricielles entières par cycle d’horloge et ouvrent de nouvelles applications d’apprentissage profond (deep learning) sur GPU.
5. CPU vs GPU
- CPU : optimisé pour les tâches intensives en contrôle (branchements, logique complexe).
- GPU : optimisé pour les tâches parallèles sur données (même opération sur de nombreuses données).

