Changes between Version 1 and Version 2 of fr-Introduction


Ignore:
Timestamp:
Jun 13, 2008, 2:14:27 AM (16 years ago)
Author:
rosiere
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • fr-Introduction

    v1 v2  
    11[[PageOutline]]
    22
    3 = Introduction =
     3A l’heure actuelle, concevoir une architecture de processeur généraliste n’est à la portée financière que de quelques grands industriels. Disposer d’une architecture de processeur généraliste libre présente plusieurs atouts, notamment :
    44
    5 Dans les SOCs (System On Chip) actuelles, il y a beaucoup de composant différent : des processeurs avec caches, des coprocesseurs spécialisés, des RAMs, timer, contrôleur d'intérruption ... Le tout est connecté autour d'un interconnecte comme un bus ou un crossbar.
     5 * '''Pérennité''' : certains grands organismes utilisateurs sont obligés de faire des " réserves " (ils achètent en très grand nombre le processeur choisi afin de pouvoir le remplacer au-delà de son maintien sur catalogue). Une architecture libre et synthétisable résout en grande partie cette difficulté.
     6 * '''Sécurité''' : la microarchitecture interne des processeurs " propriétaires " est généralement cachée, ce qui ne permet pas de fournir des garanties de sécurité pour certaines applications critiques. Une architecture libre et publique permet de garantir l’absence de cheval de Troie.
     7 * '''Prédictibilité''' : le comportement dynamique des processeurs modernes (exécution désordonnée, exécution spéculative, prédictions de branchement, etc.) rend peu prédictibles les performances temporelles des applications logicielles. La maîtrise de la microarchitecture doit permettre d’implanter des modes de fonctionnements " dégradés ", mais prédictibles, indispensables pour certaines applications.
     8 * '''Adaptabilité''' : viser une synthèse sur matrice FPGA permet d’exploiter les capacités de reconfigurabilité du support pour adapter le processeur en fonction des applications visées.
    69
    7 Les concepteurs ne redéfinnissent pas à chaque nouveau SOC les composants le constituant. Il vont les instanciers à partir de librairies d'IPs (Intellectual Propriety)
    8 
    9 Un SOC est une application tournant sur un matériel spécifique. Suivant les contraintes l'application finale, les concepteurs doivent optimiser le logiciel, bien dimensionner le matériel et choisir le bon déploiment du logiciel sur le matériel. Ces trois étapes peuvent ce montrer relativement difficile si le logiciel et/ou le matériel offrent que peu de souplesse.
    10 
    11 Il y a donc de nouveau besoin qui émergent :
    12  * Performance : Les IPs proposé sont principalement des processeur scalaires. Le concepteur va donc fortement s'appuyer sur le parralélisme de Thread. Les applications demandant beaucoup de puissance de calculs et faiblement parrallélisable (cryptographie ...) ne peuvent donc pas être déployer sur un SOC
    13  * Evolutif : Les composants n'offrent qu'un faible degré de configurations. Le concepteur doit ne peut pas configurer au plus juste de ces besoins les IPs.
    14  * Maitrise du système : Les compasants font parties de librairies privés. Le concepteur ne connait que l'interface et les spécifications "visible" d'un composant. Ceci n'étant pas une condition suffisante pour établir une Plateforme de confiance.
    15 
    16 Le projet Morpheo essaye de répondre à ces besoins en fournissant un processeur ouvert, haute performance et fortement configurable.
    17 
    18 = Zoom sur les processeurs =
    19 
    20 Avec l'augmentation de la finesse de gravure des transistors, les transitors deviennent de plus en plus "petit". Au premier degré, on peut affirmer que pour une même surface de silicium, un architecte possède plus de tranistors pour designer son architecture. Que faire avec ce tas de transistors toujours croissant ?
    21 
    22 Il existe deux philosophies :
    23 
    24  * Exploitation "à outrance" du parallélisme d'instruction (ILP : Instruction Level Parallelism). Le processeur est dimensionné pour executer le plus d'instructions possibles en même temps.
    25    L'avantage étant qu'un thread possède l'intégralité des ressources. Les applications cibles sont donc ST (Single Thread).
    26  * Exploitation "à outrance" du parallélisme de Thread (TLP : Thread Level Parallelism). Les concepteurs sont partie de la constation que si la surface de N1 processeurs éxecution W1 instructions  par cycle est identique à la surface de N2 processeurs éxecutant W2 instructions par cycle, et si W2>W1 alors N1>N2 et N1*W1 > N2*W2. En d'autre terme le nombre d'instructions executable par cycle est plus important dans un système composé de plusieurs "petit" processeurs que de quelques "gros" processeur. Ceci l'augmentation de la largeur d'un processeur n'est pas de compléxité linaire mais proche du quadratique.
    27 
     10Les capacités d’intégration des matrices FPGA actuelles permettent en principe d’éviter le coût exorbitant du passage à la fonderie : l’implantation du processeur sur FPGA n’est plus considérée comme une étape intermédiaire permettant la validation de l’architecture, mais comme le support matériel final. Ainsi, l’utilisateur dispose d’un processeur qui a certes un coût unitaire plus élevé, et des performances plus faibles que celles d’un processeur classique, mais qui peut évoluer selon ses besoins, et dont il a la maîtrise complète.