SlideShare una empresa de Scribd logo
1 de 10
Les processeurs ARM des systèmes embarqués 2012
1
Introduction :....................................................................................................................................... 2
L’architecture Risc ............................................................................................................................... 2
Principes de l’architecture ARM.......................................................................................................... 3
Jeu d'instructions pour les systèmes embarqués :.............................................................................. 3
Matériel Systèmes Embarqués............................................................................................................ 4
Technologie de bus ARM................................................................................................................. 5
Le protocole de Bus AMBA........................................................................................................... 5
Mémoire.......................................................................................................................................... 6
Hiérarchie des mémoires : .......................................................................................................... 6
Largeur (débit) de mémoire: ...................................................................................................... 7
Types de mémoires : ................................................................................................................... 7
Périphériques : ................................................................................................................................ 8
Contrôleur de mémoire............................................................................................................... 9
Contrôleurs des interruptions..................................................................................................... 9
Récapitulation : ................................................................................................................................... 9
Les processeurs ARM des systèmes embarqués 2012
2
Introduction :
De plus en plus, développeurs de systèmes embarqués et les concepteurs de systèmes sur puce
sélectionnent des microprocesseurs spécifiques, une famille d'outils, des bibliothèques et un
ensemble des composants pour développer rapidement de nouveaux produits à base de
microprocesseur. Un acteur majeur dans cette industrie est ARM. Au cours des ces dernières années,
l'architecture ARM est devenu la plus répandue architecture 32-bit dans le monde. Les processeurs
ARM sont intégrés dans des produits allant des téléphones cellulaires / mobiles à des systèmes de
freinage automobile.
L’architecture Risc
Le noyau ARM utilise une architecture RISC. RISC est une philosophie de conception visant à fournir
des instructions simples mais puissants qui exécutent dans un seul cycle à une vitesse d'horloge
élevée.
La philosophie RISC se concentre sur la réduction de la complexité des instructions exécutées par le
matériel, car il est plus facile de fournir une plus grande souplesse et d'intelligence dans le logiciel
plutôt que du matériel. En conséquence, une conception RISC place de plus grandes exigences sur le
compilateur.
En revanche, le complexe traditionnel jeu d'instructions d'ordinateur (CISC) se fonde plus sur le
matériel pour la fonctionnalité d'instruction, et par conséquent les instructions CISC sont plus
compliquées.
La philosophie RISC est mise en œuvre avec quatre règles de conception majeurs:
1. Instructions : Processeurs RISC ont un nombre réduit de classes d'instruction. Ces classes
offrent des opérations simples qui peuvent chacune exécuter en un seul cycle. Chaque
instruction a une longueur fixe pour permettre au pipeline d'aller chercher les futures
instructions avant le décodage de l'instruction en cours. En revanche, dans les processeurs
CISC les instructions sont souvent de taille variable et de prendre de nombreux cycles pour
s'exécuter.
2. Pipelines : Le traitement des instructions est décomposé en unités plus petites qui peuvent
être exécutées en parallèle par des pipelines. Idéalement, le pipeline avance par une étape à
chaque cycle. Les instructions peuvent être décodées dans une étape (étage) de pipeline. Il
n'ya pas de nécessité d'une instruction devant être exécutée par un mini-programme appelé
microcode que sur Processeurs CISC.
3. Registres : Machines RISC ont un ensemble important de registres. Tous les registres
peuvent contenir des données ou une adresse. Les registres sont des mémoires locales
rapides pour toutes les opérations de traitement des données. En revanche, processeurs
CISC ont consacré des registres à des fins spécifiques.
4. Load-store architecture : Le processeur opère sur les données détenues dans les registres.
Séparation entre les instructions de chargement et de stockage des données communiquant
avec les registres et celles communiquant avec la mémoire externe. Accès à la mémoire sont
coûteuses, afin de séparation accès à la mémoire de traitement de données fournit un
avantage parce que vous pouvez utiliser les éléments de données qui s'est tenue à la banque
de registres à plusieurs reprises sans avoir besoin de plusieurs accès à la mémoire. En
revanche, avec un design CISC les opérations de traitement des données peut agir sur la
mémoire directement.
Remarque :
Les processeurs ARM des systèmes embarqués 2012
3
Ces règles de conception permettent un processeur RISC d'être simple, et donc le noyau peut
fonctionner à des fréquences d'horloge plus élevées. En revanche, les processeurs traditionnels CISC
sont plus complexes et fonctionnent à des fréquences d'horloge inférieures. Au cours de deux
décennies, les processeurs CISC ont mis en œuvre des concepts plus RISC.
Principes de l’architecture ARM
Il y a un certain nombre de caractéristiques physiques qui ont poussé le design du processeur ARM.
Tout d'abord, les systèmes embarqués mobiles nécessitent une certaine forme de puissance de la
batterie. Le processeur ARM a été spécialement conçu pour être petit pour réduire la consommation
d'énergie et de prolonger l'exploitation de la batterie-essentielle pour des applications telles que les
téléphones mobiles et assistants numériques personnels (PDA).
Haute densité du code est une autre exigence majeure depuis les systèmes embarqués ont une
mémoire limitée en raison du coût et / ou des restrictions de taille physique. Haute densité du code
est utile pour les applications qui ont limité de mémoire embarquée, tels que les téléphones mobiles
et dispositifs de stockage de masse.
En outre, les systèmes embarqués sont sensibles aux prix et utilisent des dispositifs de mémoire lente
et à faible coût. Pour applications à volume élevé comme les appareils photo numériques, chaque
centime doit être pris en compte dans la conception. La possibilité d'utiliser des dispositifs de
mémoire à faible coût produit des économies substantielles.
Une autre condition importante est de réduire la zone de la filière prise par le processeur embarqué.
Pour une solution mono-puce, plus la zone utilisée par le processeur embarqué, le plus d'espace
disponible pour les périphériques spécialisés. Cela réduit le coût de la conception et la fabrication
depuis moins de jetons discrets sont nécessaires pour le produit final.
ARM a intégré la technologie de débogage matériel dans le processeur afin que les ingénieurs
logiciels puissent voir ce qui se passe tandis que le processeur est d'exécuter du code. Avec une plus
grande visibilité, les ingénieurs logiciels peuvent résoudre les problèmes plus rapidement, ce qui a un
effet direct sur le temps de mise sur le marché et réduit les coûts globaux de développement.
Le cœur ARM n'est pas une architecture RISC pur en raison des contraintes de sa principale
application : système embarqué. Dans un certain sens, la force du noyau ARM, c'est qu'il ne prend
pas le concept RISC trop loin. Dans les systèmes d'aujourd'hui la clé n'est pas la vitesse du processeur
brut, mais au total les performances du système en vigueur et la consommation d'énergie.
Jeu d'instructions pour les systèmes embarqués :
Le jeu d'instructions ARM diffère de la pure définition RISC de plusieurs façons qui font le jeu
d'instructions ARM pour les applications embarquées:
Cycle d’exécution variable pour certaines instructions :
Pas toutes les instructions ARM s’exécutent en un seul cycle. Par exemple, les instructions de
chargement et de stockage varient dans le nombre de cycles d'exécution en fonction du nombre
de registres étant transférées. Le transfert peut se produire sur les adresses de mémoire
séquentielle, ce qui augmente les performances depuis les accès mémoire séquentiels sont
souvent plus rapides que les accès aléatoires. La densité du code est également améliorée
puisque les transferts de multiples registres sont des opérations courantes au début et à la fin
des fonctions.
Dispositif de décalage en ligne pour la gestion des instructions complexes
Les processeurs ARM des systèmes embarqués 2012
4
Est un composant matériel qui traite les registres d'entrée de saisie. Il est utilisé par une
instruction. Cela élargit la capacité de nombreuses instructions pour améliorer les performances
de base et la densité du code.
Thumb : Jeu d’instructions 16-bits :
ARM amélioré le cœur du processeur en ajoutant un second jeu d’instruction 16-bit appelé
« thumb » qui permet au cœur ARM d’exécuter soit 16 - ou 32-bits instruction. Les instructions
16-bits permettent d'améliorer la densité du code d'environ 30% par rapport à 32-bit de
longueur fixe des instructions.
Exécution conditionnelle
Une instruction est exécutée uniquement si une condition spécifique a été satisfaite. Cette
fonctionnalité améliore la performance et la densité code en réduisant les instructions de
branchement.
des instructions DSP améliorées :
Des instructions Digital Signal Processor (DSP) ont été ajoutées au Jeu l'instruction ARM pour
supporter les opérations rapides multiplicateur 16x16 bits et la saturation. Ces instructions
permettent à un processeur ARM d’être rapide et performant dans certains cas de remplacer les
combinaisons traditionnelles d'un processeur plus un DSP.
Note :
Ces fonctionnalités supplémentaires ont fait le processeur ARM l'un des plus couramment
utilisé 32-bit noyaux des processeurs embarqués. Bon nombre des entreprises semi-conducteurs, à
travers le monde produisent des produits à base autour du processeur ARM.
Matériels Systèmes Embarqués
Les systèmes embarqués peuvent contrôler de nombreux appareils différents, à partir de petits
capteurs se trouvent sur une ligne de production, aux systèmes de contrôle en temps réel utilisés sur
une sonde spatiale de la NASA. Tous ces dispositifs utilisent une combinaison de composants
matériels et logiciels. Chaque composant est choisi pour l'efficacité et, le cas échéant, est conçu pour
une extension future et l'expansion.
Le schéma suivant montre un dispositif de type embarqué basé sur un noyau ARM.
Chaque case représente une caractéristique ou une fonction. Les lignes reliant les cases sont les
autobus transportant des données. Nous pouvons séparer l'appareil en quatre principaux
composants matériels :
Les processeurs ARM des systèmes embarqués 2012
5
Le processeur ARM : exécute les programmes, contrôle et supervise le dispositif embarqué.
Différentes versions du processeur ARM sont disponibles pour répondre aux caractéristiques
de fonctionnement souhaitées. Un processeur ARM comprend un noyau (le moteur
d'exécution qui traite des instructions et de données manipule) ainsi que les composants
autour de lui ce qu'il lui permet d’interfacer avec un bus. Ces composants peuvent inclure la
gestion de la mémoire et les caches.
Contrôleurs : permet de coordonner les importants blocs fonctionnels du système. Deux
contrôleurs sont couramment trouvés : le contrôleur d'interruption et le contrôleur
mémoire.
Les périphériques : fournir toutes les capacités d'entrée-sortie externe à la puce et sont
responsable de l'originalité de l'appareil embarqué
Les bus : Un bus est utilisé pour communiquer entre les différentes parties du dispositif
Technologie de bus ARM
Les systèmes embarqués utilisent des technologies de bus différents de ceux conçus pour les
ordinateurs x86. La technologie PCI la plus courante de bus pour l'interconnexion de composants
périphériques, de connecter des appareils tels que les cartes vidéo et contrôleurs de disque dur vers
le bus de processeur x86. Ce type de technologie est externe ou hors de la puce (c.-à-, le bus est
conçu pour se connecter mécaniquement et électriquement à des dispositifs externes à la puce) et
est intégré dans la carte mère d'un PC.
Par contre, les appareils embarqués utilisent un bus sur la puce qui est interne à la puce et qui
permet à différents dispositifs périphériques d’être interconnectés avec le cœur ARM.
Il y a deux différentes classes de périphériques connectés au bus.
dispositif maître de bus : un dispositif logique capable de lancer un transfert de données
avec un autre dispositif sur le bus même. Le cœur de processeur ARM est un bus maître.
dispositif esclave de bus : Dispositif logique capable seulement de répondre à une demande
de transfert à partir d'un dispositif maître de bus.
Un bus a deux niveaux de l'architecture :
Niveau physique : couvre les caractéristiques électriques et la largeur de bus (16, 32 ou 64
bits).
Niveau logique : les protocoles et les règles logiques qui régissent la communication entre le
processeur et un périphérique
Note :
ARM est principalement une entreprise de conception. Il met en œuvre rarement les caractéristiques
électriques du bus, mais il précise systématiquement le protocole de bus.
Le protocole de Bus AMBA
L'architecture avancée microcontrôleur Bus (AMBA : Advanced Microcontroller Bus Architecture) a
été introduit en 1996 et a été largement adopté comme l'architecture de bus sur puce utilisée pour
les processeurs ARM. Les premiers bus AMBA introduites étaient le bus système ARM (ASB : ARM
System Bus) et le ARM bus périphérique (APB : ARM Peripheral Bus). Plus tard, ARM a introduit une
autre conception de bus, le bus appelé Performance ARM haute (AHB : ARM High Performance Bus).
Utilisation de l'AMBA, les concepteurs périphériques peuvent réutiliser le même design sur plusieurs
projets. Parce qu'il ya un grand nombre de périphériques développés avec une interface AMBA, les
concepteurs de matériel ont un large choix de périphériques testés et prouvés pour l'utilisation dans
un dispositif.
Un périphérique peut simplement être vissé sur le bus sur puce, sans avoir à redessiner une interface
pour chaque architecture de processeur différent. Cette interface plug-and-play pour les
développeurs de matériel améliore la disponibilité et le temps sur le marché.
Les processeurs ARM des systèmes embarqués 2012
6
AHB offre un débit de données supérieur ASB, car il est basé sur un système centralisé
multiplexé régime de bus plutôt que la conception ASB bus bidirectionnel.
Ce changement permet au bus AHB à courir à des vitesses d'horloge plus élevées et d'être le bus
premier ARM pour supporter des largeurs de 64 et 128 bits.
ARM a introduit deux variations sur le bus AHB:
Multi-couche AHB
AHB-Lite.
Contrairement à la AHB d'origine, ce qui permet à un maître de bus unique d'être actif sur le bus à
tout moment, le bus multi-couche permet à plusieurs AHB maîtres de bus actifs. AHB-Lite est un
sous-ensemble de l'autobus AHB et elle est limitée à un maître de bus unique. Ce bus a été
développé pour des conceptions qui ne nécessitent pas toutes les fonctionnalités du bus AHB
standard.
AHB et multi-couche AHB support le même protocole pour le maître et esclave, mais ont différente
interconnexions. La nouvelle interconnexion multi-couche AHB est bonne pour les systèmes équipés
de plusieurs processeurs. Ils permettent des opérations de se produire en parallèle et permettre des
débits plus élevés.
Remarque :
Le dispositif exemple de la figure 1.2 a trois bus: un bus AHB pour les périphériques hautes
performances, un bus APB pour les périphériques lents, et un troisième bus pour les périphériques
externes, propriétaires de cet appareil. Ce bus externe nécessite un pont spécialisé pour se
connecter avec le bus AHB.
Mémoire
Un système embarqué doit avoir une certaine forme de mémoire pour stocker et exécuter du code.
Vous devez comparer les prix, les performances et la consommation d'énergie au moment de décider
sur des caractéristiques de mémoire spécifiques, telles que la hiérarchie, la largeur et le type. Si la
mémoire doit courir deux fois plus vite pour maintenir une largeur de bande désirée, puis la
demande de puissance de mémoire peut être plus élevée.
Hiérarchie des mémoires :
Tous les systèmes informatiques ont la mémoire disposés dans une certaine forme de hiérarchie. La
figure 1.2 montre un dispositif qui prend en charge externe hors de la puce mémoire. Interne au
processeur il ya une option d'un cache (non représenté sur la figure 1.2) pour améliorer les
performances de la mémoire.
La figure 1.3 montre la mémoire des arbitrages: le cache mémoire la plus rapide est physiquement
situé plus près le cœur de processeur ARM et le plus lent de mémoire secondaire est fixé plus loin. En
général, la mémoire est plus au cœur de processeur, plus il en coûte et le plus petit de sa capacité.
Le cache est placé entre la mémoire principale et le noyau. Il est utilisé pour accélérer le transfert de
données entre le processeur et la mémoire principale. Un cache permet une augmentation globale
de la performance, mais avec une perte de temps d'exécution prévisible.
Les processeurs ARM des systèmes embarqués 2012
7
Le cache est placé entre la mémoire principale et le noyau. Il est utilisé pour accélérer le transfert de
données entre le processeur et la mémoire principale. Un cache permet une augmentation globale
de la performance, mais avec une perte de temps d'exécution prévisible.
Bien que le cache augmente la performance générale du système, il ne permet pas d’aider le système
de répondre en temps réel. Notez que de nombreux petits systèmes embarqués n'ont pas besoin
des avantages de performance d'un cache.
La mémoire principale est grande autour de 256 Ko à 256 Mo (voire plus), en fonction de l'application
et est généralement stockée dans des puces séparées.
Les instructions de lecture et écriture accèdent à la mémoire principale sauf, si les valeurs ont été
stockées dans le cache pour l'accès rapide. De stockage secondaire est la forme la plus grande et la
plus lente de la mémoire. Les disques durs et lecteurs CD-ROM sont des exemples de stockage
secondaire. Ces jours de stockage secondaire peut varier de 600 Mo à 60 Go.
Largeur (débit) de mémoire:
La largeur de mémoire est le nombre de bits de la mémoire renvoie sur chaque accès, généralement
8, 16, 32 ou 64 bits. La largeur de mémoire a un effet direct sur la performance globale et
rapport coûts.
Si vous avez un système non mis en cache à l'aide de 32 bits ARM-instructions et des puces de
mémoire 16-bit à l'échelle, alors le processeur devra faire deux accès à la mémoire par instruction.
Chaque recherche nécessite deux 16-bits lectures. Ceci a évidemment pour effet de réduire les
performances du système, mais l'avantage est que 16-bit de mémoire est moins cher.
En revanche, si le noyau exécute les instructions Thumb 16 bits, il permettra d'atteindre de
meilleures performances avec une mémoire de 16 bits. Le rendement plus élevé est le résultat de
processeur en ne faisant qu'une seule recherche dans la mémoire pour charger une instruction. Ainsi,
en utilisant des instructions Thumb avec des dispositifs de mémoire 16-bit à l'échelle fournit à la fois
de meilleures performances et un coût réduit.
Types de mémoires :
Les processeurs ARM des systèmes embarqués 2012
8
Il y a beaucoup de différents types de mémoire. Dans cette section, nous décrivons certains des
dispositifs de mémoire les plus populaires qu’on trouve dans ARM systèmes embarqués :
ROM : Mémoire en lecture seule (ROM) est le moins souple de tous les types de mémoire car
il contient une image qui est réglée en permanence au moment de la production et ne peut
pas être reprogrammé. ROM sont utilisés dans périphériques haut volume qui ne nécessitent
pas mises à jour ou des corrections. De nombreux dispositifs aussi utiliser une ROM de tenir
le code de démarrage.
Flash ROM peut être écrite ainsi que de lire, mais il est lent à écrire si vous ne devriez pas
l'utiliser pour conserver les données dynamiques. Son utilisation principale est pour la tenue
du micrologiciel de l'appareil ou le stockage de données à long terme qui doit être préservée
après l'alimentation est coupée. Le logiciel d'effacement et l'écriture de FlashROM sont
complètement contrôlés sans circuity matériel supplémentaire n'est requis, ce qui réduit les
coûts de fabrication. FlashROM est devenu le plus populaire des types de mémoire en lecture
seule et est actuellement utilisé comme une alternative pour la masse ou de stockage
secondaire.
Mémoire dynamique à accès aléatoire (DRAM) est le plus fréquemment pour usedRAM
dispositifs. Il a le plus faible coût par mégaoctet par rapport à d'autres types de RAM.DRAM
est dynamique: il doit avoir ses cellules de stockage rafraîchi et donné une nouvelle charge
électronique toutes les quelques millisecondes, si vous avez besoin de mettre en place un
contrôleur de DRAM avant d'utiliser la mémoire
Mémoire vive statique (SRAM) est plus rapide que la DRAM plus traditionnelle, mais
requiert une surface plus de silicium. SRAM est statique. la RAM ne nécessite pas de
rafraîchissement. Le temps d'accès pour SRAM est considérablement plus court que la DRAM
équivalent en raison SRAM ne nécessite pas une pause entre les accès de données. En raison
de son coût plus élevé, il est principalement utilisé pour les petites tâches à grande vitesse,
comme la mémoire rapide et caches.
Mémoire vive dynamique synchrone (SDRAM) est l'un des nombreuses sous-catégories de
DRAM. Il peut fonctionner à des vitesses d'horloge beaucoup plus élevés que la mémoire
conventionnelle. SDRAM se synchronise avec le bus processeur, car il est cadencé. Interne les
données sont récupérées à partir des cellules de mémoire, en pipeline, et enfin mis sur le bus
dans une salve. La DRAM à l'ancienne est asynchrone, donc ne pas éclater de manière aussi
efficace que la SDRAM
DDR SDRAM ou Double Data Rate Synchronous Dynamic Random Access Memory est un
type de mémoire à circuit intégré utilisé dans les ordinateurs depuis 2003 et communément
abrégée sous le sigle DDR. La DDR fournit une meilleure bande passante que l'ordinaire
SDRAM en transférant les données à la fois sur le front montant et sur le front descendant
des impulsions d'horloge, ce qui a pour effet de doubler la vitesse d'accès à la mémoire, en
lecture et en écriture. Cette particularité lui donne son nom : "Double Data Rate" signifie
"débit de données double" (par rapport à la SDR SDRAM). Ainsi, une carte mère dotée de
mémoire DDR-SDRAM et ayant un bus mémoire cadencé à 133 MHz est équivalente en débit
de donnés à de la SDRAM à 266 MHz. Les fabricants de mémoire ont eu des difficultés à
produire en masse de la DDR à plus de 400 MHz. Ainsi, depuis 2005, elle est progressivement
remplacée par la DDR-2, qui fonctionne selon le même principe que la DDR, mais plus simple
à produire, et permettant des fréquences d'horloge plus élevées. La DDR2 est en compétition
avec la Rambus XDR-DRAM mais devrait devenir le standard, alors que la QDR (Quad Data
Rate) est trop complexe pour être implémentée. RDRAM est une alternative à la DDR
SDRAM, mais de nombreux fabricants ne l'utilisent plus
Périphériques :
Les systèmes embarqués qui interagissent avec le monde extérieur besoin d'une certaine forme de
périphérique. Un périphérique exerce des fonctions d'entrée et de sortie pour la puce en se
Les processeurs ARM des systèmes embarqués 2012
9
connectant à d'autres appareils ou capteurs qui sont hors de la puce. Chaque périphérique effectue
habituellement une fonction unique et peut résider sur-puce. Périphériques aller d'un dispositif de
communication série simple à un plus complexe 802,11 appareil sans fil.
Tous les périphériques ARM sont la mémoire mappée-l'interface de programmation est un ensemble
de mémoire adressé registres. L'adresse de ces registres est un décalage par rapport à une adresse
de base périphérique spécifique.
Les contrôleurs sont des périphériques spécialisés qui mettent en œuvre des niveaux plus élevés de
la fonctionnalité dans un système embarqué. Deux grands types de contrôleurs sont des contrôleurs
de mémoire et les contrôleurs d'interruption.
Contrôleur de mémoire
Contrôleurs de mémoire connectent différents types de mémoire pour le bus processeur. La mise
sous tension un contrôleur de mémoire est configuré pour permettre certaines mémoires de
dispositifs matériels d'être actif. Ces dispositifs de mémoire permettent le code d'initialisation à être
exécutée. Certains dispositifs de mémoire doit être mis en place par le logiciel, par exemple, lors de
l'utilisation DRAM, vous devez d'abord mettre en place les timings de la mémoire et le taux de
rafraîchissement avant qu'il puisse être consulté.
Contrôleurs des interruptions
Lorsqu'un dispositif ou un périphérique nécessite l'attention, il déclenche une interruption au
processeur. Un contrôleur d'interruption fournit une politique programmable qui permet aux
logiciels de déterminer quel dispositif ou périphérique a interrompu le processeur à un moment
donné en définissant les bits correspondants dans les registres du contrôleur d'interruption.
Il existe deux types de contrôleur d'interruption disponible pour le processeur ARM: le contrôleur
d'interruption standard et le contrôleur d'interruption vecteur (VIC : vector interrupt controller).
Le contrôleur d'interruption standard envoie un signal d'interruption au cœur de processeur
lorsqu'un dispositif externe demande de service. Il peut être programmé pour ignorer ou
masquer un dispositif individuel ou un ensemble de dispositifs. Le gestionnaire d'interruption
détermine quel périphérique nécessite un entretien en lisant un registre bitmap dispositif
dans le contrôleur d'interruption.
Le VIC est plus puissant que le contrôleur d'interruption standard, car il accorde la priorité
aux interruptions et simplifie la détermination de dispositif qui a provoqué l'interruption.
Après associant une priorité et une adresse de gestionnaire d'interruption à chaque
interruption, CIV affirme un signal d'interruption seulement au noyau si la priorité d'une
interruption nouvelle est supérieure à la gestionnaire d'interruption en cours d'exécution.
Selon son type, le CIV soit appeler le gestionnaire d'exception la standard d'interruption, qui
permet de charger l'adresse du gestionnaire de l'appareil de la CIV, ou d’interrompre le
processeur pour passer à la gestionnaire de l'appareil directement.
Récapitulation :
Pur RISC vise à haute performance, mais ARM utilise une philosophie de conception modifiée RISC
qui vise également la densité du bon code et faible consommation d'énergie. Un système embarqué
se compose d'un cœur de processeur entouré de mémoire cache, mémoire et les périphériques. Le
système est contrôlé par le logiciel système d'exploitation qui gère les tâches d'application.
Les processeurs ARM des systèmes embarqués 2012
10
Les points clés d'une philosophie de conception RISC sont d'améliorer les performances en réduisant
la complexité des instructions, afin d'accélérer le traitement des instructions en utilisant un pipeline,
afin de fournir un grand registre mis à stocker les données à proximité du cœur, et d'utiliser une
architecture load-store.
La philosophie de conception ARM intègre également quelques idées non-RISC:
Il permet l'exécution de cycle variable sur certaines instructions pour économiser l'énergie, la
surface et la taille du code.
Il ajoute un décaleur d'étendre la capacité de certaines instructions
Il utilise le thumb 16-bit jeu d'instructions pour améliorer la densité du code
Il améliore la densité du code et les performances en conditionnant l'exécution des
instructions
Il comprend des instructions améliorées pour effectuer les fonctions de traitement de
signaux de type
Un système embarqué comprend les composants matériels suivants: les processeurs ARM se
trouvent intégrés dans des puces. Les programmeurs d'accéder par le biais des périphériques
mappés en mémoire des registres. Il est un type spécial de périphérique appelé un contrôleur, qui les
systèmes embarqués utiliser pour configurer fonctions de haut niveau telles que la mémoire et les
interruptions. Le AMBA sur puce de bus est utilisé pour connecter le processeur et les périphériques
ensemble.
Un système intégré comprend en outre les composants logiciels suivants: Initialisation
code configure le matériel à un état connu. Une fois configuré, les systèmes d'exploitation peut être
chargé et exécuté. Les systèmes d'exploitation fournissent un environnement de programmation
commune pour l'utilisation des ressources matérielles et des infrastructures. Les pilotes de
périphériques de fournir une interface standard pour les périphériques. Une demande remplit les
fonctions spécifiques à la tâche d'un système embarqué

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solution
 
présentation STM32
présentation STM32présentation STM32
présentation STM32
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
 
STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)
 
