SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
[Tapez un texte] Page 1
La gestion de la
mémoire sous ARMv7
& Androïd OS
Préparé par : Lanasri Dihia
09/04/2013
2
Sommaire
Introduction................................................................................................................................................3
Définition d’ARMv7 : ..................................................................................................................................3
Ses caractéristiques :..................................................................................................................................3
Familles d’ARM7 :.......................................................................................................................................3
Son architecture :.......................................................................................................................................4
Le jeu d’instruction :...................................................................................................................................4
L’OS Android :.............................................................................................................................................5
La gestion des processus par android ........................................................................................................5
L’organisation de la mémoire :...................................................................................................................5
Les nouveaux aspects de gestion mémoire................................................................................................7
Protection de la mémoire...........................................................................................................................7
Conclusion : ................................................................................................................................................8
Bibliographie :.............................................................................................................................................8
3
Introduction
Aujourd’hui les Smartphones, les iPhones ainsi que les iPads ont envahi notre vie quotidienne.
Et de plus en plus leurs performances connaissent une amélioration progressive grâce aux
microprocesseurs qui les équipent.
Parmi ces microprocesseurs, il y a le ARM qui depuis sa création ne cesse de connaitre de
nouvelles améliorations en termes de rapidité, taille ainsi que le mode de gestion de la
mémoire.
De plus, android a pris une place très importante dans la plupart de ces Smartphones
aujourd’hui et qui permet d’installer toute sorte d’applications.
Dans notre étude, on va s’intéresser au microprocesseur ARM version 7 et à android comme
OS, et on essaiera de comprendre comment se fait-il pour gérer la mémoire vive.
Définition d’ARMv7 :
L’ARMv7 (Acorn RISC - Reduced Instruction Set Computer - Machine) est un microprocesseur
de la famille ARM. Il a une architecture fondé sur les principes de conception RISC de 32 bits,
développé par l’entreprise ARM Ltd en 2005.
L’entreprise ne fabrique les processeurs mais vend la licence aux fabricants.
Il contient des registres généraux de 32 bits, son jeu d’instructions est sur 32 bits.
Ses caractéristiques :
 Il est de petite taille.
 Il consomme peu d’énergie.
 une très faible consommation et dissipation thermique.
 Il est adapté aux applications embarquées et aux téléphones mobiles ainsi que les
tablettes, les serveurs TCP/IP…
Figure1 : le processeur ARMv7
Dans ce circuit on utilise le cœur ARMv7 de taille 0,5mm2
en 180nm.
Familles d’ARM7 :
On peut dire qu’il y a les familles suivantes :
 ARMv7 coretex-M : sans protection de la mémoire
 ARMv7 coretex-R : utilise la segmentation pour l’organisation de la mémoire
4
 ARMv7 coretex-A : utilise la MMU pour la pagination
