1 |
Architecture et bits significatifsRochecouste, Olivier Seznec, André January 2005 (has links) (PDF)
Thèse doctorat : Informatique : Rennes 1 : 2005. / Bibliogr. p. 117-123.
|
2 |
Nouvelles architectures parallèles pour simulations interactives médicales / New parallel architectures for interactive medical simulationsCourtecuisse, Hadrien 09 December 2011 (has links)
Cette thèse apporte des solutions pour exploiter efficacement les nouvelles architectures hautement parallèles, dans le contexte des simulations d'objets déformables en temps réel. Les premières contributions de ce document, se concentrent sur le calcul de la déformation des objets. Pour cela nous proposerons des solutions de parallélisations de solveurs linéaires, couplées à des techniques de preconditionnement asynchrone. Le second ensemble de contributions, repose sur le processeur graphique pour produire une nouvelle méthode de détection des collisions, basée sur le volume d'intersection entre les objets déformables.Enfin les derniers travaux apportent des solutions pour produire une réponse précise aux contacts, et compatible avec le temps réel. Nous aborderons notamment les problèmes liés à la découpe des organes, et à la prise en compte du couplage mécanique entre les contacts. Pour terminer, nous illustrerons nos contributions dans un ensemble d’applications médicales, qui tirent parti des contributions de ce document. / This thesis provides solutions to effectively exploit the new highly parallel architectures, in the context of simulations of deformable objects in real time. The first contributions of this paper focus on calculating the deformation of objects. For that purpose, we will propose solutions of parallelization of linear solvers, coupled with asynchronous preconditioning techniques. The second set of contributions relies on the graphics processor to produce a new collision detection method, based on intersection volumes between deformable objects. Then the last works provide solutions to produce an accurate response to contacts and is compatible with real time. We will discuss issues related to the organs cutting, and the recognition of the mechanical coupling between the contacts. Finally, we will illustrate our contributions in a range of medical applications which make the most of the contributions of this paper.
|
3 |
Conception d'une architecture journalisée tolérante aux fautes pour un processeur à pile de données / Design of a fault-tolerant journalized architecture for a stack processorAmin, Mohsin 09 June 2011 (has links)
Dans cette thèse, nous proposons une nouvelle approche pour la conception d'un processeur tolérant aux fautes. Celle-ci répond à plusieurs objectifs dont celui d'obtenir un niveau de protection élevé contre les erreurs transitoires et un compromis raisonnable entre performances temporelles et coût en surface. Le processeur résultant sera utilisé ultérieurement comme élément constitutif d'un système multiprocesseur sur puce (MPSoC) tolérant aux fautes. Les concepts mis en œuvre pour la tolérance aux fautes reposent sur l'emploi de techniques de détection concurrente d'erreurs et de recouvrement par réexécution. Les éléments centraux de la nouvelle architecture sont, un cœur de processeur à pile de données de type MISC (Minimal Instruction Set Computer) capable d'auto-détection d'erreurs, et un mécanisme matériel de journalisation chargé d'empêcher la propagation d'erreurs vers la mémoire centrale (supposée sûre) et de limiter l'impact du mécanisme de recouvrement sur les performances temporelles. L'approche méthodologique mise en œuvre repose sur la modélisation et la simulation selon différents modes et niveaux d'abstraction, le développement d'outils logiciels dédiées, et le prototypage sur des technologies FPGA. Les résultats, obtenus sans recherche d'optimisation poussée, montrent clairement la pertinence de l'approche proposée, en offrant un bon compromis entre protection et performances. En effet, comme le montrent les multiples campagnes d'injection d'erreurs, le niveau de tolérance au fautes est élevé avec 100% des erreurs simples détectées et recouvrées et environ 60% et 78% des erreurs doubles et triples. Le taux recouvrement reste raisonnable pour des erreurs à multiplicité plus élevée, étant encore de 36% pour des erreurs de multiplicité 8 / In this thesis, we propose a new approach to designing a fault tolerant processor. The methodology is addressing several goals including high level of protection against transient faults along with reasonable performance and area overhead trade-offs. The resulting fault-tolerant processor will be used as a building block in a fault tolerant MPSoC (Multi-Processor System-on-Chip) architecture. The concepts being used to achieve fault tolerance are based on concurrent detection and rollback error recovery techniques. The core elements in this architecture are a stack processor core from the MISC (Minimal Instruction Set Computer) class and a hardware journal in charge of preventing error propagation to the main memory (supposedly dependable) and limiting the impact of the rollback mechanism on time performance. The design methodology relies on modeling at different abstraction levels and simulating modes, developing dedicated software tools, and prototyping on FPGA technology. The results, obtained without seeking a thorough optimization, show clearly the relevance of the proposed approach, offering a good compromise in terms of protection and performance. Indeed, fault tolerance, as revealed by several error injection campaigns, prove to be high with 100% of errors being detected and recovered for single bit error patterns, and about 60% and 78% for double and triple bit error patterns, respectively. Furthermore, recovery rate is still acceptable for larger error patterns, with yet a recovery rate of 36%on 8 bit error patterns
|
4 |
Compilateurs multicibles et outils pour les processeurs embarqués dans le cadre d'applications industriellesLIEM, Cl. B. 18 July 1997 (has links) (PDF)
Dans le cadre des applications de type télécommunications, multimédia, et électronique grand public, les processeurs embarqués ont tendance à acquérir une importance de plus en plus marquée lors de la conception de systèmes monopuces. Ce phénomène traduit le besoin des concepteurs à tenir compte rapidement des nécessaires adaptations aux fréquentes variations des standards évoluées. C'est ainsi que les techniques de compilation multicibles deviennent primordiales, non seulement pour la production du code d'application, mais aussi afin d'explorer les architectures de processeurs. Ce mémoire présente les travaux effectuée au sein du Laboratoire TIMA de <br />l'INPG en étroite collaboration avec SGSThomson Microelectronics. Les contributions se partagent en trois catégories principales: expériences et méthodologies <br />en utilisant les compilateurs multicibles dans le milieu industriel pour les processeurs embarqués; un approche de compilation pour la génération d'adresses pour <br />les architectures de traitement de signal; et un ensemble d'outils permettant au concepteur d'explorer un jeu d'instructions lié à un processeur donné afin d'envisager <br />une évolution ou une réutilisation du processeur. Les méthodes pratiques utilisées dans divers projets sont décrites à l'aide d'exemples de processeurs réels: les opérateurs du système visiophone, un décodeur MPEG2 et AC3, et un processeur téléviseur pour l'application Eurosound.
|
5 |
Vers une nouvelle architecture des processeurs superscalaires à éxécution dynamiqueToullec, Éric Seznec, André January 2005 (has links) (PDF)
Thèse doctorat : Informatique : Rennes 1 : 2005. / Bibliogr. p. 151-155.
|
6 |
Etude d'une architecture parallèle de processeur pour la transmission de données à haut débitRamazani, Abbas Dandache, Abbas. January 2005 (has links) (PDF)
Thèse de doctorat : Microélectronique : Metz : 2005. / Thèse soutenue sur ensemble de travaux. Bibliogr. p. 141-144. Annexes.
|
7 |
Gestion consciente du contenu de la hiérarchie mémoirePiquet, Thomas Seznec, André January 2008 (has links) (PDF)
Thèse doctorat : Informatique : Rennes 1 : 2008. / Titre provenant de la page du titre du document électronique. Bibliogr. p. 109-116.
|
8 |
Test en ligne des systèmes à base de microprocesseurMichel, Thierry 05 March 1993 (has links) (PDF)
Cette thèse traite de la vérification en ligne, par des moyens matériels, du flot de contrôle d'un système a base de microprocesseur. Une technique de compaction est utilisée pour faciliter cette vérification (analyse de signature). La plupart des méthodes proposées jusqu'ici imposent une modification du programme d'application, afin d'introduire dans celui-ci des propriétés invariantes (la signature en chaque point de l'organigramme est indépendante des chemins préalablement parcourus). Les méthodes proposées ici, au contraire, ont comme caractéristique principale de ne pas modifier le programme vérifie et utilisent un dispositif de type processeur, disposant d'une mémoire locale, pour assurer l'invariance de la signature. Deux méthodes sont ainsi décrites. La première est facilement adaptable a différents microprocesseurs et présente une efficacité qui la place parmi les meilleures méthodes proposées jusqu'ici. La seconde methode a été dérivée de la première dans le but de diminuer la quantité d'informations nécessaire au test. Cette dernière methode a été implantée sur un prototype d'unité centrale d'automate programmable (avec la société télémécanique) et son efficacité a été évaluée par des expériences d'injection de fautes. Le cout d'implantation particulièrement faible dans le cas du prototype réalise peut permettre d'envisager une évolution de celui-ci vers un produit industriel
|
9 |
Increasing the performance of superscalar processors through value prediction / La prédiction de valeurs comme moyen d'augmenter la performance des processeurs superscalairesPerais, Arthur 24 September 2015 (has links)
Bien que les processeurs actuels possèdent plus de 10 cœurs, de nombreux programmes restent purement séquentiels. Cela peut être dû à l'algorithme que le programme met en œuvre, au programme étant vieux et ayant été écrit durant l'ère des uni-processeurs, ou simplement à des contraintes temporelles, car écrire du code parallèle est notoirement long et difficile. De plus, même pour les programmes parallèles, la performance de la partie séquentielle de ces programmes devient rapidement le facteur limitant l'augmentation de la performance apportée par l'augmentation du nombre de cœurs disponibles, ce qui est exprimé par la loi d'Amdahl. Conséquemment, augmenter la performance séquentielle reste une approche valide même à l'ère des multi-cœurs.Malheureusement, la façon conventionnelle d'améliorer la performance (augmenter la taille de la fenêtre d'instructions) contribue à l'augmentation de la complexité et de la consommation du processeur. Dans ces travaux, nous revisitons une technique visant à améliorer la performance de façon orthogonale : La prédiction de valeurs. Au lieu d'augmenter les capacités du moteur d'exécution, la prédiction de valeurs améliore l'utilisation des ressources existantes en augmentant le parallélisme d'instructions disponible.En particulier, nous nous attaquons aux trois problèmes majeurs empêchant la prédiction de valeurs d'être mise en œuvre dans les processeurs modernes. Premièrement, nous proposons de déplacer la validation des prédictions depuis le moteur d'exécution vers l'étage de retirement des instructions. Deuxièmement, nous proposons un nouveau modèle d'exécution qui exécute certaines instructions dans l'ordre soit avant soit après le moteur d'exécution dans le désordre. Cela réduit la pression exercée sur ledit moteur et permet de réduire ses capacités. De cette manière, le nombre de ports requis sur le fichier de registre et la complexité générale diminuent. Troisièmement, nous présentons un mécanisme de prédiction imitant le mécanisme de récupération des instructions : La prédiction par blocs. Cela permet de prédire plusieurs instructions par cycle tout en effectuant une unique lecture dans le prédicteur. Ces trois propositions forment une mise en œuvre possible de la prédiction de valeurs qui est réaliste mais néanmoins performante. / Although currently available general purpose microprocessors feature more than 10 cores, many programs remain mostly sequential. This can either be due to an inherent property of the algorithm used by the program, to the program being old and written during the uni-processor era, or simply to time to market constraints, as writing and validating parallel code is known to be hard. Moreover, even for parallel programs, the performance of the sequential part quickly becomes the limiting improvement factor as more cores are made available to the application, as expressed by Amdahl's Law. Consequently, increasing sequential performance remains a valid approach in the multi-core era. Unfortunately, conventional means to do so - increasing the out-of-order window size and issue width - are major contributors to the complexity and power consumption of the chip. In this thesis, we revisit a previously proposed technique that aimed to improve performance in an orthogonal fashion: Value Prediction (VP). Instead of increasing the execution engine aggressiveness, VP improves the utilization of existing resources by increasing the available Instruction Level Parallelism. In particular, we address the three main issues preventing VP from being implemented. First, we propose to remove validation and recovery from the execution engine, and do it in-order at Commit. Second, we propose a new execution model that executes some instructions in-order either before or after the out-of-order engine. This reduces pressure on said engine and allows to reduce its aggressiveness. As a result, port requirement on the Physical Register File and overall complexity decrease. Third, we propose a prediction scheme that mimics the instruction fetch scheme: Block Based Prediction. This allows predicting several instructions per cycle with a single read, hence a single port on the predictor array. This three propositions form a possible implementation of Value Prediction that is both realistic and efficient.
|
10 |
Contribution à une approche de modélisation et à un flot d'exploration destinés à des architectures MPSoC hétérogènes basées sur des processeurs configurablesShen, H. 11 March 2009 (has links) (PDF)
Dans le domaine de l'électronique pour la consommation de masse, les concepteurs sont tenus de fournir des systèmes embarqués qui doivent satisfaire des exigences de performance, de consommation, de co?t et de temps de mise sur le marché. Pour satisfaire toutes ces exigences, nous nous concentrons sur les systèmes sur puce multi-processeurs (MPSoCs) avec des processeurs configurables et des architectures hétérogènes. Comparés aux processeurs généralistes et aux circuits spécifiques à une application (ASICs), les processeurs configurables peuvent être utilisés pour équilibrer le rapport performance/nombre de transistors et la flexibilité. Dans cette thèse, les architectures hétérogènes sont définies comme un groupe de processeurs qui sont basées sur le même jeu d'instructions avec des extensions différentes. Cette thèse tente de résoudre les difficultés causées par les processeurs configurables et les architectures hétérogènes. En raison des processeurs configurables et de l'hétérogénéité, le champ des solutions d'implémentation devient extrêmement large et inclue des aussi bien des optimisations logicielles que des optimisationsmatérielles. C'est pourquoi nous présentons 4 niveaux d'abstraction différents avec des niveaux de détail et des vitesses de simulation différentes pour faciliter l'exploration des solutions d'implémentation. La méthode de simulation hybride est également intégrées à ces niveaux d'abstraction pour éviter les efforts d'adaption du logiciel dépendant du matériel (HdS pour Hardware dependant Software). En utilisant ces niveaux d'abstraction appliqués à ce genre de plateformes hétérogènes et configurables, nous avons construit un flot basé sur une exploration de l'ensemble des solutions d'implémentations sur des critères de budget. Réaliser une interface matériel/logiciel bien équilibrée est une tache complexe. Pour résoudre ce problème, nous utilisons le concept de graphe de dépendance des services (GdS) pour modéliser l'interface matériel/logiciel. Pour que l'implémentation choisie soit hautement performante et flexible, nous proposons un schéma de migration de taches dans lequel une tache peut être exécutée sur plusieurs processeurs compatibles avec différentes extensions d'instructions. Une application décodeur Motion-JPEG a été utilisée pour valider tous ces travaux.
|
Page generated in 0.0183 seconds