A propos du cours. Architecture des ordinateurs. Evaluation : Projet. Evaluation. 20 heures de Cours, 20 heures de TD, 20 heures de TP

Documents pareils
Conversion d un entier. Méthode par soustraction

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

Représentation des Nombres

Logiciel de Base. I. Représentation des nombres

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Les opérations binaires

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Architecture de l ordinateur

Informatique Générale

Conception de circuits numériques et architecture des ordinateurs

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

Système binaire. Algèbre booléenne

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

Une version javascript sera disponible directement dans le cours prochainement.

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

IFT2880 Organisation des ordinateurs et systèmes

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Microprocesseur + Logiciel

Organisation des Ordinateurs

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

ASR1 TD7 : Un microprocesseur RISC 16 bits

Le codage informatique

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

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

Jeux de caracte res et encodage (par Michel Michaud 2014)

Architecture des ordinateurs Introduction à l informatique

Architecture matérielle des systèmes informatiques

Chapitre 1 I:\ Soyez courageux!

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

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

Concevoir son microprocesseur

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

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

Chapitre 10 Arithmétique réelle

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

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

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

Cours 1 : Qu est-ce que la programmation?

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

Algorithme. Table des matières

1 Introduction au codage


Cours Informatique 1. Monsieur SADOUNI Salheddine

Machines virtuelles Cours 1 : Introduction

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

S LICENCE INFORMATIQUE Non Alt Alt SS1 S2 S3 S4 S5 S6 Parcours : IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques)

TP 1 : 1 Calculs en binaire, octal et hexadécimal

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

Architecture des ordinateurs

Représentation d un entier en base b

Algèbre binaire et Circuits logiques ( )

Architecture des Ordinateurs Première partie. Licence d Informatique - IUP Miage - FIIFO

I.1- DÉFINITIONS ET NOTIONS DE BASE

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

TO4T Technologie des ordinateurs. Séance 1 Introduction aux technologies des ordinateurs

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Architecture des ordinateurs. Robin FERCOQ

SCIENCES POUR L INGENIEUR

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

STRATEGIES MARKETING. Licence Introduction au marketing

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

IV- Comment fonctionne un ordinateur?

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Présentation du cours

CODAGE DES SMS. 2 Commandes «AT» 25 3 Matériels utilisés 55 4 Interfacer un téléphone GSM 73 5 Réalisations électroniques 101

Représentation d un nombre en machine, erreurs d arrondis

Université de La Rochelle. Réseaux TD n 6

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Cours 3 : L'ordinateur

ALGORITHMIQUE ET PROGRAMMATION En C

S LICENCE INFORMATIQUE Non Alt S Alt S S1 S2 S3 S4 SS5 S6 Parcours : S IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques)

Administration Avancée de Réseaux d Entreprises (A2RE)

Informatique Industrielle Année Architecture des ordinateurs Note de cours T.Dumartin

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Initiation au HPC - Généralités

Introduction à l algorithmique et à la programmation (Info 2)

Plan du cours. Historique du langage Nouveautés de Java 7

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

TD Architecture des ordinateurs. Jean-Luc Dekeyser

QUESTION 1 {2 points}

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

IFT1215 Introduction aux systèmes informatiques

UNIVERSITE DE TOULON UFR FACULTE DE DROIT REGLEMENT D EXAMEN ANNEE 2012/2017 LICENCE DROIT MENTION DROIT GENERAL

Tout savoir sur le matériel informatique

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Normes et description. des ressources continues et données d autorité Analyse de l information Recherche documentaire : méthodes et outils

UE C avancé cours 1: introduction et révisions

V- Manipulations de nombres en binaire

Rappels Entrées -Sorties

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

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

Rappels d architecture

Extrait des Exploitations Pédagogiques

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Mathématiques appliquées à l informatique

Transcription:

A propos du cours Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot jtalbot@cmi.univ-mrs.fr 20 heures de Cours, 20 heures de TD, 20 heures de TP TD et TP commencent la semaine prochaine (6 octobre) Site du Cours http ://www.cmi.univ-mrs.fr/ jtalbot/teaching/archi En TP : TkGate, un logiciel de conception de circuit Assembleur MIPS (SPIM,...) L3 Informatique - Université de Provence () Architecture des ordinateurs 1 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 2 / 41 Evaluation Evaluation : Projet 1 partiel = CC 1 projet en TP = TP 1 examen final en janvier = E Note UE (première session) : max(3e, 2E + CC) + TP 4 Seconde session : On remplace E par E, la note d examen de seconde session Le projet se réalise au plus en binôme Il faut rendre un rapport en plus des sources La présence à la soutenance est indispensable Les 2 dernières séances de TP sont consacrées au projet Les projets ne sont pas optionnels Absence à la soutenance = DEF à l UE = pas de L3 L3 Informatique - Université de Provence () Architecture des ordinateurs 3 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 4 / 41

