Conception des systèmes à Microprocesseurs A.Cherkaoui Introduction chapitre 1:

Conception des systèmes à Microprocesseurs A.Cherkaoui Introduction chapitre 1: Microprocesseur 6809 Conception des systèmes à Microprocesseurs Plan ☞ Architecture du microprocesseur 6809 ☞ architecture externe ☞ architecture interne ❐ le schéma fonctionnel ❐ l'UAL ❐ l'accumulateur … ☞ Introduction au jeu d'instructions du microprocesseur ☞ la pile ☞ Les interruptions ☞ Les mémoires ☞ Les interfaces ❐ le P.I.A. (Interface parallèle) ❐ le P.T.M. (Compteur programmable) ❐ l'A.C.I.A. (Interface série) 2 Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 Le microprocesseur 6809 est un processeur 8 bits orienté 16 bits. Il est fabriqué en technologie MOS canal N boîtier DIL 40 broches.Il est monotension(5V). • 6809E est rythmé par une horloge externe 2 MHZ • adapté multiprocesseur. • synchronisé par une horloge extérieure. • Compatibilité complète entre les 2 versions. 3 Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 ☞ Le bus des données 8 bits (Do à D7) . 1 charge TTL et 8 entrées de circuits CMOS. Bus en logique 3 états. ☞ Le bus des adresses 16 bits (A0 à A15 ) .Bus en logique 3 états. validées sur le front montant de Q. ☞ Le bus de contrôle .La broche Read/Write . Validée sur le front montant de Q. 4 Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 ☞ Les lignes d'état du bus : connaître l'état du microprocesseur à tout moment BA (Bus available) et BS (Bus state) • 1er cas : Le microprocesseur gère les bus d'adresses et de données. • 2ème cas: reconnaissance d'int pendant 2cycles.Vect Reset,NMI,IRQ,SW1,2,3 • 3ème cas : Il attend la synchro sur une des lignes d'interruption. Les bus HZ • Dernier cas : (niveau bas sur HALT).(contrôleur de DMA). Les bus HZ La ligne BA au niveau haut indique que les bus sont en haute impédance. 5 Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 ☞ Broche d'initialisation RESET Un niveau bas (x cycles d'horloge), réinitialisation complète du circuit: • l'instruction en cours est arrêté • le registre de pagination (DP) est mis à zéro • les interruptions IRQ et FIRQ sont masquées • l'interruption non masquable NMI est désarmée • Le PC. est initialisé avec le contenu des vecteurs d'initialisation qui se trouvent aux adresses $FFFE et $FFFF. Ce contenu représente l'adresse du début du programme qui sera exécuté par le microprocesseur. 6 Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 ☞ la broche : HALT (Arrêt du microprocesseur). 7 BA = BS = 1 Dans ce cas : les demandes d'interruption IRQ et FIRQ sont inhibées les demandes d'accès direct (DMA) à la mémoire sont autorisée. les demandes d'interruptions RESET et NMI sont prises en compte mais leur traitement est différé les broches d'interruption NMI (No Masquable Interrupt) IRQ (Interrupt Request) FIRQ (Fast Interrupt Request) Entrées d'horloge XTAL et EXTAL (Extension crystal) Qout est en quadrature avec Eout =4 *horloge *Les données sont lues ou écrites sur le front descendant de Eout. *Les adresses sont correctes à partir du front montant de Qout Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 ☞ Broches complémentaires du bus de contrôle : ❐ MRDY (Memory ready) : Allonger Eout de multiple de un quart de cycle max 10 cycles pour syst lents ❐ DMA/BREQ (Direct Memory Acces/Bus Request) -l'accès direct ou du rafraîchissement mémoire -le circuit ayant généré cette commande le bus pendant de 15 cycles ☞ Broches spécifiques au 6809 E ❐ Entrées d'horloge : Ein et Qin comme Eout et Qout du 6809 ❐ TSC (Tree States Control) comme DMA/BREQ ,partage de bus ❐ LIC (Last Instruction Cycle):Le cycle qui suit est celui de recherche de code opératoire Ins ❐ AVMA (Advanced Valid Memory Access) niveau haut signifie que le microprocesseur utilisera les bus au cours du cycle suivant pour multiprocesseur ❐ BUSY : Occupation des bus : Sortie mise au niveau haut pendant les instructions du type : lecture,écriture et exécution du premier octet d'un opérande constitué de deux octets (une adresse par exemple). Dans un système multiprocesseur, ce signal indique le besoin pour un Microprocesseur de disposer des bus au cours du prochain cycle pour assurer l'intégrité de l'opération en cours. Cela évite l'adressage simultanée d'une même zone mémoire par 2 microprocs. 8 Conception des systèmes à Microprocesseurs Architecture du microprocesseur 6809 ☞ On ne doit pas activer TSC quand BUSY est actif Exemple d'application : 9 LIC : fin d'exécution de l'instruction BUSY : à besoin du bus au prochain cycle AVMA : va utiliser les bus au prochain cycle Conception des systèmes à Microprocesseurs Présentation des différents registres interne au 6809 ☞ Les accumulateurs A, B ou D. ☞ Les registres pointeurs • Les registres d'index X et Y 16bits sont utilisés pour les modes d'adresse indexé. • les registres S et U (16 bits). (pointeur de pile LIFO :U passage de paramètres) Ces registres "pointent" toujours le haut de la zone mémoire attribuée ☞ Le Compteur de Programme (PC) ☞ Le registre de codes condition (CCR) 10 Exemple de sauvegarde de tous les registres avec S : Conception des systèmes à Microprocesseurs Le jeu d'instructions du 6809 ☞ L'ensemble des instructions de base, est 59 instructions. En tenant compte des variantes (modes d'adressage) il atteint 1464 instructions ☞Extraction : lecture de la donnée en mémoire, t=1(m).TE si m octets ☞Exécution : traduction et interprétation de l'octet (code opératoire) 11 Une période TE supplémentaire est nécessaire pour réaliser concrètement l'opération demandée! Conception des systèmes à Microprocesseurs Le jeu d'Instructions ☞ Instructions de traitement des données  Instructions arithmétiques • addition (DAA, ABX, ADC) • multiplication (MUL) • soustraction (SBC, SUB)  Instructions logiques • rotation à droite et à gauche (ROL, ROR) • décalage à droite et à gauche (ASR, LSR et ASL, LSL) • les fonctions logiques de base (AND, OR, EOR) • l'incrémentation/décrémentation et complémentation (COM - NEG - NOP - INC - DEC - CLR)  Instruction de transfert de données • transferts internes entre registres (EXG - TFR) • transferts externes avec la mémoire (LD - ST) 12 Conception des systèmes à Microprocesseurs Le jeu d'Instructions ☞ Instructions de tests et de branchements • instructions de tests sur un bit / un octet (BIT, TST) • instruction de comparaison (CMP) • instruction de branchement conditionnel (branchement si les indicateurs du CCR sont actifs ☞ Instructions de branchement inconditionnel et de saut. • saut relatif (BRA, BRN : 1 ou 2 octets) • saut absolu (JMP : 2 octets) ☞ Instructions d’appel et de retour de sous-programme • Appel : saut absolu (JSR) saut relatif (BSR) • Retour : RTS ☞ Instructions opérant sur les pointeurs U, S et X, Y. Load effective adress (in register) : LEA. données sur 16 bits.D et A Empilement des registre dans la pile (PSH) →décrémenté pointeur Dépilement des registres de la pile (PUL) →incrémenté pointeur 13 Conception des systèmes à Microprocesseurs Les modes d'adressage du 6809 ☞ Les modes d'adressage sont : - l’adressage inhérent ou implicite: ABX, ASL, ASR, CLR, INC - l’adressage immédiat: LDA #$35 (PC =Adr+2 ou +4) - l’adressage étendu: LDA $1997 (1997)→ A - l’adressage étendu indirect: LDA [$1997]: ((1997)) → A - l’adressage direct: LDA $97 (DP:97)→ A - l’adressage par registre: TFR X,Y (transfert de X dans Y). - l’adressage indexé direct: LDA O,X ou LDA ,X. LDA 0,-X ou LDD 0,X++ - l’adressage indexé indirect :LDA [$35,X]- LDU [D, Y] ([Y+D] et [Y+D+1])→D - l’adressage relatif : LDA $FO,PC ou LEAX ETIQ, PC 14 Conception des systèmes à Microprocesseurs L’assembleur 6809 ☞ Syntaxe du langage assembleur ❐ Etiquette Code Code Commentaire • ORG Expression : Origine (initialisation du compteur programme) •RMB Expression : Reserve Memory Bytes: un "saut" du PC à l’assemblage •FCB expr1, expr2... Form Constant Byte •FDB Exp1, Exp2,... Form Double Byte Constant •FCC /A/ : Forme Constant Character string •END : la limite du programme 15 Conception des systèmes à Microprocesseurs L’opération d’assemblage ☞ 1ère passe : • Analyse lexicographique : • Analyse syntaxique • Analyse sémantique ☞ 2ème passe • L’assembleur génère le code objet en tenant compte des adresses et des données réelles ☞ 3ème passe : Cette phase fournit le listing avec son code objet 16 Conception des systèmes à Microprocesseurs Plan adopté pour l'écriture d'un programme OPT ABS Définition des variables DEBUT EQU $4000 TIRQ EQU $5000 TFIRQ EQU $6000 MEM EQU $2000 PIA EQU $EF20 Réservation des cases mémoires ORG MEM MEM1 RMB 1 PILE RMB 100 PPILE EQU * Réservation des ports ORG PIA DDRA RMB 1 CRA RMB 1 Programme principal ORG DEBUT 17 LDS #PPILE BRA * Traitement des interruptions IRQ ORG TIRQ " RTI Traitement des interruptions FIRQ ORG TFIRQ " RTI Initialisation des vecteurs d'interruption ORG $FFF6 FDB TFIRQ FDB TIRQ FDB TSWI FDB TNMI FDB DEBUT END Conception des systèmes à Microprocesseurs Le fonctionnement en interruption ☞ Définition Une interruption est une procédure qui permet de suspendre l'exécution d'un programme au profit d'un autre, avec la possibilité de reprendre l'exécution du programme initial là où il uploads/Ingenierie_Lourd/ chapitre-i-microprocesseur-6809-gsea12013-pdf 1 .pdf

  • 13
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager