GELE5343 Chapitre 5 : Architectures

Documents pareils
1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Rappels d architecture

CM2 L architecture MIPS32

ASR1 TD7 : Un microprocesseur RISC 16 bits

Compilation (INF 564)

Linux embarqué: une alternative à Windows CE?

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Exécution des instructions machine

Architecture des Ordinateurs. Partie II:

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Architecture des ordinateurs

Conférence sur les microcontroleurs.

Jeu d instructions NIOS II

Cours 3 : L'ordinateur

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Temps Réel. Jérôme Pouiller Septembre 2011

Introduction à la microinformatique et à la programmation OO

Architectures d implémentation de Click&DECiDE NSI

Ordinateurs, Structure et Applications

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Ordinateurs, Structure et Applications

Solution du challenge SSTIC Emilien Girault ANSSI/COSSI/DTO/BAI 06/06/13

Limitations of the Playstation 3 for High Performance Cluster Computing

IV- Comment fonctionne un ordinateur?

Cours Informatique 1. Monsieur SADOUNI Salheddine

Sécurité et sûreté des systèmes embarqués et mobiles

Ed 03/95 PAQ 1530 NON URGENTE (INFO PRODUIT) TEMPORAIRE DEFINITIVE

Fonctionnement et performance des processeurs

Licence Sciences et Technologies Examen janvier 2010

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Microprocesseur + Logiciel

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Initiation au HPC - Généralités

«clustering» et «load balancing» avec Zope et ZEO

Architecture des ordinateurs

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

WINDOWS Remote Desktop & Application publishing facile!

Vers du matériel libre

Architecture des calculateurs

Manuel d installation serveurs

Nouveautés Ignition v7.7

TD Architecture des ordinateurs. Jean-Luc Dekeyser

ESXi: Occupation RAM avec VM_Windows et VM_Linux. R. Babel, A. Ouadahi April 10, 2011

«Clustering» et «Load balancing» avec Zope et ZEO

Informatique Industrielle Année Architecture des ordinateurs Note de cours T.Dumartin

<Insert Picture Here> Solaris pour la base de donnés Oracle

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

ADMINISTRATION EXADATA

Les avantages de la virtualisation sont multiples. On peut citer:

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

CONTEC CO., LTD. Novembre 2010

Informatique pour scientifiques hiver Plan général Systèmes d exploitation

Comment utiliser L application I-USBKey?

Square-IT-Consulting. Présentation

Architecture des ordinateurs. Loïc Cuvillon. 20 novembre 2013

Cycle Innovation & Connaissance 12 petit déjeuner Mardi 15 mai Cloud Computing & Green IT : nuages ou éclaircies?

PIC : COURS ASSEMBLEUR

<Insert Picture Here> Exadata Storage Server et DB Machine V2

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

Installation d un serveur virtuel : DSL_G624M

Les technologies du Big Data

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Tests de performance du matériel

Jean-Philippe Paquette

Software and Hardware Datasheet / Fiche technique du logiciel et du matériel

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

Virtualisation & Sécurité

ST50 Projet de fin d études Noyau Linux et multi-processeur pour une plateforme embarquée

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Connexion sur REDLION G-308 avec le modem GSM GDW-11 pour envoi de SMS

Conception de circuits numériques et architecture des ordinateurs

Catalogue des stages Ercom 2013

La mémoire. Un ordinateur. L'octet. Le bit

Naissance d'un REPTAR

Mode d emploi pour lire des livres numériques

V3 - Une Appliance Conçue pour le VDI

Architecture ordinateur. Organisation mémoire et Entrées/Sorties

Adresse directe fichier : Adresse url spécifique sur laquelle le lien hypertext du Client doit être

Éléments d'architecture des ordinateurs

machine cible machine hôte architecture cible différente de la machine hôte

Sélection du contrôleur

Ecole Mohammadia d Ingénieurs Systèmes Répartis Pr. Slimane Bah, ing. PhD G. Informatique Semaine 24

Pourquoi OneSolutions a choisi SyselCloud

Authentification à deux facteurs Cryptage portable gratuit des lecteurs USB Cryptage du disque dur

L intelligence intégrée et connectée au cœur de vos projets. Dossier de presse

EL70x1 en mode position. Mise en œuvre rapide. VERSION : Beta / DATE : 31 Juillet 2011

VMware Infrastructure The New Computing Platform. Stéphane CROIX Systems Engineer

Leçon 1 : Les principaux composants d un ordinateur

Manuel de l utilitaire Computer Setup (F10) HP Compaq Business Desktops Modèles d220 et d230

WSM la solution complète de provisionnement de bureaux virtuels

La technologie Java Card TM

Réalisation d un OS 32 bits pour PC(x86)

Erreur statique. Chapitre Définition

