Architecture des ordinateurs. Robin FERCOQ fercoq@ece.fr



Documents pareils
Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

La mémoire. Un ordinateur. L'octet. Le bit

Informatique Générale

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Cours Informatique 1. Monsieur SADOUNI Salheddine

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

IFT1215 Introduction aux systèmes informatiques

Codage d information. Codage d information : -Définition-

Programmation C. Apprendre à développer des programmes simples dans le langage C

Une version javascript sera disponible directement dans le cours prochainement.

ELP 304 : Électronique Numérique. Cours 1 Introduction

Structure de base d un ordinateur

Cours 3 : L'ordinateur

Éléments d'architecture des ordinateurs

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)

Logiciel de Base. I. Représentation des nombres

Structure et fonctionnement d'un ordinateur : hardware

LE MICRO ORDINATEUR. Introduction Architecture Les supports amovibles Les composants Le système d exploitation Les portables

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs Introduction à l informatique

IV- Comment fonctionne un ordinateur?

Algorithme. Table des matières

Tout savoir sur le matériel informatique

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

TD : Codage des images

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

I.1- DÉFINITIONS ET NOTIONS DE BASE

Représentation des Nombres

Matériel & Logiciels (Hardware & Software)

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Architecture matérielle des systèmes informatiques

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

GPA770 Microélectronique appliquée Exercices série A

Architecture des Ordinateurs. Partie II:

Traitement numérique de l'image. Raphaël Isdant

Conception de circuits numériques et architecture des ordinateurs

Un ordinateur, c est quoi?

Transmissions série et parallèle

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

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

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

L AUTOMATISME LE SIGNAL

Chapitre 1 : Introduction aux bases de données

Distinguer entre «Enregistrer» et «Sauvegarder»

Le codage informatique

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

La solution à vos mesures de pression

Introduction à l informatique en BCPST

Microprocesseur + Logiciel

Alchin Couderc Flambard TBSEID 2

Outils permettant la diffusion de l information. Un point sur le droit numérique

Leçon 1 : Les principaux composants d un ordinateur

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

Introduction à l Informatique licence 1 ère année Notes de Cours

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

ASR1 TD7 : Un microprocesseur RISC 16 bits

Conservation des documents numériques

Matériel informatique (hardware)

I- Définitions des signaux.

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Windows 2000: W2K: Architecture. Introduction. W2K: amélioration du noyau. Gamme windows W2K pro: configuration.

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

La communication et la gestion de l'information

Architecture de l ordinateur

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Démontage d'un ordinateur

Le multiplexage. Sommaire

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

L informatique en BCPST

Représentation d un entier en base b

À la découverte de l ordinateur

Preliminary Spec Sheet

l'ordinateur les bases

PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC!

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

AUJOUR'HUI, NOUS ALLONS DÉCOUVRIR

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Virtualisation de Windows dans Ubuntu Linux

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

UE Programmation Impérative Licence 2ème Année

1 Introduction au codage

Dossier 03 Périphériques d acquisition

Procédure appropriée pour éditer les diagrammes avec ECM Titanium

«Connais toi toi-même comme l as dit Socrate!»

Organisation des Ordinateurs

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

nom : Collège Ste Clotilde

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Chapitre 18 : Transmettre et stocker de l information

Ecran programmable. Testez la différence grâce. à sa puissance, sa rapidité. et ses possibilités réseaux

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

Module M1 Elément 2 : Informatique 1 (I1)

Gestionnaire de connexions Guide de l utilisateur

Logiciel de télégestion ACS série 700

Symantec Backup Exec.cloud

Ladibug TM 2.0 Logiciel de présentation visuel d'image Manuel de l utilisateur - Français

Transcription:

Architecture des ordinateurs Robin FERCOQ fercoq@ece.fr 1

Objectifs Introduction aux systèmes informatiques Introduction aux fondamentaux de l'informatique Codage binaire de l'information, quantité d'info. Principes d'organisation et de fonctionnement Présentation succinte d'un langage assembleur Evolutions actuelles Opérateurs logiques, manips binaires en C 2

Architecture informatique Introduction aux systèmes informatiques 3

Un domaine complexe Caractéristique des systèmes Nombreux niveaux d'échelles du microscopique au macroscopique Croisement d'aspects structurels et fonctionnels Exemple de système : organismes végétaux 4