Introduction to embedded systems
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systems
 
STM32 MCU Family
STM32 MCU FamilySTM32 MCU Family
STM32 MCU Family
 
Ppt on embedded systems
Ppt on embedded systemsPpt on embedded systems
Ppt on embedded systems
 
T ps dsp
T ps dspT ps dsp
T ps dsp
 
Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réel
 
Chap1 dsp
Chap1 dspChap1 dsp
Chap1 dsp
 
Introduction to stm32-part2
Introduction to stm32-part2Introduction to stm32-part2
Introduction to stm32-part2
 
Presentation fpga
Presentation fpgaPresentation fpga
Presentation fpga
 
Coursdsp tdi
Coursdsp tdiCoursdsp tdi
Coursdsp tdi
 
Processors selection
Processors selectionProcessors selection
Processors selection
 
Stm32 f4 first touch
Stm32 f4 first touchStm32 f4 first touch
Stm32 f4 first touch
 
Arduino Interfacing with different sensors and motor
Arduino Interfacing with different sensors and motorArduino Interfacing with different sensors and motor
Arduino Interfacing with different sensors and motor
 
Arm architecture
Arm architectureArm architecture
Arm architecture
 
RISC (reduced instruction set computer)
RISC (reduced instruction set computer)RISC (reduced instruction set computer)
RISC (reduced instruction set computer)
 
