INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6...

44
Génie informatique et génie logiciel 1 INF1600: Architecture des micro-ordinateurs Introduction Professeur : Giovanni Beltrame [email protected] Local: M-4018

Transcript of INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6...

Page 1: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Génie informatique et génie logiciel 1

INF1600: Architecture des micro-ordinateurs

Introduction

Professeur : Giovanni Beltrame

[email protected]

Local: M-4018

Page 2: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Génie informatique et génie logiciel 2

Le professeur

• Formation:

– MS, Electrical Engineering, UIC, USA. (2001)

– MTech, CEFRIEL, Milano, Italie (2002)

– Laurea, Computer Engineering, Politecnico di Milano, Italy (2002)

– PhD, Computer Engineering, Politecnico di Milano, Italy (2006)

• Experience industrielle

– CEFRIEL, Italie (2001-2003)

– STMicroelectronics, Canada (2004)

– European Space Agency, Netherlands (2006-2009)

– École Polytechnique de Montréal (2010-present)

Page 3: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

3Génie informatique et génie logiciel

Objectifs de la leçon

1

3

2

5

Faire une liste des objectifs du cours

Décrire le programme du cours

Décrire comment les apprentissages seront évalués

Faire une liste de composants d'un ordinateur

Expliquer le comportement d'un inverseur CMOS

4

Page 4: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

4Génie informatique et génie logiciel

Agenda

3• Introduction à INF1600

• Vue d'ensemble d'un ordinateur

• Logique électronique numérique 5

4

21

Objectifs

Page 5: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

5Génie informatique et génie logiciel

Vos attentes?

• Ce que j’attends du cours:

1)

2)

3)

• Ce que j'attends du professeur:

1)

2)

3)

1

Page 6: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

6Génie informatique et génie logiciel

Architecture des micro-ordinateurs3 crédits (3 / 1,5 / 4,5)

• Le cours vise à:

– Démontrer l'importance du microprocesseur

– Expliquer l’organisation d’un micro-ordinateur

• Impact de ses composants sur le coût et la performance

– Expliquer comment le microprocesseur exécute les programmes

– Développer les aptitudes requises pour la programmation en assembleur

• INF1600 constitue un élément clé de la chaîne « architecture »

– Suite de INF1500 - Logique des systèmes numériques

– Nécessaire pour :

• INF1995 Projet initial en ingénierie informatique

• INF2610 Noyau d’un système d’exploitation

1

Objectifs

Page 7: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

7Génie informatique et génie logiciel

Great Reality #1: You’ve Got to Know Assembly

• Vous n’écrirez probablement jamais des programmes complets en

assembleur

• Les compilateurs sont beaucoup plus patients que nous !

• Mais comprendre l’assembleur est primordial

• Le comportement des bogues

• Le modèle des langages à haut niveau ne marche pas toujours

• Optimiser nos programmes

• Comprendre les optimisations du compilateur

• Trouver les sources d’inefficacité bas niveau

• Implémentation des noyaux

• Créer ou éliminer le malware

• x86 est le langage approprié!

1

Page 8: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

8Génie informatique et génie logiciel

Great Reality #1: You’ve Got to Know Assembly

« To be a great programmer, you really do need to know

how the machine works, I believe. You need to really

understand what can be done efficiently, and what

needs a lot of work from the CPU or the system. »

- Linus Torvald, Simple Talk 2011

« Well, I fondly remember the days when I was an

assembly language programmer. » - Jim, Senior Developer

1

Page 9: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

9Génie informatique et génie logiciel

Exemples pratiques

Time Stamp Counter

Registre spécial à 64-bit dans les processeurs Intel

Incrémenté à chaque cycle d’horloge

Lu avec l’instruction rdtsc – « read time stamp counter »

Application

Mesurer le temps (en cycles) requis par une fonction P.

double t;

start_counter();

P();

t = get_counter();

printf("P required %f clock cycles\n", t);

1

Page 10: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

10Génie informatique et génie logiciel

Code pour lire le compteur

/* Initialize the cycle counter */

