INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1



Documents pareils
NOTIONS DE RESEAUX INFORMATIQUES

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Cours n 12. Technologies WAN 2nd partie

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Spécifications détaillées

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Les liaisons SPI et I2C

Evolution de l infrastructure transport

Hubert & Bruno Lundi 12 octobre 2009 SAINT-QUENTIN (02)

Spécifications détaillées

Livre blanc Haute disponibilité sous Linux

Les Réseaux Informatiques

Cours des réseaux Informatiques ( )

Master d'informatique 1ère année Réseaux et protocoles. Couche physique

Tout sur les Réseaux et Internet

2. DIFFÉRENTS TYPES DE RÉSEAUX

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

LES RÉSEAUX À HAUTS DÉBITS

Cisco Certified Network Associate

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

Ordinateurs, Structure et Applications

Thomas Briet Ingenieurs 2000 Cyril Muhlenbach

Nicolas ZERBIB CORNING

Choix d'un serveur. Choix 1 : HP ProLiant DL380 G7 Base - Xeon E GHz

10 choses à savoir sur le 10 Gigabit Ethernet

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Cours 13. RAID et SAN. 2004, Marc-André Léger

TABLE DES MATIERES. I. Objectifs page 2. II. Types de réseaux page 2. III. Transmission page 2. IV. Câbles page 3. V.

Architecture des ordinateurs

Fiche technique CPU 314SC/DPM (314-6CG13)

Notions d IPMI et retour. Ecole d électronique numérique Fréjus 28 novembre 2012 Nicolas LETENDRE

Consolidation de stockage

DTS MOBATime's Distributed Time System

Introduction. Multi Média sur les Réseaux MMIP. Ver

Le e s tocka k ge g DAS,NAS,SAN

Téléinformatique et télématique. Revenons aux définitions

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Architecture des calculateurs

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Limitations of the Playstation 3 for High Performance Cluster Computing

ETAP Safety Manager Systèmes centraux de contrôle et de gestion

Chapitre 4 : Les mémoires

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

Le bus USB. I) Introduction : II) Architecture du bus USB :

Tout sur l USB L USB (Universal Serial Bus) a été élaboré en 1996 par Intel, Compaq,Digital,IBM,Microsoft,NEC et NorthTelec (USB 1.0).

Introduction. Adresses

Chapitre 1: Introduction générale

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

Leçon 1 : Les principaux composants d un ordinateur

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Performance et usage. La différence NETGEAR - R7000. Streaming HD illimitée

Groupe Eyrolles, 2000, 2004, ISBN :

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Informatique Générale Les réseaux

Administration des ressources informatiques

Catalogue & Programme des formations 2015

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Câblage des réseaux WAN.

Introduction aux Technologies de l Internet

LES RESEAUX VIRTUELS VLAN

Réseaux M2 CCI SIRR. Introduction / Généralités

Commutateur sûr, efficace et intelligent pour petites entreprises

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Cisco Discovery - DRSEnt Module 7

Modélisation des interfaces matériel/logiciel

Intro info définitions

QUELLE FIBRE UTILISER EN FONCTION DE MES APPLICATIONS. OM1, OM2 ou OM3, QUELLE EST LA FIBRE QU IL ME FAUT POUR MON INSTALLATION?

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

«clustering» et «load balancing» avec Zope et ZEO

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

2. Couche physique (Couche 1 OSI et TCP/IP)

Westermo i-line MRI-128-F4G / MRI-128-F4G/DC

IV- Comment fonctionne un ordinateur?

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Année Transmission des données. Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

BM Le bus USB 09/05/2013. Le Port USB

Réseaux grande distance

Guide d'utilisateur. Câble adaptateur USB2.0 vers IDE et SATA. Modèle : DA-70202

Structure et fonctionnement d'un ordinateur : hardware

LE SAN ET LE NAS : LE RESEAU AU SERVICE DES DONNEES

Matériel & Logiciels (Hardware & Software)

Le multiplexage. Sommaire

Scénario du consultant réseau

Exposé de réseau IR3 10/02/2003. Abdelwaheb DIDI Gilles SCALA Michael DIOT. Nouvelles technologies - SAN/NAS - 1/24

SERVEUR CALLEO APPLICATION R269M

Contributions à l expérimentation sur les systèmes distribués de grande taille

Procédures de qualification Télématicienne CFC Télématicien CFC

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Surveillance de Température sans fil

1.Introduction - Modèle en couches - OSI TCP/IP

Discussion autour d un réseau local

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

Plan. Programmation Internet Cours 3. Organismes de standardisation

Architectures et Protocoles des Réseaux

Transcription:

INF6500 : Structures des ordinateurs Sylvain Martel - INF6500 1

Cours 3 : Bus, contrôleurs, et réseaux d interconnexion Sylvain Martel - INF6500 2

Bus Type UCT-mémoire E/S UCT-mémoire-E/S Type Parallèle Série Synchronisation Synchrone Asynchrone Réseaux d interconnexion Type MMD LAN WAN Topologie Ring Crossbar Etc. Arbitration Collision Round-robin, etc. Option Largeur du bus Largeur des données Taille du transfert Maîtres du bus Transactions éclatées Synchronisation PHY Torsadée Fibre optique Coaxial Wait-states Handshake Type Multimode Monomode Données et adresses Séparées Multiplexées Taille du transfert Un mot à la fois Plusieurs mots à la fois WS générateur Interne Externe Périphérique Nbre WS Connu Inconnu Performance Bande passante (débit) Temps de transmission Time of flight Latence de transport Overhead (sender + receiver) Largeur des données Égal au mot Plus petit que le mot Arbitration Round-robin Random, etc. Nombre de maîtres Plusieurs Un seul Routage À partir de srce Virtuel Fondé sur dest. Protocole Nbre de nœuds Longueur du packet (payload) Sylvain Martel - INF6500 3

Latence vs. débit Pour temps réels, systèmes de contrôle de haute performance, courte latence est désirable, haut débit désirable Internet: Longue latence OK (unidirectionnelle), haut débit désirable Sylvain Martel - INF6500 4

L ordinateur moderne: Bus Sylvain Martel - INF6500 5

Bus AGP USB (Universal Serial Bus) PCI ISA Bus Interne Sylvain Martel - INF6500 6

Bus (Exemple) Bus UCT-mémoire Cache UCT Adapteur Bus Adapteur Bus Mémoire Principale Bus AGP Bus PCI Contrôleur E/S Adapteur Bus Contrôleur E/S Sortie pour Graphiques Disque Bus E/S Contrôleur E/S Contrôleur E/S CD Réseau Sylvain Martel - INF6500 7

