9 décembre 2014J.Callot L.Piedfort1 Chapitre_1 K60 Evolution des machines Introduction au K60 Liaison série.

Slides:



Advertisements
Présentations similaires
Électronique de base du processeur
Advertisements

Architecture de machines Le microprocesseur
Introduction au langage C
ARCHITECTURE INTERNE d’un MICROPROCESSEUR
Plan du cours : 2ème Partie
Jacques Lonchamp IUT Nancy Charlemagne – DUT Informatique 1A
C.
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
Les structures de données
Architecture de machines Le microprocesseur
Système d’exploitation : Assembleur
PILE voir l'animation: Diaporama / Visualiser ...
Système d’exploitation : Assembleur
Les systèmes à microprocesseur
Chapitre 8 : L’architecture de base des ordinateurs
ARCHITECTURE GLOBALE CAPTAGE Traitement DES des données GRANDEURS
Conception d’une carte à microcontrôleur ARM pour le robot Amphibot II
Architecture et technologie des ordinateurs II
Architecture de base d’un ordinateur
Les piles Djamal Rebaïne.
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
Système d’exploitation : Assembleur
LE MICROPROCESSEUR 8086/8088 Architecture externe du 8086
Structure de la famille de DSP Motorola 56300
Architecture des Ordinateurs
Architecture d ’un système à MICROPROCESSEUR
LES SYSTEMES AUTOMATISES
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
©Frédéric Bastien 2006 Université de Montréal 1 LISATek LISATek pour concevoir des processeurs.
Architecture et technologie des ordinateurs II
Chap. 2 - Structure d’un ordinateur
L'Unité centrale (CPU) Le CPU doit être rapide (mesuré en temps de CPU) UNITE DE CONTROLE Générer les signaux de control/temps Contrôler le décodage/exécution.
Lycée ELKHAWARIZMI De SAFI
Logique programmée & Microprocesseurs
Cours Architecture des Systèmes Informatiques
Cours de Structure et Technologie des composants d’ordinateurs
Cours Architecture des Systèmes Informatiques
Etude de cas: carte 80C552++ ‘APPALACHES’
3-Présentation d’un µP simple
Architectures des ordinateurs
Les Machines RAM.
Sémantique des instructions pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Novembre 2014J.Callot L.Piedfort1 TP1 Enoncé. novembre 2014J.Callot L.Piedfort2 Objectifs Générer un environnement de travail avec Code Warrior Prendre.
COURS_1 JC LP MD.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
Microcontrôleurs PIC. 1ère séance Présentation du PIC16F876 Outils de programmation du PIC Le langage C Exemples d’applications simples 2ème séance Présentation.
ISBN Chapitre 10 L'implémentation des sous- programmes.
02/10/2013JC LP MD1 COURS_3. 02/10/2013JC LP MD2 Direct Memory Access DMA.
9 décembre 2014J.Callot L.Piedfort1 Chapitre_4 K60 Caches MMU.
DMA MEM MEM Enoncé polling novembre 2014J.Callot L.Piedfort1.
On utilisera la version HC912DG128
TP5 Enoncé DMA MEM MEM. objectif Utiliser un canal DMA pour faire un transfert d’une zone mémoire vers une autre zone mémoire On fera le transfert sans.
16 décembre 2014J.Callot L.Piedfort1 Chapitre_3 K60 DMA.
1. Spoon Christophe Delagarde, septembre 1998 I.U.T., Université de la Méditerrainée 2.
1 II2/AVR II2 - Microcontroleur  Introduction  Famille ATMEL AVR8bits  ATMega16  Organisation Mémoire  Architecture CPU  Modes d'adressage et jeu.
18/09/2013JC LP MD1 Cours_2. 18/09/2013JC LP MD2 Mapping de configuration.
Micro contrôleurs M. Boutemeur
Patricia Renault UPMC 2005/2006
Représentation digitale des données Trois formats de base: 1) Décimale: base 10 (Une constante i.e dimension d ’1 vecteur) 2) Binaire: base 2 ( Mask, set/reset.
Chapitre 3 L’accès aux données.
13/08/2013JC/LP/MD1 TP2 Enoncé. 13/08/2013JC/LP/MD2 Objectif Gérer la liaison série en polling Envoi d’un caractère § au démarrage Faire l’écho des caractères.

Architecture des ordinateurs
CHAPITRE 10 Les sous-programmes 1. Sous-programme Suite d’instructions appelée de manière répétitive Par un programme Par plusieurs programmes distincts.
Formations Système Embarqué & Informatique Industrielle
ARCHITECTURE MATERIELLE D’UN SYSTEME A MICROPROCESSEUR
Systèmes à microprocesseur Les mémoires
Evolution des machines Introduction à l’ARDUINO
Evolution des machines Introduction au K60 Liaison série
Evolution des machines Introduction au MSP-EXP432
Transcription de la présentation:

9 décembre 2014J.Callot L.Piedfort1 Chapitre_1 K60 Evolution des machines Introduction au K60 Liaison série

9 décembre 2014J.Callot L.Piedfort2 Evolution des machines

9 décembre 2014J.Callot L.Piedfort3 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é

9 décembre 2014J.Callot L.Piedfort4 Familles microprocesseurs 8 bits Intel 8008, 8080 Motorola 6800 Zilog Z80

9 décembre 2014J.Callot L.Piedfort5 Mainframes Machines multi users (16/32 bits) IBM CDC DEC (Digital Equipment Corporation) famille PDP UNIX Langage C

9 décembre 2014J.Callot L.Piedfort6 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é …..

9 décembre 2014J.Callot L.Piedfort7 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

9 décembre 2014J.Callot L.Piedfort8 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!!!!)