Un domaine complexe Croisement de différentes compétences Electronique Programmation des systèmes ou d'applications Réseaux, automatique, capteurs, mathématiques... Evolution rapide des technologies Les innovations successives s'accumulent Progression exponentielle des capacités Utilisation de méthodes de conceptualisation 5

Architecture informatique Modèles en couches et abstraction 6

Niveaux : logiciel et matériel! Un 1er modèle en couche simplifié Utilisateur Services Logiciels et données Services Navigateur Bloc note rapport_de_stage.doc Processeur Mémoire Vive Disque dur Matériel 7

Couches d'abstraction! Ajout de niveaux intermédiaires pour Offrir des fonctionnalités étendues Isoler le plus haut niveau des complexités ou particularités des couches de plus bas niveau Utilisateur Fenêtres, menus Aide contextuelle Assistants Interfaces Logiciels Système d'exploitation Gestion des périphériques Gestion mémoire Arbitrage des ressources Matériel 8

Couches d'abstraction Ces niveaux intermédiaires ou "couches d'abstraction" concernent : librairies, interfaces, protocoles... La standardisation de ces couches permet de découpler le haut niveau du bas niveau Exemple : la librairie Allegro permet des programmes graphiques qui fonctionnent sur différents systèmes d'exploitation... 9

Couches d'abstraction Allegro du point de vue du programmeur pour logiciels graphiques portables (cross platform) Ma super application graphique Allegro Gnome Linux Allegro Allegro Windows Microsoft Mac OS X Apple 10

Couches d'abstraction Effet «boite noire» Au niveau utilisateur on ne voit que la fonction On parle alors de système transparent Le fonctionnement est plus complexe Demande plus de ressources Parfois moins lisible (opacité) On ne peut faire abstraction du ''bas niveau'' : Pour concevoir ces couches de services Pour les utiliser de manière optimale Pour pouvoir se passer de certaines couches 11

Architecture informatique Conception modulaire, hiérarchie des modules 12

Conception modulaire Les niveaux hiérarchiques modulaires constituent un autre outil conceptuel Essentiels pour concevoir des systèmes constitués de plusieurs milliers, millions ou milliards d'éléments... Diviser (hiérarchiquement) pour régner! 13

El nu ec m tro ér ni i q qu ue e Ar ch ite ct ur e R és e au x Conception modulaire matérielle! Internet Réseau local Ordinateur Cartes Réseaux Circuits Intégrés Portes logiques Transistors Semiconducteurs Electronique Une hiérarchie de modules fonctionnels matériels 14

Exemple de circuit intégré Processeur AMD K10 : 463 millions de transistors 15

Exemple de circuit intégré Processeur Intel Core i7 3770K : 1.4 milliard de transistors 16

Exemple de circuit intégré Processeur Intel Core i7 3770K : 1.4 milliard de transistors 17

Exemple de carte Carte mère p5wd2 Asus Carte = Circuit imprimé + connecteurs + composants 18

Exemple d'ordinateur PC (Personal Computer) Modèle assemblé «à la maison» 19

Conception modulaire logicielle Parc logiciel Suites logicielles Logiciels Modules logiciels Fonctions ou procédures Lignes langage haut niveau Instructions machine Une hiérarchie de modules fonctionnels logiciels 20

Conception modulaire données Bases de données Systèmes de fichiers Tableaux et structures Fichiers Dupond Max... Dupont Sylvie... Dupontel Abel...... Dupond Max 11 rue Bill 75005 Scalaires 75005 Octet 01101100 Bit 1 Une hiérarchie d'organisation des informations en mémoire 21

Maîtrise de la complexité Développement structuré Utilisation systématique des hiérarchies modulaires Couches d'abstraction, notions de protocoles L'architecture articule les relations entre hiérarchie modulaire matérielle hiérarchie modulaire logicielle hiérarchie modulaire des données Les 3 hiérarchies ne se superposent pas strictement Possibilité d'accès au bit depuis une procédure Instructions machines portant sur plusieurs octets 22

Architecture informatique Systèmes informatiques, Systèmes programmables 23