Son architecture :
Le processeur ARMv7 a 3 niveaux de pipeline (Fetch, Decode, Execute) ce qui permet
d’accélérer la vitesse d’exécution.
Figure2 : Les niveaux de pipeline
Il contient 16 registres de taille 32 bits :
o 13 registres généraux
o Un registre pointeur de pile SP
o Un compteur ordinal CO
o Registre des indicateurs CPSR
Figure3 : architecture d’ARMv7
A cette architecture est rajouté : 4 à 8 K octets de cache, une MMU (Management Memory
Unit), des Buffers et un coprocesseur
Le jeu d’instruction :
Il y a trois jeux d’instructions ARMv7
o ARM: c’est le jeu d’instruction par défaut sur 32 bits.
o Thumb : les instructions sont sur 16 bits. ce qui implique un gain en mémoire
o Jazelle : Exécution du byte code Java, les instructions sont sur 8 bits.
o Thumb-2 : « étend le jeu d'instructions limité 16 bits de Thumb par un
des instructions 32 bits additionnelles afin de donner plus de largesse
5
au jeu d'instruction. Il en résulte un jeu d'instructions de largeur
variable. Thumb-2 a pour visée d'atteindre une densité de code
proche de Thumb tout en conservant des performances similaires au
jeu d'instructions ARM en mémoire 32 bits. » (Wikipédia)
L’ARMv7 utilise le big et le little endian pour organiser les mots mémoire ie : que selon la
dernière approche il commence par stocker le poids le plus faible du mot mémoire ensuite le
poids fort dans la mémoire, et inversement pour le big endian.
L’OS Android :
Andoid est un système d’exploitation open source utilisant le noyau Linux, il était crée par la
PME Andoid en 2003 puis elle était rachetée par Google company en 2005. Il était conçu
initialement pour être déployé sur les Smartphones, tablettes… basés sur l’architecture ARM.
Il comporte une interface spécifique développée sous Java et les programme sont exécutés via
JIT interpréteur. Il utilise toutes les bibliothèques open source C utilisées par Linux ;
La gestion des processus par android
Android exécute tous ses programmes en processus, en suivant un certain ordre. Sous android
un processus est composé de un ou plusieurs threads ce qui permet leurs exécution en
parallèle donc ils doivent partager la mémoire entre eux.
L’organisation de la mémoire :
L’adressage mémoire se fait sur 32 bits se qui donne une mémoire de taille 4GO=232
octet.
Les données sont soit sur 8 bits, 16 bits ou de taille d’un mot mémoire =32 bits.
La mémoire peut être vue comme une ligne d’octets repliée en mots à partir de l’adresse
0.Deux façons d’organiser la mémoire sachant qu’on réserve 4 octets par mot :
6
Figure 4 : Organisation de la mémoire vive par ARM7
L’organisation de la mémoire sous ARMv7 -A
Avant que l’adresse virtuelle envoyée par le microprocesseur soit reçue par le registre
d’adresse mémoire, elle doit être d’abord convertie en adresse physique réelle comprise par
la mémoire.
Sachant que l’ARMv7-A supporte le principe de pagination alors la MMU (Memory Manager
Unit) permet cette conversion en transformant les numéros de pages qui sont logiques en
adresse début de cadre de pages physiques reconnus par la mémoire.
L’adresse logique=numéro d’hyperPAGE+ numéro de page + déplacement dans la page
La MMU assure que chaque processus aura son propre espace réservé en mémoire ;
La table des pages
L’ARM7-A utilise une table de pagination à deux niveaux ; la taille d’une page peut être :
Small pages: 4Kbits (12-bit offsets),
Large pages : 64Kbits (16-bit offsets),
Sections: 1Mbits (20-bit offsets),
Super section: 16Mbits (24-bit offsets).
Le nombre d’entrée dans la table de pages ne dépend pas de la taille de la page.
Chaque entrée de la table de page de premier niveau contient un pointeur vers une table de
2ème
niveau.
Donc pour assurer la translation d’une adresse virtuelle en adresse physique il faut :
Consulter la 1ère
table de pages qui se trouvent en mémoire centrale ; cette table en réalité est
décomposée en 2 tables, mais pour savoir à quelle table il faut accéder cela dépend des bits
de poids forts.
L’adresse de cette table est enregistrée dans l’un des registres suivants : TTBR0 ou TTBR1
L’entré de la 1 ère
table contient l’adresse physique de la 2ème
table de page. Et l’entrée de la
2èmè table de page représente l’adresse physique réelle de la page en mémoire vive.
Si la taille de la page est très grande (section ou super section) il y aura pas deux niveaux de
pagination, un seul suffit par contre l’adresse de la section est enregistré dans la 1 ère
table.
Donc pour trouver l’adresse physique il faut rajouter à l’adresse de début de page le
déplacement à l’intérieure de la page.
7
Les nouveaux aspects de gestion mémoire
Le système android avec l’ARM7 supportent la mémoire virtuelle et la gèrent. Pour réduire le
temps d’accès à la mémoire les processeurs ARM7 utilisent des mémoires caches de différents
niveaux L1, L2…qui sont intercalées entre le processeur et la mémoire.
Mais puisque android et ARM7 sont créés pour être exécutés sur des Smartphones cela veut
dire que la taille de la mémoire est réduite et ne peut pas atteindre les 4GO c’est la raison
pour laquelle dès que la mémoire n’est plus suffisante andoid opte à fermer quelque
applications sachant qu’il laisse plusieurs processus en cours d’exécution en arrière plan ce
qui consomme de la mémoire.
Figure5: Hiérarchie de la mémoire
Protection de la mémoire
L’accès à la mémoire est contrôlé selon les permissions définies, que ce soient aux blocs
mémoires (pages) ou bien aux tables de pages. Il existe plusieurs modes de permission et
chaque page peut avoir un mode différent que les autres.
On a :
 Execute never: elle n’autorise pas l’accès à la page mémoire pour lire un mot.
 Read-only, read/write, no access: These modes can be set for user-mode as well as