EMBEDDED SYSTEM DESIGN ARM architecture support for operating system by sanj...
 EMBEDDED SYSTEM DESIGN ARM architecture support for operating system by sanj... EMBEDDED SYSTEM DESIGN ARM architecture support for operating system by sanj...
EMBEDDED SYSTEM DESIGN ARM architecture support for operating system by sanj...
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 

Destacado

IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et DémonstrationIoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et DémonstrationCHAKER ALLAOUI
 
BKK16-103 OpenCSD - Open for Business!
BKK16-103 OpenCSD - Open for Business!BKK16-103 OpenCSD - Open for Business!
BKK16-103 OpenCSD - Open for Business!Linaro
 
An intel architecture, which is a cisc 2
An intel architecture, which is a cisc 2An intel architecture, which is a cisc 2
An intel architecture, which is a cisc 2Azhar Abbas
 
RISC - Reduced Instruction Set Computing
RISC - Reduced Instruction Set ComputingRISC - Reduced Instruction Set Computing
RISC - Reduced Instruction Set ComputingTushar Swami
 
Reduced instruction set computers
Reduced instruction set computersReduced instruction set computers
Reduced instruction set computersSanjivani Sontakke
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseurPeronnin Eric
 
Spéciale Internet des Objets La French Mobile Décembre 2012
Spéciale Internet des Objets La French Mobile Décembre 2012Spéciale Internet des Objets La French Mobile Décembre 2012
Spéciale Internet des Objets La French Mobile Décembre 2012servicesmobiles.fr
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésAlexandre LAHAYE
 