Pentium Données BUS Adresses Contrôles Interface pour le bus Sylvain Martel - INF6500 8

Lecture standard sur le bus Processeur Périphérique ADDR DATA R/W STRB Sylvain Martel - INF6500 9

Lecture standard sur le bus ADDR DATA R/W STRB Sylvain Martel - INF6500 10

Écriture standard sur le bus Processeur Périphérique ADDR DATA R/W STRB Sylvain Martel - INF6500 11

Écriture standard sur le bus ADDR DATA R/W STRB Sylvain Martel - INF6500 12

Bus Sylvain Martel - INF6500 13

Déterminer la destination Processeur Décodeur ADDR RAM0 Select (Enable) DATA RAM1 R/W STRB Sylvain Martel - INF6500 14

Principales options pour un bus Option Largeur du bus Largeur des données Haute Performance Lignes de données et d adresses séparées Plus large est plus rapide (ex. 64 bits) Moins Dispendieux Lignes de données et d adresses multiplexées Moins large est moins dispendieux Taille du transfert Plusieurs mots ont moins d «overhead» Transfert d un mot à la fois est plus simple Sylvain Martel - INF6500 15

Principales options pour un bus (suite) Option Maîtres du bus Haute Performance Plusieurs (requiert arbitration) Moins Dispendieux Un seul maître (pas d arbitration) Transactions éclatées (split transactions) Horloge de synchronization (Clocking) Oui paquets de requête and réponse (reply) séparés pour une bande passante plus grande (plusieurs maîtres) Synchrone Non connection continue est moins dispendieuse et a moins de latence Asynchrone Sylvain Martel - INF6500 16

Principales options pour un bus Option Largeur du bus Largeur des données Haute Performance Lignes de données et d adresses séparées Plus large est plus rapide (ex. 64 bits) Moins Dispendieux Lignes de données et d adresses multiplexées Moins large est moins dispendieux Taille du transfert Plusieurs mots ont moins d «overhead» Transfert d un mot à la fois est plus simple Sylvain Martel - INF6500 17

Lignes de données et d adresses séparées Processeur Périphérique ADDR(0-31) DATA(0-63) R/W STRB Note: avantageux surtout pour les écritures Sylvain Martel - INF6500 18

Principales options pour un bus Option Largeur du bus Largeur des données Haute Performance Lignes de données et d adresses séparées Plus large est plus rapide (ex. 64 bits) Moins Dispendieux Lignes de données et d adresses multiplexées Moins large est moins dispendieux Taille du transfert Plusieurs mots ont moins d «overhead» Transfert d un mot à la fois est plus simple Sylvain Martel - INF6500 19

Lignes de données et d adresses multiplexées (T1) Processeur Périphérique ADDR(0-31) DATA(0-63) MUX ADDR(0-31) REG R/W A-STRB D-STRB Sylvain Martel - INF6500 20

Lignes de données et d adresses multiplexées (T2) Processeur Périphérique ADDR(0-31) DATA(0-63) DATA(0-63) MUX DATA(0-63) ADDR (0-31) R/W A-STRB D-STRB Sylvain Martel - INF6500 21

Lignes de données et d adresses multiplexées - Lecture sur le bus ADDR/ DATA ADDR(0-31) DATA(0-63) R/W A-STRB D-STRB Sylvain Martel - INF6500 22

Lignes de données et d adresses multiplexées - Écriture sur le bus ADDR/ DATA ADDR(0-31) DATA(0-63) R/W A-STRB D-STRB Sylvain Martel - INF6500 23

Principales options pour un bus Option Largeur du bus Largeur des données Haute Performance Lignes de données et d adresses séparées Plus large est plus rapide (ex. 64 bits) Moins Dispendieux Lignes de données et d adresses multiplexées Moins large est moins dispendieux Taille du transfert Plusieurs mots ont moins d «overhead» Transfert d un mot à la fois est plus simple Sylvain Martel - INF6500 24

Lignes de données et d adresses séparées Données plus larges Processeur Périphérique ADDR(0-31) DATA(0-63) R/W STRB Note: avantageux surtout pour les écritures Sylvain Martel - INF6500 25

Principales options pour un bus Option Largeur du bus Largeur des données Haute Performance Lignes de données et d adresses séparées Plus large est plus rapide (ex. 64 bits) Moins Dispendieux Lignes de données et d adresses multiplexées Moins large est moins dispendieux Taille du transfert Plusieurs mots ont moins d «overhead» Transfert d un mot à la fois est plus simple Sylvain Martel - INF6500 26

Lignes de données et d adresses séparées Données moins larges (T1) Processeur Périphérique DATA(0-15) MUX ADDR(0-31) REG DATA(16-31) DATA(32-47) DATA(48-63) DATA(0-15) R/W STRB-0 STRB-1 STRB-2 STRB-3 REG REG REG Sylvain Martel - INF6500 27

Lignes de données et d adresses séparées Données moins larges (T2) Processeur Périphérique DATA(0-15) MUX ADDR(0-31) REG DATA(16-31) DATA(32-47) DATA(48-63) DATA(16-31) R/W STRB-0 STRB-1 STRB-2 STRB-3 REG REG REG Sylvain Martel - INF6500 28

Lignes de données et d adresses séparées Données moins larges (T3) Processeur Périphérique DATA(0-15) MUX ADDR(0-31) REG DATA(16-31) DATA(32-47) DATA(48-63) DATA(32-47) R/W STRB-0 STRB-1 STRB-2 STRB-3 REG REG REG Sylvain Martel - INF6500 29

Lignes de données et d adresses séparées Données moins larges (T4) Processeur Périphérique DATA(0-15) MUX ADDR(0-31) REG DATA(16-31) DATA(32-47) DATA(48-63) DATA(48-63) R/W STRB-0 STRB-1 STRB-2 STRB-3 REG REG REG Sylvain Martel - INF6500 30

Lignes de données et d adresses séparées Données moins larges (réduire le nombre de lignes STRB) T1 Processeur Périphérique DATA(0-15) MUX ADDR(0-31) REG DATA(16-31) DATA(0-15) REG DATA(32-47) R/W REG DATA(48-63) CNT 00 STRB DEC 00 CNT REG CNT: Compteur binaire DEC: Décodeur Sylvain Martel - INF6500 31

Lignes de données et d adresses séparées Données moins larges (réduire le nombre de lignes STRB) T2 Processeur Périphérique DATA(0-15) MUX ADDR(0-31) REG DATA(16-31) DATA(16-31) REG DATA(32-47) R/W REG DATA(48-63) CNT 01 STRB DEC 01 CNT REG CNT: Compteur binaire DEC: Décodeur Sylvain Martel - INF6500 32

