introduction V11 tirage

Transcription

introduction V11 tirage
CONSEILS
• Installer
un environnement de travail CodeBlocks ou
autre sur votre machine,
INTRODUCTION à
L’INFORMATIQUE
• Relire votre cours avant les séances de TD et de TP,
• Préparer vos TD et TP et au minimum lire l’énoncé à
l’avance; Être efficace durant les séances de TD/TP,
• Prendre des notes lors des explications en TD et en TP,
CONCEPTS GENERAUX
• Refaire les exercices ou vous avez eu des difficultés,
• N’hésitez pas a demander de l’aide aux enseignants de
cours ou de TD ou de TP.
S1 CYCLE PREPARATOIRE
• Travailler régulièrement.
C. CLAPIER [email protected]
10/09/2012
C. CLAPIER
2
OBJECTIFS du COURS
Déroulement du module :
• 6 séances de cours (10h)
Christian CLAPIER [email protected]
• 5 séances de TD (5*2h = 10h)
• 8 séances de TP (8 * 3h15 = 26h)
• Un examen sur machine et un examen écrit
Les principaux objectifs du cours sont :
• Expliquer comment on passe d’un problème
humain à sa réalisation informatique
Évaluation du module :
• Comptes-rendus et interrogations écrites 15%
• Donner une compétence de base en
modélisation de solutions à des problèmes
(Algorithmique) et en réalisation informatique
(Programmation en langage C)
• Examen machine 35%
• Examen écrit 50%
Intervenants TD et TP :
G1 ou G2 : Adrien Rémy et Frédéric VOISIN
G1 ou G2 : Yassine MRABET et Frédéric VOISIN
G3 : Sarah FDILIALAOUI
G4 : Christian CLAPIER
10/09/2012
C. CLAPIER
• Préparer aux enseignements en informatique
du réseau Polytech
3
10/09/2012
C. CLAPIER
4
Familles d’ORDINATEURS
BUT DE L’INFORMATIQUE
L’informatique permet l’automatisation du
traitement de l’information par un ordinateur.
L’informatique est présente dans quasiment tous les domaines.
L’informatique permet de traiter des données, ce traitement
est défini par un programme écrit dans un langage plus ou
moins évolué et auquel un utilisateur peut fournir des
paramètres.
Les données traitées peuvent être des nombres, des fichiers
textes, des fichiers de données, du son, des images, des vidéos,
des signaux électronique après transformation en numérique,
….
10/09/2012
C. CLAPIER
5
Ordinateur
central
(mainframe)
Au montage d’un ordinateur on fixe la carte mère en premier puis on
connecte sur elle tous les éléments électroniques : processeur, mémoire,
carte graphique, carte d’extension PCI, mais aussi les disques durs,
lecteur de CD/DVD, clavier, souris, enceinte...
Tablette
Assistant
personnel
(PDA)
Super-ordinateur
(supercomputer)
Ordinateur de bureau
(workstation)
10/09/2012
CARTE MERE d’UN PC
C’est une carte électronique qui possède une multitude de
connecteurs différents :
• socket pour processeur,
• slot pour la RAM,
• prise ATA ou SATA pour disque dur et lecteurs CD/DVD,
• prise USB, audio, FireWire...
Ces connecteurs sont plus ou moins nombreux et exploitent des
technologies plus ou moins avancées selon le modèle et le
segment de gamme de la carte mère.
Téléphone
portable
clusters de machines
C. CLAPIER
Ordinateur portable
(notebook)
Ordinateur de poche
(pocket computer)
6
CARTE MERE d’UN PC
Microprocesseur
Carte vidéo
Carte d’extension
(Bus PCI)
Barrette mémoire vive
Disque dur jusqu’à qq Téra octets
10/09/2012
Graveur de DVD
C. CLAPIER
8
Périphériques externes
Carte Usb et Firewire
interface USB-Bluetooth
10/09/2012
C. CLAPIER
9
MEMOIRE
MEMOIRE
L'informatique
tion et automatique
d'information
automatique,, est
L'informatique,, contraction d'informa
la science du traitement de l'information. Apparue au milieu du
20è
20ème siè
siècle, elle a connu une évolution extrêmement rapide.
A sa motivation initiale qui était de faciliter et d'accé
d'accélérer le calcul,
se sont ajouté
ajoutées de nombreuses fonctionnalité
fonctionnalités, comme
l'automatisation, le contrôle et la commande de processus, la
communication ou le partage de l'information.
Un systè
système informatique s’
s’appuie sur deux modes de
réalisation distincts,
distincts, le maté
matériel et le logiciel :
• Le maté
matériel (hardware) correspond à l’aspect concret du
systè
système : unité
unité centrale, mé
mémoire, organes d’
d’entré
entréeses-sorties,
etc.
• Le logiciel (software) correspond à un ensemble
d’instructions, appelé
appelé programme, qui sont contenues dans
les diffé
différentes mé
mémoires du systè
système et qui dé
définissent les
actions effectué
effectuées par le maté
matériel.
10/09/2012
C. CLAPIER
11
Architecture de
von Neumann
Unité de
de
Unité
Contrôle
Contrôle
Unité
Unité
Arithmétique
Arithmétique
etLogique
LogiqueUAL
UAL
et
ENTREES/SORTIES
L’architecture dite « architecture de Von Neumann »
est un modè
modèle pour un ordinateur qui utilise une
structure de stockage unique pour conserver à la fois
les instructions et les donné
données requises ou gé
générées
par le calcul.
De telles machines sont aussi connues sous le nom
d’ordinateurs à programme stocké
stocké en mé
mémoire.
10/09/2012
C. CLAPIER
12
L’unité d’information
élémentaire : le BIT
Les informations traitées par un ordinateur peuvent
être de différents types (caractères, texte, nombres
entiers signés ou non, nombres flottants, tableaux,
structures, etc.) mais elles sont toujours représentées
et manipulées par l’ordinateur sous forme binaire.
Toute information sera traitée comme une suite de 0
et de 1.
L’unité d’information est le chiffre binaire (0 ou 1), que
l’on appelle bit (pour binary digit, chiffre binaire).
10/09/2012
C. CLAPIER
13
BINAIRE - 2 chiffres 0 et 1
N = (D7 D6 D5 D4 D3 D2 D1 D0 )2
N = D7 * 27 + D6 * 26 + D5 * 25 + D4 * 24
+ D3 * 23 + D2 * 22 + D1 * 21 + D0 * 20
01000100(2) =
0*27+1*26+0*25+0*24+0*23+1*22+0*21+0*20 = (68)
10
N = 130 base 10 = 1000 0010 B sur 8 bits
ou
N = 0000 0000 1000 0010 B sur 16 bits.(des 0 devant)
10/09/2012
C. CLAPIER
15
Représentation des nombres
Dans une Base B quelconque B > 1:
Les nombres 0,1, 2,…, B-1 sont appelés chiffres
N = D7 D6 D5 D4 D3 D2 D1 D0 en base B
N = D7*B7 + D6*B6 + D5*B5 + D4*B4
+ D3*B3 + D2*B2 + D1*B1 + D0*B0
Exemple:
N = (1789)10
N = 1*103 + 7*102 + 8*101+ 9*100
10/09/2012
C. CLAPIER
14
BINAIRE - 2 chiffres 0 et 1
2 16 65536
2 15 32768
2 14 16384
2 13 8192
2 12 4096
2 11 2048
2 10 1024
29
512
28
256
7
2
128
6
2
64
25
32
10/09/2012
24
23
22
21
20
2 -1
2 -2
2 -3
2 -5
2 -6
2 -7
2 -8
16
8
4
2
1
0.5
0.25
0.125
0.0625
0.03125
0.015625
0.0078125
C. CLAPIER
2 40 1 099 511 627 776
1 Téra
2 30 1 073 741 824
1 Giga
2 20 1 048 576
1 Méga
2 16 65536 = 64 Ko
2 10 1024
1 Kilo
2 8 256
16
LE(S) CODE(S) ASCII
L’HEXADECIMAL ou base 16
American Standard Code for Information Interchange

