You are on page 1of 62

Cours d’algorithme

S.A Tabbone
Université Nancy 2
Email: tabbone@univ-nancy2.fr
Avant de parler
d’algorithmique
 Un peu de structure des ordinateurs utile
pour la compréhension des programmes
 Lien :
 http://www.commentcamarche.net/pc/
 http://www.histoire-informatique.org/musee
 http://www.mon-ordi.com/
 Et tous les cours en ligne sur internet
Définition d’un ordinateur
 Machine qui saisit (périphériques
d’entrée), stocke (mémoire), traite
(programmes) et restitue (périphériques
de sortie) des informations
Schéma fonctionnel
Saisie Traitement Restitution

Données UC Résultats
Instructions

Mémoire

Périphériques d’entrée Périphériques de sortie


Mémoires auxiliaires

Ecran Modem
Joystick Scanner Micro Souris Disquette

CD-ROM Modem Caméra Disque dur


Clavier Imprimante
Haut parleur
Constituants
Composants matériels (Hardware)
 Tout ce qui compose l’ordinateur et ses
accessoires
 Chaque composant possède une fonction
particulière
 calcul
 stockage des données
 affichage vidéo
 gestion du clavier...
Logiciel (Software)
 immatériel (non tangible)
 ensemble de programmes exécutables par l’ordinateur

Différents types de logiciels


 système d’exploitation (MS-DOS, Windows, Unix)
 logiciels standards comme Word, Excel...
 progiciels : logiciels spécifiques (paye, comptabilité, ...)

 Le logiciel pilote le matériel


Codage binaire
 Le langage des ordinateurs

 Toutes communications à l'intérieur de


l'ordinateur sont faites avec des signaux
électriques
 0: éteint (absence de signal électrique)
 1: allumé (présence de signal électrique)
 Un même nombre peut être représenté
dans plusieurs bases
 123 en base 10 (décimal)
 1111011 en base 2 (binaire)
 173 en base 8 (octale)
 7B en base 16 (hexadécimale)
 De la base 10 à la base 2
 Il faut diviser le nombre par 2 puis réitérer
l'opération en considérant que le nouveau
numérateur est l'ancien quotient jusqu'à ce que ce
dernier soit nul. La suite inverse des restes
représente le nombre binaire
Exemple

Ecrire 2006 en base 2?


 De la base 2 à la base 10
 Il faut additionner la multiplication du
nombre représenté par chaque chiffre avec
la puissance de 2 correspondant au rang
du chiffre:
 Les opérations élémentaires en base 10
s’appliquent de la même façon en base
2
 Exemple: Addition, soustraction,
multiplication, division
Transcodage binaire/hexadécimal
 Un autre système, l'hexadécimal (base 16),
est très souvent employé en informatique
 facilite la représentation des longues
séquences de bits
 représentation :
 0123456789ABCDEF
 101101100010000001100011010011 (binaire)
 2d8818d3 (hexadécimale)
 À l'aide d'un octet on peut représenter:
 Les nombres entiers compris entre 0 et 255
 Les nombres entiers compris entre 0 et 65535
ou entre -32768 et 32767 (entiers signés)
 Les nombres réels (représentation virgule
flottante…)
 Des instructions
 une table de correspondance entre nombre et
instruction
 Des caractères
 une table de correspondance entre des nombres et
des caractères (exemple ASCII (7 bits), ASCII
étendu (1 octet), UTF8 (plusieurs octets)…)
Schéma fonctionnel
L’unité Centrale
Fonctions

 Sélectionner et exécuter les instructions du
programme en cours
 Partie de l’ordinateur qui contient les circuits de base
 la mémoire principale
 la mémoire vive (RAM)

 la mémoire morte (ROM)

 la mémoire cache
 le microprocesseur
 les circuits de calcul (UAL)

 l’unité de contrôle (ou de commande)

 l’horloge système
 l’unité d’entrée-sortie 17
La Mémoire
 Définition
 Dispositif capable d’enregistrer, de stocker et de
restituer des informations
 Trois types
 RAM ou mémoire vive

 ROM ou mémoire morte

 mémoire de masse ou secondaire

 Unité de stockage: Un composant électronique capable de