static unsigned cyc_hi = 0;

static unsigned cyc_lo = 0;

/* Set *hi and *lo to the high and low order bits of the cycle

counter. Implementation requires assembly code to use the rdtsc

instruction.

*/

void access_counter(unsigned *hi, unsigned *lo)

{

asm("rdtsc; movl %%edx,%0; movl %%eax,%1“ /* Read cycle counter */

: "=r" (*hi), "=r" (*lo) /* and move results to */

: /* No input */ /* the two outputs */

: "%edx", "%eax");

}

1

Page 11: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

11Génie informatique et génie logiciel

Great Reality #2: Memory Matters

La mémoire avec accès aléatoire est une abstraction loin de l’implantation physique

• La mémoire a des limites

• Doit être allouée et gérée

• Les performances de la plupart des applications sont dominées par la

mémoire

• Les performances des mémoires ne sont pas uniformes

• La mémoire cache et la mémoire virtuelle peuvent changer beaucoup les

performances

• Adapter un programme aux caractéristiques de la mémoire peut améliorer

largement sa vitesse d’exécution

1

Page 12: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

12Génie informatique et génie logiciel

Exemple des effets de la mémoire

• Organisation hiérarchique

• Les performances dépendent des trames d’accès

• Incluant comment explorer des structures multidimensionnelles

void copyji(int src[2048][2048],int dst[2048][2048])

{int i,j;for (j = 0; j < 2048; j++)

for (i = 0; i < 2048; i++)dst[i][j] = src[i][j];

}

void copyij(int src[2048][2048],int dst[2048][2048])

{int i,j;for (i = 0; i < 2048; i++)

for (j = 0; j < 2048; j++)dst[i][j] = src[i][j];

}

30 times slower(Core i7)

1

Page 13: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

13Génie informatique et génie logiciel

La montagne de la mémoire

64M

8M

1M 128

K 16K

2K

0

1000

2000

3000

4000

5000

6000

7000

s1

s3

s5

s7

s9

s1

1

s1

3

s1

5

s3

2

Dimension de l’ensemble le de travail(octets)

Déb

itd

e le

ctu

re (

MB

/s)

Paquets (x8 octets)

L1

L2

Mem

L3

copyij

copyji

Intel Core i7

2.67 GHz

32 KB L1 d-cache

256 KB L2 cache

8 MB L3 cache

1

Page 14: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

14Génie informatique et génie logiciel

Carnegie Mellon

Great Reality #3:Computers do more than execute programs

• Ils ont besoin d’importer et d'exporter les données

• Les entrées/sorties sont critiques pour la fiabilité et les

performances des ordinateurs

• Ils communiquent à travers les réseaux

• Les réseaux introduisent plusieurs défis :

• Opérations simultanées

• Utilisation de médias peu fiables

• Compatibilité sur plusieurs plateformes

• Problèmes complexes de performance

• Etc.

1

Page 15: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

15Génie informatique et génie logiciel

Programme du cours

Introduction

Programmation en assembleur

Architecture

d'un microprocesseur

Organisation interne du

microprocesseur

Hierarchie de mémoireTP0

Introduction aux outils

TP1

Périphériques et architecture

Micro-ordinateur

et périphériques

TP2

Architecture

du microprocesseur

TP3

Programmation en assembleur

TP4

Lien entre C++ et assembleur

TP5

Mémoires

C++ et assembleur

2

Théorie

Travaux Pratiques

Page 16: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

16Génie informatique et génie logiciel

Plan du cours

• Introduction (1h)

• Vue d’ensemble d’un micro-ordinateur et périphériques (5h)

• Architecture et boucle d’exécution d’un microprocesseur (6h)

– Accès mémoires, exécution, entrées-sorties et interruptions…

• Organisation interne d’un microprocesseur (3h)

– Horloges, unités de traitement, registres…

• Programmation d’un microprocesseur (13h)

– Instructions, registres, modes d’adressage, indicateurs, lien avec C++…

• Hiérarchie de mémoire (9h)