Diagrammes de Package, de déploiement et de composants UML

Systèmes Embarqués Libres

Default Performance Monitor - WhatsUp

Transcription:

GELE5343 Chapitre 5 : Architectures Gabriel Cormier, Ph.D., ing. Université de Moncton Hiver 2013 Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 1 / 30

Introduction Contenu 1 Introduction 2 Types d architectures 3 MIPS 4 ARM 5 Atmel AVR 6 Autres considérations 7 Mémoire Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 2 / 30

Types d architectures Types d architectures 2 types principaux : Harvard et von Neumann Architectures d accès mémoire et de bus Affectent la taille des mots et le minutage Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 3 / 30

Types d architectures Architecture Harvard ALU Instructions mémoire Unité de contrôle Mémoire données I/O Mémoire instructions et mémoire données n ont pas besoin d être de même taille (bits) CPU peut lire une instruction et accéder la mémoire en même temps Adresses mémoire et données différentes Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 4 / 30

Types d architectures Architecture Harvard modifiée Séparation entre données et instructions moins stricte Cache données et mémoire séparés, mais avec adressage commun (commun ARM et x86) : permet de déplacer du code comme des données. Chemin d accès entre instructions et CPU pour avoir des instructions traitées comme données read-only (commun Atmel AVR) : permet à des données, comme strings ou tables de fonctions, d être lues directement sans copier en mémoire ; nécessite des instructions spéciales. Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 5 / 30

Types d architectures Architecture von Neumann CPU Mémoire I/O Bus de contrôle Bus d adresses Bus de données Bus mémoire et données partagées : limite la vitesse CPU maintenant beaucoup plus rapide que bus : architecture peu utilisée maintenant Cache peut accélérer le système Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 6 / 30

MIPS MIPS MIPS : Compagnie qui licencie son design d architecture RISC MIPS : Microprocessor without Interlocked Pipeline Stages RISC : Reduced Intruction Set Computing : Simplifier les instructions d un microprocesseur pour obtenir une meilleure performance. Philosophie : chaque instruction devrait être exécutée en 1 cycle d horloge Ex : Sony Playstation 2 Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 7 / 30

MIPS MIPS 32 registres pour accès rapide à des données (plus rapide que RAM) Utilisés pour accélérer les calculs Instructions de base sont en assembleur CPU effectue les calculs sur les registres seulement Ex : 1 registre contient l adresse de la prochaine instruction à exécuter Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 8 / 30

MIPS Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 9 / 30

MIPS MIPS 6 catégories d instructions Arithmétique : add, sub, mult, div et variantes Transfert de données : load, store, etc. Logique : and, or, xor, etc. Déphasage : shift droite ou gauche Conditionnel : branch Sauts : jump Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 10 / 30

MIPS MIPS 3 types d instructions : R, I, J R : 3 arguments : 2 registres d entrée, et 1 registre de sortie Ex : add $5, $3, $4 : additionne le contenu des registre 5 et 3, et place le résultat dans le registre 4 I : 3 arguments : 1 registre d entrée, 1 registre de sortie et 1 valeur de 16 bits Ex : addi $5, $3, 5 : additionne 5 au contenu du registre 5 et place le résultat dans le registre 3 J : 1 argument (jump) : la nouvelle adresse Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 11 / 30

ARM ARM ARM : ARM Holdings, licencie son design RISC ARM : Advanced RISC Machines Licencie son design : ne fabrique pas ses propres microprocesseurs 16 registres de 32 bits Instructions de 32 bits Exécution conditionnelle pour boucles (meilleure performance pour petites boucles if) Méthode intégrée de contrôle de co-processeurs 2010 : 95% du marché des smartphones Ex : Nintendo DS, iphone Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 12 / 30

Atmel AVR Atmel AVR Autre type d architecture Supporte Java Virtual machine Instruction de 16 et 32 bits Architecture de type Harvard 15 registres de 32 bits Seulement vendu par Atmel Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 13 / 30

Autres considérations JTAG JTAG : Joint Test Action Group Standard IEEE 1149.1 Standard Test Access Port and Boundary-Scan Architecture : standard pour tester des microprocesseurs après l assemblage Permet l accès au CPU pour déboggage Parfois, permet l accès à la mémoire flash Permet le scan des ports pour détecter des erreurs de soudure 4 ou 5 pins selon le modèle Disponible sur presque tous les microcontrôleurs modernes Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 14 / 30

Mémoire MIPS : séparation de la mémoire pour applications de la mémoire du système d exploitation MMU : Memory Management Unit Deux modes d opération : utilisateur (user) et système (kernel) Pour le PIC32 : Applications pour systèmes embarqués MMU remplacé par FMT (Fixed Mapping Translation) et contrôleur BMX (Bus Matrix) Architecture von Neumann Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 15 / 30