mémoriser des tensions:
 BIT (Binary DigiT) : unité de stockage élémentaire
 Les informations sont codées en binaires composés de
0 et de 1
 Selon l’ordinateur, un mot mémoire est composé de 2
(16 bits) ou 4 (32 bits) octets 18
La Mémoire
Unités de mesure

1octet = 8 bits

1Ko (kilo octet) 1 000 octets (exactement 210 octets)

1Mo (méga octet)  1 000 000 octets (220 octets)

1Go (giga octet)  1 000 000 000 octets (230 octets)

1To (téra octet)  1 000 000 000 000 octets (240


octets)
19
La Mémoire
 Structure
 La mémoire est organisée en cellules (octets ou mots)
 Chaque cellule est repérée par son adresse qui permet à l’ordinateur de
trouver les informations dont il a besoin
 2 Modes d’accès à la mémoire
 En lecture : aucun effet sur le contenu
 En écriture : modifie son contenu
 Caractéristiques
 Capacité : nombre d’octets
 Accès
 direct : grâce à l’adresse, accès immédiat à l’information (on

parle de support adressable)


 séquentiel : pour accéder à une information, il faut avoir lu

toutes les précédentes (ex : cassette audio)


 Temps d’accès : temps écoulé entre l’instant où l’information est
demandée et celui où elle est disponible (en ms)
20
La Mémoire

 Le contenu de la mémoire est composé


 de données
 et d’instructions
 code de l’opération élémentaire

 donnée(s) ou adresse des données

 Programme
 Ensemble d’instructions et de données
 Traduites en signaux électriques

compréhensibles par le matériel

21
Différentes mémoires
La mémoire vive ou RAM (Random Access
Memory)
 mémoire à accès direct à taille limitée
 son contenu est volatile, i.e. il est perdu à chaque
fois que l’ordinateur ne fonctionne pas : d’où le
besoin d’utiliser de la mémoire auxiliaire rémanente
 endroit où l’ordinateur stocke temporairement les
données et instructions (programmes) qu’il est en
train d’utiliser et d’exécuter
 contient tous les programmes en cours d’exécution
 Capacité standard de 256 Mo à 1 Go

22
La mémoire morte (Read Only Memory)

 mémoire permanente et inaltérable

 contient des petits programmes écrits par le


constructeur pour la mise en route de l’ordinateur
BIOS (Basic Input/Output System)
 identifie les différents composants de la machine et vérifie
leur bon fonctionnement

23
Le mémoire cache

 La transmission entre la RAM et le microprocesseur


est plus lente que le potentiel de vitesse du
microprocesseur

 Mémoire cache (niveau L1 ou L2)


 zone de mémoire ultra-rapide où sont conservées les
données et instructions qui reviennent le plus souvent
 mémoire interne de petite taille (dizaines de Ko)
 Type non-volatile (Flash)

 Capacité standard : 256Ko ou 512Ko


24
Le microprocesseur
 Le cœur de l’ordinateur : il traite et fait circuler les
instructions et les données
 Composé des éléments suivants
 Unité Arithmétique et Logique (UAL)

 Ensemble de circuits qui exécutent les

opérations arithmétiques et logiques de


base
 Différents Registres (CO, Etat, Instruction…)

 Unité de contrôle (ou de commande)

 Son rôle est d’extraire une instruction du

programme en MC, de la faire exécuter par


l’UAL ou un périphérique et de chercher
l’instruction suivante
 Elle décode les instructions et trouve les

données pour l’UAL

25
L’horloge

 Elle contrôle et synchronise le microprocesseur et les
composants associés

 Sa vitesse (fréquence) est exprimée généralement en


mégahertz (MHz) c’est-à-dire en million de cycles par
seconde

 L’efficacité du microprocesseur est directement


proportionnelle à la fréquence de l’horloge : une
fréquence élevée est donc souhaitable

 Exemples: Intel Pentium 4, environ 3 GHz


27
L’unité d’entrée-sortie

 contrôle et gère le transfert d’informations entre l’UC