Système informatique! Ensemble de dispositifs matériels et logiciels réalisant les fonctions suivantes : Stockage et restitution de l'information Transmission (copie) de l'information Traitement de l'information (Ré)organisation : regroupement, classification... Calcul : comptage, calcul booléen, modélisation... Contrôle des opérations à effectuer en fonction d'informations internes (résultats) ou externes (entrées) 24

Système programmable! Système programmable : système automatique ''déroulant'' un processus de traitement de l'information qui lui est décrit à l'avance. Système automatique : l'ordinateur Dérouler : exécuter un programme Le processus de traitement : le programme L'information : les données La description du processus : programmer Programmable = on peut changer le programme 25

Système programmable Avec une calculatrice non programmable 271.00 J'ajoute la taxe Je somme dans la colonne de gauche Je retranche à droite......... Comptable + - x / Calculatrice Méthode Comptable 26

Système programmable Avec un système programmable... PHASE 1 : programmation Ma méthode de compta... blah blah blah... Comptable mlt <- TVA/100 pls <- prixht*mult prixttc <- priht+pls...... Programmeur Programme Comptable 27

Système programmable Avec un système programmable... PHASE 2 : exécution mlt <- TVA/100 pls <- prixht*mult prixttc <- priht+pls...... Programme Comptable TVA=19.6 PrixHT=271 mlt=0.196 pls=53.116... Données Comptables 53.116 + - x / Calculatrice Automate : Lire instruction suivante et l'exécuter Lire instruction suivante et l'exécuter Lire instruction suivante et l'exécuter... 28

Babbage : Machine analytique 29

Architecture de von Neumann! Modèle de machine à programme enregistré Données Programme Unité Arithmétique et Logique : UAL Opération lecture instruction Mémoire principale Sélection opération Instruction Unité de commande (ou de contrôle) possible prise en compte résultat dans déroulement séquence programme écriture résultat L'architecture de von Neumann (~1945) lecture opérandes 30

Système programmable! Le programme transcription d'un algorithme en instructions de traitements de données composé de séquences d'instructions élémentaires Les traitements concernant les données : (Ré)organisation des données (ordinateur) Calculs arithmétiques (computer) Calculs booléens Décisions : choix de telle ou telle séquence du programme en fonction d'un résultat 31

Architecture informatique Aperçu de l'ordinateur 32

! L'ordinateur : matériel Unité Centrale alimentation internet écran souris clavier 33

L'unité centrale : matériel processeur! mémoire vive (RAM) alimentation internet souris clavier Carte mère (Bus, ports) écran carte graphique Disque dur 34

L'ordinateur : matériel Stockage de l'information Mémoire vive : données temporaires ''actives'' et programmes en cours d'exécution Disque dur et/ou mémoire flash : données enregistrées et programmes installés Transmission de l'information! La carte mère (pistes), les nappes de fils, les ports Traitement de l'information Le processeur Coprocesseurs ( carte graphique ) 35

Architecture informatique Information et Codage des informations 36

Information et codage L'information ne peut se préserver ou se transmettre sans support physique Le lien entre l'inscription physique de l'information et son sens est la sémantique - Signifiant - Signal - Trace! Interpretation Codage - Signifié - Sens - Information ''utile'' Les systèmes automatiques sont insensibles au sens : utilisation ''aveugle'' des symboles En informatique information=signal=trace 37

Information et codage Un signal analogique (continu) n'est pas adapté pour transmettre ou conserver l'information : rien ne garantit qu'on mesure exactement la valeur de départ. 147 V U = 1,44 V Valeur à transmettre E = 1,47 V Pertes + Perturbations électromagnétiques + Bruit thermique Valeur reçue 144 Lignes de transmission 38

Information et codage Un signal ''numérique'' doit se limiter à porter une information parmi un répertoire fini de possibilités : il se base sur un alphabet Un signal numérique permet de définir des intervalles de tolérances garantissant une fiabilité absolue tant que les perturbations restent en dessous d'un certain seuil L'alphabet le plus simple et le plus robuste est binaire {0,1} : quasi universellement adopté pour le stockage et le traitement de l'information des systèmes informatiques 39

Information et codage Deux niveaux : Niveau physique une tension électrique proche de 0V ou 5V Niveau logique, la valeur binaire associée notée 0 ou 1 1 V U = 4,25 V Valeur à transmettre (niveau logique) E = 4,79 V perturbations Valeur reçue (niveau logique) 1 Lignes de transmission 40

