39
ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC [email protected] Version 2013

Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC [email protected] Version 2013

  • Upload
    hatu

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC

[email protected] Version 2013

Page 2: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr 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

Page 3: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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

Page 4: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

Complémentarité 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

Page 5: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

Exemple de SOC

Page 6: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

Exemple de répartition HW/SW

Page 7: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

Très grandes diversité 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)

Inte

llectu

el p

rop

erty (IP)

Page 8: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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

Page 9: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

9

PROCESSEUR RISC

Page 10: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

10

Jeu d’instructions

Ensemble des commandes primitives que le programmeur peut utiliser sur une machine.

Deux écoles RISC et CISC.

Page 11: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

11

Critères

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.

Page 12: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

12

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

Page 13: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

13

Conséquences

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.

Page 14: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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

Page 15: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

15

Première réalisation

Papier de MIPS en 1983

Introduction du pipeline et du multiple unités fonctionnelles

Premier prototype en 1985

Page 16: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

16

Propriétés

Architecture Load/store avec un ensemble de registres orthogonal

Simples modes d’adressage

Contrôle des délais de pipeline

Page 17: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

17

Succès 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)

Page 18: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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

Page 19: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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

Page 20: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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

Page 21: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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

Page 22: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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

Page 23: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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

Page 24: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

24

Allocation des registres

Les instructions RISC sont registre à 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

Page 25: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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;

Page 26: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

Les processeurs embarqué RISC

Page 27: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

Processeurs embarqués RISC et mémoire cache : recherche de compromis

Page 28: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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

Page 29: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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

Page 30: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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)

Page 31: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

Usage et format des IPs

Page 32: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

Les fournisseurs d’IPs

Sociétés d’études et de conception 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,…

Page 33: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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

Page 34: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

SoC : ensemble d’unités interconnectées

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)

Adresse (P bits)

Contrôle (Q bits)

L’IP force l’état du fils à 0 ou à 1

Le temps de changement d’état dépend:

- Des drivers de courants de l’IP

- Des dimensions des fils

- Du nombre d’IPs sur le bus

Page 35: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

Synchrone ou asynchrone

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

IP1 IP2

Req

Ack

Page 36: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

Bus avec Arbitrage cours sur les communications….

Problème: IP1 et IP2 veulent utiliser en même temps le bus pour accéder à IP3

IP1 IP2 IP3

Data

Adresse contrôle

Les requêtes sont adressées à l’arbitre de bus qui alloue le bus (e.g. suivant une priorité)

IP1 IP2 IP3

Data

Adresse contrôle

Arbitre de bus

IP1 et IP2 des maitres (e.g. CPUs)

IP3 est un esclave (e.g. Périphérique)

Page 37: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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

Page 38: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

Bus AMBA

ARM RAM

On chip

DMA Bridge

UART

Timer

GPIO

Bus AHB

Bus APB

Bus Système : AHB ou ASB bus rapide, multi-maître, transferts pipelines ou en mode burst, priorité sur les transferts

Bus Périphérique : APB bus adapté à la connexion de périphériques “lents”, non-pipeline, pas de priorité, optimisé en consommation

Interfaces entre bus : Bridges

Page 39: Architecture embarquée et processeurs RISC - lifl.frdekeyser/M1AEV/cours 2013/aev11.pdf · ARCHITECTURE EMBARQUÉE ET PROCESSEURS RISC Jean-luc.dekeyser@lifl.fr Version 2013

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