et les périphériques

 Exemples
 carte graphique (écran)

 carte contrôleur (disque dur)

 carte son (micro, haut-parleur)

28
Les Périphériques
Définition
Tout ce qui gravite autour de l’UC c’est-à-dire l’écran, le
clavier, la souris, les mémoires auxiliaires, l’imprimante,
le scanner, le micro, les haut-parleurs....

3 Catégories de périphériques
d’entrée (clavier, souris, scanner, joystick)

de sortie (écran, imprimante, haut-parleur)

les mémoires auxiliaires (disque dur, disquette, CD-

ROM)

29
Les périphériques d’entrée

 Définition
 Recueillent les informations qui sont ensuite transformées
(numérisées i.e. codées en binaires) pour être utilisables
par la machine et transférées en mémoire principale
(mémoire de l’UC)

 Exemples
 clavier
 souris : dispositif de pointage complémentaire du clavier
et de l’écran
 scanner : permet de numériser un document
 autres : écran tactile, lecteur de codes barres, crayon
optique, caméra, joystick...

30
Les périphériques de sortie

 Définition
 Transmettent l’information binaire de l’UC vers

l’extérieur sous une forme compréhensible par


l’utilisateur

 Exemples
 écran

 imprimante

 haut-parleurs

31
 La mémoire de masse (secondaire ou auxiliaire)
Définition
 Mémoire externe de grande capacité mais
d’accès moins rapide que la mémoire de l’UC
 Utilisée pour stocker avant et après la mise en
marche de l’ordinateur (support rémanent)
Exemples
 disquette : support magnétique amovible
adressable
 comporte 2 faces

 taille exprimée en pouces (3,5 pouces)

 capacité de 1,44 Mo

 temps d’accès de 15 à 100 ms

 pour être utilisable, une disquette doit

être formatée, c’est-à-dire préparée à


recevoir des informations binaires

32
disque dur : support adressable
amovible ou non
 capacité : plusieurs Go
 accès plus rapide que les
disquettes
CD-ROM : support adressable
amovible
 non inscriptible (mode lecture
uniquement)
 capacité : environ 650 Mo
 Variante: inscriptible CD-RW
(lecture/écriture)
33
Exécution d’un programme
Microprocesseur MC
Horloge 2
Unité de Contrôle 3
5

4
4
UAL

4
E/S
1
4
34
Exécution d’un programme

 Chargement des instructions et des


données en MC
 À chaque top d’horloge, l’unité de
contrôle ...
récupère une instruction et les données
nécessaires et les analyse
 déclenche le traitement adapté en
envoyant un signal à l’UAL ou à l’unité des
entrées-sorties
35
Exemple simplifié
 Pour calculer 12+5, il faut une suite d'instructions
 Transférer:
 le nombre 12 saisi au clavier dans la mémoire
 le nombre 5 saisi au clavier dans la mémoire
 le nombre 12 de la mémoire vers un registre du
microprocesseur
 le nombre 5 de la mémoire vers un registre du
microprocesseur
 demander à l'unité de calcul de faire l'addition
 Transférer:
 le contenu du résultat dans la mémoire
 le résultat (17) se trouvant en mémoire vers l'écran de la
