Académique Documents
Professionnel Documents
Culture Documents
H. AMIRY 02/11/2019 2
PLAN
Introduction du module
H. AMIRY 02/11/2019 3
Introduction du module: Définitions
Informatique
H. AMIRY 02/11/2019 4
Introduction du module : Définitions
Ordinateur ?????
Ensemble de circuits électroniques
bits (0 ou 1).
sorties.
H. AMIRY 02/11/2019 5
Introduction du module : Utilisation des ordinateurs
Système d'exploitation
Programme
Suite d'instructions dans un langage donnée, définissant un traitement exécutable par un ordinateur
• programmes systèmes
• programmes d'application
Programmation
A partir d'un problème donne, réaliser un programme (langages de programmation machine) dont
l‘exécution apporte une solution satisfaisante au problème posé
H. AMIRY 02/11/2019 6
Partie 1: Systèmes de numération
Objectifs:
• Représenter des nombres entiers dans diverses représentations classiques (M&S, Cà1, Cà2).
H. AMIRY 02/11/2019 7
Partie 1: Systèmes de numération
Plan 1. Le système binaire
2. Le système décimal
3. Le système octal
4. Le système hexadécimal
5. Passage de la base 2, 8, 16 à la base 10
6. Passage de la base 10 à la base 2, 8, 16
7. Passage de l’octal au binaire
8. Passage de l’hexadécimal au binaire
9. L'arithmétique binaire
10. Les nombres négatifs et les nombres réels
11. Différentes représentations relatives aux données
H. AMIRY 02/11/2019 8
Systèmes de numération
Instructions
Données
• Nombres (entiers, réels)
• Images
• Vidéos
• Sons
• etc.
H. AMIRY 02/11/2019 9
Systèmes de numération
Définition
Tel que:
b: base du système de numération.
ai: symbole du système, i = 0, … , n-1. avec . ai < b
H. AMIRY 02/11/2019 11
Systèmes de numération
Exemple:
• N1 = (19017)10
En Décimal, avec: a4= 1, a3= 9, a2= 0, a1= 1, a0= 7.
On remarque que les ai sont tous inférieurs à la base 10 (ai < 10).
• N2 = (1011101)2
En Binaire, avec: a6= 1, a5= 0, a4= 1, a3= 1, a2= 1, a1= 0, a0= 1 (ai < 2).
• N3 = (1370)8
En Octal, avec: a3= 1, a2= 3, a1= 7, a0= 0 (ai < 8).
• N4 = (A9120)16
En Hexadécimal, avec: a4= A, a3= 9, a2= 1, a1= 2, a0= 0 (ai < 16).
• N5 = (18095)8
La notation N5 = (18095)8 n’est pas correcte, car tous les chiffres doivent être inférieurs à 8
(ai < 8) ce qui n’est pas le cas pour le 2ième chiffre et aussi pour le 4ième (a1= 9 > 8) et (a3= 8).
H. AMIRY 02/11/2019 12
1. Le système binaire
20
H. AMIRY 02/11/2019 14
3. Le système octal
(540371) 8
• La base du système octal est 8.
• En octal, les nombres sont représentés sous forme de 1 x 80
combinaisons de chiffres parmi les suivants: 0, 1, 2, 3, 4, 5, 6, et 7. 7 x 81
3 x 82
0 x 83
4 x 84
5 x 85
H. AMIRY 02/11/2019 15
4. Le système hexadécimal
H. AMIRY 02/11/2019 16
5. Passage de la base 2, 8, 16 à la base 10
• L’exemple suivant illustre la méthode de conversion, en décimal, d’un nombre exprimé dans une
base b quelconque.
Soit N = (an-1 an-2 an-3………..a0)b
• Pour avoir la représentation en décimal du nombre N exprimé dans une base b quelconque, il suffit
d’effectuer le calcul suivant:
1 0 2 3
Puis, on multiplie chaque chiffre ai de poids i par la base b élevée à la puissance i. (ai * bi )
N = 1 * 43 + 0 * 42 + 2 * 41 + 3 * 40
= 64 + 0 + 8 + 3
= 75.
Ainsi, nous avons: N = (1023)4 = (75)10
H. AMIRY 02/11/2019 18
5. Passage de la base 2, 8, 16 à la base 10
• Exemple 2 : Soit à convertir en décimal, le nombre N exprimé en binaire comme suit: N = (10111001)2
Les poids des chiffres:
1 0 1 1 1 0 0 1
Ainsi, le nombre N en décimal est calculé comme suit:
N = 1 * 27 + 0 * 26 + 1 * 25 + 1 * 24 + 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20
= 128 + 0 +32 + 16 + 8 + 0 + 0 + 1
= 185.
D’où: N = (10110101)2 = (185)10
H. AMIRY 02/11/2019 19
5. Passage de la base 2, 8, 16 à la base 10
H. AMIRY 02/11/2019 20
6. Passage de la base 10 à la base 2, 8, 16
Pour exprimer en binaire, un nombre Les étapes à suivre sont les suivantes:
exprimé dans une base b, on dispose
soit Xi: le résultat de la division.
d’une méthode par divisions successives.
ri: le reste de la division n°i.
Conversion par division successives
1) Effectuer la division X / b = X0 et le reste r0
Soit X un nombre exprimé dans la base
si X0 = 0 alors aller à 3)
10. Pour l’exprimer dans une autre base b,
sinon aller à 2)
il suffit d’effectuer des divisions
2) Effectuer la division Xi / b = Xi+1 et le reste ri+1
successives sur b jusqu’à l’obtention d’un
si Xi+1 = 0 alors aller à 3)
résultat nul.
sinon aller à 2)
3) Arrêter la division. Le résultat est (X)10 = (rm rm-1 … r1r0 )b
H. AMIRY 02/11/2019 21
6. Passage de la base 10 à la base 2, 8, 16
Exemple:
H. AMIRY 02/11/2019 22
7. Passage de l’octal au binaire
La base 8 est une puissance de la base 2. Pour convertir un nombre octal en binaire, on possède
comme suit:
• On a 8 = 23 cela veut dire que pour représenter un seul chiffre octal en binaire, il faut utiliser 3 bits.
• Ainsi, la représentation des chiffres de la base 8 en binaire est la suivante:
H. AMIRY 02/11/2019 23
7. Passage de l’octal au binaire
Pour trouver l’équivalent binaire de ce nombre octal, il suffit de trouver l’équivalent binaire de
chaque chiffre octal.
H. AMIRY 02/11/2019 24
8. Passage de l’hexadécimal au binaire
H. AMIRY 02/11/2019 25
8. Passage de l’hexadécimal au binaire
Pour trouver l’équivalent binaire de ce nombre hexadécimal, il suffit de trouver l’équivalent binaire
de chaque chiffre hexadécimal.
H. AMIRY 02/11/2019 26
9. L'arithmétique binaire
Addition
• 60+17 en base 2
11 1 1 1 0 0
+ 0 1000 1
1 00 1101
77
• 25 + 24 + 23 + 22 = 32 +16 + 8 + 4 = (60)10
• 24 + 20 = 16 + 1= (17)10
• 26 + 23 + 22 + 20 = 64 + 8 + 4 + 1 = (77)10
H. AMIRY 02/11/2019 27
9. L'arithmétique binaire
Soustraction
• 8-1 en base 2
1 10 10 10
- 01 01 01 1
0 1 1 1
7
• 23 = (8)10
• 20 = (1)10
• 22 + 21 + 20 = 4 + 2 + 1 = (7)10
H. AMIRY 02/11/2019 28
9. L'arithmétique binaire
Multiplication
7*5 en base 2
111
*101
111
1 1 01 0 0 .
1 1 1 . .
100 011
35
• 22 + 21 + 20 = 4 + 2 + 1 = (7)10
• 22 + 20 = 4+ 1=(5)10
• 25 + 21 + 20 = 32+ 2+ 1 = (35)10
H. AMIRY 02/11/2019 29
9. L'arithmétique binaire
Division
• 37/5 en base 2
100101 101
100101 -000 00111
/ 101 100
000111 - 000
1001
7 - 101
• Tapez une équation ici. 1000
- 101
• 25 + 22 + 20 = 32+ 4+ 1 = (37)10
0111
• 22 + 20 = 4+ 1= (5)10 - 101
• 22 + 21 + 20 = 4 + 2 + 1 = (7)10 010
H. AMIRY 02/11/2019 30
10. Les nombres négatifs et les nombres réels
Décimal négatif binaire
H. AMIRY 02/11/2019 31
10. Les nombres négatifs et les nombres réels
Addition (ADD) et soustraction (SUB)
H. AMIRY 02/11/2019 32
10. Les nombres négatifs et les nombres réels
• Virgule fixe: dn-1 dn-2 dn-3 ….. d2 d1 d0 , d-1 d-2 d-m avec n et m fixe
• Un nombre qui s'exprime en base B par 3 bits avec n=2 et m=1 le chiffres 101 s'analyse : 1*B1 + 0*B0 +1*B-1
H. AMIRY 02/11/2019 33
10. Les nombres négatifs et les nombres réels
Conversion chiffre réel décimal Binaire
• Pour la partie entier il faut faire une diversion successive des quotients sur 2 puis écrire les
restes en commençant par le dernier: 77,7510
• Pour la partie réel il faut faire une multiplication successive des parties réel par 2 puis écrire
la suite de la partie entier en commençant par le premier.
• 0,75*2=1,5
• 0,5*2 =1
• on binaire 0,11 (1*2 -1 +1*2 -2 =0,5 + 0,25 = 0,75) Résultat 77,7510 = 01001101,112
H. AMIRY 02/11/2019 34
10. Les nombres négatifs et les nombres réels
Réel négatif (virgule fixe)
• Pour les valeurs négatives ont utilisent les mêmes règles de représentations vu avant M&S, Cà1 et Cà2
Exemple pour n=3 et m=2:
0 0 1 1 0 6 1,5 0 0 1 1 0 6 1,5
+ 1 1 0 1 1 -5 -1,25 - 0 0 1 0 1 5 1,25
0 0 0 0 1 1 0,25 0 0 0 0 1 1 0,25
• Pour d’autres n et m fixes, la même opération à différentes interprétations selon les valeurs de n et m.
H. AMIRY 02/11/2019 35
10. Les nombres négatifs et les nombres réels
Réel négatif (virgule flottant): Notation exponentielle
Exposant
-3
- 0 . 9 8 7 6 x 10
Signe de
Signe de Position du l’exposant
la mantisse point décimal Mantisse
Base
Base de système du nombre!
H. AMIRY 02/11/2019 36
10. Les nombres négatifs et les nombres réels
Réel négatif (virgule flottant): Représentation normalisée
H. AMIRY 02/11/2019 37
10. Les nombres négatifs et les nombres réels
Réel négatif (virgule flottant): Norme IEEE 754
32 bits
Un format standardisé S C M en base 2, avec un bit caché à 1
Format simple précision: 32 bits
• Bit du signe (1 bit) Mantisse (23 bits)
• Exposant (8 bits) Exposant (8 bits)
• Mantisse (23 bits)
Signe de la mantisse (1 bit)
Format double précision: 64 bits 64 bits
• Bit du signe (1 bit)
• Exposant (11 bits)
• Mantisse (52 bits) Mantisse (52 bits)
Exposant (11 bits)
Signe de la mantisse (1 bit)
H. AMIRY 02/11/2019 38
10. Les nombres négatifs et les nombres réels
Réel négatif (virgule flottant): Norme IEEE 754
H. AMIRY 02/11/2019 40
11. Différentes représentations relatives aux données
Codage ASCII
Chaque caractère possède son équivalent en code numérique: c'est le code ASCII (American Standard Code for
Information Interchange). Le code ASCII de base représentait les caractères sur 7 bits (c'est-à-dire 128
caractères possibles, de 0 à 127).
H. AMIRY 02/11/2019 41
11. Différentes représentations relatives aux données
Cher ami, Codage ASCII
H. AMIRY 02/11/2019 42
11. Différentes représentations relatives aux données
Représentation en mémoire : texte
En informatique, un texte est une chaîne de caractères est à la fois conceptuellement une suite ordonnée de
caractères et physiquement une suite ordonnée d'unité de code (code unit exemple ASCII)
Dans une mémoire informatique, l'adresse mémoire du premier caractère est connu. Deux méthodes pour
délimiter la fin de la chaîne:
• soit elle est terminée par un caractère de fin de chaîne (zéro binaire en langage C, et on parle alors
d’ASCIIZ pour indiquer « terminé par un zéro »),
• soit le nombre de caractères est stocké en parallèle au début.
Exemple mot FRANK en mémoire avec les deux méthodes
FRANK en mémoire, délimité par un caractère nul (utilisé pour afficher en écran en DOS)
F R A N K NUL k e f w
46 52 41 4E 4B 00 6B 65 66 77
FRANK en mémoire stocké avec la longueur (utilisé pour lire de clavier en DOS)
longueur F R A N K k e f w
05 46 52 41 4E 4B 6B 65 66 77
H. AMIRY 02/11/2019 43
11. Différentes représentations relatives aux données
Codage de Huffman
• Consiste a remplacer les caractères les plus fréquents par des codes courts et les caractères les
moins fréquents par des codes longs.
H. AMIRY 02/11/2019 44
11. Différentes représentations relatives aux données
• exemple : "recherchechatchatain"
Codage de Huffman
1. Construction du tableau :Il faut compter tout d’abord tous les caractères du fichier a coder et affecter a chacun
d’entre eux son ≪ poids ≫ d’apparition. On obtient alors un tableau ou chaque case correspond a un caractère et
son poids, tout étant range dans l'ordre du codage ASCII (ordre alphabétique)
Caractère a c e h i n r t
poids 3 4 3 4 1 1 2 2
2. Construction de l'arbre: Chacune des cellules du tableau sera une feuille de cet arbre. Pour compléter cet
arbre, il faut associer les feuilles (caractères ensemble). Dans chaque étape on va associer les caractères ayant
le plus petit poids pour former un nouveau nœud.(chercher la plus petite somme de deux poids possible)
• Ainsi, on commence par choisir les deux caractères ayant les ≪ poids ≫ les plus faibles. En cas d'égalité
entre différents ≪ poids ≫, on choisit en priorité le premier caractère dans l'ordre correspondant au codage
ASCII.
• Apres cela, on ajoute un nœud à l'arbre avec la somme des deux poids des (feuilles) caractères (ou nœud)
choisis précédemment.
• On réitère le processus en considérant l'arbre obtenu. En cas d'égalité entre différents ≪ poids ≫, on choisit
en priorité une somme de deux feuilles que une somme de feuille-nœud selon l'ordre correspondant au
codage ASCII.
• Ensuite, on refait ainsi pour tous les caractères suivants jusqu'au dernier.
3. Association bits/lettres : Une fois l'arbre termine on va associer un bit aux branches de l’arbre, c'est-a-dire que
l’on va choisir, par convention, que les branches de gauche correspondent a 0 et que les branches de droite correspo
H. AMIRY 02/11/2019 45
11. Différentes représentations relatives aux données
Codage de Huffman
• Exemple : "recherchechatchatain" 2 Construction de l'arbre (suit exemple):
1) poids 1+1>=1 deux nœuds successives de 1 2) poids 2+2 >=2 deux nœuds successives de 2
3) poids 2+3 >=3, on ajout le 1er nœud dans 4) poids 4+3>=5 , le plus proche dans l’ordre ASCI
l'ordre ASCI nœud (a) au racine 2 sont (c) et (e)
cacher
cacher
cacher
cacher
H. AMIRY 02/11/2019 46
11. Différentes représentations relatives aux données
Codage de Huffman
• Exemple : "recherchechatchatain" 3 Association bits/lettres(suit exemple):
caractère code
a3 101
c4 111
e3 110
h4 00
i1 1000
n1 1001
r2 010
t2 011
H. AMIRY 02/11/2019 49
Partie 2: Architecture des ordinateurs
Objectifs:
• Maitriser les bases de l’algèbre booléenne.
• Faire la synthèse et l'analyse d'une circuit logique.
• Connaitre les circuits logiques les plus importants.
• Appréhender les principes des circuits séquentiels et des bascules.
• Décrire l'organisation interne des ordinateurs.
• Modéliser le fonctionnement des ordinateurs.
• Connaitre la pyramide des types de mémoires informatique.
• Comparer les mémoires suivant différents critères et caractéristiques.
• Percevoir les principes des technologies sous-jacentes aux mémoires vives, et disques
magnétiques.
H. AMIRY 02/11/2019 50
Partie 2: Architecture des ordinateurs
Plan
1. Circuits logiques
4. Langage machine
H. AMIRY 02/11/2019 51
Partie 2: Architecture des ordinateurs
Introduction
L'ordinateur est un dispositif électronique qui traite l'information mise sous forme d'impulsions
Plus fondamentalement, les opérations sont composées d'opérations logiques qui sont
Une porte est en fait un circuit combinatoire à une ou plusieurs entrées et à au moins une
sortie. Les conditions aux entrées d'une porte déterminent l'état des sorties.
H. AMIRY 02/11/2019 52
Partie 2: Architecture des ordinateurs
Introduction
Il existe trois portes de base correspondant aux trois opérations logiques: OU, ET, NON.
On dit que les portes OU, ET, NON sont des opérateurs booléens, parce qu'ils impliquent ou
traitent des variables booléennes, c'est à dire des variables logiques qui ne peuvent prendre que
deux valeurs: 0 et 1.
Le terme booléen vient du nom du mathématicien anglais George Boole (1815-1864), qui fit une
analyse mathématique de la logique.
L'ensemble des règles relatives au traitement des variables booléennes est appelé algèbre de
Boole.
H. AMIRY 02/11/2019 53
1. Circuits logiques
Tout ordinateur est conçu à partir de circuits intégrés qui ont tous une fonction spécialisée.
Les circuits intégrés sont fait à partir de circuits logiques dont le but est d’exécuter des opérations
H. AMIRY 02/11/2019 54
1. Circuits logiques
Circuits combinatoires
H. AMIRY 02/11/2019 55
1. Circuits logiques
Circuits séquentiels ou à mémoire
H. AMIRY 02/11/2019 56
1. Circuits logiques: combinatoires
Conception d’un circuit logique
A. Identifier les entrées et les sorties (IN / OUT) du circuit + Construire la table de vérité.
C. Simplification de la fonction.
H. AMIRY 02/11/2019 57
1. Circuits logiques: combinatoires
A. Identifier les entrées et les sorties (IN / OUT) du circuit + Construire la table
de vérité.
• Ecrire sur une première ligne le nom des variables d'entrée et de la variable de sortie.
• Diviser le tableau en un nombre de colonnes égal au total des entrées et de la sortie. Ainsi, la table
de vérité d'une fonction logique à deux entrées aura trois colonnes (deux pour les entrées et une
pour la sortie).
• Déterminer le nombre de combinaisons possibles à l'aide des variables d'entrées. Ce nombre est
égal à deux exposant le nombre d'entrées. Par exemple, avec trois entrées, il y aura 23 = 8
combinaisons possibles.
• Tracer des lignes horizontales dont le nombre est égal au nombre de combinaisons possibles.
• Inscrire dans la colonne "sortie" la valeur de la fonction pour chaque combinaison 1 ou 0 ou - si la
valeur est indéterminé
a b F
Exemple: tables de vérité de addition 0 0 0
arithmétique a+b 0 1 1
1 0 1
1 1 1
H. AMIRY 02/11/2019 58
1. Circuits logiques: combinatoires
B. Identifier la fonction à partir de la table de vérité
Il est possible d'exprimer toute fonction logique a l'aide des operateurs NON, ET, OU.
Minterm (1èr forme canonique) : dans un terme produit où chaque variable est présente une fois
exactement.
Maxterm (2ème forme canonique) : dans un terme somme où chaque variable est présente une
fois exactement.
H. AMIRY 02/11/2019 59
1. Circuits logiques: combinatoires
B. Identifier la fonction à partir de la table de vérité
Méthodes des minterms et des maxterms
H. AMIRY 02/11/2019 60
1. Circuits logiques: combinatoires
C. Simplification de la fonction: la méthode algébrique
• Associativité
Comme avec les opérations habituelles: • Éléments neutres
• Absorption
• Commutativité : L'ordre est sans importance:
• Simplification
• Distributivité
H. AMIRY 02/11/2019 61
1. Circuits logiques: combinatoires
C. Simplification de la fonction: la méthode algébrique
• Exemple
H. AMIRY 02/11/2019 62
1. Circuits logiques: combinatoires
C. Simplification de la fonction: la méthode de Karnaugh
Pour les tables a 4 variables, il faut de préférence procéder dans l'ordre suivant :
• les rectangles 8 cases, puis
• les rectangles 4 cases, puis
• les rectangles 2 cases, et enfin
• les cases uniques.
Dans l'exemple ci-contre : on peut former un rectangle de 8
cases (en bleu), puis un carre de 4 (en vert) et enfin on peut
rassembler les deux 1 restants dans un groupe de 4 (en rouge).
H. AMIRY 02/11/2019 63
1. Circuits logiques: combinatoires
Exemple A : Tableau de Karnaugh :
H. AMIRY 02/11/2019 64
1. Circuits logiques: combinatoires
Tableau de Karnaugh :
Exemple B :
H. AMIRY 02/11/2019 65
1. Circuits logiques: combinatoires
D. Dessiner le schéma du circuit (logigramme)
H. AMIRY 02/11/2019 66
1. Circuits logiques: combinatoires
D. Dessiner le schéma du circuit (logigramme)
Représenter une fonction logique sous la forme d'un logigramme revient à réaliser son schéma de câblage à l'aide
des portes logiques.
Exemple1: f1=ab+cd
H. AMIRY 02/11/2019 67
1. Circuits logiques: combinatoires
Exemple 1:
Simplification algébrique:
Simplification par tableau
de Karnaugh :
H. AMIRY 02/11/2019 68
1. Circuits logiques: combinatoires
Exemple 2:
H. AMIRY 02/11/2019 69
1. Circuits logiques: combinatoires
Exemple 3:
H. AMIRY 02/11/2019 70
1. Circuits logiques: combinatoires
Exemple 4:
Simplification par tableau de Karnaugh :
H. AMIRY 02/11/2019 71
1. Circuits logiques: combinatoires
Exemple 5:
H. AMIRY 02/11/2019 72
1. Circuits logiques: combinatoires
Exemple 6: cas indéterminé
Tableau de Karnaugh :
H. AMIRY 02/11/2019 73
1. Circuits logiques: combinatoires
Fonctionnement des portes logiques: Inverseur
• Décharge et charge de la capacité de sortie d’un
inverseur
• Si E=0 S=5V après le temps de charge
• Si E=5V S=0V après le temps de décharge
H. AMIRY 02/11/2019 74
1. Circuits logiques: combinatoires
Structure interne de différentes portes de base
H. AMIRY 02/11/2019 75
1. Circuits logiques: combinatoires
Exemple 1 : Multiplexeur
X entrées, 1 sortie.
la sortie f prend la valeur de l’une des entrées
Son rôle consiste à sélectionner, à l’aide de signaux de
commande, une des entrées et à la lier à la sortie.
H. AMIRY 02/11/2019 76
1. Circuits logiques: combinatoires
Exemple 2: Démultiplexeur
• 1 entrée, X sorties
• Selon une adresse s (n bits), une seul des X sorties prend la valeur de l’entrée
H. AMIRY 02/11/2019 78
1. Circuits logiques: combinatoires
Exemple 4: Encodeur
• Active un code selon l’une des X entrées actives
• 2n entrées, 1 entrée active (valeur 1), les autres sont toutes désactivées (valeur 0)
• Sortie : sur n bits
H. AMIRY 02/11/2019 79
1. Circuits logiques: combinatoires
Exemple 5: Additionneur
• Le circuit logique associé est donc constitué de deux portes, un OU exclusif pour le résultat et
un ET pour la retenue.
• Comme ce circuit ne tient pas compte d’une retenue propagée depuis le rang inférieur.
H. AMIRY 02/11/2019 80
1. Circuits logiques: combinatoires
Exemple 5: Additionneur
H. AMIRY 02/11/2019 81
1. Circuits logiques: combinatoires
Exemple 5: Additionneur
• L’additionneur n bits est obtenu en chaînant entre eux un demi-additionneur et n-1 additionneurs
1 bit complets
• Le chaînage s’effectue par le biais des retenues propagées
H. AMIRY 02/11/2019 82
1. Circuits logiques: séquentiels
Circuits séquentiels ou à mémoire
• Circuits combinatoires
– Les sorties ne dépendent que des valeurs des entrées
• Circuits séquentiels
– Ajout des notions d'état et de mémoire
– Ajout de la notion de temps (horloge)
• Les valeurs de sorties du circuit dépendent:
– Des valeurs en entrée
– De valeurs calculées précédemment
– De l'état dans lequel on se trouve
• Théories utilisées pour étudier/spécifier les différents types de circuits
– Circuits combinatoires : algèbre de Boole
– Circuits séquentiels : théorie des automates finis
H. AMIRY 02/11/2019 83
1. Circuits logiques: séquentiels
Principe de fonctionnement
Particularité de ce circuits
– La sortie S du circuit est réinjectée à l’entrée du circuit
– Rétroaction
– L’état de sortie du circuit influencé par l’état antérieur
La table de vérité
L’état pour lequel X1=0 et X2=1 correspond à l’état de mémorisation du circuit séquentiel
H. AMIRY 02/11/2019 84
1. Circuits logiques: séquentiels
Exemple 1: Bascule Bistable
H. AMIRY 02/11/2019 85
1. Circuits logiques: séquentiels
Exemple 2: Bascule RS
• 2 entrées : R et S ; R = reset : remise à 0 de Q; S = set : mise à 1 de Q.
• 1 sortie: Q qui correspond à l'état stocké.
H. AMIRY 02/11/2019 86
1. Circuits logiques: séquentiels
Exemple 3: Bascule JK
H. AMIRY 02/11/2019 87
2. Les composants matériels de l'ordinateur: introduction
H. AMIRY 02/11/2019 88
2. Les composants matériels de l'ordinateur: introduction
H. AMIRY 02/11/2019 89
2. Les composants matériels de l'ordinateur: introduction
Un ordinateur est un ensemble de composants électroniques modulaires, c'est-à-dire des composants
pouvant être remplacés par d'autres composants ayant éventuellement des caractéristiques différentes,
capables de faire fonctionner des programmes informatiques.
On parle ainsi de « hardware » pour désigner l'ensemble des éléments matériels de l'ordinateur et
de « software » pour désigner la partie logicielle.
H. AMIRY 02/11/2019 90
2. Les composants matériels de l'ordinateur: introduction
Les composants matériels d’un ordinateur architecturés autour d'une carte principale
comportant quelques circuits intégrés et beaucoup de composants électroniques tels que
condensateurs, résistances, etc. Tous ces composants sont soudés sur la carte et sont reliés par
les connexions du circuit imprimé et par un grand nombre de connecteurs : cette carte est
appelée carte mère.
H. AMIRY 02/11/2019 91
2. Les composants matériels de l'ordinateur: introduction
L'élément constitutif principal de l'ordinateur est la carte mère qui permet la
connexion de l'ensemble des éléments essentiels de l'ordinateur. Elle est logée
dans un boîtier.
Le boitier comportant des emplacements pour les périphériques de stockage
sur la face avant.
Ainsi que des boutons permettant de contrôler la mise sous tension de
l'ordinateur et un certain nombre de voyants permettant de vérifier l'état de
marche de l'appareil et l'activité des disques durs.
Sur la face arrière, le boîtier présente des ouvertures en vis-à-vis des cartes
d'extension et des interfaces d'entrée-sortie connectées sur la carte mère.
Les éléments externes au boîtier centrale sont appelés périphériques. .
Il est possible de connecter une grande diversité de périphériques sur les
interfaces d'entrée-sortie (ports séries, port parallèle, port USB, ) :
Imprimante, scanner, carte son externe, disque dur externe, Périphérique
de stockage externe.
H. AMIRY 02/11/2019 92
2. Les composants matériels de l'ordinateur: introduction
Carte mère
H. AMIRY 02/11/2019 93
2. Les composants matériels de l'ordinateur: Assemblage
1- Ouverture du boîtier 3- Installation du processeur et de l'ensemble
dissipateur thermique/ventilateur sur la carte mère
2- Installation de l'alimentation à l’intérieur du boitier 4- Installation de la mémoire vive sur la carte mère
H. AMIRY 02/11/2019 94
2. Les composants matériels de l'ordinateur: Assemblage
5- Installation de la carte mère à l’intérieur du boitier
H. AMIRY 02/11/2019 95
2. Les composants matériels de l'ordinateur: Assemblage
7- Installation du lecteur optique sur le boitier
H. AMIRY 02/11/2019 96
2. Les composants matériels de l'ordinateur: Assemblage
9- Connexion de l'alimentation à la carte mère et les autres composants
H. AMIRY 02/11/2019 97
2. Les composants matériels de l'ordinateur: Assemblage
11- Réassemblage du boîtier
H. AMIRY 02/11/2019 98
2. Les composants matériels de l'ordinateur: Le processeur
Présentation
Un processeur est un circuit intégré complexe caractérisé par une très grande intégration et doté des facultés
d'interprétation et d'exécution des instructions d'un programme.
Il est chargé d’organiser les tâches précisées par le programme et d’assurer leur exécution. Il doit aussi prendre en
compte les informations extérieures au système et assurer leur traitement.
C’est le cerveau du système. A l’heure actuelle, un processeur regroupe sur quelques millimètres carrés des
fonctionnalités toujours plus complexes.
H. AMIRY 02/11/2019 99
2. Les composants matériels de l'ordinateur: Le processeur
Architecture de base
Un processeur est constitué au minimum :
• d'une unité de commande qui coordonne le fonctionnement;
• d'une unité arithmétique et logique qui effectue les traitements;
• des registres qui permettent un stockage local.
Elle permet de séquencer le déroulement des instructions. Elle effectue la recherche en mémoire de l'instruction.
Comme chaque instruction est codée sous forme binaire, elle en assure le décodage pour enfin réaliser son exécution puis
effectue la préparation de l'instruction suivante. Pour cela, elle est composée par :
• Le compteur de programme : (en anglais Program Counter PC) appelé aussi compteur ordinal (CO). Le CO est
constitué par un registre dont le contenu représente l’adresse de la prochaine instruction à exécuter. Il est donc initialisé
avec l'adresse de la première instruction du programme. Puis il sera incrémenté automatiquement pour pointer vers la
prochaine instruction à exécuter.
• Un registre d'instruction qui mémorise l'instruction en cours d'exécution.
• Un décodeur d'instruction qui reconnait l'instruction contenue dans le registre instruction (il indique au séquenceur la
séquence de micro-commandes à réaliser pour exécuter l'instruction).
• Un séquenceur qui fournit la suite de micro-commandes (chargement, décalage,...) nécessaires au déroulement de
l'instruction. Il organise l'exécution des instructions au rythme d’une horloge.
Une instruction est l'opération élémentaire que le processeur peut accomplir. Les instructions sont
stockées dans la mémoire principale, en vue d'être traitée par le processeur. Une instruction est
• le code opérande, définissant les paramètres de l'action. Le code opérande dépend de l'opération. Il
Une mémoire est un circuit à semi-conducteur permettant d’enregistrer, de conserver et de restituer des
informations (instructions et variables).
L’ordinateur, à travers diverses composants électroniques, est capable de stocker des informations. On
pourrait grossièrement comparer ce système au cerveau humain lorsque vous recevez une information (le nom
d'une chanson) et bien vous la "stocker" dans votre cerveau. Pour l'ordinateur c'est un peu le même principe, il
est capable de se souvenir et de récupérer ces informations et d'en stocker des nouvelles. Cependant, il existe
différent type de mémoire sur un ordinateur.
Disque Dur
Une mémoire vive (RAM: Random Access Memory) désigne une mémoire où chaque information stockée
peut en tout temps être consultée, ou modifiée.
Une mémoire morte (ROM: Read Only Memory) est une mémoire où les informations ne peuvent pas être
modifiées(exp: BIOS).
Une mémoire volatile est une mémoire où les informations sont perdues lors de la mise hors tension de
l'appareil.
Une mémoire rémanente ou non volatile est une mémoire où les informations sont conservées même après
la mise hors tension de l'appareil.
Une mémoire flash est une mémoire rémanente dont le contenu peut être intégralement effacé en une seule
opération. Les premières mémoires de ce type pouvaient être effacées par une exposition à l'ultraviolet.
Grande vitesse
Faible capacité
Volatile
Généralement de type SRAM, Le bit mémoire d'une RAM statique (SRAM) est composé d'une bascule.
Chaque bascule contient entre 4 et 6 transistors.
La mémoire centrale est l'organe principal de rangement des informations utilisées par le CPU. Elle contient les
instructions et les données lors de l’exécution d'un programme :
Vitesse moyenne
Capacité moyenne
Volatile
Mémoire a semi-conducteurs
SRAM, DRAM, …
Soit la donnée ou l’instruction n’est pas dans le cache, et le contrôleur de cache envoie alors une requête à la mémoire
principale. Une fois l’information récupérée, il la renvoie au microprocesseur tout en la stockant dans le cache.
Système
d’exploitation
Utilitaires Utilisateurs
Gestion
de la
mémoire Gestion des Logiciels et
processus progiciels
Gestion
des données Gestion des
et des fichiers communications
Disque
Câble
réseau
• Configuration système
• Compatibilité matérielle et logicielle
• Stratégie de partitionnement de disque
• Formatage et Stratégie de système de fichiers
• Emplacement d’installation
Le langage machine ou code machine est la suite de bits qui est interprétée par le processeur
de l’ordinateur lors de l’exécution d’un programme. C’est le langage natif du processeur, et le seul qui soit
reconnu par celui-ci. Chaque processeur possède son propre langage machine. Si un processeur A est
capable d’exécuter toutes les instructions du processeur B, on dit que A est compatible avec B. L’inverse
n’est pas forcément vrai, A peut avoir des instructions supplémentaires que B ne connaît pas.
Nous définissons un microprocesseur simplifié que nous appellerons MP0. Il saura exécuter des
programmes dans un langage machine, également simplifié, appelé LM0. MP0 ne possède que des
registres huit bits (c’est bien trop peu pour un vrai microprocesseur). Il ne peut donc que manipuler des
octets et accéder à des adresses de 0 à 255.
• Par exemple, MOVE (transfert), ADD (addition), SUB (soustraction), JMP (saut), etc.
• On ajoutera l’opérande après le nom symbolique. Par exemple, JMP #120. S’il y a deux opérandes,
on les séparera avec une virgule. Par exemple, MOVE #100, D0.
• L’instruction MOVE permet de transférer un octet d’un emplacement (registre ou case mémoire) à
un autre
• Syntaxe : MOVE source, destination. Attention, “ source ” ou “ destination ” est nécessairement un
registre parmi D0, D1, A0, A1
• Par exemple :
MOVE #10, A1 (on place la valeur - représentant une adresse - 10 dans le registre A1)
MOVE D0, 123 (on place la valeur contenue dans D0 à l’adresse 123)
MOVE (A0), (A1) (on place la valeur se situant l’adresse contenue dans A0 dans la case
mémoire dont l’adresse est contenue dans A1)
MOVE #10,110 n’est pas valide. On doit faire MOVE #10,D0 puis MOVE D0,110.
• Les instructions PSH et POP respectivement empile et dépile un octet grâce au registre PP
• L’instruction PSH décrémente PP et place la valeur de l’opérande à l’adresse pointée par PP.
• Ainsi l’instruction PSH source est équivalent à la séquence d’instructions MOVE source, (PP) puis
SUB #1, PP
• L’instruction POP place la valeur pointée par PP dans l’opérande et incrémente PP.
• Ainsi l’instruction POP dest est équivalent à la séquence d’instructions ADD #1, PP puis MOVE (PP),
dest
Les opérations arithmétiques et logiques permettent d’effectuer les calculs élémentaires (addition,
soustraction, multiplication, etc.) ainsi que l’évaluation des conditions booléennes (conjonction,
disjonction, négation, test de comparaison, etc.). Les opérations arithmétiques et logiques permettent
la modification de la valeur de l’unique opérande ou bien le calcul d’une valeur à partir de deux
opérandes. Dans le langage simplifié LM0, le résultat du calcul remplace la valeur de la deuxième
opérande. Par exemple, “ ADD D0, D1 ” effectue la somme (“ ADD ” pour “ addition ”) des valeurs de
D0 et D1, et place le résultat dans D1. Le résultat d’une opération affecte les bits Z et N du registre
d’état de la façon habituelle (i.e., Z prend la valeur 1 si le résultat de l’opération est nul, et N prend la
valeur 1 si le résultat de l’opération est négatif).
• L’addition : ADD source, destination. On effectue l’addition de source et de destination, et le résultat est placé
dans destination
• La soustraction : SUB source, destination. On soustrait source à destination, le résultat est placé dans
destination
• La multiplication : MUL source, destination. La valeur de “ destination × source ” est placée dans destination
• La division entière : DIV source, destination. On effectue la division entière de destination par source,
destination prend alors comme valeur le résultat de ce calcul
• Exemples : SUB #3, D0 : si D0 contenait 5, D0 passe à 2 ; DIV #5, D0 : si D0 contenait 18, D0 passe à 3.
• La destination doit être un registre car on va y stocker une valeur
Les opérations logiques sont des opérations binaires : on travaille donc directement sur les
représentations binaires.
• La négation : NOT destination. Cette opération transforme le contenu de destination en substituant
chaque bit à 0 de destination en un bit à 1, et réciproquement pour les bits à 1. Le résultat final est
stocké dans destination. Par exemple, “ NOT D0 ” : si D0 contenait 55, D0 passe à 200.
• La conjonction : AND source, destination. Cette opération réalise la conjonction bits-à-bits selon la
règle “ 0 AND x = x AND 0 = 0 ” quel que soit la valeur du bit x, et “ 1 AND 1 = 1 ”. Par exemple, “
AND #179, D0 ” : si D0 contenait 241, D0 passe à 177.
• La disjonction : OR source, destination. Cette opération réalise la disjonction bits-à-bits selon la
règle “ 1 OR x = x OR 1 = 1 ” quel que soit la valeur du bit x, et “ 0 OR 0 = 0 ”. Par exemple, “ OR
#179, D0 ” : si D0 contenait 241, D0 passe à 243.
L’instruction suivante
“x=3*y+5;”
MOVE 101, D0
MUL #3, D0
ADD #5, D0