privileged (kernel) mode.
 Non-secure: elle identifie les régions mémoire.
 sharable: vérifie si une région est partageable ou non entre les processus
8
Conclusion :
Donc l’ARM7 est très puissant mais il y a d’autre version qui seront plus performants comme
l’ARMv8 qui sera sur 64 bits.
Bibliographie :
 Wikipedia
 http://encyclopedia2.thefreedictionary.com/ARM7 ;
 Les instructions d’ARM en mode utilisateur Anceau 2009 ;
 Présentation de la famille de Processeurs ARM Smail Niar IUP3/MASTER1 INEM
2006 ;
 Réunion SEN fonctionnement Dpt COMELEC / Groupe SEN 28 Mai 2008
 Document Number:ARM DDI 0029E Issued: August 1995 Copyright Advanced RISC
Machines Ltd (ARM) 1995
 ARM®v7-M Architecture Reference Manual Errata markup Copyright © 2006-2010
ARM Limited. ARM DDI 0403Derrata 2010_Q3 (ID100710)
 Mobileworld.com
 ARM7 Data Sheet Document Number: ARM DDI 0020C Issued: Dec 1994 Copyright
Advanced RISC Machines Ltd (ARM) 199
 Advanced Compilers and Architectures ARM MMU Overview Leiden University. The
university to discover Thursday, February 24, 2011

Contenu connexe

Tendances

Introduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobileIntroduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobile
Houssem Rouini
 
Introduction à l’architecture des ordinateurs
Introduction à l’architecture des ordinateursIntroduction à l’architecture des ordinateurs
Introduction à l’architecture des ordinateurs
Abdoulaye Dieng
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et bus
Sana Aroussi
 
Le PC en détail
Le PC en détailLe PC en détail
Le PC en détail
Bruno Delb
 
Architecture
ArchitectureArchitecture
Architecture
zan
 
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurChapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Sana Aroussi
 
Fonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitationFonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitation
Imane Bellali
 
Quelques concepts sur l
Quelques concepts sur lQuelques concepts sur l
Quelques concepts sur l
Tafriqt Ugafa
 
Exposé Carte MèRe : hadi ila wehelti ;)
Exposé Carte MèRe : hadi ila wehelti ;)Exposé Carte MèRe : hadi ila wehelti ;)
Exposé Carte MèRe : hadi ila wehelti ;)
TheCrazyMan
 

Tendances (20)

Architecture des ordinateurs
Architecture des ordinateursArchitecture des ordinateurs
Architecture des ordinateurs
 
Introduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobileIntroduction aux systèmes d'exploitation mobile
Introduction aux systèmes d'exploitation mobile
 
Architecture des ordinateurs 3
Architecture des ordinateurs 3Architecture des ordinateurs 3
Architecture des ordinateurs 3
 
Introduction à l’architecture des ordinateurs
Introduction à l’architecture des ordinateursIntroduction à l’architecture des ordinateurs
Introduction à l’architecture des ordinateurs
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et bus
 
Le PC en détail
Le PC en détailLe PC en détail
Le PC en détail
 
Architecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseurArchitecture des ordinateurs : microprocesseur
Architecture des ordinateurs : microprocesseur
 
Architecture
ArchitectureArchitecture
Architecture
 
Les composants de l'ordinateur
Les composants de l'ordinateurLes composants de l'ordinateur
Les composants de l'ordinateur
 
Chapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateurChapitre i architecture générale de l’unité centrale d’un ordinateur
Chapitre i architecture générale de l’unité centrale d’un ordinateur
 
Fonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitationFonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitation
 
Chapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitationChapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitation
 
Composants d'une carte mère
Composants d'une carte mèreComposants d'une carte mère
Composants d'une carte mère
 
SAPIENS2009 - Module 2
SAPIENS2009 - Module 2SAPIENS2009 - Module 2
SAPIENS2009 - Module 2
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralités
 
Cours informatique supports de stockage
Cours  informatique supports de stockage Cours  informatique supports de stockage
Cours informatique supports de stockage
 
Quelques concepts sur l
Quelques concepts sur lQuelques concepts sur l
Quelques concepts sur l
 
Fiche TD sur les systèmes informatiques
Fiche TD sur les systèmes informatiquesFiche TD sur les systèmes informatiques
Fiche TD sur les systèmes informatiques
 
Architecture 2
Architecture 2Architecture 2
Architecture 2
 
Exposé Carte MèRe : hadi ila wehelti ;)
Exposé Carte MèRe : hadi ila wehelti ;)Exposé Carte MèRe : hadi ila wehelti ;)
Exposé Carte MèRe : hadi ila wehelti ;)
 

En vedette

rapport_stage_issame
rapport_stage_issamerapport_stage_issame
rapport_stage_issame
AMAL Issame
 
Les systèmes d'information décisionnel pour les assurances
Les systèmes d'information décisionnel pour les assurancesLes systèmes d'information décisionnel pour les assurances
Les systèmes d'information décisionnel pour les assurances
dihiaselma
 

En vedette (20)

Data Mining Spatial
Data Mining Spatial Data Mining Spatial
Data Mining Spatial
 
Final
FinalFinal
Final
 
rapport_stage_issame
rapport_stage_issamerapport_stage_issame
rapport_stage_issame
 
Bases de données spatiales
Bases de données spatialesBases de données spatiales
Bases de données spatiales
 
Bases de données Spatiales - POSTGIS
Bases de données Spatiales - POSTGISBases de données Spatiales - POSTGIS
Bases de données Spatiales - POSTGIS
 
Présentation sécurité open_ssl
Présentation sécurité open_sslPrésentation sécurité open_ssl
Présentation sécurité open_ssl
 
Le commerce électronique
Le commerce électroniqueLe commerce électronique
Le commerce électronique
 
Cell process
Cell processCell process
Cell process
 
Team lab présentation
Team lab présentationTeam lab présentation
Team lab présentation
 
My SQL
My SQLMy SQL
My SQL
 
Veille- ERP
Veille- ERPVeille- ERP
Veille- ERP
 
Présentation des TIC dans la communication
Présentation des TIC dans la communication Présentation des TIC dans la communication
Présentation des TIC dans la communication
 
Le commerce électronique
Le commerce électroniqueLe commerce électronique
Le commerce électronique
 
Réalité augmentée
Réalité augmentéeRéalité augmentée
Réalité augmentée
 
Organisation administrative
Organisation administrativeOrganisation administrative
Organisation administrative
 
La business Intelligence Agile
La business Intelligence AgileLa business Intelligence Agile
La business Intelligence Agile
 
Exposé imprimante 3 d
Exposé imprimante 3 dExposé imprimante 3 d
Exposé imprimante 3 d
 
Les systèmes d'information décisionnel pour les assurances
Les systèmes d'information décisionnel pour les assurancesLes systèmes d'information décisionnel pour les assurances
Les systèmes d'information décisionnel pour les assurances
 
ISO 27500
ISO 27500ISO 27500
ISO 27500
 
GPS
GPSGPS
GPS
 

Similaire à Ar mv7

Arm système embarqué
Arm système embarquéArm système embarqué
Arm système embarqué
Houssem Rouini
 
cours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdfcours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdf
KamalZeghdar
 
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
DAPcreat
 
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
guest9dd59e
 

Similaire à Ar mv7 (20)

Arm système embarqué
Arm système embarquéArm système embarqué
Arm système embarqué
 
chapitre222 (1).pptx
chapitre222 (1).pptxchapitre222 (1).pptx
chapitre222 (1).pptx
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
Cours module i partie 1
Cours module i partie 1Cours module i partie 1
Cours module i partie 1
 
