Architecture

Download Report

Transcript Architecture

Informatique, Ordinateur &
Programme ...
– Selon le ROBERT :
– Informatique
• Théorie et traitement de l ’information par des
programmes mis en œuvre sur ordinateurs.
– Ordinateur
• Machine électronique de traitement de
l ’information, exécutant des programmes.
– Programme
• Suite d’actions à accomplir pour arriver à un
résultat.
Maria Malek - EISTI - CPI1
1
Plan

Introduction à l’architecture (2 cours)
– Représentation de données
– Architecture d’un ordinateur

Introduction au système LINUX (1
cours)
– Commandes
– Traitement de textes

Algorithmique et langage
– Programmation procédurale
Maria Malek - EISTI - CPI1
– Pascal
2
Représentation de données





Codage binaire
Changement de base
Codage des nombres entiers
Représentation de caractères
Représentation de nombres réels
Maria Malek - EISTI - CPI1
3
Codage binaire

Informations de plusieurs types
– texte, nombre etc..
– Traitée comme suite de 0 et de 1.
– Unité d’information est le bit.

Codage de l’information
– Correspondance entre représentation
externe et interne.

Pourquoi ?
– Systèmes à deux états : transistors.
Maria Malek - EISTI - CPI1
4
Définition de bases


La base habituelle est la base 10.
En base b, on utilise b chiffres
– X=anan-1…a1a0
– b=10 ; ai {0,1,2,3,4,5,6,7,8,9}
– b=2 ; ai {0,1}
– b=16 ; ai
{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
Maria Malek - EISTI - CPI1
5
Les nombres entiers

En base 10
– 2002=2 103+0 102 +0 101 +2 100

En base b, soit la suite : anan-1…a1a0
n
an an 1...a1a0   ai bi
i 0
– Exemple : (101)2= 1 22 +0 21 + 1 20=5
Maria Malek - EISTI - CPI1
6
Les nombres fractionnaires
• 12.346 = 1 101 +2 100+ 310-1+ 4 10-2 + 6 10 -3
• an an-1... a1 a0 a-1 a-2 …a-p=anbn + an-1bn-1+ ..
+a0b0+a-1b-1+.. + a-pb-p
Maria Malek - EISTI - CPI1
7
Passage de la base 10 vers une
base b - nombres entiers

Méthode
– On divise le nombre par la base, puis le
quotient obtenu par la base et ainsi de
suite jusqu’à l’obtention d’un quotient nul.
– La suite des restes obtenus correspond à :
a0a1 … an-1an
Maria Malek - EISTI - CPI1
8
Exemple

De la base 10 à la base 2
– 44 = 22 * 2 +0 ; a0=0
– 22 = 11 * 2 +0 ; a1=0
– 11 = 5 * 2 + 1 ; a2=1
– 5 = 2 * 2 +1 ; a3=1
– 2 = 1 * 2 + 0 ; a4=0
– 1 = 0 * 2 + 1 ; a5=1

(44)10=(101100)2
Maria Malek - EISTI - CPI1
9
Passage de la base 10 vers une
base b - nombres fractionnaires

Méthode
– On multiplie la partie fractionnaire par la
base en répétant l’opération sur la partie
fractionnaire du produit jusqu’à ce qu’elle
soit nulle.
– La suite des parties entières obtenues
correspond aux chiffres dans la base b : a1a-2 ...
Maria Malek - EISTI - CPI1
10
Exemple
– (54,25)10
– Partie entière
• (54)10=(110110)2
– Partie fractionnaire
• 0.25 x 2 = 0.50 ; a-1=0
• 0.50 x 2 = 1.00 ; a-2=1
• 0.00 x 2 = 0.00 ; a-3=0
Maria Malek - EISTI - CPI1
11
Cas des bases 2, 8 et 16
– 8= 23 , 16= 24
– Base 8 est appelée notation octale.
– Base 16 est appelée notation
hexadécimale.
– Un chiffre octal représente 3 bits.
– Un chiffre hexadécimal représente 4 bits.
– Un octet= 8 bits
• (10011011)2=(010 011 011)2=(233)8
• (10011011)2=(1001 1011)2=(9B)16
Maria Malek - EISTI - CPI1
12
Opérations arithmétiques
– Les opérations s’effectuent en base
quelconques b en utilisant les mêmes
méthodes qu’en base 10.
– Une retenue est considérée quand on
atteint ou dépasse b.
Maria Malek - EISTI - CPI1
13
Codification des nombres entiers
– Problème : Limitation de la taille de codage
– Entiers naturels (positif ou nul)
• un nombre fixe d’octets (1,2,4).
• n bits : 0 .. 2n-1
• un octet= 8 bits : 0 .. 28-1
– Entiers relatifs
• Problème : codage du signe
Maria Malek - EISTI - CPI1
14
Les entiers relatifs - 1

Coder le signe
– Le bit le plus fort pour représenter le signe.
– Exemple
• Codage de -3 sur 4 bits.
• (-3)10=(1011)2
– Problèmes
• Le 0 !!
• La comparaison
– test de signe obligatoire avant addition.
Maria Malek - EISTI - CPI1
15
Les entiers relatifs - 2

Complément à 1
– Pour un nombre négatif x
• On code en binaire sa valeur absolue sur n-1
bits.
• On inverse tous les bits et on ajoute 1.
– Exemple Soit à coder 2 sur 8 bits
• 00000010
• 11111101
– Problème
• 2 façons de représenter le 0.
Maria Malek - EISTI - CPI1
16
Les entiers relatifs - 3

Complément à 2 - méthode par défaut
– Pour un nombre négatif x
• On code en binaire sa valeur absolue sur n-1
bits.
• On inverse tous les bits et on ajoute 1.
– Exemple Soit à coder 2 sur 8 bits
• 00000010
• 11111101
• 11111110
Maria Malek - EISTI - CPI1
17
Les entiers relatifs - 4
– Soit x un entier positif représenté en base
n2
n-1
x   a i 2i ,
 ai {0,1}
i 0
n2
• Soit y :
y   (1  a i )2i  1,
i 0
• x+y=2n-1 ; donc y=-x modulo(2n-1 )
Maria Malek - EISTI - CPI1
18
Les entiers relatifs - 5

Remarques
• Le bit de poids fort d’un nombre négatif est 1
• Sur n bits, le plus grand entier positif est 2n-1 -1
• Sur n bits, le plus petit entier négatif est -2n-1
Maria Malek - EISTI - CPI1
19
Représentation des caractères - 1

Symboles alphanumériques
– Lettres majuscules, minuscules, symboles
de ponctuation (& . ~ , ; # - etc.)
– Texte = suite de caractères
– Code ASCII (American Standrad Code for
Information Interchange)
• Une lettre sur 7 bits
• ASCII Etendu sur 8 bits
Maria Malek - EISTI - CPI1
20
Représentation des caractères - 2

Table de correspondances
– Entre 0 et 31 : caractères de contrôle
– Entre 65 et 90 : les lettres majuscules
– Entre 97 et 122 : les lettres minuscules
– Passage de majuscules en minuscules
• Ajout de 32 au code
• modifiant le 5ième bit
– Chiffres rangés dans l’ordre croissant
• 48 à 57 : les 4 bits de poids faibles définissent
la valeur en binaire du chiffre.
Maria Malek - EISTI - CPI1
21
Représentation des caractères - 3

Autres codages
– ANSI : ASCII + page adapté au pays
• 8 bits, DOS et Windows
– ISO : ASCII + caractères européens
• 8 bits, Windows, UNIX, Internet
– UNICODE
• 16 bits, 49194 caractères, 25 alphabets.
Maria Malek - EISTI - CPI1
22
Représentation des nombres réels
-1

Norme IEEE 754 (simple précision)
– 3.25=(11,01)2
– 1, … x 2n ; 11.01=1.101 x 21
– Représentation IEEE
• Signe (+ ou -) est représenté sur le bit de poids
fort.
• Exposant (n) est codé sur les 8 bits suivants
(on code la valeur n+127).
• La mantisse (la suite après la virgule) est
codée sur 23 bits de poids faibles.
Maria Malek - EISTI - CPI1
23
Représentation des nombres réels
-2

Remarques
– Les exposants 00000000, 11111111 sont
interdits
• Utilisations particulières :
– 00000000 : nombres dénormalisés.
– 11111111 : NAN.
– Les exposants entre -126 et +127
Maria Malek - EISTI - CPI1
24
Représentation des nombres réels
-3

Norme IEEE 754 (double précision)
– Représentation IEEE
• Signe (+ ou -) est représenté sur le bit de poids
fort.
• Exposant (n) est codé sur les 11 bits suivants
(on code la valeur n+1023).
• La mantisse (la suite après la virgule) est
codée sur 52 bits de poids faibles.
• Les exposants 00000000000, 11111111111 sont
interdits.
Maria Malek - EISTI - CPI1
25
Architecture de base d’un
ordinateur




Principes de fonctionnement
La mémoire principale (MP)
Le processeur central
les bus
Maria Malek - EISTI - CPI1
26
Ordinateur & Informatique
– Une machine de traitement de l’information
capable de :
• Acquérir
• Stocker
• Transformer
– Informatique
• Information
• Automatique
Maria Malek - EISTI - CPI1
27
Principe de fonctionnement
– Constituants
• Mémoire principale
– Données
– Programmes
• Processeur
– Exécute les instructions du programme
Maria Malek - EISTI - CPI1
28
Notion de programme
– Une suite d’instructions élémentaires qui
s’exécuteront par le processeur.
– Une instruction est codée en mémoire sur
qq. octets.
– Le processeur est capable d'exécuter.
Maria Malek - EISTI - CPI1
29
Processeur
Unité de commande
U.A.L
Mémoire Principale
Instructions
Programme
Données
Données binaires
Informations binaires
Unité d ’entrées/Sorties
Clavier
Ecran
Maria Malek - EISTI - CPI1
30
Le processeur - 1
– Circuit électronique complexe qui exécute
chaque instruction très rapidement
– Cycles d’horloges
• Fréquence en MHz
– Pour chaque instruction
• Lire en Mémoire l ’instruction
• Effectuer le traitement
• Instruction suivante
Maria Malek - EISTI - CPI1
31
Le processeur - 2
– Unité de commande
• Lecture en mémoire
• Décodage de l ’instruction
– Unité de traitement (U.A.L)
• Exécute des instructions qui manipulent des
données
Maria Malek - EISTI - CPI1
32
La mémoire principale (MP)
– Emplacements de taille fixe
• Un octet
– Instructions + données
– La taille : nombre d ’emplacements
•
•
•
•
1 K = 210
1 M = 220
1 G = 230
1 T = 240
Maria Malek - EISTI - CPI1
33
Opérations sur la mémoire
– Ecriture d’un emplacement
• Valeur, Adresse
– Lecture d’un emplacement
• Valeur d ’un emplacement indiqué par
l’adresse.
– Unité de transfert
• Mot : suite d’octets contiguës
• 1 octet (Motorola 6502)
• 2 octets (Intel 8086)
Maria Malek - EISTI - CPI1
34
Le processeur central
– CPU
• Registres
– Petites mémoires internes très rapides d ’accès
» Donnée, instruction adresse
» 8,16,32 bits
» De 10 à 100
– Accumulateur
» Résultats des opérations arithmétiques et
logiques
Maria Malek - EISTI - CPI1
35
Exemple
– Ajouter 5 au contenu de la case mémoire
d ’adresse 180
•
•
•
•
•
Lecture et décodage de l ’instruction
Lecture du contenu numéro 180
Stockage de la valeur dans l ’accumulateur
UAL ajoute 5 au contenu de l ’accumulateur
Ecriture du contenu de l ’accumulateur dans
l ’emplacement 180
Maria Malek - EISTI - CPI1
36
Contenu du processeur à
accumulateur
– Bus internes
• Données, Instructions
– Registres
•
•
•
•
•
•
ACC
RTUAL : Un Opérande
RI : Code Instruction
IP : Prochaine Instruction
RAT : Adresse d ’une donnée dans le mémoire
Reg. Etat : ?
Maria Malek - EISTI - CPI1
37
Bus
– Liaisons Processeur-Mémoire
• n fils conducteurs utilisés pour transporter n
signaux binaires
• Bus Adresse
– unidirectionnel, le processeur envoie des adresses
– a fils (0 à 2a-1)
• Bus Données
– bidirectionnels
» Lecture : Mémoire - Processeur
» Ecriture : Processeur - Mémoire
Maria Malek - EISTI - CPI1
38
Bus Adresses
Processeur
Mémoire
Principales
R/W
Bus Données
Maria Malek - EISTI - CPI1
39
Présentation d’UNIX
– 1969, laboratoire Bell
– Systèmes multi-tâches multi-utilisateurs
– Architecture
• Le noyau
– Gestion de la mémoire
– Partage du processeur entre différents tâches
• Le processeur
– Processus
» Actifs, Prêts Bloqués
Maria Malek - EISTI - CPI1
40
Outils Unix
– Interpréteras de commandes
• shells
– Commande de manipulation de fichiers
– Commande de gestion de processus
– Editeurs de textes
– Outils de développements
Maria Malek - EISTI - CPI1
41
Fichiers UNIX
– Répertoires
– Chemins absolus et relatifs
– Répertoire de connexion
– Droits d’accès
– Super utilisateur
– Commandes de manipulations de fichiers
Maria Malek - EISTI - CPI1
42
Fichiers UNIX - 1

Répertoires
– Arborescence
• ls : Sous répertoires , fichiers
• Deux fichiers nommés
– référence le répertoire (.)
– référence le parent (..)
• Répertoire courant
– pwd
• Changement de répertoire
– cd
Maria Malek - EISTI - CPI1
43
Fichiers UNIX - 2

Chemin absolu
– /homee3/cpi1/dupont

Chemin relatif
– /home3/cpi1/dupont/TP1
• ../TD1
• /homee3/cpi1/dupont/TP1
– Répertoire de Connexion
• cd ~dupont
• /homee3/cpi1/dupont
Maria Malek - EISTI - CPI1
44
Fichiers UNIX - 3

Droits d’accès
– ls -l
• fichiers : -rwxr----- nom1
• répertoires : drwxr----- nom2
• droits affichés pour
– utilisateur : Dupont
– groupe : CP1
– Tout le monde
Maria Malek - EISTI - CPI1
45
Commandes de base - 1

Schell
– Interpréter de commande en texte
• fenêtre xterm
• commande + touche (Entrée)
– pwd
– /home3/cpi1/Dupont
• commande = ligne
– nom
– les arguments (éventuellement)
Maria Malek - EISTI - CPI1
46
Commandes de base - 2

Méta-caractères
– * : Suite de caractères
– ? : Un seul caractère
– [ ] : L’un des caractères dans le croche
• un ensemble : [hg]
• un intervalle : [a-k]
Maria Malek - EISTI - CPI1
47
Commandes de base - 3

Méta-caractères
– Exemples
• ls * : le contenu du répertoire courant.
• ls *.kwd : tous les fichier se terminant par
*.kwd.
• ls ???? : tous les fichiers dont le nom est
composé de 4 caractères exactement.
• ls [ct]* : tous les fichiers dont le nome
commence par c ou par t.
• etc ..
Maria Malek - EISTI - CPI1
48
Commandes de manipulation des
fichiers - 1
– cat fichier1 fichier2
• recopie les deux fichiers (concaténation) sur la
sortie standard.
• sortie standard est normalement l’écran.
– cd chemin
• change le répertoire courant.
• sans argument : répertoire au répertoire de
connexion.
Maria Malek - EISTI - CPI1
49
Commandes de manipulation des
fichiers - 2
– chmod mode fichier
• changer les droits d’accès au fichier.
– chmod a+r fichier
» tout (a) le monde a le droit de lire,
– chmod og-w fichier
» Les autres (o) et le groupe (g) n’ont pas le droite
d’écrire,
– chmod u+x fichier
» L’utilisateur a le droit d'exécuter.
Maria Malek - EISTI - CPI1
50
Commandes de manipulation des
fichiers - 3
– cp [-ipr] source dest
• source : fichier
• dest
– fichier : renomage.
– répertoire : recopie dans dest.
• options
– -i : confirmation en cas d ’écrasement.
– -p : préserve les dates d'accès.
– -r : copie récursive.
Maria Malek - EISTI - CPI1
51
Commandes de manipulation des
fichiers - 4
– ls [-ald] chemin1 chemin2 ..
• chemini
– fichier : affiche description.
– répertoire : affiche contenu.
• options
– -a : tous les fichiers.
– -l : format long (taille, date, droits, etc.).
– -d : décrit le répertoire et son contenu.
Maria Malek - EISTI - CPI1
52
Commandes de manipulation des
fichiers - 5
– mkdir chemin
• chemin
– crée un répertoire.
– mv [-i] source dest
• source : fichier
• dest
– fichier : renomme et efface l’ancien.
– répertoire : déplace le source.
• options
– -i : confirme en cas d ’écrasement.
Maria Malek - EISTI - CPI1
53
Commandes de manipulation des
fichiers - 6
– pwd
• affiche le répertoire courant;
– rm [-ri] nom1 nom2 ..
• supprime les fichiers ou le répertoires : nomi
• options
– -i : confirme en cas d ’écrasement.
– -r : agit d ’une façon récursive pour un répertoire.
Maria Malek - EISTI - CPI1
54
Redirections des entrées/sorties 1
– Entrée standard, clavier, lecture
– Sortie standard, écran, écriture
– Redirection de la sortie
•>
• Exemple
– ls > resultats
– crée un fichier nommé resultats contenant le
contenu du répertoire courant.
Maria Malek - EISTI - CPI1
55
Redirections des entrées/sorties 2
– Redirection de la sortie
• >>
• Exemple
– ls >> resultats
– ajoute à la fin du fichier résultats le contenu du
répertoire courant.
– Redirection de l ’entrée
•<
• Exemple
– cat < fichier
– affiche le contenu du fichier.
Maria Malek - EISTI - CPI1
56
Redirections - suites
– Redirection entrée sortie
• Exemple
– cat < fichier>>resultat
– ajoute au fichier resultat le contenu du fichier.
– Redirection vers des tubes
•|
• Exemple
– ls | sort
– affiche le contenu du répertoire courant trié.
Maria Malek - EISTI - CPI1
57
Commandes diverses - 1
– compress fichier
• compresse le fichier et produit fichier.Z.
– date
• affiche date et heure.
– file fichier
• détermine le type du fichier
– uncompress fichier.Z
• décompresse le fichier.
Maria Malek - EISTI - CPI1
58
Commandes diverses - 2
– head [-n] fichier
• affiche le n premiers lignes du fichier.
– tail [+n|-n] fichier
• +n : affiche à partir de la ligne numéro n.
• -n : affiche le n dernières lignes.
– more fichier
• affiche le fichier page par page.
– who
• liste des utilisateurs connectés au système.
Maria Malek - EISTI - CPI1
59
Commandes diverses - 3
– head [-n] fichier
• affiche le n premiers lignes du fichier.
– tail [+n|-n] fichier
• +n : affiche à partir de la ligne numéro n.
• -n : affiche le n dernières lignes.
– more fichier
• affiche le fichier page par page.
– who
• liste des utilisateurs connectés au système.
Maria Malek - EISTI - CPI1
60
Commandes diverses - 4
– uuencode fichier
• coder un fichier sur 7 bits.
– uudecode fichier
• décode un ficher codé avec uuencode.
– wc [-cwl] fichier
• -c : nombre de caractères
• -w : nombre de mots
• -l : nombre de lignes.
Maria Malek - EISTI - CPI1
61
Commandes diverses - 5
– lpr [-PnomImprimante] fichier
• imprime le fichier.
– lpq [-PnomImprimante]
• file d ’attentes associée à l ’imprimante.
– lprm [-PnomImprimante] numjob
• annule l’impression.
– man commande
• aide en ligne.
Maria Malek - EISTI - CPI1
62
Commandes diverses - 6
– find [options]
• permet de trouver dans une hiérarchie de
répertoire les fichiers vérifiant certains
caractéristiques.
• Exemples
– find / -name charte -print
» trouver tous les fichiers dont le nome est charte
à partir de la racine.
– find . -name *.kwd -print
» trouver à partir du répertoire courant tous les
fichiers dont l ’extension est .kwd
Maria Malek - EISTI - CPI1
63
Filtres de texte
– grep [options] motif fichier1 fichier2 ..
• trouve les lignes contenant le motif dans les
fichiers
• options
– -c seulement le nombre de lignes.
– -n indique les numéros des lignes trouvés.
– -i ne distingue pas majuscule et minuscules
– sort [-r] fichier
• trie les lignes du fichier ou l’entrée standard.
• option
– -r renverse le tri.
Maria Malek - EISTI - CPI1
64
Editeur de texte emacs - 1
– Emacs &
– <CTRL>-x <CTRL>- f nomfic
• ouvre le fichier nomfic
– <CTRL>-x <CTRL>-s
• sauvegarder
– <CTRL>- x <CTRL>-c
• quitter
Maria Malek - EISTI - CPI1
65
Editeur de texte emacs - 2
– <CTRL> s motif
• recherche du motif dans le texte.
– <ESC> % motif1 <CR> motif2 <CR>
• remplacer la première occurrence de motif1 par
motif2.
– <ESC> % motif1 <CR> motif2 <CR> !
• remplacer toutes les occurrences de motif1 par
motif2.
Maria Malek - EISTI - CPI1
66
Editeur de texte emacs - 3
– <META>-w
• copie ce qui est sélectionné par la souris.
– <CTRL>-y
• colle ce qui est copié au bon endroit
– <CTRL>-2 <CTRL>-b
• visualiser les deux buffers.
Maria Malek - EISTI - CPI1
67