console (pour l'affichage)
Du point de vue matériel:carte mère
 Carte électronique
qui permet aux
différents
composants de
communiquer via
différents bus de
communication
 On enfiche ces
composants sur des
connecteurs

Connecteur E/S
Microprocesseur
Pour effectuer le traitement de

l'information, le microprocesseur
possède un ensemble
d'instructions, appelé « jeu
d'instructions », réalisées grâce
à des circuits électroniques. Plus
exactement, le jeu d'instructions
est réalisé à l'aide de
semiconducteurs, « petits
interrupteurs » utilisant l'effet
transistor, découvert en 1947
par John Barden, Walter H.
Brattain et William Shockley qui
reçurent le prix Nobel en 1956
pour cette découverte.
 Support pour le transistor le silicuim
 Un processeur est composé de transistors
permettant de réaliser des fonctions sur des
signaux numériques. Ces transistors,
assemblés entre eux forment des composants
permettant de réaliser des fonctions très
simples. A partir de ces composants il est
possible de créer des circuits réalisant des
opérations très complexes. L'algèbre de
Boole (du nom du mathématicien anglais
Georges Boole 1815 - 1864) est un moyen
d'arriver à créer de tels circuits.
 L'algèbre de Boole est une algèbre se proposant
de traduire des signaux en expressions
mathématiques.
 Pour cela, on définit chaque signal élémentaire par
des variables logiques et leur traitement par des
fonctions logiques.
 Des méthodes (table de vérité) permettent de définir les
opérations que l'on désire réaliser, et à transcrire le résultat
en une expression algébrique.
 un circuit logique un circuit qui schématise
l'agencement des composants de base (au niveau
logique) sans se préoccuper de la réalisation au
moyen de transistors (niveau physique).
Variables logiques
 Un ordinateur ne manipule que des
données binaires, on appelle donc
variable logique une donnée binaire,
c'est-à-dire une donnée ayant deux
états possibles: 0 ou 1.
Fonction logique
 On appelle «fonction logique» une
entité acceptant plusieurs valeurs
logiques en entrée et dont la sortie (il
peut y en avoir plusieurs) peut avoir
deux états possibles : 0 ou 1.
 Les fonctions logiques de bases sont appelées
portes logiques. Il s'agit de fonctions ayant une
ou deux entrées et une sortie:
 La fonction OU (en anglais OR) positionne sa sortie à 1
si l'une ou l'autre de ses entrées est à 1
 La fonction ET (en anglais AND) positionne sa sortie à
1 si ses deux entrées sont à 1
 La fonction OU EXCLUSIF (en anglais XOR) positionne
sa sortie à 1 si l'une ou l'autre de ses entrées est à 1
mais pas les deux simultanément
 La fonction NON (appelée aussi inverseur) positionne
sa sortie à 1 si son entrée est à 0, et vice-versa
 Tables de vérité
Exemple: additionneur 1 bit
LOI DE MOORE

 Lors de la préparation de son discours en 1965,


Gordon Moore (un des Présidents d'Intel) fit
une remarque qui reste toujours d'actualité.
 le nombre de transistors des processeurs devrait
doubler tous les 18 mois et permettre ainsi une
croissance exponentielle régulière des performances.
Cette loi s'est vérifiée au fil du temps, et elle permet
d'avoir un bon ordre de grandeur des performances
des futurs processeurs.

 Exemple 6000 mille transistors en 1974, 9,5M en1999


Mémoire
 Barrette qui s’enfichent sur la carte mère
Type de mémoire
 Quatre types de mémoires:
 la mémoire "EDO" (Extended Data Out), ce
type de mémoire se trouve sur les ordinateurs
déjà anciens.
 la mémoire "SDRAM" (Synchronous Dynamic
Random Access Memory), plus rapide que
l'EDO, ce type de mémoire se trouve sur les
ordinateurs récents.
 la mémoire "SDRAM DDR" (SD RAM
Double Data Rate), comme son nom
l'indique, cette mémoire est deux fois plus
rapide que la SDRAM. Ce type de mémoire
se trouve de plus en plus dans les nouveaux
ordinateurs.
 la mémoire "RDRAM" (Rambus DRAM),
cette mémoire permet un transfert de
données à des vitesses beaucoup plus
supérieures que les technologies
précédentes (SDRAM, SDRAM DDR, etc.).
Le format
 Les barrettes SIMM à 72 connecteurs (dont
les dimensions sont 108x25mm): des
mémoires capables de gérer 32 bits de
données simultanément. Ces mémoires
équipent des PC allant du 386DX aux
premiers Pentium.
 les barrettes au format DIMM (Dual
Inline Memory Module) sont des
mémoires 64 bits. Elles possèdent des
puces de mémoire de part et d'autre du
circuit imprimé.
 les barrettes au format RIMM (Rambus
Inline Memory Module, appelées également
RD-RAM ou DRD-RAM) sont des mémoires
64 bits développée par la société Rambus.
Carte d’extension
 Permet d’ajouter des fonctionnalités
(souvent de communication) comme par
exemple les cartes graphiques, son,
modem, usb, etc.
 Dans le PC et Mac, il existe aujourd’hui
deux grandes catégories de carte qui se
différencient par le bus utilisé : PCI et AGP
Exemple carte vidéo
Bus
 On appelle bus, en informatique, un
ensemble de liaisons physiques (câbles, pistes
de circuits imprimés, etc.) pouvant être
exploitées en commun par plusieurs éléments
matériels afin de communiquer.
 Les bus ont pour but de réduire le nombre de
« voies » nécessaires à la communication des
différents composants, en mutualisant les
communications sur une seule voie de
données.
Caractéristiques du bus
 Largeur du bus: nombre de bits transmis
simultanément
 fréquence (exprimée en Hertz): le nombre
de paquets de données envoyés ou reçus par
seconde
 Exemple débit maximal du bus:
 Un bus d'une largeur de 16 bits, cadencé à une
fréquence de 133 MHz:
 16 * 133.106 = 2128*106 bit/s = 266 Mo/s
Sous-ensemble de bus
 Le bus d'adresses (appelé parfois bus d'adressage ou
bus mémoire) transporte les adresses mémoire auxquelles
le processeur souhaite accéder pour lire ou écrire une
donnée. Il s'agit d'un bus unidirectionnel.

 Le bus de données véhicule les instructions en