Plan du cours Bibliographie 1 Systèmes de numération - Codage de l information 2 Algèbre de Boole - Fonctions booléennes - Circuits combinatoires 3 Circuits séquentiels 4 Mémoires 5 Machines de Moore - Machines de Mealy - Machines synchrones - Microprogrammation 6 Programmation d un processeur - Assembleur 7 Fonctionnement d un processeur MIPS 8 Exemples d autres processeurs - Bus 9 Optimisation : Pipeline - Mémoire cache A. Tanenbaum. Architecture de l ordinateur (4ième édition) InterEdition. J.-J. Schwarz Architecture des ordinateurs Eyrolles W. Stallings Organisation et architecture de l ordinateur, Pearson Education D. Patterson J. Hennessy Organisation et conception des ordinateurs Dunod... L3 Informatique - Université de Provence () Architecture des ordinateurs 5 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 6 / 41 Objectifs du cours (I) Objectifs du cours (II) Fonctionnement d un ordinateur Part de l informatique embarquée/enfouie en forte augmentation!! téléphone portable Box Adsl carte à puce... Traduction et sémantique (compilation) + Architecture des ordinateurs + Systèmes d exploitation = du programme à son exécution... programmation avec des contraintes d espace, de ressources, temps-réel liées au matériel L3 Informatique - Université de Provence () Architecture des ordinateurs 7 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 8 / 41

Objectifs du cours (III) On va s intéresser à ce qu on trouve sur la carte mère et principalement Systèmes de numération au processeur à la mémoire L3 Informatique - Université de Provence () Architecture des ordinateurs 9 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 10 / 41 La base 10 (I) La base 10 (II) 10 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 145 = 1 10 2 + 4 10 1 + 5 10 0 1 = 1 14 = 1*10+4 145 = (1*10+4) * 10+5 Pour bien préciser qu il s agit d un nombre en base 10 Partie fractionnaire 0, 329 = 3 10 1 + 2 10 2 + 9 10 3 0,9 = 9 10 1 0,29 = ((9 10 1 )+ 2)*10 1 0,329 = (((9 10 1 )+ 2) 10 1 +9) 10 1 (145) 10 L3 Informatique - Université de Provence () Architecture des ordinateurs 11 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 12 / 41