FMT Permet au PIC32 d être conforme à la structure MIPS standard Simplifie le design d outils et d applications Permet la réutilisation de code MIPS Réduit la complexité et donc le coût du PIC 32 Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 16 / 30

BMX Flexibilité de la partition mémoire Contrôle l accès à la mémoire entre le CPU et la requête d instructions Contrôle les requêtes DMA Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 17 / 30

Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 18 / 30

Adresses physiques PIC32 RAM FLASH S F R B O O T 0x00000000 0x1D000000 0x1F800000 0x1FC00000 0xFFFFFFFF Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 19 / 30

Partitions RAM RAM Kernel (Data) RAM Kernel (Prog) RAM User (Data) RAM User (Prog) 0x00000000 BMXDKDBA BMXDUDBA 0xBF000000 +BMXDUDBA 0xBF000000 +BMXDUPBA 0xFFFFFFFF Code utilisateur protégé du code système Registre BMXPUDBA permet de diviser la mémoire Flash RAM peut être divisé en 4 blocs Permet l exécution de code de la mémoire Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 20 / 30

Partitions RAM 0x00000000 Espace utilisateur 0x80000000 Espace kernel User FLASH RAM User (Data) RAM User (Prog) Générer immédiatement une exception si accès! 0x7D000000 0x7F000000+ BMXDUDBA 0x7F000000+ BMXDUPBA 0xFFFFFFFF Partition mémoire en mode utilisateur Boot flash n est pas mappé (protégé) Périphériques ne sont pas mappés (protégés) Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 21 / 30

Partitions RAM Espace utilisateur 0x80000000 Espace kernel 0xFFFFFFFF RAM (Data) RAM (Prog) FLASH Cache (Kseg0) FLASH Noncache (Kseg1) S F R B O O T 0x00000000 0x7F000000+ BMXDUDBA 0x9D000000 0xBD000000 0xBF800000 0xBFC00000 Partition mémoire en mode système Mode par défaut (le PIC32 n est pas fait pour un OS!) Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 22 / 30

DMA DMA : Direct Memory Access Nécessite 20 registres de contrôle Partage le bus système 32 bits du PIC32 Permet l accès direct à la mémoire, sans interrompre le CPU Permet de transférer des blocs complets de mémoire aux périphériques Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 23 / 30

DMA Le CPU démarre (autorise) le transfert de mémoire Pendant le transfert, le CPU peut faire autre chose Le CPU reçoit une interruption du DMA quand le transfert est complet Très utilisé : cartes graphiques, cartes réseau, cartes de son, etc. Utilisé dans les microprocesseurs à plusieurs coeurs Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 24 / 30

DMA : Modes de fonctionnement Burst Bloc complet de données transféré d un seul coup Cyclique Dans des systèmes où le CPU ne doit pas être désactivé pour le temps nécessaire à envoyer un bloc complet Transfert 1 mot à la fois Transparent Transfert de données seulement lorsque le CPU n a pas besoin du bus de données Nécessite du hardware complexe pour déterminer si le CPU a besoin du bus Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 25 / 30

Inconsistance cache X : ancienne valeur Y : nouvelle valeur CPU X X Cache Y Mémoire externe Y DMA Avec mémoire externe et cache, DMA peut générer des erreurs CPU peut accéder des valeurs fausses de mémoire Contrôler avec contrôleur ou par software Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 26 / 30

PIC32 : DMA Mémoire Source 1/2/3/4 bytes Mémoire Destination 1/2/3/4 bytes Début transfert IRQ DMA Arrêt transfert IRQ Début transfert Logiciel Arrêt transfert Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 27 / 30

PIC32 : DMA Taille de transfert Source et Destination indépendamment contrôlables Transfert initié par logiciel ou interruption Toutes les interruptions du PIC32 peuvent être utilisées Pointeurs séparés pour adresses Source et Destination Interruption peut être générée à mi-transfert ou fin de transfert Transfert peut être arrêté par IRQ ou logiciel (ou erreur d adresse) Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 28 / 30

PIC32 : DMA Contrôleur Interruption IRQ Système Bus périphérique Décodeur d adresse Contrôle CH0 I 0 Contrôle global (DMACON) Contrôle CH1. Contrôle CHn I 1 I n SEL Interface bus Contrôle canaux Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 29 / 30

PIC32 : DMA Plusieurs registres de contrôle du DMA : DMACON : Registre de contrôle principal DMASTAT : Registre de statut DMAADDR : Registre d adresses DCRCCON : Registre de contrôle du CRC DCRCDATA : Valeur initiale du générateur CRC DCHxCON : Registre de contrôle du canal x Gabriel Cormier (UdeM) GELE5343 Chapitre 5 Hiver 2013 30 / 30