I.6.3. Les systèmes embarqués de
troisième génération :
Les progrès de l'intégration permettent
d'envisager des circuits pouvant contenir plusieurs milliers de portes. Il
devient donc techniquement possible de fabriquer des systèmes
embarqués pouvant remplir toutes les fonctionnalités
souhaitées.
I.6.3.1. Parties matérielles des systèmes
embarqués de troisième génération :
Pour pouvoir supporter conjointement les besoins en puissance
et en flexibilité, ces architectures comprennent de plus en plus de
processeurs, qui peuvent chacun se comporter en maître : l'architecture
couramment utilisée, basée sur un processeur central
contrôlant le reste du système, n'est donc plus suffisante.
Processeur
ASIC
Processeur
Mémoire
Processeur
Mémoire
ASIC
Processeur
ASIC
Mémoire
Bus
Architecture à base de bus Architecture en barres
croisées
ASIC
ASIC
Mémoire
Processeur
Architecture à base de réseau
commuté
Mémoire
ASIC
Bus
Processeur
ASIC
Mémoire
ASIC
Processeur
Architecture mixte
Figure I.4 : Architectures embarquées de
troisième génération
Alors le goulet d'étranglement était les
ressources en calcul, de nos jours il est situé plutôt au niveau
des communications. Ce sont elles qui définissent désormais
l'architecture, et nos plus les ressources de calcul. La figure I.4 donne des
exemples d'architectures centrées sur les communications. Dans cette
figure, tous les éléments (processeur, ASIC ou mémoires)
sont traités de la même manière. Le premier exemple est
basé sur des communications par bus : ce modèle de communication
consomme peu de surface, mais risque de devenir un goulet
d'étranglement. Le deuxième est basé sur des
communications en barres croisées très performantes mais aussi
très coûteuses en surface. Le troisième exemple donne une
solution intermédiaire, par réseau commuté. Enfin le
dernier exemple montre qu'il est possible de mixer plusieurs modèles de
communication, et d'apporter de la hiérarchie dans l'architecture.
Autour de ce modèle d'architecture centré sur
les communications, se greffent les autres modèles d'architecture :
architectures des éléments de calcul et des mémoires.
L'architecture des éléments de calcul consiste à
définir quels sont les éléments principaux et quels sont
leurs périphériques de manière à les grouper dans
une architecture locale. L'architecture des mémoires sert à
définir quelles sont les mémoires locales à un groupe et
quelles sont celles qui seront partagées.
|