A.2(1)

publicité
CONTENU DU COURS
GPA770: Microélectronique appliquée
Éric Granger
A.2-1
Partie A − Mise en contexte
A.1 Survol de l’électronique numérique
–
–
–
–
systèmes de numérotation
opérations arithmétiques binaires
représentation de nombres signés
circuits électroniques de base: portes, registres, etc.
A.2 Architecture et programmation du 68HC12:
– systèmes électroniques universels
– architecture, sous-systèmes et mémoires
– instructions et modèle du programmeur
GPA770: Microélectronique appliquée
Éric Granger
A.2-2
Sommaire de la Section A.2
A.2 Architecture et programmation du 68HC12:
1) Systèmes électroniques universels
2) Architecture, sous-systèmes et mémoires
3) Instructions et modèle du programmeur
GPA770: Microélectronique appliquée
Éric Granger
A.2-3
A.1(5) Systèmes électroniques universels
a. Système numérique
déf.: un système composé de registres et de portes
logiques contrôlées par un circuit séquentiel synchrone
Structure: unité de contrôle + logique de traitement
Avantage et inconvénients de l’approche:
− donne généralement un système moins complexe
− plus facile à concevoir, changer et réparer le matériel
− mais, peut être plus lent qu’un circuit dédié
GPA770: Microélectronique appliquée
Éric Granger
A.1-4
A.1(5) Systèmes électroniques universels
Exemple: périphérique SPI pour la communication
sérielle synchrone
GPA770: Microélectronique appliquée
Éric Granger
A.1-5
A.1(5) Systèmes électroniques universels
b. Système numérique contrôlé par
instructions
déf.: système numérique qui traite des nombres binaires
selon plusieurs différents algorithmes
Structure: unité de contrôle + processeur générique
Code d’instruction ou ‘instruction’:
̶ indique à l’UC lequel des algorithmes à effectuer
̶ chacun correspond à une séquence particulière de
transitions dans la machine d’état de l’UC
GPA770: Microélectronique appliquée
Éric Granger
A.1-6
A.1(5) Systèmes électroniques universels
GPA770: Microélectronique appliquée
Éric Granger
A.1-7
A.1(5) Systèmes électroniques universels
c. Processeur avec programme en mémoire
déf.: système numérique contrôlé par instructions avec
une mémoire pour les données et les instructions
structure: processeur générique + unité de contrôle
+ mémoire
Deux types d’informations en mémoire:
programme: séquence d’instructions → unité de contrôle
données: pour effectuer les opérations → processeur
Architecture von Neumann vs Harvard
GPA770: Microélectronique appliquée
Éric Granger
A.1-8
A.1(5) Systèmes électroniques universels
instructions
Mémoire
contrôle
CPU
données
Périphériques
d’e/s
données
Processeur
générique
Unité de
contrôle
Contrôle/état
horloge
GPA770: Microélectronique appliquée
Éric Granger
A.1-9
A.1(5) Systèmes électroniques universels
Rôle des composants principaux:
circuit d’horloge: (crystal quartz + circuit logique)
génère un signal numérique périodique ‘stable’ pour
synchroniser les composants de mémoire du système
unité de contrôle: (circuit séquentiel synchrone)
fonctionne selon un {instructions} reconnus
génère les signaux de contrôle pour le reste du système
selon une machine à états
processeur générique: (UAL + logique + registres)
effectue des opérations simples et communes
GPA770: Microélectronique appliquée
Éric Granger
A.1-10
A.1(5) Systèmes électroniques universels
Rôle des composants principaux: (suite)
mémoire: (contient 2 types d’informations)
programme en ROM: stocke des séquences de codes
d’instructions accédés par l’UC pour effectuer des tâches
données en RAM: stocke les opérants et résultats
d’opérations requis par le processeur pour effectuer des
instructions
périphériques: (circuiterie pour interfacer)
permet de transférer des données entre le processeur et
modules externes (senseurs, actionneurs, etc.) via le bus
de données
GPA770: Microélectronique appliquée
Éric Granger
A.1-11
A.1(5) Systèmes électroniques universels
Définitions à retenir:
− instruction: la plus petite unité d’action qui peut être
dictée au CPU (UC + processeur) dans un programme
− jeu d’instructions du système: {instructions} valides,
i.e., qu’un CPU (UC + processeur) peut reconnaître et
exécuter
− mode d’adressage: façon d’accéder aux données en
mémoire qui sont requises pour exécuter une instruction
GPA770: Microélectronique appliquée
Éric Granger
A.1-12
A.1(5) Systèmes électroniques universels
Cycle d’exécution d’une instructions dans la
machine universelle:
1. alimenter − charger le op-code et opérants de la mémoire
aux registres d’instructions (IR)
2. décoder
– interpréter l’instruction et traduire en actions du CPU
– acheminer les signaux de contrôle
3. exécuter − effectuer les opérations liées à l’instruction
alimenter
executer
GPA770: Microélectronique appliquée
decoder
Éric Granger
A.1-13
A.1(5) Systèmes électroniques universels
Catégories d’instructions dans une machine
universelle:
arithmétique: +, -, x, ∕, etc.
logique: ET, OU, etc.
charger/stocker (à partir de la mémoire)
test et branchement (décisions pour modifier l’ordre
d’exécution des instructions)
− entrée/sortie (communiquer avec autres composants)
−
−
−
−
GPA770: Microélectronique appliquée
Éric Granger
A.1-14
Sommaire de la Section A.2
A.2 Architecture et programmation du 68HC12:
1) Systèmes électroniques universels
2) Architecture, sous-systèmes et mémoires
3) Instructions et modèle du programmeur
GPA770: Microélectronique appliquée
Éric Granger
A.2-15
A.2(1) Architecture, systèmes et mémoires
Introduction du 68HC12 au marché en 1997:
évolution direct du 68HC11 qui est plus performante
et versatile (instructions, modes d’adressage, etc.)
microcontrôleur avec CPU à 16 bits: le chemin de
données interne est de 16 bits
horloge de système à 8 MHz: générée par un crystal à
16MHz divisé par 2
conçu en technologie CMOS: la consommation de
puissance est basse
système = {modules} connectés à un bus inter module
(LIM)
GPA770: Microélectronique appliquée
Éric Granger
A.2-16
A.2(1) Architecture, systèmes et mémoires
Évolution du 68HC12:
GPA770: Microélectronique appliquée
Éric Granger
A.2-17
A.2(1) Architecture, systèmes et mémoires
Principaux modules dans tous les 68HC12:
1. CPU12: unité de traitement central à haute performance
de 16 bits
̶ modules de gestion d’interruptions et de remise à zéro
2. Mémoire: un bloc de registres (512 octets), de la RAM
(1Koctets) et de la EEPROM (variable)
3. Bus: le module LIM ─ combine les buses de DATA,
d’ADDR et de CTRL
4. Périphériques d’entrée/sortie:
̶ ports d’entrée/sortie
̶ module de temporisation (TIM) à 16 bits
̶ convertisseur analogique-numérique (ADC) à 8 bits
̶ interfaces de communications sérielles: SCI et SPI
GPA770: Microélectronique appliquée
Éric Granger
A.2-18
A.2(1) Architecture, systèmes et mémoires
Types de sous-systèmes dans le 68HC12:
̶ communication sérielle: interfaces pour
communications asynchrones et synchrones
̶ temporisation: capter des entrées, générer des sorties,
accumuler des impulsions
̶ conversion de données: convertir un signal analogique
en nombre binaire non-signé
̶ mémoire: stocker les variables, le code, etc.
̶ interruption et remise à zéro: permet d’interrompre un
programme pour exécuter un routine de service
̶ ports: échange des signaux de données et contrôle avec
le monde externe
GPA770: Microélectronique appliquée
Éric Granger
A.2-19
A.2(1) Architecture, systèmes et mémoires
Plusieurs variantes du 68HC12:
différences entre variantes surtout selon:
̶ la structure de la mémoire
̶ le nombre de canaux d’entrée/sortie
̶ la configuration pour les communications sérielles
en cours: MC9S12B32 ciblé pour mode circuit autonome
au laboratoire: MC9S12C32 ciblé pour mode circuit
autonome (série 68HCS12 − introduit au marché en 2002)
̶ plus de mémoire interne et une horloge à 25 MHz
GPA770: Microélectronique appliquée
Éric Granger
A.2-20
A.2(1) Architecture, systèmes et mémoires
Diagramme bloc du
MC9S12C32:
composants propres:
• la mémoire (32Kbytes de Flash
EEPROM)
• modulateur de durée
d’impulsion (PWM)
GPA770: Microélectronique appliquée
Éric Granger
A.2-21
A.2(1) Architecture, systèmes et mémoires
Sous-système de mémoire du 68HC12:
̶
̶
̶
̶
modèle général: liste adressable de registres
lié à des registres, RAM et EEPROM physiques
ADDR est de m = 16 bits, donc supporte ~64k d’espace
adressable
DATA est de N = 16 bits
GPA770: Microélectronique appliquée
Éric Granger
A.2-22
A.2(1) Architecture, systèmes et mémoires
Capacité d’une mémoire:
largeur de mémoire (n):
correspond au nombre de bits par registre
interne (i.e., mot de mémoire ou ‘word size’)
N = largeur du DATA (pas toujours n)
longueur de mémoire (M):
correspond au nombre de registres qu’on peut
adresser
M = 2m, où m = largeur du ADDR
capacité: largeur x longueur = n x M bits
GPA770: Microélectronique appliquée
Éric Granger
A.2-23
A.2(1) Architecture, systèmes et mémoires
Organisation en mémoire de données numériques:
GPA770: Microélectronique appliquée
Éric Granger
A.2-24
A.2(1) Architecture, systèmes et mémoires
Sous-système de mémoire:
̶
caractéristiques des mémoires RAM et ROM
RAM
ROM
volatile
non-volatile
lire et écrire
lire seulement
SRAM, DRAM, SDRAM, etc.
PROM, EPROM, EEPROM
(effaçable par octet), FLASH
EEPROM (effaçable par secteur)...
temps d’accès plus rapide, mais
plus gros/coûteux
temps d’accès plus lent, mais très
compacte
stocker des variables temporaires
stocker de programmes et constantes
GPA770: Microélectronique appliquée
Éric Granger
A.2-25
A.2(1) Architecture, systèmes et mémoires
Sous-système de mémoire:
GPA770: Microélectronique appliquée
Éric Granger
A.2-26
A.2(1) Architecture, systèmes et mémoires
Sous-système de mémoire: (MC9S12C32)
GPA770: Microélectronique appliquée
Éric Granger
A.2-27
Sommaire de la Section A.2
A.2 Architecture et programmation du 68HC12:
1) Systèmes électroniques universels
2) Architecture, sous-systèmes et mémoires
3) Instructions et modèle du programmeur
GPA770: Microélectronique appliquée
Éric Granger
A.2-28
A.2(2) Instructions et modèle programmeur
Jeu d’instructions:
̶ le 68HC12 peut comprendre et exécuter 209 différents
instructions
̶ 7 catégories d’instructions
̶ inclus toutes les instructions du 68HC11
̶ inclus de nouvelles instructions mathématique
sophistiquées
Modes d’adressage:
̶ très flexible − 6 modes d’adressage pour accéder aux
données
GPA770: Microélectronique appliquée
Éric Granger
A.2-29
A.2(2) Instructions et modèle programmeur
Format d’instructions en assembleur:
étiquette
op-code
opérant(s)
commentaires
début:
LDAA
#FC
;charger l’acc. A
étiquette: identifie une ligne de code du programme
̶ permet de localiser une {instructions} à exécuter
op-code: élément fonctionnel de l’instruction
opérant(s): information permettant d’accéder aux données
pour exécuter une instruction, via le mode d’adressage
commentaires: “;” indique le début d’un commentaire
̶ utile aussi pour documentation au début d’une ligne
GPA770: Microélectronique appliquée
Éric Granger
A.2-30
A.2(2) Instructions et modèle programmeur
déf.: modèle compacte pour visualiser l’état
interne du CPU
GPA770: Microélectronique appliquée
Éric Granger
A.2-31
A.2(2) Instructions et modèle programmeur
A et B − accumulateurs à 8 bits:
D − combine A et B pour former un accumulateur à 16 bits
registres à usage général, avec lesquels toutes les opérations
arithmétiques et logiques sont effectuées
X, Y − indexes (pointeurs) à 16-bit:
contient l’adresse mémoire de données
utilisé avec un décalage pour manipuler les éléments d’une liste
PC − compteur de programme à 16 bits:
mécanisme qui gouverne l’exécution ordonnée d’instructions
contient l’adresse mémoire de la prochaine instruction à exécuter
SP − pointeur de pile à 16-bit:
contient l’adresse mémoire au sommet de la pile
contrôle l’opération de la pile (structure FILO) en mémoire
GPA770: Microélectronique appliquée
Éric Granger
A.2-32
A.2(2) Instructions et modèle programmeur
Registre à code conditionnel (CCR) à 8 bits:
GPA770: Microélectronique appliquée
Éric Granger
A.2-33
A.2(2) Instructions et modèle programmeur
BIT TYPE FONCTION
S
contrôle S = 1: désactive l’instruction STOP (traitée comme NOP)
X
contrôle X = 1: permet des interruptions externes non-masquables
H
état
I
contrôle I = 0: permet des interruptions masquables
N
état
N = 1: indique que le résultat d’opération est négative
(dans la représentation en complément à 2)
Z
état
Z = 1: indique que le résultat d’opération est 0
V
état
V = 1: indique un résultat qui déborde en complément à 2
C
état
C = 1: indique que le résultat d’opération arithmétique a
produit une retenue ou emprunt pour le MSB
H = 1: indique que le résultat d’opération arithmétique a
produit une retenue à partir des 4 LSB
GPA770: Microélectronique appliquée
Éric Granger
A.2-34
Téléchargement