ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC

publicité
12/10/2012
Complémentarité HW/SW
100% SW
Contraintes
physiques
XXX
consommation
XXX
intégration
Cout de production
[email protected]
Version 2013
ARCHITECTURE EMBARQUÉE ET
PROCESSEURS RISC
Architecture enfouis
Contraintes
économique du
produit
XX
XXX
XXX (si fort
volume de
production)
flexibilité
XX
Protection industrielle
Contraintes
économique du
développement
100% HW
performance
XXX
Cout de développement
XX
Cout de production
XX
Prise de risque
XXX
Exemple de SOC
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
Exemple de répartition HW/SW
 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
1
12/10/2012
Très grandes diversité des
composants
Jeu d’instructions
 Les systèmes embarqués deviennent de plus en plus complexes.
 Grande variété de composants disponibles :
 Cœurs de processeurs
 Ensemble des commandes primitives




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)
que le programmeur peut utiliser sur
une machine.
 Deux écoles RISC et CISC.
Intellectuel property (IP)





10
ASIP et ASSP
Critères
 ASIP : Application Specific Instruction set Processor
 La complexité du jeu d'instruction
 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
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.
 ASSP : Application Specific Standard Product
 Composant complexe qui réalise une fonction spécifique
(compression vidéo, modem)
 ASSP et interface standardisée : IP
11
Caractéristiques 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
PROCESSEUR RISC
9
12
2
12/10/2012
Conséquences
Propriétés
 Un grand nombre de registres
 Architecture Load/store avec un
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.
ensemble de registres orthogonal
 Simples modes d’adressage
 Contrôle des délais de pipeline
13
16
Apparition des RISC
Succès des RISC
 Premier article en 1980 (Patterson et
 Horloge rapide (temps/cycle)
 Peu de cycles par instruction : par le
Ditzel)
 Implantation sur un seul chip
 Temps de conception réduit
 Horloge rapide
 Meilleur utilisation du VLSI
fonctionnement pipeline (cycle/inst)
 Faible augmentation du nombre
d’instructions par tâche : optimisation
du compilateur (inst/tâche)
14
17
Première réalisation
Approches de mise en oeuvre
 Papier de MIPS en 1983
 IBM / Standford
 Introduction du pipeline et du
 Un ensemble de registre unique
multiple unités fonctionnelles
 Premier prototype en 1985
 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
15
18
3
12/10/2012
Appel de procédure
Recouvrement des fenêtres
n-1
 Diminuer le coût de l’appel de
26-31
"n
procédure
 Passage de paramètres
 Sauvegarde des registres
 Adresse de retour
16-25
n
10-15
26-31
0-9
16-25
n+1
10-15
26-31
16-25
10-15
Recouvrement
des fenêtres lors
de chaque appel
Evite le passage
sur la pile
19
22
Fenêtre de registres
Fonctionnement
 Un grand nombre de registres
 Seul un sous ensemble est visible à un
 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
instant donné (par ex 32)
 Chaque ensemble est divisé en
groupes.
 Pointeur de fenêtre courante CWP
20
Groupes de registres
Allocation des registres
 Les instructions RISC sont registre à
R31
Paramètres reçus
R26
R25
Variables locales
registre
 L’accès aux registres est beaucoup
plus rapide que la mémoire
 L’allocation optimisée des registres
peut réduire le nombre d’accès
mémoire
6
10
R16
R15
R10
R9
Paramètres envoyés
Variables globales
R0
23
6
10
21
24
4
12/10/2012
Les processeurs de traitement du
signal
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 embarqué RISC

25
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
Processeurs embarqués RISC et mémoire cache
: recherche de compromis
Niveaux des IPs matérielle
 « 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)
5
12/10/2012
SoC : ensemble d’unités
interconnectées
Usage et format des IPs
 La conception de SoC: approche classique de type CPU-centric
L’accent est mis pendant la conception sur le ou les CPUs et les IPs de calcul
Puis on cherche à les connecter
Or les performances dépendent de l’interconnexion
 La structure la plus simple à utiliser : les bus
