Introduction
Architecture AVR
Mémoire AVR
Mémoire
Architecture des ordinateur 2
Cours 2 - Architecture microcontrôleur AVR
LIASD - Université Paris 8
Janvier 2018
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 1 / 30
Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire
Architecture de base d’un calculateur
Un calculateur est une machine de traitement de l’information
capable :
Acquérir l’information
Stocker l’information
Transformer l’information
Effectuer des traitements
Restituer sous une autre forme (Résultats)
Nous appelons information tout ensemble de données textes,
nombres, etc, mais aussi les instructions composant les
programmes. L’information est manipulée sous forme binaire.
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 2 / 30
Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire
Composants
Les deux principaux constituants un calculateur :
Mémoire (stocker l’information )
Processeur (exécuter les instructions du programme)
Entrées / Sorties Communiquer avec l’environnement
F IGURE – Architecture d’un calculateur
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 3 / 30
Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire
Notion de programme
Un programme est une suite d’instructions élémentaires
exécutées dans l’ordre par le processeur.
Les instructions d’un processeur sont appelées Jeu
d’instruction
Pour écrire un programme en langage machine, il faut
connaître les détails du fonctionnement du processeur qui
va être utilisé.
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 4 / 30
Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire
Principes de fonctionnement
F IGURE – Architecture générale d’un calculateur
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 5 / 30
Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire
Deux architectures (Harvard vs Von neumann
F IGURE – Architecture Harvard - Von neumann
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 6 / 30
Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire
Architecture RISC - CISC
RISC : Reduced instruction set computing
Consiste à déplacer les complexités majeures du hardware
vers le software
CISC : Complex Instruction Set Computer :
contraire exact de la technologie RISC
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 7 / 30
Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire
Système dans un boîtier - Sip (System in Package)
Système complet construit dans un boîtier multi-puces,
Microprocesseur (CPU)
Mémoire
Périphériques d’interface
...
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 8 / 30
Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire
Système sur une puce SoC (system on a chip)
Système complet embarqué sur une seule puce :
Microprocesseur (CPU)
Mémoire
Périphériques d’interface
...
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 9 / 30
Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire
Microcontrôleur
Soc :
Microprocesseur (CPU)
Mémoire
Périphériques d’interface
...
Exemple :
AVR
PIC
...
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 10 / 30
Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire
Circuits intégrés
F IGURE – Microcontrôleur AVR
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 11 / 30
Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire
Plateforme Arduino
F IGURE – Arduino Uno
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 12 / 30
Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire
Plateforme Arduino
Arduino est un circuit imprimé en matériel libre
Les plans de la carte elle-même sont publiés en licence
libre
Le composant principale de la carte le microcontrôleur
n’est pas en licence libre
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 13 / 30
Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire
Pins
F IGURE – Atmega 328
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 14 / 30
Introduction
Architecture AVR
Architecture interne AVR
Mémoire AVR
Mémoire
Atmega 328
RISC
Harvard
Bus de données 8 bits
131 Instructions (16 bits)
32 Ko Flash (Programme)
2 Ko SRAM (Données)
1 Ko EEPROM (Données)
Fréquence CPU 4 Mhz / 8 Mhz /16 Mhz
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 15 / 30
Introduction
Architecture AVR
Architecture interne AVR
Mémoire AVR
Mémoire
Atmega 328
F IGURE – Atmega 328
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 16 / 30
Introduction
Architecture AVR
Architecture interne AVR
Mémoire AVR
Mémoire
Atmega 328
F IGURE – Atmega 328
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 17 / 30
Introduction
Architecture AVR
Architecture interne AVR
Mémoire AVR
Mémoire
Questions
Calculer le nombre d’instructions exécutées par seconde
pour le composant
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 18 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire
Mémoire
F IGURE – Fonctionnement de la mémoire
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 19 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire
Les mémoires de l’AVR
Mémoire programme (Flash) 32 Ko
Mémoire données volatile (SRAM) 2 Ko
Mémoire de donnée persistante (EEPROM) 1Ko
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 20 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire
Mémoire programme Flash
Pour Atmega 328 :
131 Instructions (16 bits)
32 Ko Flash (Programme)
Largeur 16 bits
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 21 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire
Mémoire Flash
Taille 32Ko (Atmega 328)
La mémoire flash est une mémoire de masse à
semi-conducteurs ré-inscriptible
Mémoire possédant les caractéristiques d’une mémoire
vive mais dont les données ne disparaissent pas lors d’une
mise hors tension
Vitesse élevée, sa durée de vie et sa faible consommation
(Wikipedia)
Contrairement à la mémoire dynamique (DRAM), elle n’a pas
besoin de rafraîchir périodiquement son contenu.
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 22 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire
Mémoire programme Flash
F IGURE – Mémoire programme Flash
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 23 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire
Questions
Calculer la taille du bus d’adresse pour la mémoire flash
Calculer le nombre de mots mémoire adressés
Quelle est la taille du mot mémoire
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 24 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire
Mémoire Données SRAM
Taille 2Ko (Atmega 328)
SRAM pour l’anglais Static Random Access Memory
Utilisant des bascules pour mémoriser les données
(Wikipedia)
Contrairement à la mémoire dynamique (DRAM), elle n’a pas
besoin de rafraîchir périodiquement son contenu.
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 25 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire
Mémoire de donnée SRAM
F IGURE – Mémoire de données
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 26 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire
Registres généraux
F IGURE – Registres
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 27 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire
Registres généraux
F IGURE – Registres 16 bits
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 28 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire
Questions
Calculer le nombre d’instructions exécutées par seconde
pour le composant
Calculer la taille de la mémoire de données (en Octets)
Quelle est la taille maximale que peut avoir le programme
(en Octets)
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 29 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire
Mémoire EEPROM
Taille 1Ko (Atmega 328)
Mémoire pour stocker les données de façon permanente
Electrically-Erasable Programmable Read-Only Memory
ou mémoire morte effaçable électriquement et
programmable
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 30 / 30