Lignes de données et d adresses séparées Données moins larges (réduire le nombre de lignes STRB) T3 Processeur Périphérique DATA(0-15) MUX ADDR(0-31) REG DATA(16-31) DATA(32-47) REG DATA(32-47) R/W REG DATA(48-63) CNT 10 STRB DEC 10 CNT REG CNT: Compteur binaire DEC: Décodeur Sylvain Martel - INF6500 33

Lignes de données et d adresses séparées Données moins larges (réduire le nombre de lignes STRB) T4 Processeur Périphérique DATA(0-15) MUX ADDR(0-31) REG DATA(16-31) DATA(48-63) REG DATA(32-47) R/W REG DATA(48-63) CNT 11 STRB DEC 11 CNT REG CNT: Compteur binaire DEC: Décodeur Sylvain Martel - INF6500 34

Lignes de données et d adresses séparées Données moins larges (une ligne STRB) - Écriture sur le bus ADDR ADDR(0-31) DATA DATA(0-15) DATA(16-31) DATA(32-47) DATA(48-63) R/W STRB Sylvain Martel - INF6500 35

Principales options pour un bus Option Largeur du bus Largeur des données Haute Performance Lignes de données et d adresses séparées Plus large est plus rapide (ex. 64 bits) Moins Dispendieux Lignes de données et d adresses multiplexées Moins large est moins dispendieux Taille du transfert Plusieurs mots ont moins d «overhead» Transfert d un mot à la fois est plus simple Sylvain Martel - INF6500 36

Lignes de données et d adresses séparées Transfert d un mot à la fois Processeur Périphérique ADDR(0-31) DATA(0-63) R/W STRB Sylvain Martel - INF6500 37

Lignes de données et d adresses séparées Transfert d un mot à la fois Écriture standard sur le bus ADDR Adresse X Adresse X+1 DATA Mot 1 Mot 2 Délais 1 Délais 2 R/W STRB Note: Délais requis pour décodage Sylvain Martel - INF6500 38

Principales options pour un bus Option Largeur du bus Largeur des données Haute Performance Lignes de données et d adresses séparées Plus large est plus rapide (ex. 64 bits) Moins Dispendieux Lignes de données et d adresses multiplexées Moins large est moins dispendieux Taille du transfert Plusieurs mots ont moins d «overhead» Transfert d un mot à la fois est plus simple Sylvain Martel - INF6500 39

Lignes de données et d adresses séparées Transfert de plusieurs mots à la fois Écriture standard sur le bus ADDR Adresse X DATA R/W Délais 1 Mot 1 Mot 2 STRB Note: 1 délais requis seulement pour décodage (adresses séquentielles) Sylvain Martel - INF6500 40

Lignes de données et d adresses séparées Transfert de plusieurs mots à la fois (typiquement pour accès séquentiels) Processeur Périphérique ADDR(0-31) REG CNT DATA(0-63) ADDR+1 R/W STRB Sylvain Martel - INF6500 41

Lignes de données et d adresses séparées Transfert de 2 mots de 64- bit à la fois (complexe et limité) Processeur Périphérique ADDR(0-31) +1 DATA(0-127) R/W STRB ADDR ADDR+1 DATA(0-63) DATA(64-127) Sylvain Martel - INF6500 42

Principales options pour un bus (suite) Option Maîtres du bus Haute Performance Plusieurs (requiert arbitration) Moins Dispendieux Un seul maître (pas d arbitration) Transactions éclatées (split transactions) Horloge de synchronization (Clocking) Oui paquets de requête and réponse (reply) séparés pour une bande passante plus grande (plusieurs maîtres) Synchrone Non connection continue est moins dispendieuse et a moins de latence Asynchrone Sylvain Martel - INF6500 43

Plusieurs maîtres sur le bus Périphérique BUS Maître 1 Maître 2 Maître 3 Maître 4 Sylvain Martel - INF6500 44

Plusieurs maîtres sur le bus arbitration round-robin, aléatoire, etc. Périphérique BUS Roundrobin Maître 1 Maître 2 Maître 3 Maître 4 Requête Requête Requête Requête 1 2 3 5 6 7 8 Sylvain Martel - INF6500 45 4

Plusieurs maîtres sur le bus (suite) Seules les maîtres du bus peuvent démarrer une transaction lecture ou écriture. Un bus a plusieurs maîtres quand il y a plusieurs UCT ou quand les composants d E/S peuvent initialiser une transaction sur le bus. Un système d arbitrage permet de gérer les différents maîtres. Avec plusieurs maîtres, un bus peut offrir une bande passante plus élevée en manipulant des paquets, par opposition à l utilisation bloquée du bus pour une transaction complète. Cela se nomme les transactions éclatées. Un bus utilisant ce système possède une plus grande bande passante mais possède également une latence plus importante qu un bus qui est conservé pendant la totalité de la transaction. Sylvain Martel - INF6500 46

Bus Sylvain Martel - INF6500 47

Principales options pour un bus (suite) Option Maîtres du bus Haute Performance Plusieurs (requiert arbitration) Moins Dispendieux Un seul maître (pas d arbitration) Transactions éclatées (split transactions) Horloge de synchronization (Clocking) Oui paquets de requête and réponse (reply) séparés pour une bande passante plus grande (plusieurs maîtres) Synchrone Non connection continue est moins dispendieuse et a moins de latence Asynchrone Sylvain Martel - INF6500 48

Split transactions Le cycle de lecture standard sur le bus peut-être très long si la le temps d accès à la mémoire est très long Très long ADDR DATA R/W STRB Sylvain Martel - INF6500 49

Transactions éclatées (Split Transactions) Transaction standard Esclave (Slave) Mémoire lente BUS Maître 1 Maître 2 Maître 3 Maître 4 Pendant un long accès à la mémoire lente par le maître 1, la transaction standard occupe le bus ce qui empêche les autres maîtres d utiliser le bus. Sylvain Martel - INF6500 50

Transactions éclatées (Split Transactions): Simple exemple T1 Mémoire maître Requête de lecture BUS Maître 1 Maître 2 Maître 3 Maître 4 Le maître 1 envoie une requête de lecture à la mémoire maître. L adresse de destination est enregistrée (latched) dans l interface de la mémoire maître. Sylvain Martel - INF6500 51