esi1an_lessons_archi-vue_ensemble_oridnateur_smahat.pdf
esi1an_lessons_archi-vue_ensemble_oridnateur_smahat.pdfesi1an_lessons_archi-vue_ensemble_oridnateur_smahat.pdf
esi1an_lessons_archi-vue_ensemble_oridnateur_smahat.pdf
 
ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2
 
cours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdfcours-gratuit.com--system1id048.pdf
cours-gratuit.com--system1id048.pdf
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseur
 
Chapitre 2 - Structure de base d_un ordinateur.pdf
Chapitre 2 - Structure de base d_un ordinateur.pdfChapitre 2 - Structure de base d_un ordinateur.pdf
Chapitre 2 - Structure de base d_un ordinateur.pdf
 
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
 
memoires_ch7.ppt
memoires_ch7.pptmemoires_ch7.ppt
memoires_ch7.ppt
 
ch7_memoires.ppt
ch7_memoires.pptch7_memoires.ppt
ch7_memoires.ppt
 
Virtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitationsVirtualiastion des systèmes d'exploitations
Virtualiastion des systèmes d'exploitations
 
Cours de microcontrôleurs
Cours de microcontrôleursCours de microcontrôleurs
Cours de microcontrôleurs
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
 
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
Cours Microsoft Windows 2003 Server 1ere Partie 6 Mars 2008
 
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptx
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptxHELLO Wkkkkkkuuukuuioki’okokORLD (1).pptx
HELLO Wkkkkkkuuukuuioki’okokORLD (1).pptx
 
Assembleur
AssembleurAssembleur
Assembleur
 
Cours d'informatique du prof Heimer
Cours d'informatique du prof HeimerCours d'informatique du prof Heimer
Cours d'informatique du prof Heimer
 

Plus de dihiaselma (6)

Rapport sécurité
Rapport sécuritéRapport sécurité
Rapport sécurité
 
VGI as BIG DATA
VGI as BIG DATAVGI as BIG DATA
VGI as BIG DATA
 
Les imprimanres 3 d
Les imprimanres 3 dLes imprimanres 3 d
Les imprimanres 3 d
 
Formation JasperSoft
Formation JasperSoftFormation JasperSoft
Formation JasperSoft
 
Les web services
Les web servicesLes web services
Les web services
 
Projet Urbanisation
Projet UrbanisationProjet Urbanisation
Projet Urbanisation
 

