Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
COURS_1 JC LP MD
2
Evolution des machines
JC LP MD
3
Les 8 bits Machines de type load/store avec au minimum 1 accumulateur (registre) Machines à 1 opérande Load lire la mémoire et charger l’accumulateur Store écrire le contenu de l’accumulateur en mémoire Peu de modes d’adressage Immédiat Direct Indirect Indirect indexé JC LP MD
4
Familles microprocesseurs 8 bits
Intel 8008, 8080 Motorola 6800 Zilog Z80 JC LP MD
5
Mainframes Machines multi users (16/32 bits) IBM CDC
DEC (Digital Equipment Corporation) famille PDP UNIX Langage C JC LP MD
6
Les 16 bits Machines de type move avec 8/16 registres
Machines à 2 opérandes Ex: add R1,R2 R1+R2->R2 Beaucoup de modes d’adressage Immédiat, direct, indirect, register, indirect register, indirect register post incrémenté, indirect register prés décrémenté ….. JC LP MD
7
Familles microprocesseurs 16 bits
Machines dites CISC Intel 8086 architecture interne 16 bits data et adresse Motorola architecture interne 32 bits data et adresse (fortement inspiré du PDP) Zilog Z800 et Texas 9900: pas survécus JC LP MD
8
Problèmes des CISC Machines microprogrammées (lenteur d’exécution, mais facilité de rectifier des bugs de conception) Taille des instructions variable et temps d’exécution variable Difficile de faire du parallélisme pour l’exécution des instructions Difficultés pour tester les puces en usine Les compilateurs ne savaient pas utiliser toutes les ressources des boitiers Il fallait augmenter la fréquence de l’horloge pour augmenter la performance (chaufferettes!!!!) JC LP MD
9
Idée du RISC Machines à 3 opérandes Beaucoup de registres
Machines 32/64 bits Taille des instructions unique Parallélisme d’exécution Machines câblées de type load/store But visé au début: 1 instruction par clock JC LP MD
10
Familles microprocesseurs RISC
SUN architecture SPARC HP architecture PRECISION Silicon Graphics architecture MIPS IBM+Motorola architecture POWER PC Architecture ARM vendue à divers fondeurs Architecture tres simple, adaptée à la mobilité (Intel, Freescale (ex Motorola), Texas…..) JC LP MD
11
Microcontrôleurs PPC Famille IBM
Boitier généraliste: famille 4XX (dont le 403) Famille Freescale Boitier pour les télécom: famille 8xx (dont le 860)puis 8XXX Boitier pour l’automobile: famille 5xx puis 5XXX, PXR4040 JC LP MD
12
PPC PXR4040 introduction JC LP MD
13
PXR4040 bloc diagram JC LP MD
14
General Purpose Register
GPR0 …..GPR31 Appelés en assembleur r0…..r31 JC LP MD
15
Special Purpose Register
Registres système Accessibles par des instructions spécifiques MSR mtmsr,mfmsr LR mtlr,mflr CTR mtctr, mfctr IVPR mfivpr,mtivpr JC LP MD
16
EABI JC LP MD
17
Accès mémoire en assembleur
lis // Chargement de 32 bits dans un registre ori lbz r5,d(r3) // lecture d’un byte (poids forts à 0) lwz r5,d(r3) // lecture d’un word (poids forts à 0) stb r6,d(r3) // écriture d’un byte stw r6,d(r3) // écriture d’un word (pour 16 bits: lhz et sth) JC LP MD
18
Utilisation du link register LR
Appel de sous programme bl Retour de sous programme blr Chargement du LR mtlr rx Lecture du LR mflr rx JC LP MD
19
Décrément de CTR et branch target bdz target si CTR=0
Boucles (CTR) Décrément de CTR et branch target bdz target si CTR=0 bdnz target si CTR#0 JC LP MD
20
Utilisation d’assembleur avec le C
Fonction en assembleur appelée par un programme C __asm int Read_IVPR(void) { mfivpr r3 //lecture du pointeur de la table d’interruptions blr } //passage de paramètres in et out avec r3 Instruction assembleur dans un programme en C asm ("rfi"); //return from interrupt JC LP MD
21
System Integration Unit
siu System Integration Unit JC LP MD
22
Rôle du SIU JC LP MD
23
Registres du SIU à étudier pour le 1er TP
Pad Configuration Register PCR (il y a 512 PCR) pour configurer la fonction de la PIN Registre de data en sortie (il y en a 512) pour donner un niveau à la PIN programmée en sortie JC LP MD
24
SIU_PCR JC LP MD
25
PXR4040.h en tête /****************************************************************************/ /* MODULE : SIU */ struct SIU_tag { } #define SIU (*( volatile struct SIU_tag *) xC3F90000 ) JC LP MD
26
PXR4040.h SIU_PCRn union { /* Pad Configuration Registers */
vuint16_t R; struct { vuint16_t:3; vuint16_t PA:3; vuint16_t OBE:1; vuint16_t IBE:1; vuint16_t DSC:2; vuint16_t ODE:1; vuint16_t HYS:1; vuint16_t SRC:2; vuint16_t WPE:1; vuint16_t WPS:1; } B; } PCR[512]; JC LP MD
27
PXR4040.h SIU_GPD i/o union { /* GPIO Pin Data Output Registers */
vuint8_t R; struct { vuint8_t:7; vuint8_t PDO:1; } B; } GPDO[512]; union { /* GPIO Pin Data Input Registers */ vuint8_t PDI:1; } GPDI[256]; JC LP MD
28
Liaison série JC LP MD
29
Principe de la RS232 JC LP MD
30
Trame RS232 en transmit sur la ligne
JC LP MD
31
Gestion de flux JC LP MD
32
Types de liaisons JC LP MD
33
Module eSCI (A,B,C) JC LP MD
34
Paramètres de trame Nombre de bits de Data Nombre de bits de STOP
Parité Vitesse de transmission en bauds Pour TP2 8bits DATA,1 bit de STOP, pas de parité, vitesse:9600 bauds (clock pour le baud rate générateur à 30 MHz) JC LP MD
35
Types d’erreurs possibles
Parity error Framing error Overrun error JC LP MD
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.