Transactions éclatées (Split Transactions): Simple exemple T2 Mémoire maître Bus disponible pour les autres maîtres BUS Maître 1 Maître 2 Maître 3 Maître 4 Pendant que l adresse est décodée et le relativement long cycle d accès dans la mémoire maître soit completé, le bus est libéré par le Maître 1 et disponible pour transactions par les autres maîtres. Sylvain Martel - INF6500 52

Transactions éclatées (Split Transactions): Simple exemple T3 Mémoire maître Écriture vers Maître 1 BUS Maître 1 Maître 2 Maître 3 Maître 4 Le maître 1 envoie une requête de lecture à la mémoire maître. L adresse de destination est enregistrée (latched) dans l interface de la mémoire maître. Sylvain Martel - INF6500 53

Split transactions (Simple exemple) MASTER (EN) ADDR Maître 1 Vers la mémoire Disponible pour les autres maîtres Mémoire (Maître) Vers Maître 1 DATA R/W REQUEST Sylvain Martel - INF6500 54

Principales options pour un bus (suite) Option Maîtres du bus Haute Performance Plusieurs (requiert arbitration) Moins Dispendieux Un seul maître (pas d arbitration) Transactions éclatées (split transactions) Horloge de synchronization (Clocking) Oui paquets de requête and réponse (reply) séparés pour une bande passante plus grande (plusieurs maîtres) Synchrone Non connection continue est moins dispendieuse et a moins de latence Asynchrone Sylvain Martel - INF6500 55

Synchrone ou asynchrone Un bus peut être synchrone (possède une horloge et un protocole pour les données et les adresses par rapport à l horloge) ou asynchrone. Sylvain Martel - INF6500 56

Accès standard sur un bus synchrone 0 Wait-state (1 cycle horloge) Processeur Ex. Cache L1 (0 WS) ADDR DATA R/W STRB Sylvain Martel - INF6500 57

Lecture standard sur un bus synchrone 0 Wait-state (1 cycle horloge) CLK ADDR DATA R/W STRB Note: CLK: Clock ou Horloge Sylvain Martel - INF6500 58

Écriture standard sur un bus synchrone 0 Wait-state (1 cycle horloge) CLK ADDR DATA R/W STRB Sylvain Martel - INF6500 59

Accès standard sur un bus synchrone 1 Wait-state (2 cycles horloge) Ready interne généré par WS générateur du processeur (software programmable par registre) (nombre de WS connu) Processeur Ex. Cache L2 (1 WS) ADDR DATA # WS REG ADDR CNTRL RDY R/W STRB WS Generator Note: RDY: Ready (Prêt) Sylvain Martel - INF6500 60

Accès standard sur un bus synchrone 1 Wait-state (2 cycles horloge) Ready généré par WS générateur externe (nombre de WS connu) Processeur CLK ADDR Ex. Cache L2 (1 WS) DATA R/W STRB RDY WS Note: RDY: Ready (Prêt) Sylvain Martel - INF6500 61

Accès standard sur un bus synchrone 1 Wait-state (2 cycles horloge) Ready externe généré par WS générateur du périphérique (nombre de WS connu ou inconnu) Processeur CLK ADDR Ex. Cache L2 (1 WS) DATA R/W STRB RDY Note: RDY: Ready (Prêt) Sylvain Martel - INF6500 62

Lecture standard sur un bus synchrone 1 Wait-state (2 cycles horloge) CLK ADDR DATA R/W STRB RDY Sylvain Martel - INF6500 63

Synchrone versus asynchrone Les bus synchrones sont généralement rapides et peu chers mais en contrepartie, tout le bus doit fonctionner à la même fréquence d horloge. Un bus asynchrone n a pas d horloge, il possède des protocoles de poignée de main (hand shaking). Ce type de bus permet l allongement du bus sans se préoccuper de dispersions d horloge (clock skew). Sylvain Martel - INF6500 64

Synchrone versus asynchrone Long Clock skew (fonction de la longueur du bus) Asynchrone Court Synchrone Similaires Varient Vitesses des périphérique E/S Sylvain Martel - INF6500 65

Accès standard sur un bus asynchrone Processeur Périphérique ADDR DATA R/W REQ ACK Note: REQ: Request, ACK: Acknowledge Sylvain Martel - INF6500 66

Lecture sur un bus asynchrone Processeur Périphérique ADDR 1 DATA 3 R/W 1 REQ ACK 2 4 Note: REQ: Request, ACK: Acknowledge Sylvain Martel - INF6500 67

Écriture sur un bus asynchrone Processeur Périphérique ADDR 1 DATA 1 R/W 1 REQ ACK 2 3 Sylvain Martel - INF6500 68

Exemples de bus parallèles IDE SCSI PCI PCI-X (extended) Largeur DATA 16 bits 8 ou 16 bits 32 ou 64 bits 32 ou 64 bits Nbre de 1 Plusieurs Plusieurs Plusieurs maîtres Clocking Async. Async. Sync. Sync. Sylvain Martel - INF6500 69

Bus PCI - Synchrone PCI Longueur et nombre de connecteurs Sylvain Martel - INF6500 70

Exemples de bus parallèles IDE/ SCSI PCI PCI-X ATA (extended) Largeur DATA 16 bits 8 ou 16 bits 32 ou 64 bits 32 ou 64 bits Nbre de 1 Plusieurs Plusieurs Plusieurs maîtres Clocking Async. Async. Sync. Sync. Sylvain Martel - INF6500 71

IDE/SCSI asynchrone (ex. disque magnétique) Ex. «HD» Relativement longue distance Sylvain Martel - INF6500 72

Sylvain Martel - INF6500 73

Bus série PCI (Parallèle) AGP (Parallèle) USB (Universal Serial Bus) (Série) ISA (Parallèle) Sylvain Martel - INF6500 74

Multiplexeur (MUX/DMUX) Exemple d application Bus série Sylvain Martel - INF6500 75

Multiplexeur (MUX/DMUX) Exemple d application Bus série (2-wires) T4 T3 T2 T1 D0 D1 D2 D3 PDATA CLK PSC D3 D2 D1 SDATA D0 SPC D0 D1 D2 D3 PDATA Note: PDATA: Parallèle DATA, SDATA: Serial DATA, PSC: Parallel-Serial Converter, SPC: Serial-Parallel Converter Sylvain Martel - INF6500 76

Multiplexeur (MUX/DMUX) Exemple d application Bus série (1-wire) T4 T3 T2 T1 D0 D1 D2 D3 PDATA CLK1 PSC D3 D2 D1 SDATA D0 SPC D0 D1 D2 D3 CLK2 PDATA CLK1 = CLK2 Synchronisation Sylvain Martel - INF6500 77

Sylvain Martel - INF6500 78

Exemples de bus séries I2C 1-wire RS-232 SPI (2 signal wires) (1 signal wire) (9 ou 25 signal wires) (3 signal wires) Largeur 1 bit 1 bit 2 bits 1 bit DATA Nbre de Plusieurs Plusieurs Plusieurs Plusieurs maîtres Clocking Async. Async. Async. Async. Sylvain Martel - INF6500 79

Bus séries ou parallèles Série: moins de lignes I2C 1-wire RS-232 SPI Bande passante (MAX) 0.4-3.4 Mbits/s (Mb/s) 0.014 Mb/s 0.192 Mb/s 1 Mb/s Parallèle: plus de lignes IDE/ ATA SCSI PCI PCI-X Bande passante 200 MBytes/s 320 MB/s 533 MB/s 1066 MB/s (MAX) (MB/s) Sylvain Martel - INF6500 80

Bus séries rapides ou parallèles Exemple: USB 2.0 = 480 Mb/s ou Mbps est équivalent à 480/8 = 60 MB/s ou MBps << 200 MB/s IDE (un des plus lents bus parallèles) Sylvain Martel - INF6500 81

Bus mémoire et bus E/S L interface des composants de stockage avec l UCT. Le bus E/S peut être connecté à la mémoire ou au cache Dans le cas où il est connecté à la mémoire: Une commande E/S sur le bus peut interférer avec une autre lecture d instruction par l UCT. La méthode la plus courante d adressage d un composant d E/S par l UCT est nommée Les E/S mappées en mémoire Des parties de l espace adressable sont affectées aux composants d E/S Sylvain Martel - INF6500 82

Bus mémoire et bus E/S (suite) Une autre méthode consiste à utiliser des codes opérations dédiés aux E/S dans l UCT. L UCT envoie un signal indiquant qu une adresse est pour des composants E/S. Quelle que soit la technique d adressage choisie, chaque composant E/S a des registres pour fournir des informations d état et de contrôle. Ces registres d état sont continuellement testés par l UC pour savoir si la prochaine opération d E/S est prête. C est l interrogation (polling). Cette interrogation gaspille une grande quantité de temps UC. Pour cette raison, les architectures modernes utilisent un système de d interruptions qui permet de décharger l UC, lui donnant plus de temps pour l exécution des processus. Cette technique est la clé des systèmes d exploitation multitâches. Sylvain Martel - INF6500 83

Choix - Bus La vitesse maximale d un bus est limitée surtout par des facteurs physiques: la longueur du bus et le nombre de composants Ces limites physiques empêchent d accélérer à volonté le bus. Dans le pire scénario, N composants voulant communiquer avec tous les autres, nécessiteront N^2/2 liens. Bus Type Bus Width Bus Speed MB/sec ISA 16 bits 8 M Hz 16 M Bps EISA 32 bits 8 M Hz 32 M Bps VL-bus 32 bits 25 M Hz 100 M Bps VL-bus 32 bits 33 M Hz 132 M Bps PCI 32 bits 33 M Hz 132 M Bps PCI 64 bits 33 M Hz 264 M Bps PCI 64 bits 66 M Hz 512 M Bps PCI 64 bits 133 M Hz 1 GBps Sylvain Martel - INF6500 84

Choix Bus Nom Specification # de composants Largeur du bus Vitesse du bus Mo/s Asynchrone SCSI SCSI-1 8 8 bits 5 MHz 4 Mo/s Synchrone SCSI SCSI-1 8 8 bits 5 MHz 5 Mo/s Wide SCSI SCSI-2 16 16 bits 5 MHz 10 Mo/s Fast SCSI SCSI-2 8 8 bits 10 MHz 10 Mo/s Fast/Wide SCSI SCSI-2 16 16 bits 10 MHz 20 Mo/s Ultra SCSI-3 SCSI SPI 8 8 bits 20 MHz 20 Mo/s Ultra/Wide SCSI-3 SCSI SPI 8 16 bits 20 MHz 40 Mo/s Ultra2 SCSI-3 SCSI SPI-2 8 8 bits 40 MHz 40 Mo/s Ultra2/Wide SCSI-3 SCSI SPI-2 16 16 bits 40 MHz 80 Mo/s Ultra3 SCSI SCSI-3 SPI-3 Sylvain 16 Martel - INF6500 16 bits 40 MHz 160 Mo/s 85

Polling ou interruption Quelle que soit la technique d adressage choisie, chaque composant E/S a des registres pour fournir des informations d état et de contrôle. Ces registres d état sont continuellement testés par l UCT pour savoir si la prochaine opération d E/S est prête. C est l interrogation (polling). Cette interrogation gaspille une grande quantité de temps UCT. Pour cette raison, les architectures modernes utilisent un système de d interruptions qui permet de décharger l UCT, lui donnant plus de temps pour l exécution des processus. Cette technique est la clé des systèmes d exploitation multitâches. Cette technique provoque cependant un surcoût pour les OS. Dans certains cas où il y a des centaines d opérations d E/S par seconde (temps réel), cela devient insupportable pour le processeur (et OS) Sylvain Martel - INF6500 86

Polling - T1 Processeur BUS Clavier Souris E/S 1 E/S 2. Sylvain Martel - INF6500 87

Polling T2 Processeur BUS Clavier Souris E/S 1 E/S 2. Sylvain Martel - INF6500 88

Polling T3 Processeur BUS Clavier Souris E/S 1 E/S 2. Sylvain Martel - INF6500 89

Polling T4 Processeur BUS Clavier Souris E/S 1 E/S 2. Sylvain Martel - INF6500 90

Polling T5, Processeur BUS Clavier Souris E/S 1 E/S 2. Sylvain Martel - INF6500 91

Interruption INT0 Processeur INT3 INT1 INT2 BUS Clavier Souris E/S 1 E/S 2. Sylvain Martel - INF6500 92