#4 Applications Convergentes JavaEE/OSGi
#4 Applications Convergentes JavaEE/OSGi#4 Applications Convergentes JavaEE/OSGi
#4 Applications Convergentes JavaEE/OSGiGuillaume Sauthier
 
Demain, l'Internet des objets
Demain, l'Internet des objets Demain, l'Internet des objets
Demain, l'Internet des objets France Stratégie
 
La réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarquésLa réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarquésMicrosoft Décideurs IT
 
My book about Global Warming and M2M
My book about Global Warming and M2MMy book about Global Warming and M2M
My book about Global Warming and M2MGeoffreyZ
 
Prototypage de Systèmes Embarqués
Prototypage de Systèmes EmbarquésPrototypage de Systèmes Embarqués
Prototypage de Systèmes Embarquésboisgera
 
Internet des Objets par MyTAGG
Internet des Objets par MyTAGGInternet des Objets par MyTAGG
Internet des Objets par MyTAGGMyTAGG
 

Destacado (20)

IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et DémonstrationIoT (M2M) - Big Data - Analyses : Simulation et Démonstration
IoT (M2M) - Big Data - Analyses : Simulation et Démonstration
 
Présentation des IoT
Présentation des IoTPrésentation des IoT
Présentation des IoT
 
BKK16-103 OpenCSD - Open for Business!
BKK16-103 OpenCSD - Open for Business!BKK16-103 OpenCSD - Open for Business!
BKK16-103 OpenCSD - Open for Business!
 
Nmas ass
Nmas assNmas ass
Nmas ass
 
An intel architecture, which is a cisc 2
An intel architecture, which is a cisc 2An intel architecture, which is a cisc 2
An intel architecture, which is a cisc 2
 
Risc and cisc
Risc and ciscRisc and cisc
Risc and cisc
 
Risc and cisc
Risc and ciscRisc and cisc
Risc and cisc
 
ITFT_Risc
ITFT_RiscITFT_Risc
ITFT_Risc
 
RISC - Reduced Instruction Set Computing
RISC - Reduced Instruction Set ComputingRISC - Reduced Instruction Set Computing
RISC - Reduced Instruction Set Computing
 
Reduced instruction set computers
Reduced instruction set computersReduced instruction set computers
Reduced instruction set computers
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseur
 
Spéciale Internet des Objets La French Mobile Décembre 2012
Spéciale Internet des Objets La French Mobile Décembre 2012Spéciale Internet des Objets La French Mobile Décembre 2012
Spéciale Internet des Objets La French Mobile Décembre 2012
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarqués
 
#4 Applications Convergentes JavaEE/OSGi
#4 Applications Convergentes JavaEE/OSGi#4 Applications Convergentes JavaEE/OSGi
#4 Applications Convergentes JavaEE/OSGi
 
Demain, l'Internet des objets
Demain, l'Internet des objets Demain, l'Internet des objets
Demain, l'Internet des objets
 
La réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarquésLa réalité augmentée dans les systèmes embarqués
La réalité augmentée dans les systèmes embarqués
 
My book about Global Warming and M2M
My book about Global Warming and M2MMy book about Global Warming and M2M
My book about Global Warming and M2M
 
Chap1 intro 1pp
Chap1 intro 1ppChap1 intro 1pp
Chap1 intro 1pp
 
Prototypage de Systèmes Embarqués
Prototypage de Systèmes EmbarquésPrototypage de Systèmes Embarqués
Prototypage de Systèmes Embarqués
 
Internet des Objets par MyTAGG
Internet des Objets par MyTAGGInternet des Objets par MyTAGG
Internet des Objets par MyTAGG
 

Similar a Arm système embarqué

Architecture des ordinateurs 3
Architecture des ordinateurs 3Architecture des ordinateurs 3
Architecture des ordinateurs 3coursuniv
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsSana Aroussi
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseurISIG
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptxSihemNasri3
 
Chap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfChap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfDAPcreat
 
Chapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dspChapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dspgharbisalah
 
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptx
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptxHELLO Wkkkkkkuuukuuioki’okokORLD (1).pptx
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptxTARIQBICHAR
 
Microprocesseur.pptx
Microprocesseur.pptxMicroprocesseur.pptx
Microprocesseur.pptxJohnsonHang
 
éTude des techno de stockage
éTude des techno de stockageéTude des techno de stockage
éTude des techno de stockagekhech123
 
ANSII Configuration Materiel server/client x86
ANSII Configuration Materiel server/client x86ANSII Configuration Materiel server/client x86
ANSII Configuration Materiel server/client x86ssuser6373db
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitWassim Smati
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitWassim Smati
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfWahideArabe
 
Composants hardware du mainframe
Composants hardware du mainframeComposants hardware du mainframe
Composants hardware du mainframeSoukaina Boujadi
 
Architecture des ordinateurs
Architecture des ordinateursArchitecture des ordinateurs
Architecture des ordinateursRMwebsite
 

Similar a Arm système embarqué (20)

Architecture des ordinateurs 3
Architecture des ordinateurs 3Architecture des ordinateurs 3
Architecture des ordinateurs 3
 
Ar mv7
Ar mv7Ar mv7
Ar mv7
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récents
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
 
Chap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdfChap 1 Intro Microcontroleurs et Interruptions.pdf
Chap 1 Intro Microcontroleurs et Interruptions.pdf
 
Chapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dspChapitre 3-architecture-des-dsp
Chapitre 3-architecture-des-dsp
 
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptx
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptxHELLO Wkkkkkkuuukuuioki’okokORLD (1).pptx
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptx
 
Microprocesseur.pptx
Microprocesseur.pptxMicroprocesseur.pptx
Microprocesseur.pptx
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
éTude des techno de stockage
éTude des techno de stockageéTude des techno de stockage
éTude des techno de stockage
 
ANSII Configuration Materiel server/client x86
ANSII Configuration Materiel server/client x86ANSII Configuration Materiel server/client x86
ANSII Configuration Materiel server/client x86
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Altera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kitAltera nios ii embedded evaluation kit
Altera nios ii embedded evaluation kit
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdf
 
Composants hardware du mainframe
Composants hardware du mainframeComposants hardware du mainframe
Composants hardware du mainframe
 
Architecture des ordinateurs
Architecture des ordinateursArchitecture des ordinateurs
Architecture des ordinateurs
 
DSP
DSPDSP
DSP
 