16 chiffres : Codage sur 4 bits des 16 chiffres
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E et F
HEXA
Binaire
Base 10
HEXA
Binaire
Base 10
0
1
2
3
4
5
6
7
0000
0001
0010
0011
0100
0101
0110
0111
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
1000
1001
1010
1011
1100
1101
1110
1111
8
9
10
11
12
13
14
15
10/09/2012
C. CLAPIER
+20H
CODE
CODEASCII
ASCIIEN
ENHEXA
HEXA
Majuscule
Minuscule
00
00...
...30h
30h31h
31h….39h
….39h3Ah
3Ah….40h
….40h41h....46h
41h....46h47h
47h…5Ah
…5Ah..61h
..61h....7Ah.....7Fh
....7Ah.....7Fh
++30H
30h
……. 0
1 …… 9 ………….@
CARACTERE
CARACTERE
17
+ 37H
10/09/2012
A ….. F G
... Z .... a ....... z ...........
07H :
Bel
sous Unix retour chariot saut de
0AH :
LF
ligne un octet 0AH
0DH :
CR
sous Windows retour chariot
20H :
Espace
saut de ligne 2 octets 0AH et 0DH.
PB des contrôles M (^M)
code ASCII de M = 4Dh – 40H (CTRL) = 0Dh = CR
C. CLAPIER
18
C. CLAPIER
20
CODE ASCII
CODE ASCII
étendu
10/09/2012
C. CLAPIER
19
10/09/2012
Les nombres ENTIERS non signés
HEXADECIMALsur
sur88bits
bits
HEXADECIMAL
00H 01H
01H ………..…….…………….……………FDH
………..…….…………….……………FDH FEH
FEH FFH
FFH
00H
Représentés par leur équivalent binaire
En base B, k chiffres permettent de représenter un
nombre N tel que :
Base 2
0 ≤ N ≤ Bk - 1
8 bits (28 -1)
16 bits (216 -1)
32 bits (232 -1)
64 bits (264 -1)
10/09/2012
0
253
254 255
HEXADECIMALsur
sur16
16bits
bits
HEXADECIMAL
0000H 0001H
0001H
0000H
……….…………….……FFFDH FFFEH
FFFEH FFFFH
FFFFH
……….…………….……FFFDH
0
1
BASE 10
billard billion milliard million
C. CLAPIER
1
BASE 10
De 0 à 255 base 10
De 0 à 65 535 base 10
De 0 à 4 294 967 295 base 10
De 0 à 18 446 744 073 709 551 615 base 10
18 mille 446 billards et
des briquettes
Les nombres ENTIERS non signés
21
65533
10/09/2012
65534 65535
C. CLAPIER
ENTIERS signés en Cpl à 2
22
ENTIERS signés en Cpl à 2
NOMBRES SIGNES SUR 8 BITS en complément à 2
COMPLEMENT à 1 (complément restreint) et
COMPLEMENT à 2 (complément vrai)