Information et codage! Une information binaire est appelée un bit contraction de ''binary digit'' L'intérêt d'une information {0,1} ou {Non, Oui} est limitée, comment enrichir le vocabulaire? On regroupe les informations binaires en mots pour coder des sémantiques plus riches Le regroupement le plus courant en informatique est l'octet (anglais : byte) Un octet est un ensemble ordonné de 8 bits ( = 8 informations binaires ) 41

Information et codage! Un octet peut désigner 28 = 256 états distincts 00000000 00000001 00000010 00000011 00000100 00000101 état état état état état état 0 1 2 3 4 5 état état état état 252 253 254 255... 11111100 11111101 11111110 11111111 42

Information et codage! C'est au concepteur du système de décider du codage binaire utilisé (sémantique) On peut coder un nombre entier naturel (non signé) entre 0 et 255 On peut coder un nombre entier relatif (signé) entre -128 et 127 On peut coder 1 caractère imprimable parmi 256 symboles textuels incluant l'alphabet latin (avec minuscules et majuscules), espace, chiffres, ponctuations... On peut envisager d'autres sémantiques dédiées 43

Information et codage! Codage usuel des nombres, la notation positionnelle en base 10 : décomposition en puissances de 10 (147)10 = 1.102 + 4.101 + 7.100 La notation positionnelle en base 2 : décomposition en puissances de 2 (147)10 = 1.27 + 0.26 + 0.25 + 1.24 + 0.23 + 0.22 + 1.21 + 1.20 = (10010011)2 44

! Information et codage Transmission numérique de la valeur (147)10 = (10010011)2 4,93 V -0,04 V 0,37 V 4,61 V 0,54 V 0,12 V 5,24 V 4,41 V Lignes de transmission 0V Ref 0 V 1 0 0 1 0 0 1 1 reçus niveaux logiques 4,61 V -0,33 V 0,15 V 4,97 V 0,23 V 0,02 V 5,12 V 4,76 V reçus : niveaux physiques 1 0 0 1 0 0 1 1 émis : niveaux physiques à transmettre : niveaux logiques perturbations 45

Information et codage La notation hexadécimale (base 16) est souvent employée en électronique numérique et programmation informatique ''bas niveau'' Plus compacte que le binaire Conversion binaire <-> hexa directe = = = = (10010011)2 1.27 + 0.26 + 0.25 + 1.24 + 0.23 + 0.22 + 1.21 + 1.20 (1001)2.161 + (0011)2.160 (9)16.161 + (3)16.160 (93)16 46

Information et codage! La conversion hexa <-> binaire se fait en regroupant les bits par blocs de 4 et en utilisant une table de correspondance Binaire 0000 0001 0010 0011 0100 0101 0110 0111 Exemples Hexa 0 1 2 3 4 5 6 7 Binaire 1000 1001 1010 1011 1100 1101 1110 1111 (10010011)2 = (93)16 = 0x93 (11010101)2 = (D5)16 = 0xD5 Hexa 8 9 A B C D E F 47

Information et codage Il faut pouvoir travailler avec des nombres plus grands que 255! Utilisation de la base 2 sur un plus grand nombre de bits, toujours par multiples de 8 (octets) Sur 16 bits (2 octets) -> de 0 à 65535 Sur 32 bits (4 octets) -> de 0 à plus de 4.10 9 Sur 64 bits (8 octets) -> de 0 à plus de 10 19 Un codage particulier (complément à 2) permet de traiter le cas des entiers relatifs : nombres entiers dits ''signés'' 48