Arm système embarqué

  • 1. Les processeurs ARM des systèmes embarqués 2012 1 Introduction :....................................................................................................................................... 2 L’architecture Risc ............................................................................................................................... 2 Principes de l’architecture ARM.......................................................................................................... 3 Jeu d'instructions pour les systèmes embarqués :.............................................................................. 3 Matériel Systèmes Embarqués............................................................................................................ 4 Technologie de bus ARM................................................................................................................. 5 Le protocole de Bus AMBA........................................................................................................... 5 Mémoire.......................................................................................................................................... 6 Hiérarchie des mémoires : .......................................................................................................... 6 Largeur (débit) de mémoire: ...................................................................................................... 7 Types de mémoires : ................................................................................................................... 7 Périphériques : ................................................................................................................................ 8 Contrôleur de mémoire............................................................................................................... 9 Contrôleurs des interruptions..................................................................................................... 9 Récapitulation : ................................................................................................................................... 9
  • 2. Les processeurs ARM des systèmes embarqués 2012 2 Introduction : De plus en plus, développeurs de systèmes embarqués et les concepteurs de systèmes sur puce sélectionnent des microprocesseurs spécifiques, une famille d'outils, des bibliothèques et un ensemble des composants pour développer rapidement de nouveaux produits à base de microprocesseur. Un acteur majeur dans cette industrie est ARM. Au cours des ces dernières années, l'architecture ARM est devenu la plus répandue architecture 32-bit dans le monde. Les processeurs ARM sont intégrés dans des produits allant des téléphones cellulaires / mobiles à des systèmes de freinage automobile. L’architecture Risc Le noyau ARM utilise une architecture RISC. RISC est une philosophie de conception visant à fournir des instructions simples mais puissants qui exécutent dans un seul cycle à une vitesse d'horloge élevée. La philosophie RISC se concentre sur la réduction de la complexité des instructions exécutées par le matériel, car il est plus facile de fournir une plus grande souplesse et d'intelligence dans le logiciel plutôt que du matériel. En conséquence, une conception RISC place de plus grandes exigences sur le compilateur. En revanche, le complexe traditionnel jeu d'instructions d'ordinateur (CISC) se fonde plus sur le matériel pour la fonctionnalité d'instruction, et par conséquent les instructions CISC sont plus compliquées. La philosophie RISC est mise en œuvre avec quatre règles de conception majeurs: 1. Instructions : Processeurs RISC ont un nombre réduit de classes d'instruction. Ces classes offrent des opérations simples qui peuvent chacune exécuter en un seul cycle. Chaque instruction a une longueur fixe pour permettre au pipeline d'aller chercher les futures instructions avant le décodage de l'instruction en cours. En revanche, dans les processeurs CISC les instructions sont souvent de taille variable et de prendre de nombreux cycles pour s'exécuter. 2. Pipelines : Le traitement des instructions est décomposé en unités plus petites qui peuvent être exécutées en parallèle par des pipelines. Idéalement, le pipeline avance par une étape à chaque cycle. Les instructions peuvent être décodées dans une étape (étage) de pipeline. Il n'ya pas de nécessité d'une instruction devant être exécutée par un mini-programme appelé microcode que sur Processeurs CISC. 3. Registres : Machines RISC ont un ensemble important de registres. Tous les registres peuvent contenir des données ou une adresse. Les registres sont des mémoires locales rapides pour toutes les opérations de traitement des données. En revanche, processeurs CISC ont consacré des registres à des fins spécifiques. 4. Load-store architecture : Le processeur opère sur les données détenues dans les registres. Séparation entre les instructions de chargement et de stockage des données communiquant avec les registres et celles communiquant avec la mémoire externe. Accès à la mémoire sont coûteuses, afin de séparation accès à la mémoire de traitement de données fournit un avantage parce que vous pouvez utiliser les éléments de données qui s'est tenue à la banque de registres à plusieurs reprises sans avoir besoin de plusieurs accès à la mémoire. En revanche, avec un design CISC les opérations de traitement des données peut agir sur la mémoire directement. Remarque :
  • 3. Les processeurs ARM des systèmes embarqués 2012 3 Ces règles de conception permettent un processeur RISC d'être simple, et donc le noyau peut fonctionner à des fréquences d'horloge plus élevées. En revanche, les processeurs traditionnels CISC sont plus complexes et fonctionnent à des fréquences d'horloge inférieures. Au cours de deux décennies, les processeurs CISC ont mis en œuvre des concepts plus RISC. Principes de l’architecture ARM Il y a un certain nombre de caractéristiques physiques qui ont poussé le design du processeur ARM. Tout d'abord, les systèmes embarqués mobiles nécessitent une certaine forme de puissance de la batterie. Le processeur ARM a été spécialement conçu pour être petit pour réduire la consommation d'énergie et de prolonger l'exploitation de la batterie-essentielle pour des applications telles que les téléphones mobiles et assistants numériques personnels (PDA). Haute densité du code est une autre exigence majeure depuis les systèmes embarqués ont une mémoire limitée en raison du coût et / ou des restrictions de taille physique. Haute densité du code est utile pour les applications qui ont limité de mémoire embarquée, tels que les téléphones mobiles et dispositifs de stockage de masse. En outre, les systèmes embarqués sont sensibles aux prix et utilisent des dispositifs de mémoire lente et à faible coût. Pour applications à volume élevé comme les appareils photo numériques, chaque centime doit être pris en compte dans la conception. La possibilité d'utiliser des dispositifs de mémoire à faible coût produit des économies substantielles. Une autre condition importante est de réduire la zone de la filière prise par le processeur embarqué. Pour une solution mono-puce, plus la zone utilisée par le processeur embarqué, le plus d'espace disponible pour les périphériques spécialisés. Cela réduit le coût de la conception et la fabrication depuis moins de jetons discrets sont nécessaires pour le produit final. ARM a intégré la technologie de débogage matériel dans le processeur afin que les ingénieurs logiciels puissent voir ce qui se passe tandis que le processeur est d'exécuter du code. Avec une plus grande visibilité, les ingénieurs logiciels peuvent résoudre les problèmes plus rapidement, ce qui a un effet direct sur le temps de mise sur le marché et réduit les coûts globaux de développement. Le cœur ARM n'est pas une architecture RISC pur en raison des contraintes de sa principale application : système embarqué. Dans un certain sens, la force du noyau ARM, c'est qu'il ne prend pas le concept RISC trop loin. Dans les systèmes d'aujourd'hui la clé n'est pas la vitesse du processeur brut, mais au total les performances du système en vigueur et la consommation d'énergie. Jeu d'instructions pour les systèmes embarqués : Le jeu d'instructions ARM diffère de la pure définition RISC de plusieurs façons qui font le jeu d'instructions ARM pour les applications embarquées: Cycle d’exécution variable pour certaines instructions : Pas toutes les instructions ARM s’exécutent en un seul cycle. Par exemple, les instructions de chargement et de stockage varient dans le nombre de cycles d'exécution en fonction du nombre de registres étant transférées. Le transfert peut se produire sur les adresses de mémoire séquentielle, ce qui augmente les performances depuis les accès mémoire séquentiels sont souvent plus rapides que les accès aléatoires. La densité du code est également améliorée puisque les transferts de multiples registres sont des opérations courantes au début et à la fin des fonctions. Dispositif de décalage en ligne pour la gestion des instructions complexes
  • 4. Les processeurs ARM des systèmes embarqués 2012 4 Est un composant matériel qui traite les registres d'entrée de saisie. Il est utilisé par une instruction. Cela élargit la capacité de nombreuses instructions pour améliorer les performances de base et la densité du code. Thumb : Jeu d’instructions 16-bits : ARM amélioré le cœur du processeur en ajoutant un second jeu d’instruction 16-bit appelé « thumb » qui permet au cœur ARM d’exécuter soit 16 - ou 32-bits instruction. Les instructions 16-bits permettent d'améliorer la densité du code d'environ 30% par rapport à 32-bit de longueur fixe des instructions. Exécution conditionnelle Une instruction est exécutée uniquement si une condition spécifique a été satisfaite. Cette fonctionnalité améliore la performance et la densité code en réduisant les instructions de branchement. des instructions DSP améliorées : Des instructions Digital Signal Processor (DSP) ont été ajoutées au Jeu l'instruction ARM pour supporter les opérations rapides multiplicateur 16x16 bits et la saturation. Ces instructions permettent à un processeur ARM d’être rapide et performant dans certains cas de remplacer les combinaisons traditionnelles d'un processeur plus un DSP. Note : Ces fonctionnalités supplémentaires ont fait le processeur ARM l'un des plus couramment utilisé 32-bit noyaux des processeurs embarqués. Bon nombre des entreprises semi-conducteurs, à travers le monde produisent des produits à base autour du processeur ARM. Matériels Systèmes Embarqués Les systèmes embarqués peuvent contrôler de nombreux appareils différents, à partir de petits capteurs se trouvent sur une ligne de production, aux systèmes de contrôle en temps réel utilisés sur une sonde spatiale de la NASA. Tous ces dispositifs utilisent une combinaison de composants matériels et logiciels. Chaque composant est choisi pour l'efficacité et, le cas échéant, est conçu pour une extension future et l'expansion. Le schéma suivant montre un dispositif de type embarqué basé sur un noyau ARM. Chaque case représente une caractéristique ou une fonction. Les lignes reliant les cases sont les autobus transportant des données. Nous pouvons séparer l'appareil en quatre principaux composants matériels :
  • 5. Les processeurs ARM des systèmes embarqués 2012 5 Le processeur ARM : exécute les programmes, contrôle et supervise le dispositif embarqué. Différentes versions du processeur ARM sont disponibles pour répondre aux caractéristiques de fonctionnement souhaitées. Un processeur ARM comprend un noyau (le moteur d'exécution qui traite des instructions et de données manipule) ainsi que les composants autour de lui ce qu'il lui permet d’interfacer avec un bus. Ces composants peuvent inclure la gestion de la mémoire et les caches. Contrôleurs : permet de coordonner les importants blocs fonctionnels du système. Deux contrôleurs sont couramment trouvés : le contrôleur d'interruption et le contrôleur mémoire. Les périphériques : fournir toutes les capacités d'entrée-sortie externe à la puce et sont responsable de l'originalité de l'appareil embarqué Les bus : Un bus est utilisé pour communiquer entre les différentes parties du dispositif Technologie de bus ARM Les systèmes embarqués utilisent des technologies de bus différents de ceux conçus pour les ordinateurs x86. La technologie PCI la plus courante de bus pour l'interconnexion de composants périphériques, de connecter des appareils tels que les cartes vidéo et contrôleurs de disque dur vers le bus de processeur x86. Ce type de technologie est externe ou hors de la puce (c.-à-, le bus est conçu pour se connecter mécaniquement et électriquement à des dispositifs externes à la puce) et est intégré dans la carte mère d'un PC. Par contre, les appareils embarqués utilisent un bus sur la puce qui est interne à la puce et qui permet à différents dispositifs périphériques d’être interconnectés avec le cœur ARM. Il y a deux différentes classes de périphériques connectés au bus. dispositif maître de bus : un dispositif logique capable de lancer un transfert de données avec un autre dispositif sur le bus même. Le cœur de processeur ARM est un bus maître. dispositif esclave de bus : Dispositif logique capable seulement de répondre à une demande de transfert à partir d'un dispositif maître de bus. Un bus a deux niveaux de l'architecture : Niveau physique : couvre les caractéristiques électriques et la largeur de bus (16, 32 ou 64 bits). Niveau logique : les protocoles et les règles logiques qui régissent la communication entre le processeur et un périphérique Note : ARM est principalement une entreprise de conception. Il met en œuvre rarement les caractéristiques électriques du bus, mais il précise systématiquement le protocole de bus. Le protocole de Bus AMBA L'architecture avancée microcontrôleur Bus (AMBA : Advanced Microcontroller Bus Architecture) a été introduit en 1996 et a été largement adopté comme l'architecture de bus sur puce utilisée pour les processeurs ARM. Les premiers bus AMBA introduites étaient le bus système ARM (ASB : ARM System Bus) et le ARM bus périphérique (APB : ARM Peripheral Bus). Plus tard, ARM a introduit une autre conception de bus, le bus appelé Performance ARM haute (AHB : ARM High Performance Bus). Utilisation de l'AMBA, les concepteurs périphériques peuvent réutiliser le même design sur plusieurs projets. Parce qu'il ya un grand nombre de périphériques développés avec une interface AMBA, les concepteurs de matériel ont un large choix de périphériques testés et prouvés pour l'utilisation dans un dispositif. Un périphérique peut simplement être vissé sur le bus sur puce, sans avoir à redessiner une interface pour chaque architecture de processeur différent. Cette interface plug-and-play pour les développeurs de matériel améliore la disponibilité et le temps sur le marché.
  • 6. Les processeurs ARM des systèmes embarqués 2012 6 AHB offre un débit de données supérieur ASB, car il est basé sur un système centralisé multiplexé régime de bus plutôt que la conception ASB bus bidirectionnel. Ce changement permet au bus AHB à courir à des vitesses d'horloge plus élevées et d'être le bus premier ARM pour supporter des largeurs de 64 et 128 bits. ARM a introduit deux variations sur le bus AHB: Multi-couche AHB AHB-Lite. Contrairement à la AHB d'origine, ce qui permet à un maître de bus unique d'être actif sur le bus à tout moment, le bus multi-couche permet à plusieurs AHB maîtres de bus actifs. AHB-Lite est un sous-ensemble de l'autobus AHB et elle est limitée à un maître de bus unique. Ce bus a été développé pour des conceptions qui ne nécessitent pas toutes les fonctionnalités du bus AHB standard. AHB et multi-couche AHB support le même protocole pour le maître et esclave, mais ont différente interconnexions. La nouvelle interconnexion multi-couche AHB est bonne pour les systèmes équipés de plusieurs processeurs. Ils permettent des opérations de se produire en parallèle et permettre des débits plus élevés. Remarque : Le dispositif exemple de la figure 1.2 a trois bus: un bus AHB pour les périphériques hautes performances, un bus APB pour les périphériques lents, et un troisième bus pour les périphériques externes, propriétaires de cet appareil. Ce bus externe nécessite un pont spécialisé pour se connecter avec le bus AHB. Mémoire Un système embarqué doit avoir une certaine forme de mémoire pour stocker et exécuter du code. Vous devez comparer les prix, les performances et la consommation d'énergie au moment de décider sur des caractéristiques de mémoire spécifiques, telles que la hiérarchie, la largeur et le type. Si la mémoire doit courir deux fois plus vite pour maintenir une largeur de bande désirée, puis la demande de puissance de mémoire peut être plus élevée. Hiérarchie des mémoires : Tous les systèmes informatiques ont la mémoire disposés dans une certaine forme de hiérarchie. La figure 1.2 montre un dispositif qui prend en charge externe hors de la puce mémoire. Interne au processeur il ya une option d'un cache (non représenté sur la figure 1.2) pour améliorer les performances de la mémoire. La figure 1.3 montre la mémoire des arbitrages: le cache mémoire la plus rapide est physiquement situé plus près le cœur de processeur ARM et le plus lent de mémoire secondaire est fixé plus loin. En général, la mémoire est plus au cœur de processeur, plus il en coûte et le plus petit de sa capacité. Le cache est placé entre la mémoire principale et le noyau. Il est utilisé pour accélérer le transfert de données entre le processeur et la mémoire principale. Un cache permet une augmentation globale de la performance, mais avec une perte de temps d'exécution prévisible.
  • 7. Les processeurs ARM des systèmes embarqués 2012 7 Le cache est placé entre la mémoire principale et le noyau. Il est utilisé pour accélérer le transfert de données entre le processeur et la mémoire principale. Un cache permet une augmentation globale de la performance, mais avec une perte de temps d'exécution prévisible. Bien que le cache augmente la performance générale du système, il ne permet pas d’aider le système de répondre en temps réel. Notez que de nombreux petits systèmes embarqués n'ont pas besoin des avantages de performance d'un cache. La mémoire principale est grande autour de 256 Ko à 256 Mo (voire plus), en fonction de l'application et est généralement stockée dans des puces séparées. Les instructions de lecture et écriture accèdent à la mémoire principale sauf, si les valeurs ont été stockées dans le cache pour l'accès rapide. De stockage secondaire est la forme la plus grande et la plus lente de la mémoire. Les disques durs et lecteurs CD-ROM sont des exemples de stockage secondaire. Ces jours de stockage secondaire peut varier de 600 Mo à 60 Go. Largeur (débit) de mémoire: La largeur de mémoire est le nombre de bits de la mémoire renvoie sur chaque accès, généralement 8, 16, 32 ou 64 bits. La largeur de mémoire a un effet direct sur la performance globale et rapport coûts. Si vous avez un système non mis en cache à l'aide de 32 bits ARM-instructions et des puces de mémoire 16-bit à l'échelle, alors le processeur devra faire deux accès à la mémoire par instruction. Chaque recherche nécessite deux 16-bits lectures. Ceci a évidemment pour effet de réduire les performances du système, mais l'avantage est que 16-bit de mémoire est moins cher. En revanche, si le noyau exécute les instructions Thumb 16 bits, il permettra d'atteindre de meilleures performances avec une mémoire de 16 bits. Le rendement plus élevé est le résultat de processeur en ne faisant qu'une seule recherche dans la mémoire pour charger une instruction. Ainsi, en utilisant des instructions Thumb avec des dispositifs de mémoire 16-bit à l'échelle fournit à la fois de meilleures performances et un coût réduit. Types de mémoires :
  • 8. Les processeurs ARM des systèmes embarqués 2012 8 Il y a beaucoup de différents types de mémoire. Dans cette section, nous décrivons certains des dispositifs de mémoire les plus populaires qu’on trouve dans ARM systèmes embarqués : ROM : Mémoire en lecture seule (ROM) est le moins souple de tous les types de mémoire car il contient une image qui est réglée en permanence au moment de la production et ne peut pas être reprogrammé. ROM sont utilisés dans périphériques haut volume qui ne nécessitent pas mises à jour ou des corrections. De nombreux dispositifs aussi utiliser une ROM de tenir le code de démarrage. Flash ROM peut être écrite ainsi que de lire, mais il est lent à écrire si vous ne devriez pas l'utiliser pour conserver les données dynamiques. Son utilisation principale est pour la tenue du micrologiciel de l'appareil ou le stockage de données à long terme qui doit être préservée après l'alimentation est coupée. Le logiciel d'effacement et l'écriture de FlashROM sont complètement contrôlés sans circuity matériel supplémentaire n'est requis, ce qui réduit les coûts de fabrication. FlashROM est devenu le plus populaire des types de mémoire en lecture seule et est actuellement utilisé comme une alternative pour la masse ou de stockage secondaire. Mémoire dynamique à accès aléatoire (DRAM) est le plus fréquemment pour usedRAM dispositifs. Il a le plus faible coût par mégaoctet par rapport à d'autres types de RAM.DRAM est dynamique: il doit avoir ses cellules de stockage rafraîchi et donné une nouvelle charge électronique toutes les quelques millisecondes, si vous avez besoin de mettre en place un contrôleur de DRAM avant d'utiliser la mémoire Mémoire vive statique (SRAM) est plus rapide que la DRAM plus traditionnelle, mais requiert une surface plus de silicium. SRAM est statique. la RAM ne nécessite pas de rafraîchissement. Le temps d'accès pour SRAM est considérablement plus court que la DRAM équivalent en raison SRAM ne nécessite pas une pause entre les accès de données. En raison de son coût plus élevé, il est principalement utilisé pour les petites tâches à grande vitesse, comme la mémoire rapide et caches. Mémoire vive dynamique synchrone (SDRAM) est l'un des nombreuses sous-catégories de DRAM. Il peut fonctionner à des vitesses d'horloge beaucoup plus élevés que la mémoire conventionnelle. SDRAM se synchronise avec le bus processeur, car il est cadencé. Interne les données sont récupérées à partir des cellules de mémoire, en pipeline, et enfin mis sur le bus dans une salve. La DRAM à l'ancienne est asynchrone, donc ne pas éclater de manière aussi efficace que la SDRAM DDR SDRAM ou Double Data Rate Synchronous Dynamic Random Access Memory est un type de mémoire à circuit intégré utilisé dans les ordinateurs depuis 2003 et communément abrégée sous le sigle DDR. La DDR fournit une meilleure bande passante que l'ordinaire SDRAM en transférant les données à la fois sur le front montant et sur le front descendant des impulsions d'horloge, ce qui a pour effet de doubler la vitesse d'accès à la mémoire, en lecture et en écriture. Cette particularité lui donne son nom : "Double Data Rate" signifie "débit de données double" (par rapport à la SDR SDRAM). Ainsi, une carte mère dotée de mémoire DDR-SDRAM et ayant un bus mémoire cadencé à 133 MHz est équivalente en débit de donnés à de la SDRAM à 266 MHz. Les fabricants de mémoire ont eu des difficultés à produire en masse de la DDR à plus de 400 MHz. Ainsi, depuis 2005, elle est progressivement remplacée par la DDR-2, qui fonctionne selon le même principe que la DDR, mais plus simple à produire, et permettant des fréquences d'horloge plus élevées. La DDR2 est en compétition avec la Rambus XDR-DRAM mais devrait devenir le standard, alors que la QDR (Quad Data Rate) est trop complexe pour être implémentée. RDRAM est une alternative à la DDR SDRAM, mais de nombreux fabricants ne l'utilisent plus Périphériques : Les systèmes embarqués qui interagissent avec le monde extérieur besoin d'une certaine forme de périphérique. Un périphérique exerce des fonctions d'entrée et de sortie pour la puce en se
  • 9. Les processeurs ARM des systèmes embarqués 2012 9 connectant à d'autres appareils ou capteurs qui sont hors de la puce. Chaque périphérique effectue habituellement une fonction unique et peut résider sur-puce. Périphériques aller d'un dispositif de communication série simple à un plus complexe 802,11 appareil sans fil. Tous les périphériques ARM sont la mémoire mappée-l'interface de programmation est un ensemble de mémoire adressé registres. L'adresse de ces registres est un décalage par rapport à une adresse de base périphérique spécifique. Les contrôleurs sont des périphériques spécialisés qui mettent en œuvre des niveaux plus élevés de la fonctionnalité dans un système embarqué. Deux grands types de contrôleurs sont des contrôleurs de mémoire et les contrôleurs d'interruption. Contrôleur de mémoire Contrôleurs de mémoire connectent différents types de mémoire pour le bus processeur. La mise sous tension un contrôleur de mémoire est configuré pour permettre certaines mémoires de dispositifs matériels d'être actif. Ces dispositifs de mémoire permettent le code d'initialisation à être exécutée. Certains dispositifs de mémoire doit être mis en place par le logiciel, par exemple, lors de l'utilisation DRAM, vous devez d'abord mettre en place les timings de la mémoire et le taux de rafraîchissement avant qu'il puisse être consulté. Contrôleurs des interruptions Lorsqu'un dispositif ou un périphérique nécessite l'attention, il déclenche une interruption au processeur. Un contrôleur d'interruption fournit une politique programmable qui permet aux logiciels de déterminer quel dispositif ou périphérique a interrompu le processeur à un moment donné en définissant les bits correspondants dans les registres du contrôleur d'interruption. Il existe deux types de contrôleur d'interruption disponible pour le processeur ARM: le contrôleur d'interruption standard et le contrôleur d'interruption vecteur (VIC : vector interrupt controller). Le contrôleur d'interruption standard envoie un signal d'interruption au cœur de processeur lorsqu'un dispositif externe demande de service. Il peut être programmé pour ignorer ou masquer un dispositif individuel ou un ensemble de dispositifs. Le gestionnaire d'interruption détermine quel périphérique nécessite un entretien en lisant un registre bitmap dispositif dans le contrôleur d'interruption. Le VIC est plus puissant que le contrôleur d'interruption standard, car il accorde la priorité aux interruptions et simplifie la détermination de dispositif qui a provoqué l'interruption. Après associant une priorité et une adresse de gestionnaire d'interruption à chaque interruption, CIV affirme un signal d'interruption seulement au noyau si la priorité d'une interruption nouvelle est supérieure à la gestionnaire d'interruption en cours d'exécution. Selon son type, le CIV soit appeler le gestionnaire d'exception la standard d'interruption, qui permet de charger l'adresse du gestionnaire de l'appareil de la CIV, ou d’interrompre le processeur pour passer à la gestionnaire de l'appareil directement. Récapitulation : Pur RISC vise à haute performance, mais ARM utilise une philosophie de conception modifiée RISC qui vise également la densité du bon code et faible consommation d'énergie. Un système embarqué se compose d'un cœur de processeur entouré de mémoire cache, mémoire et les périphériques. Le système est contrôlé par le logiciel système d'exploitation qui gère les tâches d'application.
  • 10. Les processeurs ARM des systèmes embarqués 2012 10 Les points clés d'une philosophie de conception RISC sont d'améliorer les performances en réduisant la complexité des instructions, afin d'accélérer le traitement des instructions en utilisant un pipeline, afin de fournir un grand registre mis à stocker les données à proximité du cœur, et d'utiliser une architecture load-store. La philosophie de conception ARM intègre également quelques idées non-RISC: Il permet l'exécution de cycle variable sur certaines instructions pour économiser l'énergie, la surface et la taille du code. Il ajoute un décaleur d'étendre la capacité de certaines instructions Il utilise le thumb 16-bit jeu d'instructions pour améliorer la densité du code Il améliore la densité du code et les performances en conditionnant l'exécution des instructions Il comprend des instructions améliorées pour effectuer les fonctions de traitement de signaux de type Un système embarqué comprend les composants matériels suivants: les processeurs ARM se trouvent intégrés dans des puces. Les programmeurs d'accéder par le biais des périphériques mappés en mémoire des registres. Il est un type spécial de périphérique appelé un contrôleur, qui les systèmes embarqués utiliser pour configurer fonctions de haut niveau telles que la mémoire et les interruptions. Le AMBA sur puce de bus est utilisé pour connecter le processeur et les périphériques ensemble. Un système intégré comprend en outre les composants logiciels suivants: Initialisation code configure le matériel à un état connu. Une fois configuré, les systèmes d'exploitation peut être chargé et exécuté. Les systèmes d'exploitation fournissent un environnement de programmation commune pour l'utilisation des ressources matérielles et des infrastructures. Les pilotes de périphériques de fournir une interface standard pour les périphériques. Une demande remplit les fonctions spécifiques à la tâche d'un système embarqué