Telechargé par ts

introduction pic

publicité
Les Microprocesseurs – Vue Historique
1690 : Pascal invente la machine à calculer entièrement
mécanique (addition et soustraction)
1800 : Jacquart invente le métier à tisser avec cartes
perforées.
1810 : Invention de l'orgue de barbarie (succession de
cartes perforées).
1940 : Premier ordinateur à relais mécaniques (Navy)
1946 : Premier ordinateur à tubes à vide (1800). (grande
dissipation : 150 kw, problème de rendement et de
fiabilité)
1948 : Progrès de la physique quantique avec découverte
de l'effet transistor.
1950 : Réalisation des premières mémoires à ferrites.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
1
Les Microprocesseurs – Vue Historique
1958 : Développement du premier circuit intégré (4 à 5
tr/puce).
1964 : Ordinateur à transistors (à base de circuits TTL : 50
transistors dans une puce)
1970 : Premiers circuits L.S.I.- naissance du premier
microprocesseur 4 bits avec 1000 transistors sur une puce.
1975 : Naissance du microprocesseur Motorola 6800 (8 bits) .
1980 : Apparition du microprocesseur 16 bits avec 50000
transistors sur la puce.
1984 : Apparition du microprocesseur 32 bits avec un million
de transistor sur la puce.
1994 : Apparition du Pentium avec 3,5 millions de transistors.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
2
Les Microprocesseurs – Vue Historique
1971 :
le premier microprocesseur d'Intel
4 bits et d'une puissance faible
l'idée de le transformer en calculatrice fut trouvée.
1978 :
arrivée du 8088 multiplie déjà la puissance de calcul
par 200
naissance des véritables micro-ordinateurs
Ensuite :
Arrivée des microprocesseurs 68000 et 80286 (16 bits)
avec Macintosh et P.C.
Introduction de l'image et du son.
Ensuite :
C’est la course à la puissance de calcul.
Chaque bond
technologique
apporte son innovation.
presentation
préparée par T.S
3
3/10/2019
© tous droits resrvés ©
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
4
LOGIQUE CABLEE
Les premiers automatismes étaient réalisés à partir
de la logique câblée. Les systèmes à logique câblée
sont conçus à l'aide de circuits intégrés logiques.
Certains de ces circuits font appel à :
La logique combinatoire où les sorties sont
définis uniquement à partir des variables d'entrée.
D’autres font appel à la logique séquentielle où
les sorties dépendent toujours des entrées mais
aussi des états antérieurs.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
5
LOGIQUE PROGRAMMEE
Le microprocesseur donne naissance au principe de la
logique programmée.
Le fonctionnement n'est plus défini par un ensemble de
circuits logiques, câblés entre eux, mais par une suite
ordonnée d'instructions stockées en mémoire et gérées
par cet élément.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
6
LOGIQUE PROGRAMMEE
Un programme qui réalise une fonction particulière
comprend Une suite d‘instructions.
Chaque instruction est constituée de plusieurs
microinstructions.
Chaque micro-instruction génère plusieurs microcommandes destinées à aiguiller correctement les
informations.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
7
LOGIQUE PROGRAMMEE
les phases sont commandées par une logique
séquentielle synchrone.
Les micro-instructions sont stockées sous forme de mots
dans une mémoire.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
8
l’architecture interne des microprocesseurs
Qu’est-ce qu’un microprocesseur ?
noté aussi :
ou
MPU (Microprocessor unit)
CPU (Central Processing Unit)
C’est un circuit intégré complexe appartenant à la
famille des VLSI (Very Large Scale Intégration) capable
d'effectuer séquentiellement et automatiquement des
suites d'opérations élémentaires.
Il est constitué d’un morceau de silicium dopé. Donc un
ensemble de millions/milliards de transistors.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
9
l’architecture interne des microprocesseurs
3/10/2019
C’est un Wafer - Galette de plusieurs processeurs –
chaque processeur est
de quelques
millimètres
carrés
presentation
préparée par
T.S
© tous droits resrvés ©
10
l’architecture interne des microprocesseurs
Construit autour de 2 éléments principaux :
Une unité de commande
Une unité de traitement
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
11
l’architecture interne des microprocesseurs
L’unité de commande et ses blocs
Elle permet de séquencer le déroulement
des instructions.
Elle effectue la recherche en mémoire de
l'instruction, le décodage de l’instruction
codée sous forme binaire.
Enfin elle pilote l’exécution de l’instruction.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
12
l’architecture interne des microprocesseurs
L’unité de commande et ses blocs
Le compteur de programme (PC :
Programme Counter) appelé aussi
Compteur Ordinal (CO):
constitué par un registre dont le contenu
est initialisé avec l'adresse de la
première instruction.
Il contient toujours l’adresse de la
prochaine instruction à exécuter.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
13
l’architecture interne des microprocesseurs
L’unité de commande et ses blocs
Le registre d'instruction et le décodeur
d'instruction :
Chacune des instructions à exécuter est
transférée depuis la mémoire dans le
registre instruction puis est décodée par
le décodeur d’instruction.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
14
l’architecture interne des microprocesseurs
L’unité de commande et ses blocs
Bloc logique de commande (ou
séquenceur) :
Il organise l'exécution des instructions
au rythme d’une horloge.
Il élabore tous les signaux de
synchronisation internes ou externes
(bus de commande) du microprocesseur
en fonction de l’instruction qu’il a à
exécuter.
Il s'agit d'un automate réalisé de façon
microprogrammée.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
15
l’architecture interne des microprocesseurs
L’unité de traitment et ses blocs
Elle regroupe les circuits qui
assurent les traitements
nécessaires à l'exécution des
instructions
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
16
l’architecture interne des microprocesseurs
L’unité de traitment et ses blocs
Les accumulateurs
sont des registres de travail qui servent à
stocker une opérande au début d'une
opération arithmétique et le résultat à la
fin de l'opération.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
17
l’architecture interne des microprocesseurs
L’unité de traitment et ses blocs
L’Unité Arithmétique et Logique (UAL) :
circuit complexe qui assure les fonctions
logiques (ET, OU, Comparaison,
Décalage, etc…) ou arithmétique
(Addition, soustraction…).
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
18
l’architecture interne des microprocesseurs
L’unité de traitment et ses blocs
Le registre d'état :
composé de quelques bits à considérer
individuellement.
Certains bits sont des indicateurs dont
l'état dépend du résultat de la dernière
opération effectuée par l’UAL.
On les appelle indicateur d’état ou flag
ou drapeaux.
D’autres bits ont d’autres fonctions telles
que la sélection des pages or la mise en
marche / arrêt de certaines
périphériques
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
19
l’architecture interne des microprocesseurs
L’unité de traitment et ses blocs
Le registre d'état :
Dans un programme le résultat du test
de leur état conditionne souvent le
déroulement de la suite du programme.
On peut citer par exemple les
indicateurs de :
Retenue (carry : C)
Débordement (overflow : V)
Zéro (Z)
...
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
20
l’architecture interne des microprocesseurs
L’unité de traitment et ses blocs
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
21
l’architecture interne des microprocesseurs
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
22
L’architecture Von Neuman
Un seul chemin d'accès à la mémoire
Un bus de données (programme et données),
Un bus d’adresse (programme et données)
Architecture des processeurs d’usage général
Goulot d'étranglement pour l'accès à la mémoire
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
23
L’architecture Harvard
Séparation des mémoires programme et données
Un bus de données programme,
Un bus de données pour les données,
Un bus d’adresse programme,
Un bus d’adresse pour les données.
Meilleure utilisation du CPU :
Chargement du programme et des données en parallèle
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
24
Le traitement des instructions
Les architectures RISC et CISC (1)
Architecture CISC (complete Instruction Set Computers)
Grand nombre d’instructions (plusieurs dizaines voire
centaines )
Permet de réaliser des operations simples (logiques,
arithmetiques, ..)
Chaque instruction est exécutée en un certain nombre
de cycles d’horloge dépendant de l’instruction elle
même et aussi du mode d’adressage utilisé.
Les X86, 68HC11 sont des circuits CISCs
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
25
Le traitement des instructions
Les architectures RISC et CISC (1)
Architecture RISC (Reduced Instruction Set Computers)
Nombre d’instructions plus faible (quelques dizaines au
maximum)
Permet de réaliser des operations simples (logiques,
arithmetiques, ..)
Chaque instruction est execute en un seul cycle d’horloge
donc on a une vitesse de calcul très supérieure à celle des
CISCs
Les MAC, PIC, ALPHA sont des RISCs
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
26
Le traitement des instructions
Les architectures RISC et CISC (1)
Architecture CISC
3/10/2019
V/S Architecture RISC
presentation préparée par T.S
© tous droits resrvés ©
27
Le traitement des instructions
Phase 1 : Recherche de l’instruction en mémoire
>> La valeur du PC est placée sur le bus d'adresse par l'unité de commande
qui émet un ordre de lecture.
>> Après le temps d'accès à la mémoire, le contenu de la case mémoire
sélectionnée est disponible
sur le bus des données.
presentation préparée par T.S
3/10/2019
28
© tous droits
resrvés © d’instruction du processeur.
>> L'instruction est stockée dans
le registre
Le traitement des instructions
Phase 2 : Décodage et recherche de l’opérande
>> L'unité de commande transforme l'instruction en une suite de
commandes élémentaires nécessaires au traitement de l'instruction.
>> Si l'instruction nécessite une donnée en provenance de la mémoire,
l'unité de commande récupère
sa valeur sur le bus de données.
presentation préparée par T.S
3/10/2019
29
© tous
resrvés ©de données.
>> L’opérande est stocké dans
ledroits
registre
Le traitement des instructions
Phase 3 : Exécution de l’instruction
>> Le séquenceur réalise l'instruction.
>> Les drapeaux sont positionnés (registre d'état).
>> L'unité de commande positionne
le PC
pour l'instruction suivante.
presentation préparée
par T.S
3/10/2019
© tous droits resrvés ©
30
Définition d’un microcontrôleur
Un microcontrôleur est un
circuit qui intègre un maximum
de fonctions dans un même
boitier.
L’intégration de ces fonctions
dans le même environnement
permet de créer des
applications plus simplement.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
31
Définition d’un microcontrôleur
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
32
Définition d’un microcontrôleur
Un microcontrôleur comporte
typiquement :
>> Une unité de calcul et de commande
>> Mémoire ROM
>> Mémoire RAM
>> Un contrôleur d’interruption
>> Un compteur/temporisateur (timer)
>> Des entrées/sorties parallèles (ports)
>> Un UART (port série)
Il peut aussi posséder :
>> Un Watchdog : (surveillance du
programme)
>> Une sortie PWM (modulation
d’impulsion)
>> Un CAN/CNA (Convertisseur
analogique numérique)
presentation préparée par T.S
3/10/2019
© tous droits resrvés ©
33
Définition d’un microcontrôleur
ROM memory :
Aussi appelé (à juste titre) program memory. C’est une mémoire Flash qui contient le
programme à exécuter.
EEPROM memory :
C’est une mémoire similaire à la mémoire
programme. En revanche, le contenu peut
presentation préparée par T.S
34
© tous
droits resrvés ©
être 3/10/2019
modifié en cours d’utilisation de
l’application.
Définition d’un microcontrôleur
RAM memory :
General Purpose Register : Mémoire RAM classique, utiliser pour
stocker des variables.
SFR (Special Function Register) :
C’est aussi de la mémoire RAM, sauf que les rôles de chacune des
cases mémoire (registres) ont été définis par le fabriquant. Chaque
registre SFR est connecté à un périphérique matériel spécifique et
permet de le contrôler.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
35
L’Assembleur
Qu’est-ce que l’Assembleur ?
L'Assembleur est le langage de programmation de plus bas niveau. Cela signifie qu'il
est très proche du matériel. A chaque instruction correspond un code machine, qui
peut être compris par le microprocesseur. Le code assembleur est donc la version
lisible du code machine.
Pourquoi programmer en Assembleur ?
S'il est de nos jours impensable de programmer entièrement une application en
Assembleur (sauf à des fins d'apprentissage bien sûr), nombreuses situations font
que l'on doit avoir recours à ce langage. C'est par exemple le cas lorsque la vitesse
est un facteur critique, et que la moindre microseconde est précieuse, ou encore
pour écrire un gestionnaire de démarrage (Boot-Loader), etc...
Que programmer en Assembleur ?
Tout ce qui doit être optimisé au niveau de la taille (si on a que 523 octets de
mémoire par exemple, cas de certains microcontrôleurs), de la vitesse d'exécution,
ou ne peut pas être fait avec autrepresentation
chose que
de l'Assembleur (par exemple un driver
préparée par T.S
3/10/2019
36
© tous droits resrvés ©
de disque
dur).
L’Assembleur
Comment connaître le temps d'exécution des fonctions ?
Il y a deux méthodes.
La première, qui fonctionne dans tous les cas, est de compter le nombre de cycles
d'horloge nécessaires à l'exécution de chaque instruction (Dans la documentation du
microprocesseur / microcontrôleur). Une fois que l'on connaît le nombre de cycles
d'horloge nécessaires, il suffit de le multiplier par la période d'un cycle d'horloge
interne (Qui est généralement différente de la période de l'horloge du composant).
Par exemple, sur un 68HC11 (Un microcontrôleur de Motorola), on a :
LDAA #$FF ; 2 cycles
STAA PORTB ; 2 cycles
2+2 = 4 cycles
si le Quartz est à 20 MHz  fréquence interne : 20 / 4 = 5MHz
 Période : 1/ (5*10^6) = 500*10^-9 = 500ns  4cycles* 500ns = 2μs
La seconde méthode n'est utilisable que si elle est supportée par votre micro. Elle
consiste à utiliser les instructions spécifiques
à votre micro permettant de mesurer
presentation préparée par T.S
3/10/2019
37
© tous droits resrvés ©
les durées
d'exécution.
LES MEMOIRES
LES MEMOIRES VIVES
dans lesquelles ont peut écrire, c’est à dire stocker des informations
binaires à des adresses précises, lire ces données à condition d’en
connaître l’adresse, les effacer et réécrire.
On les appelle généralement mémoires RAM de Random Acces Memory
ou mémoire à accès aléatoire.
LES MEMOIRES MORTES
Les mémoires mortes ou ROM Read Only Memory ou mémoires à
lecture seule sont des circuits où les informations sont stockées à la
fabrication. Ce type de circuit ne peut répondre qu’à des besoins de
caractère général ou pour des applications répétées à un grand nombre
d’exemplaires.
3/10/2019
presentation préparée par T.S
© tous droits resrvés ©
38
Téléchargement