Ar mv7

  • 1. [Tapez un texte] Page 1 La gestion de la mémoire sous ARMv7 & Androïd OS Préparé par : Lanasri Dihia 09/04/2013
  • 2. 2 Sommaire Introduction................................................................................................................................................3 Définition d’ARMv7 : ..................................................................................................................................3 Ses caractéristiques :..................................................................................................................................3 Familles d’ARM7 :.......................................................................................................................................3 Son architecture :.......................................................................................................................................4 Le jeu d’instruction :...................................................................................................................................4 L’OS Android :.............................................................................................................................................5 La gestion des processus par android ........................................................................................................5 L’organisation de la mémoire :...................................................................................................................5 Les nouveaux aspects de gestion mémoire................................................................................................7 Protection de la mémoire...........................................................................................................................7 Conclusion : ................................................................................................................................................8 Bibliographie :.............................................................................................................................................8
  • 3. 3 Introduction Aujourd’hui les Smartphones, les iPhones ainsi que les iPads ont envahi notre vie quotidienne. Et de plus en plus leurs performances connaissent une amélioration progressive grâce aux microprocesseurs qui les équipent. Parmi ces microprocesseurs, il y a le ARM qui depuis sa création ne cesse de connaitre de nouvelles améliorations en termes de rapidité, taille ainsi que le mode de gestion de la mémoire. De plus, android a pris une place très importante dans la plupart de ces Smartphones aujourd’hui et qui permet d’installer toute sorte d’applications. Dans notre étude, on va s’intéresser au microprocesseur ARM version 7 et à android comme OS, et on essaiera de comprendre comment se fait-il pour gérer la mémoire vive. Définition d’ARMv7 : L’ARMv7 (Acorn RISC - Reduced Instruction Set Computer - Machine) est un microprocesseur de la famille ARM. Il a une architecture fondé sur les principes de conception RISC de 32 bits, développé par l’entreprise ARM Ltd en 2005. L’entreprise ne fabrique les processeurs mais vend la licence aux fabricants. Il contient des registres généraux de 32 bits, son jeu d’instructions est sur 32 bits. Ses caractéristiques :  Il est de petite taille.  Il consomme peu d’énergie.  une très faible consommation et dissipation thermique.  Il est adapté aux applications embarquées et aux téléphones mobiles ainsi que les tablettes, les serveurs TCP/IP… Figure1 : le processeur ARMv7 Dans ce circuit on utilise le cœur ARMv7 de taille 0,5mm2 en 180nm. Familles d’ARM7 : On peut dire qu’il y a les familles suivantes :  ARMv7 coretex-M : sans protection de la mémoire  ARMv7 coretex-R : utilise la segmentation pour l’organisation de la mémoire
  • 4. 4  ARMv7 coretex-A : utilise la MMU pour la pagination Son architecture : Le processeur ARMv7 a 3 niveaux de pipeline (Fetch, Decode, Execute) ce qui permet d’accélérer la vitesse d’exécution. Figure2 : Les niveaux de pipeline Il contient 16 registres de taille 32 bits : o 13 registres généraux o Un registre pointeur de pile SP o Un compteur ordinal CO o Registre des indicateurs CPSR Figure3 : architecture d’ARMv7 A cette architecture est rajouté : 4 à 8 K octets de cache, une MMU (Management Memory Unit), des Buffers et un coprocesseur Le jeu d’instruction : Il y a trois jeux d’instructions ARMv7 o ARM: c’est le jeu d’instruction par défaut sur 32 bits. o Thumb : les instructions sont sur 16 bits. ce qui implique un gain en mémoire o Jazelle : Exécution du byte code Java, les instructions sont sur 8 bits. o Thumb-2 : « étend le jeu d'instructions limité 16 bits de Thumb par un des instructions 32 bits additionnelles afin de donner plus de largesse
  • 5. 5 au jeu d'instruction. Il en résulte un jeu d'instructions de largeur variable. Thumb-2 a pour visée d'atteindre une densité de code proche de Thumb tout en conservant des performances similaires au jeu d'instructions ARM en mémoire 32 bits. » (Wikipédia) L’ARMv7 utilise le big et le little endian pour organiser les mots mémoire ie : que selon la dernière approche il commence par stocker le poids le plus faible du mot mémoire ensuite le poids fort dans la mémoire, et inversement pour le big endian. L’OS Android : Andoid est un système d’exploitation open source utilisant le noyau Linux, il était crée par la PME Andoid en 2003 puis elle était rachetée par Google company en 2005. Il était conçu initialement pour être déployé sur les Smartphones, tablettes… basés sur l’architecture ARM. Il comporte une interface spécifique développée sous Java et les programme sont exécutés via JIT interpréteur. Il utilise toutes les bibliothèques open source C utilisées par Linux ; La gestion des processus par android Android exécute tous ses programmes en processus, en suivant un certain ordre. Sous android un processus est composé de un ou plusieurs threads ce qui permet leurs exécution en parallèle donc ils doivent partager la mémoire entre eux. L’organisation de la mémoire : L’adressage mémoire se fait sur 32 bits se qui donne une mémoire de taille 4GO=232 octet. Les données sont soit sur 8 bits, 16 bits ou de taille d’un mot mémoire =32 bits. La mémoire peut être vue comme une ligne d’octets repliée en mots à partir de l’adresse 0.Deux façons d’organiser la mémoire sachant qu’on réserve 4 octets par mot :
  • 6. 6 Figure 4 : Organisation de la mémoire vive par ARM7 L’organisation de la mémoire sous ARMv7 -A Avant que l’adresse virtuelle envoyée par le microprocesseur soit reçue par le registre d’adresse mémoire, elle doit être d’abord convertie en adresse physique réelle comprise par la mémoire. Sachant que l’ARMv7-A supporte le principe de pagination alors la MMU (Memory Manager Unit) permet cette conversion en transformant les numéros de pages qui sont logiques en adresse début de cadre de pages physiques reconnus par la mémoire. L’adresse logique=numéro d’hyperPAGE+ numéro de page + déplacement dans la page La MMU assure que chaque processus aura son propre espace réservé en mémoire ; La table des pages L’ARM7-A utilise une table de pagination à deux niveaux ; la taille d’une page peut être : Small pages: 4Kbits (12-bit offsets), Large pages : 64Kbits (16-bit offsets), Sections: 1Mbits (20-bit offsets), Super section: 16Mbits (24-bit offsets). Le nombre d’entrée dans la table de pages ne dépend pas de la taille de la page. Chaque entrée de la table de page de premier niveau contient un pointeur vers une table de 2ème niveau. Donc pour assurer la translation d’une adresse virtuelle en adresse physique il faut : Consulter la 1ère table de pages qui se trouvent en mémoire centrale ; cette table en réalité est décomposée en 2 tables, mais pour savoir à quelle table il faut accéder cela dépend des bits de poids forts. L’adresse de cette table est enregistrée dans l’un des registres suivants : TTBR0 ou TTBR1 L’entré de la 1 ère table contient l’adresse physique de la 2ème table de page. Et l’entrée de la 2èmè table de page représente l’adresse physique réelle de la page en mémoire vive. Si la taille de la page est très grande (section ou super section) il y aura pas deux niveaux de pagination, un seul suffit par contre l’adresse de la section est enregistré dans la 1 ère table. Donc pour trouver l’adresse physique il faut rajouter à l’adresse de début de page le déplacement à l’intérieure de la page.
  • 7. 7 Les nouveaux aspects de gestion mémoire Le système android avec l’ARM7 supportent la mémoire virtuelle et la gèrent. Pour réduire le temps d’accès à la mémoire les processeurs ARM7 utilisent des mémoires caches de différents niveaux L1, L2…qui sont intercalées entre le processeur et la mémoire. Mais puisque android et ARM7 sont créés pour être exécutés sur des Smartphones cela veut dire que la taille de la mémoire est réduite et ne peut pas atteindre les 4GO c’est la raison pour laquelle dès que la mémoire n’est plus suffisante andoid opte à fermer quelque applications sachant qu’il laisse plusieurs processus en cours d’exécution en arrière plan ce qui consomme de la mémoire. Figure5: Hiérarchie de la mémoire Protection de la mémoire L’accès à la mémoire est contrôlé selon les permissions définies, que ce soient aux blocs mémoires (pages) ou bien aux tables de pages. Il existe plusieurs modes de permission et chaque page peut avoir un mode différent que les autres. On a :  Execute never: elle n’autorise pas l’accès à la page mémoire pour lire un mot.  Read-only, read/write, no access: These modes can be set for user-mode as well as privileged (kernel) mode.  Non-secure: elle identifie les régions mémoire.  sharable: vérifie si une région est partageable ou non entre les processus
  • 8. 8 Conclusion : Donc l’ARM7 est très puissant mais il y a d’autre version qui seront plus performants comme l’ARMv8 qui sera sur 64 bits. Bibliographie :  Wikipedia  http://encyclopedia2.thefreedictionary.com/ARM7 ;  Les instructions d’ARM en mode utilisateur Anceau 2009 ;  Présentation de la famille de Processeurs ARM Smail Niar IUP3/MASTER1 INEM 2006 ;  Réunion SEN fonctionnement Dpt COMELEC / Groupe SEN 28 Mai 2008  Document Number:ARM DDI 0029E Issued: August 1995 Copyright Advanced RISC Machines Ltd (ARM) 1995  ARM®v7-M Architecture Reference Manual Errata markup Copyright © 2006-2010 ARM Limited. ARM DDI 0403Derrata 2010_Q3 (ID100710)  Mobileworld.com  ARM7 Data Sheet Document Number: ARM DDI 0020C Issued: Dec 1994 Copyright Advanced RISC Machines Ltd (ARM) 199  Advanced Compilers and Architectures ARM MMU Overview Leiden University. The university to discover Thursday, February 24, 2011