9 décembre 2014J.Callot L.Piedfort9 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

9 décembre 2014J.Callot L.Piedfort10 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…..)

9 décembre 2014J.Callot L.Piedfort11 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

9 décembre 2014J.Callot L.Piedfort12 K60 FN 1MO introduction

9 décembre 2014J.Callot L.Piedfort13

9 décembre 2014J.Callot L.Piedfort14 MK MHz

9 décembre 2014J.Callot L.Piedfort15 Modes USER: non privilégié FIQ: privilégié Fast interrupt IRQ: privilégié interrupt SVC: privilégié supervisor reset et soft interrupt Abort: privilégié memory acces violation Undef: privilégié undefined instruction System: privilégié

9 décembre 2014J.Callot L.Piedfort16 Registers

9 décembre 2014J.Callot L.Piedfort17 Registres (EABI) 32 bits ARM instruction set 16 bits Thumb instruction set

9 décembre 2014J.Callot L.Piedfort18 Registres (EABI)

9 décembre 2014J.Callot L.Piedfort19 Accès mémoire De type load/store Format: instruction registre,[registre pointeur, offset] ldr str word ex: ldr r3,[r7,#4] ldrb strb byte ldrh strh halfword Accès à la pile Format: instruction {liste de registres} push mettre dans la pile ex: push {r7,lr} Pop retirer de la pile

Addition soustraction 9 décembre 2014J.Callot L.Piedfort20 Format: instruction Rx target, Ry source, opérande Opérande: registre ou valeur immédiate (0-4095) add ex: add r3,r3,#4 adds (S permet de modifier les flags) sub subs

Manipulation de registres Chargement registre Format instruction registre target, valeur immédiate Valeur immédiate de 0 a mov ex: mov r3,#100 Copie de registre Format instruction registre target, registre source cpy ex: cpy r0,r3 9 décembre 2014J.Callot L.Piedfort21

9 décembre 2014J.Callot L.Piedfort22 Utilisation du link register LR Appel de sous programme bl prog Retour de sous programme bx lr

9 décembre 2014J.Callot L.Piedfort23 Chargement d’un registre en 32 bits On veut r0=0x movw r0, #0x5678 movt r0,#0x1234

9 décembre 2014J.Callot L.Piedfort24 Carte K PORTS

9 décembre 2014J.Callot L.Piedfort25 portA

9 décembre 2014J.Callot L.Piedfort26 Port B

9 décembre 2014J.Callot L.Piedfort27 Port C

9 décembre 2014J.Callot L.Piedfort28 Port D

9 décembre 2014J.Callot L.Piedfort29 Port E

9 décembre 2014J.Callot L.Piedfort30 Pin mux

9 décembre 2014J.Callot L.Piedfort31 Pin mux (& 10)

9 décembre 2014J.Callot L.Piedfort32 PinControl Register (&11)

9 décembre 2014J.Callot L.Piedfort33 K60 Clocks

9 décembre 2014J.Callot L.Piedfort34 SIM System Integration Module (&12) Au reset aucun des blocs ne reçoit de clock afin de limiter la consommation Avant d’affecter une fonction à un pads il faudra alimenter en clock le port correspondant ainsi que la fonction si nécessaire Ex: le serial 5 se trouve sur le port E Il faut donc valider les clocks pour le port E et le bloc UART 5

9 décembre 2014J.Callot L.Piedfort35 SIM_SCGC1

9 décembre 2014J.Callot L.Piedfort36 SIM_SCGC2

9 décembre 2014J.Callot L.Piedfort37 SIM_SCGC3

9 décembre 2014J.Callot L.Piedfort38 SIM_SCGC4 Attention ne pas effacer les bits déjà positionnés par défaut !!! Toujours faire un « ou » avec ce que l’on veut rajouter

9 décembre 2014J.Callot L.Piedfort39 SIM_SCGC5

GPIO 9 décembre 2014J.Callot L.Piedfort40

GPIOxPDDR direction register (&58) 9 décembre 2014J.Callot L.Piedfort41

GPIOxPDOR data register (&58) 9 décembre 2014J.Callot L.Piedfort42

GPIOxPSOR set register (&58) 9 décembre 2014J.Callot L.Piedfort43

GPIOx_PCOR clear register (&58) 9 décembre 2014J.Callot L.Piedfort44

GPIOxPTOR toggle register (&58) 9 décembre 2014J.Callot L.Piedfort45

Définitions (MK60F12.H) 9 décembre 2014J.Callot L.Piedfort46

Définitions (MK60F12.H) 9 décembre 2014J.Callot L.Piedfort47

Accès aux registres SIM 9 décembre 2014J.Callot L.Piedfort48

Accès aux registres PORTx_PCRy (exemples) 9 décembre 2014J.Callot L.Piedfort49

Définition registres GPIOx (MK60F12.H) 9 décembre 2014J.Callot L.Piedfort50

9 décembre 2014J.Callot L.Piedfort51 Liaison série

9 décembre 2014J.Callot L.Piedfort52 Principe de la RS232

9 décembre 2014J.Callot L.Piedfort53 Trame RS232 en transmit sur la ligne

9 décembre 2014J.Callot L.Piedfort54 Gestion de flux

9 décembre 2014J.Callot L.Piedfort55 Types de liaisons

9 décembre 2014J.Callot L.Piedfort56 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 à MHz)