80H 81H
Le complément à 1 s’obtient en inversant les 1
en 0 et les 0 en 1
Le complément à 2 s’obtient en ajoutant 1 au
complément à 1
Exemple 73 = 49 H = 0100 1001 B
C. CLAPIER
-73 en Cpl à 2
+
……...…FE FF 00 01 02 …………..............
-128 -127
7EH 7FH
-02 -01 00 01 02
BASE 10
NOMBRES SIGNES SUR 16 BITS en complément à 2
-
HEXADECIMAL
126 127
+
8000H 8001H ..… FFFE FFFF 0000 0001 …….............. 7FFEH 7FFFH
Complément à 1 (73) : 1011 0110 B (73 = 49 H)
Complément à 2 (73) : 1011 0111 B (-73 = - 49 H)
10/09/2012
HEXADECIMAL
23
-32768 -32767
10/09/2012
-0002 -0001 0000 0001
BASE 10
C. CLAPIER
32666 32767
24
LES REELS
Pb de représentation
Attention sur un certain nombre de bits 8, 16, 32
ou 64 on ne peut représenter qu’un nombre fini
d’entiers signés ou non.
Les réels sont codés au format IEEE
Simple précision
31
1
Précision : 24 bits
1
Précision : 64 bits
1
MANTISSE
0
11
52 bits
signe
exposant
79
23 bits
exposant
63
Précision : 53 bits
0
8
signe
Double précision
Précision étendue
exposant
MANTISSE
0
15
64 bits
signe
10/09/2012
C. CLAPIER
25
Bien sûr plus le nombre de bits est grand plus la
valeurs des entiers que l’on peut représenter est
grande.
Si l’on défini un entier 16 bits et que l’on initialise
sa valeur à 0 et qu’on lui ajoute plus de 100 000
fois la valeur 1 que se passe t-il ?
La valeur va augmenter de 0, 1, 2, 3, … , 65534,
65535 et normalement 65536. Or ce nombre
dépasse les nombres représentables sur 16 bits et
sa valeur revient à 0 C. CLAPIER
10/09/2012
26
Pb de représentation
• Les entiers non signés sont codés en binaire
• Les entiers signés sont codés au format complément à 2
• Les réels au format IEEE (1 bit de signe, X bits exposant et Y bits
mantisse)
• Les caractères au format ASCII
Caractère ' A'
0100 0001 sur 8 bits,
Attention sur un certain nombre de bits 32, 64 ou
80 on ne peut représenter qu’un nombre fini de
réels. Or il y a une infinités de réels.
Donc sur un nombre de bits donnés on ne peut
représenter qu’un nombre fini de réels.
Entier 18 sur 16 bits
0000 0001 0000 0010
Entier -18 sur 16 bits 1111 1110 1111 1110
Entier 18 sur 32 bits 0000 0000 0000 0000 0000 0001 0000 0010
Entier -18 sur 32 bits 1111 1111 1111 1111 1111 1110 1111 1110
Réel -18. sur 32 bits
0100 0001 1001 0000 0000 0000 0000 0000
Par exemple on ne pourra jamais coder de façon
exacte le réel 1.1 au format IEEE.
1.1000000238418579
1,09999990463256….
1.1
10/09/2012
1.100000262260437
Réels sur 32 bits
Mantisse 23 bits
2- 23 =
1.1000001430511475
0,000000119209289550781
C. CLAPIER
Résumé
27
Donc une suite de 8, 16, 32, 64 bits peut représenter
des choses différentes
=> l’ordinateur doit savoir le type (Donc le codage )
manipulé.
10/09/2012
C. CLAPIER
28
MEMOIRE
MEMOIRE
Data Type
bit
s
Significant
Digits
(Decimal)
Approximate Range (Décimal)
WORD INTEGER
16
4-5
-32768 <= x <= +32767
SHORT INTEGER
32
9
-2x109 <= x <= +2x109
LONG INTEGER
64
18
-9x1018 <= x <= +9x1018
32
6-7
LONG REAL
64
15-16
+2.23x10- 308 <= |x| <= +1.79x10308
TEMPORARY REAL
80
19-20
+3.37x10- 4932 <= |x| <= 1.18x104932
+1.18x10- 38 <= |x| <= +3.40x1038
C. CLAPIER
29
Unité
Unité
Arithmétique
Arithmétique
etLogique
LogiqueUAL
UAL
et
• L’Unité
Unité de contrôle ou sé
séquenceur : gè
gère le fonctionnement de la
machine et est responsable de l’
l’exé
exécution des instructions composant un
programme
- Contrôle le transfert des données (lecture et écriture en mémoire)
- Décode les instructions
- Transmet les instruction à l'UAL
- Décode les ordres venant de l'extérieur (Input/0utput)
• La mé
mémoire : elle peut être vue comme une suite de cases pouvant
contenir soit des données soit du code (instructions)
10/09/2012
C. CLAPIER
30
LA MEMOIRE
L’Unité Arithmétique et Logique
La mé
mémoire permet de stocker :
Exemple d’un fichier texte :
L’Unité
nité Arithmé
rithmétique et Logique (UAL)
UAL) ou
Arithmetic and Logic Unit (ALU
ALU)
)
:
(
En mémoire c'est un suite d'octets qui représentent de façon codée des
caractères et sont interprétés comme une suite de caractères
1 octet = 1 caractère (à afficher, à imprimer ...)
Codage ASCII
'A' = 65
ASCII: American Standard Communication Information Interchange
• Exécute les instructions :
• Arithmétiques (+ - x / mod comparaison)
• Logiques (ET - OU – NON test)
• Travaille sur les registres de données et les indicateurs.
Les indicateurs permettent de savoir après l’exécution d’une
instruction si le résultat est nul ou non, s’il est positif ou non, si un
nombre est plus grand qu’un autre etc …
Programme :
Il réalise un algorithme et en mémoire c'est une suite de mots
machine (suite d'octets) qui correctement interprété (décodés) par l’unité de
contrôle représentent une suite de commandes (instructions)
Données :
Langage Machine :
• Fournies par utilisateur
• Utilisées par programmes
• Liste des instructions que l'UC (Unité Centrale) est capable de
comprendre
• Langage symbolique spécifique (Assembleur)
10/09/2012
Unité de
de
Unité
Contrôle
Contrôle
• L’Unité
nité Arithmé
rithmétique et Logique (UAL)
UAL) ou Arithmetic and Logic Unit
(ALU)
ALU) : c’
c’est elle qui effectue les opé
opération élémentaires sur les donné
données.
Ces opé
opérations sont de 2 types : arithmé
arithmétique ou logiques.
Les opé
opérations arithmé
arithmétiques portent sur des entiers. Les opé
opérations
arithmé
arithmétiques sur les ré
réel sont fait dans la FPU(Floating
FPU(Floating Point Unit).
Unit).
SHORT REAL
10/09/2012
Architecture
d’un ORDINATEUR
C. CLAPIER
31
10/09/2012
C. CLAPIER
32
LA MEMOIRE CACHE
LA MEMOIRE CENTRALE
Elle contient le programme et les données au moment
de l'exécution.
Mémoire Vive (RAM dynamique)
• Rapide, volatile (l’information est perdue si non
alimentée)
• Capacité moyennement limitée (quelques giga
Octets)
• Modifiable par le processeur (lecture et écriture)
Les mémoire RAM statiques servent à réaliser les
mémoires cache.
10/09/2012
C. CLAPIER
33
Pour accélérer l’écriture et la lecture des données en
mémoire on utilise des mémoire cache qui
servent à cacher une partie de la mémoire centrale.
Les mémoire cache ont un temps d’accès bien plus
rapide (1ns environ) que la mémoire centrale de
l’ordinateur (60 ns environ).
Elles contiennent les dernières instructions effectuées
et les dernières données utilisées.
Et comme dans un programme il y a beaucoup de
boucles, qu’un programme utilise souvent les
dernières données utilisées les mémoires caches
permettent de gagner énormément en performance.
10/09/2012
LA MEMOIRE CACHE
HAUT
DEBIT
PROCESSEUR
BAS
DEBIT
Mémoire Morte (ROM)
• Programmes figés (lancement)
L’information n’est pas perdue quand elles ne sont plus
alimentées
• Préprogrammée au cours de la fabrication par le fondeur
EPROM (Erasable Programmable Read Only Memory) :
mémoire à lecture seule, programmable et effaçable
(par UV)
EEPROM (Electrically Programmable Read Only Memory) :
mémoire à lecture seule programmable et effaçable
électriquement.
MEMOIRE
MEMOIRE
PRINCIPALE
PRINCIPALE
RAM
RAM
Dynamique
Dynamique
CONTROLEUR
DE CACHE
10/09/2012
C. CLAPIER
34
LES MEMOIRE MORTES
MEMOIRE
CACHE
RAM
statique
C. CLAPIER
35
10/09/2012
C. CLAPIER
36
Système d’exploitation
LES MEMOIRE et les E/S
Structure d’accueil composée de plusieurs couches de
logiciel, chargée de fournir à l’utilisateur un ensemble de
logiciels de base destiné à habiller le matériel nu et à
prendre en compte l’ensemble des ressources du système.
Il doit optimiser les ressources matérielles de la machine et
minimiser les temps morts (traitement des E/S).
 Il gère le partage des ressources (toutes, les ressources
actives et ressources passives).
 Ensemble des fonctions de base (mais parfois pouvant être
très avancées) permettant l'usage d'un ordinateur et sans
lequel rien n'est possible.
 Exemples : Unix, MS-DOS, Linux, OS/2, MacOS, Windows XT,