Information et codage Pour le codage des caractères on utilise une table d'association valeur <-> symbole Le plus courant est le standard ascii : 0x20:esp 0x21:! 0x22:" 0x23:# 0x24:$ 0x25:% 0x26:& 0x27:' 0x28:( 0x29:) 0x2a:* 0x2b:+ 0x2c:, 0x2d:0x2e:. 0x2f:/ 0x30:0 0x31:1 0x32:2 0x33:3 0x34:4 0x35:5 0x36:6 0x37:7 0x38:8 0x39:9 0x3a:: 0x3b:; 0x3c:< 0x3d:= 0x3e:> 0x3f:? 0x40:@ 0x41:A 0x42:B 0x43:C 0x44:D 0x45:E 0x46:F 0x47:G 0x48:H 0x49:I 0x4a:J 0x4b:K 0x4c:L 0x4d:M 0x4e:N 0x4f:O 0x50:P 0x51:Q 0x52:R 0x53:S 0x54:T 0x55:U 0x56:V 0x57:W 0x58:X 0x59:Y 0x5a:Z 0x5b:[ 0x5c:\ 0x5d:] 0x5e:^ 0x5f:_ 0x60:` 0x61:a 0x62:b 0x63:c 0x64:d 0x65:e 0x66:f 0x67:g 0x68:h 0x69:i 0x6a:j 0x6b:k 0x6c:l 0x6d:m 0x6e:n 0x6f:o 0x70:p 0x71:q 0x72:r 0x73:s 0x74:t 0x75:u 0x76:v 0x77:w 0x78:x 0x79:y 0x7a:z 0x7b:{ 0x7c: 0x7d:} 0x7e:~ 0x7f: 49

Information et codage Un message textuel est représenté par la séquence d'octets codant chaque caractère Exemple le message «Bonjour» se code (en ascii) sur 7 octets B o n j o u r 0x42, 0x6F, 0x6E, 0x6A, 0x6F, 0x75, 0x72 D'autres codes sont utilisés, en particulier Unicode qui étend le code ascii pour les alphabets internationaux (utilisation de 16 bits par caractère) 50

Mesure de l'information On peut définir une mesure de l'information d'une variable à nombre fini N d'états distincts (ou inversement N = 2Qinfo ) Qinfo = log2 N Unité Qinfo : bits (nombre de bits) Unité N : nombre d'états distincts! Q est le nombre d'informations binaires qu'il faut donner pour indiquer l'état de la variable 51

Mesure de l'information! Attention de ne pas confondre la quantité d'informations (nombre de bits) avec le nombre d'informations : Dans l'exemple précédent on a UNE information (une seule variable) pouvant prendre N états possibles et nécessitant Q bits (pour être stockée ou transmise) 52

Mesure de l'information Exemples d'utilisation de Qinfo = log2 N : Une variable météo il pleut ou pas N=2 états possibles Q=1 bit Une variable météo direction du vent N=8 états possibles Q=3 bits Une variable météo température entre -20 et 43 N=64 états possibles Q=6 bits 53

Mesure de l'information En considérant simultanément plusieurs variables indépendantes, le nombre de combinaisons est multiplicatif mais la quantité d'information est additive Nombre de situations météo possibles N = 2 x 8 x 64 = 1024 situations possibles 1024 = 210 quantité d'information totale = 10 bits = 1 + 3 + 6 La quantité d'information dans une combinaison de possibilités est bien la somme des quantités d'information prises séparément 54

Mesure de l'information Pour des raisons pratiques d'accès aux données on considère souvent que le bloc de taille minimal d'une variable est l'octet, même si cela conduit à une sous-utilisation de l'information binaire... Pluie: 1 octet; Vent: 1 octet; Température: 1 octet Information mobilisée = 3 octets = 24 bits Sauf si la quantité de données en jeu est importante : exemple une base de données de 3 millions de relevés météo 55

Architecture informatique Compression de l'information 56

Compression de l'information Il est fréquent que la distribution des valeurs que peut prendre une variable soit biaisée (non équiprobabilité des valeurs) Il est fréquent que les informations qui se suivent présentent une certaine régularité (non indépendance des valeurs de variables) Exemple un fichier de texte (enchaînement d'octets codant des caractères) en français. La lettre 'e' est beaucoup plus courante que le 'k'. L'enchaînement «tion» plus fréquent que «spum» 57

Compression de l'information Dans ces situations on dit que l'information présente une certaine redondance : il est possible de reconstituer le message à partir d'un message plus court. Par exemple une phrase en code sms reste largement compréhensible : 6non, 6 tu ve allé o 6né 2m1, je sui ok. Pa 2 prob. Ta ka pa c à 13h (68 octets) Sinon, si tu veux aller au cinéma demain, je suis ok. Pas de problème. Tu n'as qu'à passer à 13h. (97 octets) 58

Compression de l'information Les logiciels de compression de données optimisent le nombre de bits nécessaires au codage des séquences répétitives et donnent une représentation plus compacte du même message Les données de variables codées sur des formats ''trop grands'' se compressent bien Les données compressées nécessitent un temps de traitement plus long lors de l'exploitation (décompression préalable) 59

Compression de l'information Les formats multimédias usuels utilisent la compression : Images au format jpg Audios au format mp3 Vidéos aux formats mpg ou avi Ce sont des modes de compressions très performants car spécialisés à un type de données en particulier Ce sont des compressions avec perte : le message restitué est dégradé 60

Architecture informatique Fiabilité de l'information : détection et correction d'erreurs 61

Codes correcteurs Lorsque la fiabilité numérique à 100% du stockage ou du transfert ne peut être assurée, il y a utilisation de procédés détecteurs et correcteurs d'erreurs. L'information à stocker ou transmettre est recodée avec une certaine redondance : les informations supplémentaires permettent de restituer le message original même en cas d'erreurs (dans une certaine marge qui dépend du code) 62

Codes correcteurs Exemples basiques : Code détecteur d'erreur : on émet 2 fois le même message. Si les 2 versions reçues ne sont pas similaires on conclut à une erreur. ( -> demande de retransmission ) Code détecteur et correcteur d'erreur : on émet 3 fois le même message. Si une seule erreur affecte la transmission, une interprétation majoritaire permet de retrouver la bonne version. Les codes et algorithmes actuels sont beaucoup plus sophistiqués et performants, tant en terme de fiabilité finale que de modération dans la redondance nécessaire... 63

Codes correcteurs Ces techniques sont obligatoires en transmission/réseau (accidents de parcours). -> Sur un câble USB, sur une ligne ADSL... -> Sur des communications hertziennes : téléphonie mobile, wifi, 3G, satellites... Les codes correcteurs sont aussi obligatoires sur les supports de stockage exposés (poussières, rayures, charges électrostatiques) -> CD, DVD, CDROM, DVDROM, BluRay... -> Cartes mémoires (''clés USB'' : mém. Flash)64

Codes correcteurs Dans un environnement maîtrisé, l'électronique numérique garantie l'intégrité du signal : à l'intérieur d'un ordinateur on peut se passer de codes correcteurs. Ce n'est pas le cas dans l'espace ou en haute altitude ou env. nucléaire (rayons ionisants) Ce n'est pas suffisant pour des systèmes critiques : médicaux, industriels, automates bancaires, commandes de vol électriques... Pour les paranoïaques il y a des solutions PC : disques durs multiples (RAID), mémoires ECC 65

Information ''élastique''...... projet.doc 80 ko Restitution message Codage correcteur Rapport de Projet Décompression On retrouve souvent un schéma combinant compression et codes correcteurs lors d'une transmission de données par un réseau Compression illisible illisible projet.zip 30 ko en transit 40 ko illisible projet.zip 30 ko Rapport de Projet...... projet.doc 80 ko 66

Architecture informatique Niveau physique et électrique : technologie des semi-conducteurs et transistors 67

Circuit Intégré Numérique! Un circuit intégré est un composant électronique muni de nombreux connecteurs Il se présente sous la forme d'un boitier prêt à souder ou à connecter sur circuit imprimé 68

Circuit Intégré Numérique! Le circuit intégré proprement dit (partie active) est une puce de silicium : le die 69

Circuit Intégré Numérique! Le die porte à sa surface un ensemble de zones semi-conductrices et de circuits conducteurs L'ensemble réalise les fonctions de traitement, stockage et transfert de l'information numérique 70

Circuit Intégré Numérique! On fabrique simultanément plusieurs die sur une seule galette (wafer) de silicium 71

Circuit Intégré Numérique La photolithographie permet de couvrir sélectivement certaines zones avec de la résine en laissant d'autres zones découvertes. Exemple : photogravure d'une couche d'oxydes 72

Circuit Intégré Numérique! A partir d'un masque sur support transparent on transfère l'image du masque vers les zones découvertes à la surface du wafer Une seule séquence d'opération permet donc de déterminer des milliards de motifs complexes Les zones découvertes peuvent alors subir différentes méthodes de dépot, de retrait, ou de dopage des matériaux de la surface exposée La résine qui a servi à protéger les zones qui devaient rester intactes est ensuite enlevée par attaque chimique 73

Circuit Intégré Numérique En enchaînant plusieurs séquences de photolithographie, on met en place différentes couches à la surface du wafer Vue en coupe des différentes couches échelle ~ 1 µm pistes conductrices 1 transistor 74

Circuit Intégré Numérique! A la base de ces couches sont gravés les éléments actifs de l'électronique numérique : les transistors (à effet de champ, type MOS) Ces transistors sont utilisés comme des commutateurs commandés à partir d'une tension qui détermine si le transistor est passant ou bloqué (conducteur ou isolant) Ces explications sont simplificatrices : à préciser en électronique/semiconducteurs 75

Circuit Intégré Numérique Transistor nmos 0V + 5V commande commande X Y X équivaut à X équivaut à Y Bloqué Y X Y Passant 76

Circuit Intégré Numérique Transistor pmos 0V + 5V commande commande X Y X équivaut à X équivaut à Y Passant Y X Y Bloqué 77

Architecture informatique Niveau logique : portes logiques fonctions logiques 78

Portes logiques On peut concevoir des portes logiques qui réalisent les opérateurs logiques à partir de ces dispositifs de commutation sur des niveaux électriques binaires (0V +5V) Exemple : porte NonEt (NAND) 79

Logique combinatoire! Toute fonction logique est réalisable à partir de portes logiques en logique combinatoire La sortie ne dépend que des entrées à un moment donné (+ temps de propagation) 80

Logique combinatoire! Conception de blocs fonctionnels regroupant les signaux logiques par mots de plusieurs bits Exemple : comparateur de deux mots de 4 bits A (4 bits) B (4 bits) a3 a2 a1 a0 b3 b2 b1 b0? 81

Logique combinatoire Exemple d'opération logique sur des mots : L'opérateur ET logique ''bit à bit'' Correspond à l'opérateur & en C : R = A & B; a3 b3 r3 a2 b2 r2 a1 b1 r1 a0 b0 r0 A (4 bits) ET R (4 bits) B (4 bits) Représentation condensée 82

Logique combinatoire En utilisant le codage binaire des nombre on réalise des fonctions de calcul arithmétique Exemple : additionneur 4 bits B (4 bits) + Σ (4 bits) A (4 bits) Représentation condensée 83

Logique combinatoire L'utilisation de circuits multiplexeurs permet de choisir un mot parmi plusieurs selon un signal de sélection S a0 00 b0 01 c0 10 d0 11 s1 s0... x4 z0 A (4 bits) B (4 bits) mux Z (4 bits) C (4 bits) D (4 bits) S (2 bits) 84

Logique combinatoire Une unité arithmétique et logique ( UAL ) peut être obtenue en mettant en parallèle des opérateurs en amont d'un multiplexeur + A - mux R B ET OU S (2 bits) 85

Logique combinatoire! Une unité arithmétique et logique ( UAL ) est donc un circuit de logique combinatoire dont la sortie R est le résultat de l'opération sélectionnée par S sur les opérandes A et B Représentation Schématique d'une Unité Arithmétique et Logique A A UAL R cc B S 86

Logique combinatoire Une sortie supplémentaire est constituée d'un ensemble de codes conditions : cc Les principales situations à l'issue d'un calcul sont résumées sur 4 bits : N ou S Negative : Le résultat est négatif (en signé) Z Zero : Le résultat est nul C Carry : Retenue sortante de l'opération V ou O overflow : Débordement (en signé) 87

Logique séquentielle! Un circuit séquentiel peut produire des séquences de niveaux logiques Les sorties dépendent d'états internes En informatique on considère des systèmes synchronisés par un signal commun horloge On parle de ''logique séquentielle synchrone'' Le formalisme de description est celui des automates à états finis On réalise les circuits séquentiels en ''rebouclant'' des sorties en amont du circuit 88

Logique séquentielle! Réalisation de fonctions mémoire Bascule RS Bascule D 8 Registre 8 bits à bascules D 89

Logique séquentielle Exemple d'utilisation d'un registre et d'un circuit combinatoire pour fabriquer une fonction séquentielle : compteur synchrone signal horloge Cpt + N Registre (8 bascules D) Cpt + N Cptt+Δt = Cptt + N 90