– Limitations d’une seule mémoire, compromis coût/performance…

• 5 travaux pratiques (15h)

2

Page 17: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

17Génie informatique et génie logiciel

Documentation et organisation

• Toute documentation sur Moodle

• Manuel (pas obligatoire) :

Computer Systems Design and Architecture

V.P. Heuring and H.F. Jordan

Pearson Prentice Hall, 2004

• Je commence à l'heure, une pause de 10 min chaque 50 min de leçon

• Chaque semaine, mini-tests (quiz) formatifs comptabilisés sur Moodle

2

Page 18: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

18Génie informatique et génie logiciel

Évaluation des apprentissages

• Mini-tests formatifs 10%

• Travaux pratiques 30%

• Contrôle périodique (<=2h) 30%

• Examen final (<=2h30) 30%

– Toute documentation papier permise sauf anciens examens

Les 4P, dans le but de rendre le temps en classe agréable pour tous:

Ponctualité: être en classe ou au laboratoire aux heures prescrites.

Participation: être présent(e) et impliqué(e) lors des activités.

Politesse: être conscient(e) et respectueux(se) des autres.

Propreté: préserver l’environnement du local de classe

(exempt de nourriture et de déchets).

3

Page 19: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

19Génie informatique et génie logiciel

Chargés de laboratoires

2

01(mardi)

Benjamin

02(mardi)

Astrid

03(lundi)

Pierre-Yves

04(lundi)

David

05(mardi)

Ulrich

06(mardi)

Ulrich

Page 20: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

20Génie informatique et génie logiciel

Agenda

3• Introduction à INF1600

• Vue d'ensemble d'un ordinateur

• Logique électronique numérique 5

4

21

Page 21: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

21Génie informatique et génie logiciel

(pas micro) processeur ENIAC

Source: ds-wordpress.haverford.edu

Page 22: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

22Génie informatique et génie logiciel

4

Un voyage dans l'ordinateur

Page 23: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

23Génie informatique et génie logiciel

On ouvre la boite

• Si l´on enlève quelques

morceaux...

4

Page 24: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

24Génie informatique et génie logiciel

Composants de l'ordinateur

Processeur

Mémoire

Entrées/Sorties

Bus

4

Page 25: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

25Génie informatique et génie logiciel

Architecture de base

Processeur

Mémoire

Entrées/Sorties

Bus

Entrées/Sorties

4

Page 26: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

26Génie informatique et génie logiciel

L'architecture de Von Neumann

• Inventé par John Von Neumann in 1950

• Idée: fonctionnalité traitée comme les données

• Suivre une recette (programme)

• Appliquer chaque étape au ingrédients (données)

Cuisinier / outils

ComptoirFrigo/Table

Recette/

Programme?Memory Input/Output

Processor

Bus

4

Page 27: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

27Génie informatique et génie logiciel

4

Processeur

Bas

Memory

Processor

Input/Output

Bus

Haut

Page 28: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

28Génie informatique et génie logiciel

Microprocesseur

• Exécute des instructions simples

– Arithmétique

– Logique

– Branchement (condition)

• Accompli des tâches complexes

• Programmable

• Centre de la majorité des systèmes numériques

– Aussi appelé CPU (Central Processing Unit)

– ou UCT (Unité Centrale de Traitement)

• Types plus spécialisés:

– Microcontrôleur

• Emphase sur autosuffisance et faible coût

– DSP (Digital Signal Processor)

Page 29: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

29Génie informatique et génie logiciel

4

Mémoire

DIMM:

Dual In-Line

Memory Module

Memory

Processor

Input/Output

Bus

Page 30: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

30Génie informatique et génie logiciel

Mémoire vive

• Version originale de l’ENIAC:

– bascule bistable (deux triodes)

• Magnetic core memory (~1955)

– Anneaux de ferrite

• Microélectronique:

– Bascule bistable (registres)

– Capacitance (DRAM)

– Mémoires émergeantes (spin-torque transfer, nanotubes, DNA, etc.)

Source: oldcomputers.arcula.co.uk

4