Windows 2000, Windows Vista, Windows 7, Windows CE,
Windows mobile, Android.

Mémoire secondaire :
• Mémoires vives :
• Disques durs,
• clé USB,
• disquettes (en voie de disparition)
• Mémoires mortes :
• CD-ROM
• DVD-ROM
Entrées :
Clavier, Souris, Reconnaissance vocale, Scanner, Capteurs (stylet,doigts,
automates…)
Sorties :
Clavier Écrans (Vidéo, Cristaux liquides ...), Imprimante
10/09/2012
C. CLAPIER
37
10/09/2012
Système d’exploitation
38
IHM
Il existe 2 modes d’interface Homme/Machine :
Fonctions :
 Gestion des ressources actives de l'ordinateur
(processeurs qui exé
exécutent les programmes)
 Gestion de la mé
mémoire (MMU)
 Gestion des pé
é
p riphé
riphériques (Entré
(Entrées/sorties)
 Gestion des fichiers
 Protection et gestion des erreurs
 Accè
Accès sé
sécurisé
curisé aux donné
données
 Gestion de l’
l’IHM (Interface Homme/Machine)
10/09/2012
C. CLAPIER
C. CLAPIER
39
1. Mode texte (consoles dans lesquelles on entre des
commandes. Exemple : shells Unix, fenêtre DOS)
10/09/2012
C. CLAPIER
40
Production de logiciel
Pour produire un logiciel on a besoin d’écrire le
programme dans un langage donné, puis de le compiler de
faire une édition de lien et de l’exécuter et parfois de le
mettre au point.
Pour cela on doit créer a l’aide d’un Éditeur de texte le
programme dans un
langage donné
(Assembleur, langage C,
C++, ADA, JAVA, C#...)
Production de logiciel
Ensuite on doit transformer en langage machine ce fichier
source pour qu’il puisse être compris par la machine ou il
sera exécuté. C’est le rôle du compilateur.
On doit créer un exécutable en faisant l’édition de lien (ou
link) des différents modules et en utilisant des modules déjà
écrits et qui ont été mis en bibliothèque
On peut pour mettre au point un programme utiliser un
Debugger
Exemple :
Notepad++ ou autre.
Mais on peut utiliser un IDE
(Environnement de Développement Intégré) qui regroupe
tous ces programmes. En TP on utilisera CodeBlock sous unix.
10/09/2012
C. CLAPIER
41
10/09/2012
C. CLAPIER
42
IHM de CodeBlocks sous Windows
Programmation en C
Fichierssources
sources
Fichiers
*.C
*.C
Compilateur
Compilateur
CC
Compilateur
Compilateur
CC
Fichierobjet
objet
Fichier
*.objou
ou*.o
*.o
*.obj
Fichierobjet
objet
Fichier
*.objou
ou*.o
*.o
*.obj
Editeurde
de
Editeur
liens
liens
Fichiers
Fichiers
librairie
librairie
Fichier
Fichier
exécutable
exécutable
*.exeou
oua.out
a.out
*.exe
OUTILDE
DEMISE
MISE
OUTIL
AUPOINT
POINT
AU
DEBUGGEUR
DEBUGGEUR
10/09/2012
C. CLAPIER
43
10/09/2012
C. CLAPIER
44
Différents niveaux de programmation
Adresse
mémoire
Si vous avez
des questions ?
Langage de
programmation
de haut niveau
ex: Langage C
Langage
Assembleur
(spécifique à un
processeur)
10/09/2012
Merci de votre
attention.
C. CLAPIER
Langage
Machine
(spécifique à un
processeur)
45