| 1 | [[PageOutline]] |
| 2 | |
| 3 | = Introduction = |
| 4 | |
| 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. |
| 6 | |
| 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 | |