9 décembre 2014J.Callot L.Piedfort57 Types d’erreurs possibles Parity error Framing error Overrun error

9 décembre 2014J.Callot L.Piedfort58 UARTx_BDH UARTx_BDL (&55) Baud rate= clock/(16*SBR)

9 décembre 2014J.Callot L.Piedfort59 UARTx_C1 (&55) Loops normal/loop M 8/9 bits data PE parity enable PT parity type

9 décembre 2014J.Callot L.Piedfort60 UARTx_C2 (&55) TIE/TCIE/RIE/ILIE interrupts enable TE transmitter enable RE receiver enable

9 décembre 2014J.Callot L.Piedfort61 UARTx_C4 (&55) BRFA: baud rate fine adjust (voir table : 32 pas de )

UARTx_C5 (&55) 9 décembre 2014J.Callot L.Piedfort62

9 décembre 2014J.Callot L.Piedfort63 UARTx_D (&55)

9 décembre 2014J.Callot L.Piedfort64 UARTx_S1 (&55) TDRE transmit ready RDRF receiver ready Or overrun FE framing error PF parity error

Accès aux registres du serial #define UART5_BDH UART_BDH_REG(UART5_BASE_PTR) #define UART5_BDL UART_BDL_REG(UART5_BASE_PTR) #define UART5_C1 UART_C1_REG(UART5_BASE_PTR) #define UART5_C2 UART_C2_REG(UART5_BASE_PTR) #define UART5_S1 UART_S1_REG(UART5_BASE_PTR) #define UART5_S2 UART_S2_REG(UART5_BASE_PTR) #define UART5_C3 UART_C3_REG(UART5_BASE_PTR) #define UART5_D UART_D_REG(UART5_BASE_PTR) #define UART5_MA1 UART_MA1_REG(UART5_BASE_PTR) #define UART5_MA2 UART_MA2_REG(UART5_BASE_PTR) #define UART5_C4 UART_C4_REG(UART5_BASE_PTR) #define UART5_C5 UART_C5_REG(UART5_BASE_PTR) 9 décembre 2014J.Callot L.Piedfort65