Polling vs. Interruption Polling: Latence (temps de réponse) courte avec faible nombre de périphériques Beaucoup de transactions et overhead pour obtenir une latence relativement courte Interruption: Latence (temps de réponse) plus longue (overhead du context switch, avant d exécuter l ISR (Interrupt Service Routine) Latence plus courte que polling si nombre de périphériques est relativement élevé Sylvain Martel - INF6500 93

Contrôleurs. Retirer à l UCT la responsabilité des E/S. Les interruptions libérent l UC de l attente de chaque événement d E/S mais il y encore beaucoup de cycles UCT passés en transferts de données. Sylvain Martel - INF6500 94

Contrôleurs Contrôleurs Sylvain Martel - INF6500 95

IR Transceiver 64Kx16 SRAM IR Communication Controller (Autre face) Embedded Computer Central Controller (CPLD) 48 MIPS DSP 48 MHz Oscillator DMA Controller (DSP) Interrupt Controller (DSP) Sylvain Martel - INF6500 96

Sylvain Martel - INF6500 97

Contrôleur DMA Retirer à l UCT la responsabilité des E/S. Des dispositifs d accès direct mémoire (DMA) sont ajoutés à beaucoup d ordinateurs pour permettrent des transferts d un grand nombre de mots sans intervention de l UCT. Le DMA est un contrôleur spécialisé qui transfère des données entre la mémoire et/ou un composant E/S pendant que l UCT s occupe avec d autres tâches. S il est à l extérieur de l UCT, doit agir comme un maître du bus. Sylvain Martel - INF6500 98

Exemple: Transfert du bloc 0 entre la mémoire principale et la mémoire cache suite à un échec au cache Processeur CACHE Bloc 4 Bloc 2 Bloc 5 Bloc 1 MEM Bloc 0 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 5 Bloc 6 Bloc 7 Bloc 0 Bloc 1 ACTION: Remplacer un bloc du cache par le bloc 0 Lequel: algorithme de replacement LRU, Random, FIFO, etc ADDR0 ADDR64K ADDR64K+1 ADDR128K Sylvain Martel - INF6500 99

Sans contrôleur DMA T1 Processeur (UCT) Cache Mémoire Principale BUS Lecture Sylvain Martel - INF6500 100

Sans contrôleur DMA T2 Processeur (UCT) Cache Mémoire Principale Écriture BUS Note: Cycle T1 et T 2 (Lecture/Écriture) exécuté 65,536 fois par le processeur pour un bloc de 64K, une grande quantité de cycles non disponibles pour effectuer des tâches plus utiles) Sylvain Martel - INF6500 101

Avec contrôleur DMA T1 Processeur (UCT) (continue exécution) Cache Mémoire Principale BUS WS Contrôleur DMA Lecture Sylvain Martel - INF6500 102

Note: Cycle T1 et T2 (Lecture/Écriture) exécuté 65,536 fois par le Contrôleur DMA pour un bloc de 64K, une grande quantité de cycles disponibles à l UCT pour effectuer des tâches plus utiles) Avec contrôleur DMA T2 Processeur (UCT) (continue exécution) Cache Mémoire Principale Écriture BUS WS Contrôleur DMA Sylvain Martel - INF6500 103

Contrôleur DMA Fonctionnement interne L UC initialise d abord les registres du DMA, qui contiennent une adresse mémoire et le nombre d octets à transférer. Une fois le transfert DMA terminé, le contrôleur interrompt l UCT. Il peut y avoir plusieurs composants DMA dans un ordinateur Il est possible d accroître la performance DMA et donc décharger d avantage l UCT: des composants appelés processeurs d E/S (I/O processor controller) opèrent à partir de programmes fixes ou de programmes chargés par l OS. Celui-ci établit généralement une file d attente de blocs de contrôle E/S qui contiennent des informations telles que la localisation de données et la taille des données. Le processeur d E/S prend alors les informations dans la file, fait tout ce qui est demandé et envoie une interruption seulement lorsque la tâche spécifiée dans les blocs de contrôle des E/S est terminée. Sylvain Martel - INF6500 104

Contrôleur DMA Fonctionnement interne (exemple) Registre ADDR Source Registre ADDR Dest. Dimension du bloc (Nombre de mots) LOAD Compteur Compteur RST Comparateur ADDR (SRCE) ADDR (DEST) Compteur STOP SEL Multiplexeur R/W, STRB ADDR SYNC WS Srce Inc/Decr/Fixe Dest Inc/Decr/Fixe Etc Registre Configuration Sylvain Martel - INF6500 105

Transfert avec tampon d écriture de type FIFO du bloc 1 de la mémoire cache à la mémoire principale Écriture au Bloc 1 du cache Accès rapide Tampon d écriture (FIFO) Accès rapide Accès lent MEM Bloc 0 CACHE Bloc 4 Bloc 2 Bloc 5 DMA 2 Bloc 1 Bloc 2 Bloc 3 Bloc 4 Bloc 1 DMA 1 Bloc 5 Bloc 6 Bloc 7 Sylvain Martel - INF6500 106

Configuration: Contrôleur DMA 1 Registre ADDR Source Registre ADDR Dest. Dimension du bloc (Nombre de mots) LOAD Compteur Compteur RST Comparateur ADDR (SRCE) ADDR (DEST) Compteur STOP SEL Multiplexeur R/W, STRB ADDR SYNC WS Srce Inc/Decr/Fixe Dest Inc/Decr/Fixe Etc Registre Configuration Sylvain Martel - INF6500 107

Configuration: Contrôleur DMA 2 Registre ADDR Source Registre ADDR Dest. Dimension du bloc (Nombre de mots) LOAD Compteur Compteur RST Comparateur ADDR (SRCE) ADDR (DEST) Compteur STOP SEL Multiplexeur R/W, STRB ADDR SYNC WS Srce Inc/Decr/Fixe Dest Inc/Decr/Fixe Etc Registre Configuration Sylvain Martel - INF6500 108

Autres types de contrôleurs Réseaux; Interruptions; Graphiques; Bus; DRAM (refresh, ) Disk; Mémoire (cache); Etc. Sylvain Martel - INF6500 109

Implémentation : Electronique Programmable - Choix Sylvain Martel - INF6500 110

Choix Electronique programmable PAL GAL CPLD FPGA Sylvain Martel - INF6500 111

Choix Electronique programmable PAL (Programmable Array Logic) Logique restreinte (par rapport aux CPLDs et FPGAs). C est le plus populaire des SPLDs. Programmable une seule fois par survoltage. Plan ET programmable. Plan OU fixe. Sylvain Martel - INF6500 112

Choix Electronique programmable GAL (Generic Array Logic) C est un PAL reprogrammable Il est constitué de plusieurs macro-cellules que l utilisateur peut configurer en un bloc combinatoire simple, complexe ou bien en sortie avec registres. Sylvain Martel - INF6500 113

Choix Electronique programmable CPLD (Complex Programmable Logic Devices) D un point de vue conceptuel, un CPLD consiste en plusieurs macro-cellules de PAL interconnectées par l entremise d une matrice de sélection. Contient de quelques dizaines à quelques centaines de macro-cellules. En général, les groupes de 8 à16 macro-cellules se regroupés dans un bloc de fonction. Selon le distributeur et la famille du CPLD, les blocs de fonction sont également interconnectés. Sylvain Martel - INF6500 114

Choix Electronique programmable FPGA (Field Programmable Gate Array) Offre la plus grande capacité logique. Un FPGA est une matrice de blocs logiques, entourés de blocs d E/S, reliés par des connections programmables. Un FPGA peut contenir entre 64 et plusieurs dizaines de milliers de blocs logiques et un nombre de bascules encore plus grand. Il existe deux types de FPGA: Àgros grains ( coarse-grained ): contient des blocs logiques relativement gros, contenant deux tables de conversion ou plus ainsi que deux bascules ou plus. À grains fins ( fine-grained ): contient d avantage de blocs logiques simples. Ces blocs contiennent soit une fonction d entrée double ou un multiplexeru 4-1 et des bascules. Les FPGAs les plus denses sont construits à l aide de la technologie des SRAMs Le procédé d anti-fusibles est également utilisé parfois. Sylvain Martel - INF6500 115

Carte MODULA Sylvain Martel - INF6500 116

IR Transceiver 64Kx16 SRAM 48 MIPS DSP 48 MHz Oscillator STM Interface (I/V Amplifier and A/D Converter) Embedded Computer Central Controller (CPLD) Piezo-Drive Switching Circuit (One Leg) Temperature Sensor 15 mm Power Amplifiers STM Scan Tube Driving Section Analog Section Power Converters High Power Input Voltage Regulation High Power Rectification Bridge (Outside Section) Outside Layer Sylvain Martel - INF6500 117 IR Emitters

Réseaux d interconnexion Sylvain Martel - INF6500 118

Introduction Utilité : connecter un ensemble d ordinateurs pour former une communauté. Une communauté est composée de: Nœuds (node) Interface logicielle (software interface) Interface matérielle (hardware interface) Lien (link) Réseau d interconnexion (interconnection network) Sylvain Martel - INF6500 119

Introduction En fonction de nombre de nœuds et de leur proximité, les réseaux ont plusieurs noms: Réseau de machine massivement parallèle (massively parallel network processor) Peut connecter des milliers de nœuds Distance maximale généralement de moins de 25 mètres Réseau local (local area network LAN) Peut connecter des centaines à des milliers d ordinateurs La distance peut atteindre quelques kilomètres Réseau longue distance (wide area network) Connexion de milliers d ordinateurs Connexion à travers le monde Sylvain Martel - INF6500 120

Un réseau simple Réseau de 2 ordinateurs: Les machines communiquent par messages C est une partie logicielle du système d exploitation qui permet de traduire les requêtes (messages) Sylvain Martel - INF6500 121

Envoyer et recevoir un message L envoie du message se déroule comme ci-dessous: L application copie la donnée à envoyer dans un tampon du système d exploitation Le système d exploitation calcule le code de redondance, l incluse dans l en-tête ou la queue du message, et démarre alors le chronomètre Le système d exploitation envoie la donnée dans le matériel d interface réseau et indique au matériel d envoyer le message. La réception du message suit alors: Le système copie la donnée depuis le matériel de l interface réseau dans le tampon du système d exploitation. Le système calcule le code de redondance sur les données. Si ce code correspond au code de redondance de l émetteur, le récepteur renvoie un accusé de réception à l émetteur. Sinon, il supprime le message,,en supposant que l émetteur l expédiera à nouveau quand le temps associé à l envoi sera écoulé. Si la donnée passe le test, le système copie la donnée dans l espace d adressage de l utilisateur et indique à l application de continuer. Sylvain Martel - INF6500 122

Format de message Format de message Cette suite de règles que suit le logiciel se nomme un protocole Ex: UDP/IP, TCP/IP Sylvain Martel - INF6500 123

Mesures de la performance du réseau Pour quantifier les performances des réseaux, on utilise plusieurs mesures: La bande passante (bandwith): Délai maximal avec lequel le réseau d interconnexion peut propager l information une fois que le message est entré dans le réseau. Le temps de transmission (transmission time): Temps pour que le message qui passe à travers le réseau soit égal à la taille du message divisé par la bande passante. Le temps de transit (time of flight): temps pour que le premier bit du message arrive au récepteur. Cela comprend les délais dûs aux répéteurs ou autres éléments matériels dans le réseau. La latence de transport (transport latency): La somme du temps de transit et du temps de transmission. Surcoût émetteur (sender overhead): temps pour que le processeur injecte le message dans le réseau d interconnexion. Sylvain Martel - INF6500 124

Mesures de la performance du réseau (suite) Surcoût récepteur (receiver overhead): Temps pour que le processeur retire le message du réseau d interconnexion. Taille message Latence totale = Surcoût émetteur + Temps transit + + Surcoût récepteur Débit Sylvain Martel - INF6500 125

Connecter le réseau d interconnexion à l ordinateur Les machines massivement parallèle utilisent typiquement le bus mémoire alors que les réseaux locaux et de longue distance se connectent sur le bus d E/S En général, les gros messages sont envoyés plus efficacement par un DMA. Sylvain Martel - INF6500 126

Les supports des réseaux d interconnexion Il existe plusieurs supports pour permettre aux machines de communiquer entre elles: Paire torsadée (twisted pair):peut transférer quelques megabits/s sur plusieurs kilomètres sans amplification. Câble coaxial :un câble de 50 ohms peut délivrer 10 mégabits/s sur 1 kilomètre. Fibre optique (fiber optic): Transmettent l information sous forme d impulsion de lumière. Elle sont unidirectionnelles. Fibre multimode : permet à la lumière de se disperser et utilise comme source de lumière des LED bon marché. Permet de transporter l information à 1000M bits/s sur quelques centaines de mètres ou à 100 M bits/s sur quelques kilomètres. La fibre monomode: possède une seule longueur d onde. Transporte des gigabits d information par seconde sur des centaines de kilométres. NOTE: Connecter des fibres monomodes est beaucoup plus difficile que de connecter des fibres multimodes. Sylvain Martel - INF6500 127

Connecter plus de deux ordinateurs Support partagé ou commuté La manière la plus simple de connecter plusieurs ordinateurs est de les faire partager un seul support d interconnexion. Le réseau local le plus populaire est ethernet. Si le support est partagé, il doit y avoir un mécanisme pour coordonner l utilisation du support partagé, pour qu un seul message soit envoyé à la fois. Si le réseau contient un grand nombre de nœuds sur un plusieurs kilomètres, il faut alors un arbitrage distribué. Un nœud écoute d abord pour être sûr qu il n envoie pas un message pendant qu un autre message est sur le réseau. Si par hasard, deux messages se trouvent sur le réseau en même temps, il y a collision (deux nœuds envoient un message en même temps) Sylvain Martel - INF6500 128