Un bus : ensemble de fils
IP
Data (N bits)
L’IP force l’état du fils à 0 ou à 1
Adresse (P bits)
Le temps de changement d’état dépend:
- Des drivers de courants de l’IP
Contrôle (Q bits)
- Des dimensions des fils
- Du nombre d’IPs sur le bus
Les fournisseurs d’IPs
Synchrone ou asynchrone
 Sociétés d’études et de conception
 Bus synchrone
 Dans les signaux de contrôle, un signal d’horloge fixe les instants de
changement d’états
 Simple et rapide si :
 Tous les IPs sur le bus ont la même vitesse d’horloge
 La longueur du bus sur le chip est limitée (clock skew)
 Bus asynchrone
 Dans les signaux de contrôle, des signaux permettent une synchronisation
des échanges
 Overhead du à la synchronisation (handshake)
 Adapté à connecter des IPs de types/vitesses différents
Req
 Sociétés sans fonderie (« fab ») dont le profit vient des droits sur
les licences
 DSP Group (IP pour les télécoms), ARM (processeurs RISCs),
 offre incluant des IPs SOFT, de simulation et synthèse.
 Sociétés de semi-conducteurs
 Peuvent fournir des Ips HARD en plus des Ips SOFT
 TI, Motorola, Lucent, Altera, Xilinx, LSI Logic, STM
 Fournisseurs d’outils de CAO
 Fournissent des Ips SOFT uniquement
 Mentor Graphics, Cadence, Synopsys,…
IP1
Les types d’IPs

 Processeurs:
 Picoblaze, microblaze, Leon, Nios, LSI logic CW4001/4010/4100, ARM
7TDMI, ARM 810,NEC 85x, Motorola 680x0, IBM PPC,…
 DSPs:
 TI TMS320C54X, Pine, Oak,…
 Composants de traitement spécialisés
 Cryptographie, traitement d’images, multimédia : JPEGcodec,
MPEGdecoder.
 Contrôleurs mémoire et bus : SDRAM, USB, PCI, UART,AMBA
 Réseaux : ATM, Ethernet
Pointeurs : IP commerciales www.design-reuse.com
IP « libres » www.opencore.org
Ack
IP2
Bus avec Arbitrage cours sur
les communications….
Problème: IP1 et IP2 veulent utiliser en même temps le bus pour accéder à IP3
Data
Adresse
contrôle
IP1
IP2
IP3
Les requêtes sont adressées à l’arbitre de bus qui alloue le bus (e.g. suivant une priorité)
Data
Adresse
contrôle
IP1
IP2
Arbitre de
bus
IP3
IP1 et IP2 des maitres (e.g. CPUs)
IP3 est un esclave (e.g. Périphérique)
6
12/10/2012
Bus pour l‘embarqué
 Les constructeurs de SOC s’orientent depuis
quelques années vers l’utilisation de bus
génériques : protocoles de transferts de
données bien définis.
 Les grands acteurs du système sur puce
emploient ce type d’architecture avec chacun
une solution propriétaire :
 Core Connect d’IBM, AMBA d’ARM, AVALON
d’ALTERA, WHISBONE d’openCores
 Exemple la proposition AMBA de ARM :
Advanced Microcontroller Bus Architecture
Bus AMBA
Bus Système : AHB ou ASB
bus rapide, multi-maître,
transferts pipelines ou en mode
burst,
priorité sur les transferts
RAM
On chip
ARM
Bus AHB
DMA
Bus Périphérique : APB
bus adapté à la connexion de
périphériques “lents”,
non-pipeline, pas de priorité,
optimisé en consommation
Bridge
UART
Interfaces entre bus : Bridges
Timer
GPIO
Bus APB
Conclusion
 Concevoir les architectures embarquées à partir des
composants les mieux adaptés vis à vis des traitements à
exécuter
 Objectifs : performances, consommation, time-to-market
 Hétérogénéité et évolution des composants : microcontroleur,
DSP, ASSP, ASIP
 Des constructeurs proposent des architectures mixtes
 Optimiser l’organisation et l’utilisation de la mémoire des
composants
 La mémoire sur le composant : rapide mais coûteuse en surface
 Défaut de cache : consomme environ 6 fois plus d’énergie qu’une
opération ALU
 Accès en mémoire externe au composant : moins cher mais plus
lent et plus coûteux en énergie
7
Téléchargement