Page 31: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

31Génie informatique et génie logiciel

Entrées/Sorties

4

Memory

Processor

Input/Output

Bus

Page 32: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

32Génie informatique et génie logiciel

Systèmes modernes

• Plusieurs processeurs

• Mémoire souvent intégrée dans la puce

• Réseau sur puce

• Wafer empilés

• Connections optiques

Page 33: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

33Génie informatique et génie logiciel

Exemple

Carte mère

Socket

Interposer

Substrat

SubstrateLogiqueMémoire

Dissipateur de chaleur

TSVs

• ARM v8

Page 34: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

34Génie informatique et génie logiciel

Agenda

3• Introduction à INF1600

• Vue d'ensemble d'un ordinateur

• Logique électronique numérique 5

4

21

Page 35: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

35Génie informatique et génie logiciel

Logique électronique numérique

• Portes logiques

– non (inverseur), et, ou, ou-exclusif …

– anglais: not, and, or, xor …

• Bascule bistable (D)

• Porte 3 états: 0, 1, Z

– Z=Haute impédance (grande résistance)

• Basé sur les transistors

– Plus utilisé présentement: CMOS

– Transistors NMOS et PMOS sur la même puce

• MOS = metal oxide semiconductor

– « Taille »: 180nm … 65nm … 26nm (réalisé; pas disponible)

• Plus petite largeur du « fil » utilisé comme canal de transistor

• Appelé la longueur du transistor, ce fil étant perpendiculaire au lien source-drain

• Résolution deux fois plus fine

5

Copyright © 2017http://www.electronics-tutorials.ws

Page 36: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

36Génie informatique et génie logiciel

5

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Copyright © 2000 by Prentice Hall, Inc.Digital Design Principles and Practices, 3/e

Copyright © 2017http://www.electronics-tutorials.ws

Page 37: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

37Génie informatique et génie logiciel

Pour quelle(s) valeur(s) de A,B,C la sortie sera à Z

(haute impédance)? (où +V vaut la valeur

logique 1, et la mise à la terre vaut la valeur logique 0) :

C=0, A=1, B=1

C=0, A=0, B=1

C=0, A=1, B=0

Page 38: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

38Génie informatique et génie logiciel

A=0, B=0

Sortie à 1 ? Court-circuit ?

A=1 B=0, C=0, D=1, E=1

A=0, B=1, C=0, D=1, E=1

A=0, B=0, C=1, D=1, E=1

....

CMOS ?

Page 39: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

39Génie informatique et génie logiciel

Agenda

3• Introduction à INF1600

• Vue d'ensemble d'un ordinateur

• Logique électronique numérique 5

4

21

Page 40: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

40Génie informatique et génie logiciel

Sommaire

1 Faire une liste des objectifs du cours

• Démontrer l'importance du microprocesseur

• Expliquer l’organisation d’un micro-ordinateur

• Expliquer comment le microprocesseur exécute les

programmes

• Développer les aptitudes requises pour la programmation

en assembleur

Page 41: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

41Génie informatique et génie logiciel

Sommaire

2 Décrire le programme du cours

Introduction

Programmation en assembleur

Architecture

d'un microprocesseur

Organisation interne du

microprocesseur Hierarchie de mémoire

Micro-ordinateur

et périphériques

C++ et assembleur

3 Décrire comment les apprentissages seront évalués

Page 42: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

42Génie informatique et génie logiciel

Sommaire

5

Faire une liste de composants d'un ordinateur

Expliquer le comportement d'un invertisseur CMOS

4

Memory Input/Output

Processor

Bus

Page 43: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

43Génie informatique et génie logiciel

Page 44: INF1600 Architecture des micro-ordinateurs...Introduction Génie informatique et génie logiciel 6 Architecture des micro-ordinateurs 3 crédits (3 / 1,5 / 4,5) •Le cours vise à:

Introduction

44Génie informatique et génie logiciel

INF1600: Architecture des micro-ordinateurs

Introduction

Professeur : Giovanni Beltrame

[email protected]

Local: M-4018