provenance ou à destination du processeur. Il s'agit d'un
bus bidirectionnel.

 Le bus de contrôle (parfois bus de commandes)


transporte les ordres et les signaux de synchronisation en
provenance de l’unité de commande et à destination de
l'ensemble des composants matériels. Il s'agit d'un bus
directionnel dans la mesure où il transmet également les
signaux de réponse des éléments matériels.
Principaux bus
 le bus système (appelé aussi bus interne). Le bus
système permet au processeur de communiquer avec la
mémoire centrale du système

 le bus d'extension (parfois appelé bus d'entrée/sortie)


permet aux divers composants de la carte-mère (USB,
série, parallèle, cartes branchées sur les connecteurs PCI,
disques durs, lecteur/graveur de CD-ROM…) de
communiquer entre eux mais il permet surtout
l'ajout de nouveaux périphériques grâce aux
connecteurs d'extension (appelés slots) connectés
sur le bus d'entrées-sorties.
Slots:
 des prises qui sont présentes sur la carte
mère. Ces connecteurs sont prévus pour
recevoir des cartes qui conviennent à ces
différents standards.
 Ce qui différencie ces trois types de cartes
c'est leur rapidité. Dans l'ordre, du plus
lent au plus rapide :
 Les cartes au format ISA
 Les cartes au format PCI
 Les cartes au format AGP
Norme Largeur du bus (bits) Vitesse du bus (MHz) Bande passante (Mo/sec)

ISA 8-bit 8 8.3 7.9

ISA 16-bit 16 8.3 15.9

EISA 32 8.3 31.8

VLB 32 33 127.2

PCI 32-bit 32 33 127.2

PCI 64-bit 2.1 64 66 508.6

AGP 32 66 254.3

AGP(x2 Mode) 32 66x2 528

AGP(x4 Mode) 32 66x4 1056

AGP(x8 Mode) 32 66x8 2112

ATA33 16 33 33

ATA100 16 50 100

ATA133 16 66 133

Serial ATA (S-ATA) 1   180

Serial ATA II (S-ATA2) 2   380

USB 1   1.5

USB 2.0 1   60

Firewire 1   100

Firewire 2 1   200

SCSI-1 8 4.77 5

SCSI-2 - Fast 8 10 10

SCSI-2 - Wide 16 10 20

SCSI-2 - Fast Wide 32 bits 32 10 40

SCSI-3 - Ultra 8 20 20

SCSI-3 - Ultra Wide 16 20 40

SCSI-3 - Ultra 2 8 40 40

SCSI-3 - Ultra 2 Wide 16 40 80

SCSI-3 - Ultra 160 (Ultra 3) 16 80 160

You might also like