Autres bases Nombres représentés Nombre représenté en base B : Quelques bases B utiles : B = 2 binaire chiffres : 0,1 B = 8 octal chiffres : 0,1,2,3,4,5,6,7 B = 16 hexadécimal chiffres : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F par position : d n d n 1... d 2 d 1 d }{{ 0, d } 1 d 2... d }{{ m } partie entière partie fractionnaire n i= m par multiplications successives : d i B i (( ((d n B + d n 1 ) B +... + d 2 ) B + d 1 ) B + d 0 ) + (( ((d m 1 B + d m+1) 1 B +... + d 2) 1 B + d 1) 1 B L3 Informatique - Université de Provence () Architecture des ordinateurs 13 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 14 / 41 Exemple Nombre représenté en base 4 : D une base à une autre de la base B vers la base 10 : le calcul du nombre représenté donne un algorithme par position : (301, 23) 4 de la base 10 vers la base B : divisions et multiplications successives 3 4 2 + 0 4 1 + 1 4 0 + 2 4 1 + 3 4 2 = (49, 6875) 10 par multiplications/divisions successives : ((3 4 + 0) 4 + 1) }{{} 49 + ((3 1/4) + 2) 1/4 }{{} 0.75 } {{ } 0,6875 Partie entière 35 / 2 = 17 reste 1 17 / 2 = 8 reste 1 8 / 2 = 4 reste 0 4 / 2 = 2 reste 0 2 / 2 = 1 reste 0 1 / 2 = 0 reste 1 (35, 25) 10 (100011, 01) 2 Partie fractionnaire 0, 25 2 = 0, 5 0, 5 2 = 1, 0 L3 Informatique - Université de Provence () Architecture des ordinateurs 15 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 16 / 41

D une base à une autre : pourquoi ca marche? Base 2/ base 16 (d n d n 1... d 2 d 1 d 0 ) B vaut On a égal à (( ((d n B + d n 1 ) B +... + d 2 ) B + d 1 ) B + d 0 ) (( ((d n B + d n 1 ) B +... + d 2 ) B + d 1 ) B + d 0 ) B De la base 2 vers la base 16 : on regroupe les chiffres par 4 en partant de la virgule chaque groupe de 4 bits représente un chiffre hexadécimal (1011 }{{} 1000 }{{} 0011 }{{} B 8 3 ) 2 ( ((d n B + d n 1 ) B +... + d 2 ) B + d 1 ) reste d 0 car 0 d 0 < B. On continue récursivement... De la base 16 vers la base 2 : on convertit chaque chiffre hexadécimal en un nombre binaire de 4 chiffres équivalent. de même pour la partie fractionnaire (avec des multiplications)... L3 Informatique - Université de Provence () Architecture des ordinateurs 17 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 18 / 41 Qu est ce qu un ordinateur? Modèle de von Neumann : Codage de l information modèle proposé par John von Neumann (1903-1957) en 1944 qui définit un ordinateur en 3 parties : le processeur composé d une ALU, unité arithmétique et logique (opérations sur les données) d une unité de contrôle (traitement des instructions à exécuter) la mémoire (stockant à la fois les données et les instruction à exécuter) le bus assurant la liaison entre la mémoire et le processeur L3 Informatique - Université de Provence () Architecture des ordinateurs 19 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 20 / 41

Modèle de von Neumann Instructions/données Différence entre instruction et donnée en mémoire? Il n y en a pas ; c est juste de l information. Le bit (binary digit) est la plus petite quantité d information ; il prend 2 valeurs, 0 ou 1. Dans un ordinateur, tout n est que 0 et 1 1 (du courant) 0 (pas de courant) Souvent l information est stockée sur des (suites de) mots binaires d une taille fixée (par le processeur, la mémoire,...) : ex. 8 bits, 16, bits,... L3 Informatique - Université de Provence () Architecture des ordinateurs 21 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 22 / 41 Codage de l information Codage de l information Le codage de l information est la représentation d informations diverses (nombres entiers, nombres flottants, caractères, chaînes de caractères, images,...) sous forme binaire, c est-à-dire sous la forme d une suite de bits. Les points importants sont : Le passage de l information à son codage Le passage du codage à l information En général, F D = F 1 C Mais pas toujours... L3 Informatique - Université de Provence () Architecture des ordinateurs 23 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 24 / 41

Caractères ASCII L ASCII (American Standard Code for Information Interchange), créé en 1961, associe un nombre à chaque caractère. Les caractères sont codés sur 7 bits. Il y a donc 128 caractères différents (de 00 à 7F en hexadécimal). Caractères ASCII étendu Le code ASCII est anglophone : beaucoup de caractères présents dans les alphabets français, nordique,... en sont absents. Il existe des extensions (sur 8 bits, de 80 à FF). Cependant, ces extensions ne sont pas standardisées. L3 Informatique - Université de Provence () Architecture des ordinateurs 25 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 26 / 41 Caractères ISO-8859-1 Caractères sur 16 bits : Unicode Unicode propose de coder les caractères sur 16 bits (65536 valeurs possibles - (FFFF) 16 ). Il permet de coder notamment les alphabets latins, cyrilliques, les caractères chinois, indiens, arabes. L3 Informatique - Université de Provence () Architecture des ordinateurs 27 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 28 / 41

Entiers binaires positifs (non signés) Entiers binaires positifs et négatifs (signés) On utilise simplement la représentation du nombre en base 2 Sur n bits, on code les naturels (entiers non signés) de 0 à 2 n 1. Entiers signés Addition 1 0 1 1 0 + 0 1 0 1 = 1 0 1 1 représentation valeur absolue et signe représentation par excès représentation à complément 1 représentation à complément 2 On s intéresse aux nombres codés sur n bits (n fixé) Attention au débordement (sur un nombre fixé de bits) : Rappel : avec n bits, on code 2 n valeurs différentes 0110 + 1011 = 10001 L3 Informatique - Université de Provence () Architecture des ordinateurs 29 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 30 / 41 Valeur absolue et signe on utilise le bit le plus à gauche pour représenter le signe : 0 = + 1 = Représentation par excès On code le nombre en décalant les valeurs d un biais biais (les valeurs seront donc en excès) sur 4 bits : 0100 4 1100 4 La suite b n 1... b 1 b 0 représente le nombre (b n 1... b 1 b 0 ) 2 biais. Exemple : sur 4 bits avec biais = 7 Inconvénients : 2 représentations pour 0 : (sur 4 bits) 0000 et 1000 la somme (binaire) est incorrect 0 1 0 0 + 1 0 1 1 = 1 1 1 1 4 + 3 = 7 1011 4 0011 4 0111 0 Inconvénients : addition binaire ne fonctionne pas selon le biais, l inversion peut être difficile l addition est un opération plus complexe L3 Informatique - Université de Provence () Architecture des ordinateurs 31 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 32 / 41

Complément à 1 (I) Complément à 1 (II) Addition Si i un nombre positif binaire, alors son bit le plus à gauche vaut 0. Pour calculer i, on inverse tous les bits de i (le bit le plus à gauche étant alors 1) On ajoute les deux nombres binaires et on ajoute la retenue éventuelle sur 4 bits : sur 8 bits : 0011 3 1100 3 0 0 0 1 + 1 1 1 0 0 1 1 1 1 = 1 1 1 1 1 + 1 = 0 1 0 1 0 0 + 1 1 0 0 1 0 0 0 0 1 = 0 0 0 1 4 + 3 = 1 00000011 3 11111100 3 Inconvénients 2 représentations pour 0 : (sur 4 bits) 0000 et 1111 L3 Informatique - Université de Provence () Architecture des ordinateurs 33 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 34 / 41 Complément à 2 (I) Complément à 2 (II) Si i un nombre positif binaire, alors son bit le plus à gauche vaut 0. Pour calculer i, on inverse tous les bits de i et on ajoute 1 (le bit le plus à gauche étant alors 1). sur 4 bits 0011 3 1101 3 permet de représenter sur n bits les entiers compris entre 2 n 1 et 2 n 1 1 représentation de 0 (sur 4 bits) : 0000 complément à 1 : 1111 on ajoute 1 : 10000 On oublie ce qui déborde... Addition : on ajoute les deux nombres et on omet la retenue finale éventuelle la valeur en entier codé en complément à 2 de la suite de bits b m b m 1... b 1 b 0 est b i 2 i ) b m 2 m m 1 ( i=0 1 1 1 1 0 0 0 1 + 1 1 1 1 1 0 0 0 0 1 + 1 = 0 1 1 0 1 0 0 + 1 1 0 1 1 0 0 0 1 4 + 3 = 1 L3 Informatique - Université de Provence () Architecture des ordinateurs 35 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 36 / 41

Dépassement de capacité Entiers binaires signés : résumé La somme de 2 nombres (de n bits) ne peut être codé sur n bits (la somme est parfois trop grande ou trop petite) en complément à 2 0 1 1 1 + 0 0 1 1 1 0 1 0 7 + 3 = 6 Le résultat est bien-sûr incorrect. En complément à 2, Un dépassement de capacité se produit lorsque les deux opérandes ont le même signe et le résultat a un signe différent des opérandes. L3 Informatique - Université de Provence () Architecture des ordinateurs 37 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 38 / 41 Nombres à virgules Nombres à virgule fixe On utilise les nombres fractionnaires comme vus précédemment. Attention ceci n a rien à voir avec des réels! Nombres à virgule fixe Nombres à virgule flottante La position de la virgule est déterminée de manière fixe dans la représentation du nombre. Ici, 2 chiffres après la virgule. b n 1... b 2, b 1 b 0 Inconvénients impossible de représenter à la fois des nombres très petits et des très grands. Imprécision dans les calculs pouvant être importante. L3 Informatique - Université de Provence () Architecture des ordinateurs 39 / 41 L3 Informatique - Université de Provence () Architecture des ordinateurs 40 / 41

Flottants IEEE 754 31 30 23 22 0 s e = exposant f = partie fractionnaire 22 r = ( 1) s.(1 + f i.2 i ).2 E 127 i=0 où E = (e 7... e 0 ) 2... la suite en TD L3 Informatique - Université de Provence () Architecture des ordinateurs 41 / 41