Connecter plus de deux ordinateurs L interface réseau peut essayer de détecter ces collisions en regardant si plusieurs messages ont été mélangés. C est la détection de collision. Les supports partagés sont bon marché mais ils ont une bande passante limitée Un alternative au partage du support est d avoir une ligne dédiée vers un commutateur (switch) qui fournit à son tour une ligne dédiée vers d autres destinations. La bande passante est grandement améliorée. Les commutateurs permettent une communication directe de la source vers la destination, sans que des nœuds intermédiaires interfèrent avec cette communication (point to point communication) Sylvain Martel - INF6500 129

Connecter plus de deux ordinateurs Topologie de commutateur Plusieurs topologies théoriques, mais très peu sont implantées dans l industrie. On en nomme deux: Topologie des machines massivement parallèles (MMP) Topologie des réseaux locaux et longue distance Un réseau crossbar permet à tout nœud de communiquer avec tout nœud avec une seule traversée du réseau. Un réseau Oméga utilise moins de matériel que le réseau crossbar (n log 2 n au lieu de n 2 ). On appelle contention les différents blocages possibles entre les nœuds. Une autre topologie consiste en un arbre avec une augmentation de la bande passante dans l arbre pour répondre aux besoins des configurations courantes de communication. Sylvain Martel - INF6500 130

Connecter plus de deux ordinateurs Une autre solution pour un commutateur distribué est un réseau qui connecte une suite de noeuds. C est la topologie de l anneau. Un anneau set capable de plusieurs transferts simultanés, contrairement aux lignes partagées. Une variante des anneaux qui est utilisée dans les réseaux locaux est appelée anneau à jetons (token ring). Un seul emplacement (le jeton) est passé le long de l anneau pour déterminer que nœud peut envoyer un message. Un nœud ne peut envoyer un message que s il obtient le jeton. Routage: délivrer les messages Le support commuté utilise trois solutions de routage Le routage à partir de la source: le message spécifie le chemin vers la destination. Le circuit virtuel: Un circuit est établi entre la source et la destination. Le message ensuite le chemin qu il suit. Sylvain Martel - INF6500 131

Connecter plus de deux ordinateurs Le routage fondé sur la destination: un message contient une adresse destination et le commutateur doit choisir un chemin pour délivrer le message. Dans les réseaux longue distance, les commutateurs routent les message avec la politique ranger et propager (store and forward). Chaque commutateur attend que le message complet arrive au commutateur avant de l envoyer au commutateur suivant. Le contrôle de congestion Lorsque la bande passante diminue, l interconnexion peut devenir engorgée avec trop de paquets. La solution de base: éviter de faire entrer de nouveaux paquets avant que le trafic soit réduit. Pour ce faire, trois méthodes existent: Suppression de paquets : si un paquet arrive à un commutateur et qu il n y a pas de place dans le tampon, le paquet est supprimé. Sylvain Martel - INF6500 132

Connecter plus de deux ordinateurs Contrôle de flux: Utiliser une contre réaction pour indiquer à l émetteur quand il est autorisé à envoyer le paquet suivant. Paquets de notification de congestion: c est à chaque commutateur de voir son niveau d occupation et d entrer dans un état d avertissement quand il dépasse un certain seuil. Chaque paquet reçu dans un état d avertissement sera renvoyé à la source via un paquet de notification de congestion qui comprend la destination voulue. Sylvain Martel - INF6500 133

Les questions pratiques pour les réseaux d interconnexion commerciaux La normalisation les standards populaires sont peu chers et très stable. Une norme permet à beaucoup de sociétés de fabriquer de produits avec des interfaces pour la norme, et le client n a pas à attendre d une seule compagnie qu elle développe le interfaces pour tous les produits qui peuvent l intéresser. Il faut cependant un temps important avant qu une norme voit le jour en raison de la latence des comités à se mettre d accord. Les réseaux d interconnexion des MMP sont propriétaires alors que les réseaux locaux et longue distance sont normalisés. La tolérance aux pannes Savoir si tous les nœuds de l interconnexion sont opérationnels pour fonctionner correctement. Cependant, aucun réseau comportant un grand nombre de nœuds peut espérer aucune défaillance Sylvain Martel - INF6500 134

Exemple de réseaux d interconnexion Ethernet Standard 10 Mb/s proposé en 1978 Utilisé pratiquement partout Utilise la détection de paquets avec une loi exponentielle pour arbitrer l accès au réseau Codifié sous la norme IEEE 802.3 Selon la manière dont les composants passent le trafic et les types de réseaux d interconnexion qu ils peuvent relier, ils ont des noms différents: Ponts: connectent des réseaux locaux entre eux, passant le trafic d un côté à l autre selon l adresse du paquet. Routeurs: Connectent des réseaux locaux à des réseaux longue distance ou des réseaux longue distance entre eux et résolvent les problèmes d adresses incompatibles. Sylvain Martel - INF6500 135

Exemple de réseaux d interconnexion Un successeur potentiel d Ethernet est FDDI (Interface Données Distribuées par Fibre ) (Fiber Distributed Data Interface). Ce réseau est fondé sur l optique à 100 Mb/s et pourrait utiliser des câbles beaucoup plus longs. Sylvain Martel - INF6500 136

Questions transversales pour les réseaux d interconnexion Une interface efficace à la hiérarchie mémoire ou au réseau d interconnexion Processeurs optimisés pour le traitement et surcoût récepteur Où tracer la frontière matériel/logiciel pour les fonctions d interconnexion Protection est accès utilisateur au réseau Sylvain Martel - INF6500 137

L interconnexion de réseaux Une des inventions les plus importantes dans le domaine de communications a été la connexion des réseaux. Les technologies nécessaires pour la connexion de réseaux sont des normes logicielles qui permettent une communication fiable sans nécessiter des réseaux fiables. Chaque ordinateur, réseau et commutateur implémente sa couche de normes, s appuyant sur les autres composants pour remplis fidèlement ses obligations (OSI). La norme la plus populaire est TCP/IP. Une famille de protocoles permet de simplifier la norme en divisant de manière hiérarchique la responsabilité entre les couches. Chaque niveau fournit les services nécessaires à la couche supérieure. Sylvain Martel - INF6500 138

L interconnexion de réseaux Les différentes couches OSI Sylvain Martel - INF6500 139

Sylvain Martel - INF6500 140