12/10/2012
1
ARCHITECTURE EMBARQUÉE ET
PROCESSEURS RISC
Jean-luc.deke[email protected]
Version 2013
Architecture enfouis
systèmes embarqués/enfouis ou System on Chip (SOC)
Ces systèmes impliquent des contraintes :
produits largement diffusés : coûts réduits
contraintes temporelles strictes
sûreté de fonctionnement (e.g. aéronautique)
taille, poids
consommation d’énergie
Mais il faut aussi privilégier :
la réutilisation
la flexibilité : modifications
tardives, correction d’erreurs
Architecture enfouis
logicielle (SW) : processeur + Logiciel
flexibilité
faible temps de conception
Faible cout
matérielle (HW) : ASIC et FPGA
performances
consommation
protection industrielle
Cout élevé
Mixte
Tire profit des 2 approches => cas d’un SoC
Complémentari HW/SW
performance XXX
consommation XXX
intégration XX
Cout de production XXX XXX (si fort
volume de
production)
flexibilité XX
Protection industrielle XXX
Cout de développement XX
Cout de production XX
Prise de risque XXX
100% SW 100% HW
Contraintes
physiques
Contraintes
économique du
produit
Contraintes
économique du
développement
Exemple de SOC
Exemple de partition HW/SW
12/10/2012
2
Ts grandes diversi des
composants
Les systèmes embarqués deviennent de plus en plus complexes.
Grande variété de composants disponibles :
Cœurs de processeurs
ASIP : Application Specific Instruction-set Processor
ASSP : Application Specific Standard Product
Microcontroleurs
DSP : Digital Signal Processors
RISC
Fonctions logicielles
Bus standardisés
Fonctions matérielles (ASIC)
Composants reconfigurables
SPGA : System Programmable Gate Array - FPGA + IP)
Intellectuel property (IP)
ASIP et ASSP
ASIP : Application Specific Instruction set Processor
Processeur spécialisé à l’exécution d’une (ou quelques)
application (par exemple Modem)
Jeu d’instruction et ensemble des ressources adaptés à
l’application
Meilleurs rapports MIPS/mW et MIPS/mm2 que RISC et DSP
Mais compilateur plus délicat, time-to-market plus long
qu’avec des processeurs standards
ASSP : Application Specific Standard Product
Composant complexe qui réalise une fonction spécifique
(compression vidéo, modem)
ASSP et interface standardisée : IP
9
PROCESSEUR RISC
10
Jeu d’instructions
Ensemble des commandes primitives
que le programmeur peut utiliser sur
une machine.
Deux écoles RISC et CISC.
11
Crires
La complexité du jeu d'instruction
dépend
du format de l'instruction et des
données,
des modes d'adressage,
du jeu de registres,
des instructions de contrôle de flot.
12
Caracristiques des RISC
Le RISC est composé d'environ
100 instructions dans un format fixe
3 à 5 modes d'adressage
les accès mémoire sont réservés aux
instructions de Load/Store
12/10/2012
3
13
Conquences
Un grand nombre de registres
améliore le changement de contexte.
La plupart des instructions
s'exécutent en un cycle.
L'intégration sur un seul chip permet
d'augmenter la fréquence d'horloge.
14
Apparition des RISC
Premier article en 1980 (Patterson et
Ditzel)
Implantation sur un seul chip
Temps de conception réduit
Horloge rapide
Meilleur utilisation du VLSI
15
Première alisation
Papier de MIPS en 1983
Introduction du pipeline et du
multiple unités fonctionnelles
Premier prototype en 1985
16
Proprs
Architecture Load/store avec un
ensemble de registres orthogonal
Simples modes d’adressage
Contrôle des délais de pipeline
17
Sucs des RISC
Horloge rapide(temps/cycle)
Peu de cycles par instruction : par le
fonctionnement pipeline (cycle/inst)
Faible augmentation du nombre
d’instructions par tâche : optimisation
du compilateur (inst/tâche)
18
Approches de mise en oeuvre
IBM / Standford
Un ensemble de registre unique
Load/store efficace, optimisation des
délais par le compilateur
Berkeley
Multiple ensemble de registres gérés en
fenêtre
Load/store de 2 cycles ou plus
12/10/2012
4
19
Appel de procédure
Diminuer le coût de l’appel de
procédure
Passage de paramètres
Sauvegarde des registres
Adresse de retour
20
Fenêtre de registres
Un grand nombre de registres
Seul un sous ensemble est visible à un
instant donné (par ex 32)
Chaque ensemble est divisé en
groupes.
Pointeur de fenêtre courante CWP
21
Groupes de registres
R0
R9
R10
R15
R16
R25
R26
R31
Variables globales
Paramètres envoyés
Variables locales
Paramètres reçus
10
6
10
6
22
Recouvrement des fenêtres
10-15
16-25
26-31
10-15
16-25
26-31
10-15
16-25
26-31
0-9
n-1
n
n+1 Recouvrement
des fenêtres lors
de chaque appel
Evite le passage
sur la pile
" n
23
Fonctionnement
A chaque appel on met à jour le CWP
vers la nouvelle fenêtre.
Diminution du trafic mémoire
En cas de débordement, les fenêtres
sont recopiées en mémoire (trap sur
CWP)
Pourrait fonctionner sur un CISC avec
beaucoup de registres
24
Allocation des registres
Les instructions RISC sont registre à
registre
Laccès aux registres est beaucoup
plus rapide que la mémoire
Lallocation optimisée des registres
peut réduire le nombre d’accès
mémoire
12/10/2012
5
25
Exemple
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function MostlyZero(n:integer):boolean;
var num,ones,zeros,half:integer;
res:boolean;
begin num:= n*n;
ones:=0;
zeros:=0;
while num>0 do
begin half:=num div 2;
if 2*half=num
then zeros:=zeros+1
else ones:=ones+1;
num:=half
end;
if zeros>ones
then res:=true
else res:=false;
MostlyZero:=res
end
;
Les processeurs embarq RISC
Processeurs embarqs RISC et moire cache
: recherche de compromis
Les processeurs de traitement du
signal
Il existe de nombreux constructeurs : nombreux DSP et leurs variantes chez chacun
d’eux
- Un DSP peut être particulièrement adapté à un type d’application (exemple : DSP56009,
TMS320C54x)
- Les performances des DSP peuvent varier significativement :
exemple : localisation des données en mémoire, localisation du code
Design Reuse : IP
Il devient de moins en moins possible de concevoir un
SoC entièrement. Des parties déjà conçues doivent être
réutilisées
Développer des « composants virtuels » réutilisables
Problèmes :
Une compagnie seule ne peut pas toujours concevoir tous les
composants dont elle a besoin
Commerce de composants virtuels
Nécessité d’instaurer une protection juridique => « intellectual
Property »
Nécessité d’utiliser un même formalisme pour la modélisation et
l’utilisation pour l’adaptation rapide au système
Niveaux des IPs marielle
« Soft» IP
Modèle de description de matériel. Peut être non synthétisable
pour la validation purement fonctionnelle.
Flexible, paramétrable
Indépendant de la technologie
Difficile à protéger
« Firm» IP
Liste d’équipotentielles post synthèse logique
Dépend de la technologie
Assez difficile à protéger
« Hard» IP
Liste d’équipotentielles placée et routée
Contient les temps de propagation
Facile à protéger (boîte noire avec uniquement les E/S)
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !