Académique Documents
Professionnel Documents
Culture Documents
UNIVERSITÉ DE MONASTIR
ECOLE NATIONALE D’INGÉNIEURS DE MONASTIR
AUTOMATISME
ET
INFORMATIQUE INDUSTRIELLE
AU: 2020/2021
Objectif
2
2) Mémoires et Bus
3) Les µcontrôleurs
4) Jeu d’instructions
5) Modes d’adressage
6) Interruptions
▪NVIDIA s’est associé à AUDI pour concevoir une voiture autonome embarquant le
processeur Xavier (APU) bien adapté aux besoins de l’intelligence artificielle :
oIl exploite 8 cœurs 64-Bit custom,
oUn GPU sous architecture Volta 512 cores,
oArchitecture gravée en 16 nm FinFET
oLa compréhension de commandes vocales,
oLa gestion de la conduite autonome,
oAdaptation de la conduite et de la vitesse du véhicule en fonction des conditions
du trafic,
oDétection permanente de l'environnement immédiat, grâce au logiciel
DriveWorks et au réseau neuronal PilotNet.
▪Les μP ne sont jamais employés seuls, des circuits périphériques leurs sont
toujours associés pour pouvoir être intégrés au sein d’une application.
Ultra rapide
Très chère
Souvent dans le µP < 6 Ko
Capacité
rapide; prix raisonnable,
Capacité, moyenne,
quelques Go; 10 Go/s
Vitesse moyenne
(débit),
qlqs To; 600 Mo/s (ssd)
▪Un processeur est dit multithread s'il est capable d'exécuter efficacement
plusieurs tâches (threads) simultanément.
▪Un microprocesseur multi-core (multi-cœurs) est un processeur possédant plusieurs
cœurs physiques fonctionnant simultanément.
ENIM F. HAMDAOUI AU: 2020/2021
Introduction
Que ce qu’un µC ?
11
▪Les μC possèdent quant à eux la puissance d’un μP mais ont un atout en plus, en
effet ils possèdent dans le même boîtier, les périphériques intégrés
▪Un μC possède au minimum les éléments suivants:
oµP;
oMémoire programme;
oMémoire de donnée;
oPériphériques d’E/S pour permettre au µC de dialoguer avec l’extérieur.
Un μC seul peut donc gérer une application, sans faire appel forcement à
d’autres circuits associés
ENIM F. HAMDAOUI AU: 2020/2021
Introduction
Les mémoires
12
Caractéristiques :
▪Volatilité: Une mémoire est dite volatile si son contenu disparaît ou est effacé
lorsqu’on éteint le microcontrôleur, alors qu’une mémoire non volatile garde
l’information dans tous les cas.
oLa mémoire RAM désigne une mémoire volatile et la mémoire ROM
désigne celle qui est non volatile.
▪SRAM: La mémoire vive statique n’a pas besoin d’être rafraîchie et les flip-flop
composés de transistors remplacent les condensateurs. Ces bistables prennent la
valeur élevée (1L) ou basse (0L) et travaillent avec une vitesse plus vite d’un
condensateur (moins de 10 nanosecondes).
▪Un bus est un jeu de lignes partagées pour l’échange de mots numériques entre
microprocesseur et différentes types de mémoires.
Caractéristiques :
Caractéristiques :
▪Conservation permanente de grande capacité des données
▪HDD: Il est composé de plateaux rigides en rotation. Chaque plateau est constitué
d'un disque réalisé généralement en aluminium. Les faces de ces plateaux sont
recouvertes d'une couche magnétique, sur laquelle sont stockées les données. Ces
données sont écrites en code binaire [0,1] sur le disque grâce à une tête de
lecture/écriture,
▪SSD: Un disque SSD est un peu comme une grosse clé USB. Il fonctionne sur un
système de mémoire-flash. Cette mémoire est ensuite distribuée sur la carte SSD
en plusieurs modules et gérée par un contrôleur.
▪Une architecture simple de Von Neumann, constituée d’un seul bus pour les
données et les instructions (programme) et d’un bus d'adresses.
▪Dans l'architecture dite de Harvard (car mise au point dans cette université
américaine en 1930), la mémoire de programme et la mémoire des données ont été
séparées systématiquement : l'adressage de ces mémoires est indépendant.
▪Une architecture simple de Harvard est constituée d’un bus de données, d’un bus
de programme et de deux bus d'adresse.
▪La majorité des microprocesseurs ont une architecture CISC (Complex Instruction
Set Computer, ce qui signifie "ordinateur avec jeu d'instructions complexes"
▪C'est dans les années 80 que la notion de RISC (Reduced Instruction Set
Computer), qui signifie "ordinateur à jeu d'instructions réduit" est apparue. Elle
consiste à minimiser le nombre d'instructions et à les simplifier !
RISC CISC
Peu d’instructions (~100) Beaucoup d’instructions (~1000)
Instructions rapides: 1 instruction = 1 cycle Des instructions parfois lentes ( > 1 cycle )
Instructions toutes codées sur 4 octets Instructions codées sur 1 à 15 octets
Processeurs moins chers Processeurs plus chers
▪Dimension réduite
▪La communauté des utilisateurs des PICs est très présente sur le WEB. On
trouve sur le net quasiment tout ce dont on a besoin, tutoriaux pour
démarrer, documents plus approfondis, schémas de programmeurs avec les
logiciels qui vont avec, librairies de routines, forums de discussion . . .
▪1 cycle machine par instruction, sauf pour les sauts (2 cycles machine)
▪4 sources d'interruption
▪Les boîtiers DIP (Dual Inline Package), est un boîtier de circuit intégré qui
connecte un circuit intégré au monde extérieur.
▪Les “petits” circuits intégrés de type CMS (composant monté en surface) sont
généralement dans des boîtiers SOIC (Small Outline Integrated Circuit).
▪Le µcontrôleur exécute une à une les instructions stockées dans la mémoire.
Les SFR (Registres internes à Fonction Spéciale) vont de 00h à0Bh en Bank0. Ils
permettent la gestion du circuit. Certains ont une fonction générale, d'autres un
fonction spécifique attachée à un périphérique donné.
Adresse bank 0 Registre Utilité
00h INDF Utilisé en adressage indirect avec FSR, il ne s’agit pas d’un registre physique
01h TMR0 Timer/Compteur 8 bits
02h PCL Poids faible du compteur programme (PC)
03h STATUS Registre d’état dont les bits sont: IRP RP1 RP0 TO PD Z DC C
04h FSR Pointeur d’adresse en adressage indirect
05h PORTA Port d’Entrée/Sortie A dont les bits sont: X X X RA4/T0CKI RA3 RA2 RA1 RA0
06h PORTB Port d’entrée/Sortie B dont les bits sont: RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0/INT
07 Pas utilisé
08h EEDATA Registre de données de l’Eeprom
09h EEADR Registre d’adresses de l’Eeprom
0Ah PCLATCH 5 bits de poids fort du compteur programme
0Bh INTCON Registre des interruptions dont les bits sont: GIE EEIE T0IE INTE RBIE T0IF INTF RBIF
Le 16F84 dispose d’un ALU 8 Bits qui réalise les opérations arithmétiques et
logiques entre l'accumulateur W et n'importe quel autre registre ‘f' ou constante K.
Z DC C
On pourrait donc croire qu’un cycle instruction dure 8 cycles d’horloge mais
l’architecture particulière du PIC lui permet de réduire ce temps par deux.
plus-loin
xxxxxxxx ;instruction exécutée après le saut: exécution du
;sous-programme plus loin.
ENIM F. HAMDAOUI AU: 2019/2020
Détails des instructions (8)
43
;sous-programme tempo
tempo ;le sous-programme tempo
xxx ;commence ici
xxx
return ;retour au programme principal
ENIM F. HAMDAOUI AU: 2019/2020
Détails des instructions (9)
44
•Syntaxe: bcf f,b :le bit n° b est mis à 0 dans la case mémoire (f)
•Exemple:
bcf TRISA, 3 ;Configuration de la 3éme broche du port A en sortie
•Exemple:
andlw B’11110000’ ;effectuer un ‘and’
➢iorlw k: (inclusive or literal with w) ( 1 cycle)
▪C’est une instruction qui permet d’effectuer un ‘ou logique’ bit à bit entre le
contenu de w et la valeur immédiate (opérande), le résultat est stocké dans w.
•Syntaxe: iorlw k ; (w) or k → (w) ▪registre affecté Z.
•Exemple:
movlw 0xC3 ;charger 0xC3 = 11000011
iorlw 0x0F ;forcer les bits 0 à 1, résultat (w) = 0xCF
ENIM F. HAMDAOUI AU: 2019/2020
Détails des instructions (7)
50
•Exemple:
xorwf var, 0 ;xor entre le contenu de w et le contenu de var, le résultat
;sera stocké dans w.
➢swapf f, d: (swapf nibbles in f) ( 1 cycle)
▪Inversion de quartet (demi-octet) de poids faible avec celui de poids fort.
•Syntaxe: swapf f, d ; inversion des bo/b3 de (f) avec b4/b7 → (d)
•Exemple:
movlw 0xC5 ; mettre 0xC5 dans w
movwf var ; var 0xC5
swapf var, f ;(var) 0x5C
❖Exemple
movlw 0x50 ; w 50
movwf var ; var 50
▪TMR0: Débordement du timer0 (tmr0). Une fois que le contenue du tmr0 passe
de 0xFF à 0x00, une interruption peut être générée.
▪EEPROM: Cette interruption peut être générée lorsque l’écriture dans une case
EEPROM interne est terminée.
▪RA0/INT: Une interruption peut être générée lorsque, le pin RA0, encore
appelée INTerrupt Pin, étant configurée en entrée, le niveau qui est appliqué est
modifié.
end
❖Exemple 1: Temporisation
❖Exemple 1: Temporisation