没有合适的资源?快使用搜索试试~ 我知道了~
多节点异构架构下的嵌入式系统建模与高级仿真
0Cergy-Pontoise大学科学与工程学院0学科:信息与通信科学与技术 专业:计算机科学0TH ` ESE0提交以获得:科学博士学位作者:Emmanuel HUCK0多节点异构架构的硬件和软件探索的分布式操作系统高级仿真0公开答辩日期:2011年11月25日评审委员会成员:0主席:Frédéric Pétrot实验室TIMA-SLS 评审员:Guy Gogniat实验室Lab-STICCCécile Belleudy实验室LEAT 考官:Dragomir Milojevic实验室BEAMS - ULB导师:François Verdier实验室ETIS-CNRS 合作导师:BenoîtMiramond实验室ETIS-CNRS 客座:Fabrice Lemonnier THALES TRT-LSEDominique Ragot THALES Communication France Philippe Bonnot THALESTRT-LSE Philippe Millet THALES TRT-LSE0接待实验室:ETIS实验室 图像和信号处理团队(ETIS) - CNRS UMR8051,嵌入式可重构架构、系统和技术团队(ASTRE)0塞尔日研究与技术(TRT/LSE)0iiiii0论文摘要0传统的嵌入式系统设计为新的嵌入式应用程序寻找满足实时要求的算法/架构的平衡。在分布式反应系统中,由于计算负载的波动,需要预先评估应用程序在未来平台上的行为是否始终满足期望。本论文支持这样一个观点:为了设计一个专用于嵌入式应用程序的多处理器片上系统(MPSoC),需要通过高级仿真事先验证架构、软件和硬件设计空间的探索。在电子可重构电路中,预测系统属性在组装之前是特别合理的,因为它们在运行过程中会改变执行支持。本论文提出的方法论主要集中在平台专用服务上,并通过仿真观察实时行为。它特别提出了以下探索和评估方法:0- 多个计算任务分配选择的后果,- 管理这些任务的操作系统服务的算法影响,- 软件或硬件实现的服务,-在多核/多节点平台上的这些服务的分布。平台管理者的观点是将嵌入式系统的建模主要集中在操作系统的高级特性上。这包括分布式服务的不同变体,并且可以专注于系统并发资源的整体管理,而不必明确建模这些资源的细节。这种视角是本论文的主要方法论贡献。为了实现这一目标,我们采用了一种模块化建模方法,对现有实时操作系统的主要代表性服务进行建模。因此,我们可以组装所选择的服务并设计一个专用于特定应用程序的操作系统。对于设计者来说,这个模型可以作为他们系统的可执行规范,模型可以在SystemC中同时以功能和时间的方式模拟硬件、所有应用任务和所探索的管理层。为了在当前和未来的多节点异构嵌入式平台上集成软件任务分配,我们扩展了模型,以允许在MPRSoC系统的处理器和加速器上分布的多个管理器(操作系统)之间进行通信。这个扩展采用了高级事务方法,以高级模型的形式建模通信和路由节点。这个新的分布式操作系统模型可以在功能和时间上进行联合模拟,以快速探索和评估任务和管理服务在软件或硬件中的分布。0在异构多处理器架构领域,我们为名为Ter@ops的嵌入式高性能计算机的模拟器的设计做出了贡献。该模拟器将我们的操作系统模型作为其多线程分布式内核,并将我们的高级模型与细粒度通信建模相结合,以准确模拟处理器之间和内存之间的传输。0在OveRSoC项目中,我们验证了我们的模型的行为以及它在探索动态可重构架构方面的实用性,该架构专用于机器人视觉应用。我们在模型中集成了一些新的专用服务,用于管理可重构资源,并评估了这个机器人视觉应用的理想实时架构,该架构具有强大的动态性,由于对视觉输入数据的敏感性而产生。0关键词:SystemC/TLM建模,实时操作系统,协同仿真,MPSoC,可重构ivv0博士论文摘要0用于硬件和软件探索异构多节点架构的分布式操作系统的高级仿真0设计嵌入式系统意味着要根据系统的实时约束寻找正确的算法/架构折衷。对于MPSoC,特别是对于能够动态修改硬件架构组织的可重构设备,通过对这个反应式系统的动态行为进行初步评估来验证变得必要。0本论文提供了用于高级仿真的概念和模型,允许在设计流程的早期阶段探索应用程序及其特定操作系统在不同执行节点上的硬件和软件架构设计空间。0所提出的方法论是专注于平台提供的专用服务,通过模拟观察未来设计的预期行为。0从平台管理者的角度来评估分区选择、调度策略和操作系统服务在硬件或软件上的部署和改进对整个系统质量的影响。0由模块化操作系统服务组成的SystemC模型可以同时模拟硬件、软件任务和分布在异构通信执行节点上的操作系统。该模型首先用于机器人视觉领域,用于划分动态但实时的应用程序。0在异构多处理器架构领域,我们为名为Ter@OPS的嵌入式高性能计算机的模拟器的设计做出了贡献。该模拟器将我们的操作系统模型作为其多线程分布式内核,并将我们的高级模型与细粒度通信建模相结合,以准确模拟处理器之间和内存之间的传输。0在OveRSoC项目中,我们验证了我们的模型的行为以及它在探索动态可重构架构方面的实用性,该架构专用于机器人视觉应用。为此,我们集成了一些专用服务来管理可重构资源,并评估了许多解决方案来应对应用负载的波动,这取决于其视觉输入。0关键词:高级建模,实时操作系统,协同仿真,MPSoC,SoPC,可重构,SystemC,TLMvi“Ce n’est pas parce que les choses sont difficiles que nous n’osons pas.C’est parce que nous n’osons pas qu’elles sont difficiles.”`A mon ´erudit Grand-P`ere d´ec´ed´e durant mes travaux,qui m’a enseign´e la rigueur scientifique autour du mot ph´enom`eneEt `a Ben, sans qui je ne serais pas qui je suis,qui me manquera toujours comme un grand fr`ere perdu.0(卢修斯∙安纳乌斯∙塞内卡)塞内卡viiiRemerciementsPour que ce travail s’ach`eve, il me faut remercier les nombreuses personnes dont l’aidem’a permis d’avancer, en premier lieu mes directeurs de th`ese.Fran¸cois, qui m’a support´e pendant tout ce temps et qui est `a l’origine de l’id´ee prin-cipale de ce travail.Benoˆıt dont la pr´esence constante et la patience `a m’indiquer les bonnes directions `aprendre ont renforc´e et relanc´e ma motivation `a maintes reprises. Sa capacit´e `a reformulerconvenablement mes id´ees m’a beaucoup aid´e pour r´ediger ce manuscrit et sa capacit´ed’´ecoute pour des sujets autre que scientifiques en font un ˆetre cher `a mes yeux.Un grand merci `a toute l’´equipe de Thales, pour son financement (le nerd de la guerreh´elas...), mais aussi pour son soutient plein d’humanit´e et surtout plein d’humour, touten restant serieux entre deux blagues. Un r´eel plaisir de travail d’´equipe `a visage humain.Je remercie Monsieur Fr´ed´eric P´etrot, pour m’avoir fait l’honneur d’ˆetre pr´esident dujury.Je remercie Madame C´ecile Belleudy pour avoir accept´e d’ˆetre rapporteur de ce ma-nuscrit, ainsi que Monsieur Guy Gogniat pour avoir suivit mes travaux de bout en bout.Je remercie, une fois un peu, Dragomir Milojevic pour avoir accept´e d’examiner cestravaux de recherche apr`es quelques discutions autour de plusieurs verres de bi`ere deconf´erenciers belgo-grenoblois.Anne-Sophie, qui m’a soutenu chaque matin au long de ce (trop) long parcours et maoffert la joie unique d’ˆetre p`ere.Mes parents qui m’ont donn´e le goˆut des ´etudes et de l’accomplissement de soi, etenseign´e le principe du doute scientifique qui m’a amen´e jusqu’`a ce travail acad´emique.Mon fr`ere qui m’a encourag´e dans les moments de doutes et qui restera un sujet d’´etudesans fin pour comprendre le ph´enom`ene qu’il est.Les amis dont l’incitation initiale `a entreprendre cette th`ese s’est transform´ee en sou-tien pour traverser les turbulences, en s’appuyant sur leur propre exp´erience.Ceux moins scientifiques avec qui j’ai pu me d´etacher de mes profondes r´eflexions (yesmaman !).Mes anciens professeurs qui continuent d’aider leurs anciens ´el`eves `a trouver un posteet aussi en l’occurrence ma th`ese, ce qui m’a permis de participer `a leurs travaux derecherche.Les membres d’ETIS, en particuliers les nombreux co-bureaux s´er´es en salle 360 durantces 5 ann´ees qui sont depuis des amis, et avec un pens´ee particuli`ere pour Abdel-Nasserqui m’a enseign´e l’humilit´e et le travail plus que bien fait comme personne d’autre.Les ´etudiants qui sont pass´es au laboratoire dont la contribution ponctuelle fut cepen-dant appr´eciable.Mes amis d’enfance pour leur int´erˆet `a mon travail, en particulier Cyril pour ses bonnesr´ef´erences de softeu.Jneb pour le son et lentˆetement qui m’ont permis d’avancer.Enfin, tous ceux que j’oublie de citer (la liste est encore longue), qui m’ont apport´e lajoie de vivre et surtout d’ˆetre qui je suis.ixxTable des mati`eres1Probl´ematique de la conception de syst`emes sur puce11.1Conception de syst`emes logiciels et mat´eriels . . . . . . . . . . . . . . . . .11.2Contexte et enjeux des syst`emes sur puce multi-processeurs h´et´erog`enes . .21.3Comment faciliter l’exploration architecturale d’un syst`eme ? . . . . . . . .51.3.1´Evaluer le comportement de la solution par simulation. . . . . . .61.3.2Explorer les services d’exploitation de plateforme pour concevoir lesMPSoC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71.4Exploration architecturale par co-simulation logicielle/mat´erielle . . . . . .72´Etat de l’art112.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122.2´Etude des syst`emes temps-r´eel embarqu´es. . . . . . . . . . . . . . . . . .132.2.1Historique de l’´evolution des syst`emes ´electroniques . . . . . . . . .142.2.1.1Les syst`emes embarqu´es simples . . . . . . . . . . . . . . .152.2.1.2Les syst`emes embarqu´es distribu´es . . . . . . . . . . . . .152.2.1.3L’int´egration dans une mˆeme puce : les syst`emes-sur-puce162.2.1.4La g´en´eration actuelle : la flexibilit´e. . . . . . . . . . . .182.2.2Mod`ele conceptuel simple actuel . . . . . . . . . . . . . . . . . . . .202.2.2.1Influence de la repr´esentation sur la cr´eation . . . . . . . .222.2.2.2Modularit´e pour r´epondre aux contraintes de flexibilit´e . .232.2.3Conception et exploration conjointe de MPSoC. . . . . . . . . . .242.2.3.1Cycle classique de conception . . . . . . . . . . . . . . . .242.2.3.2Autres m´ethodes/flots de conception . . . . . . . . . . . .262.3Mod´elisation des solutions `a base de calculateurs. . . . . . . . . . . . . .282.3.1Les mod`eles de calcul parall`ele . . . . . . . . . . . . . . . . . . . . .292.3.1.1Mod`eles de calcul . . . . . . . . . . . . . . . . . . . . . . .292.3.1.2Mod`eles de calcul classiques . . . . . . . . . . . . . . . . .302.4M´ethodes d’exploration et validation. . . . . . . . . . . . . . . . . . . . .322.4.1Mod´elisation h´et´erog`ene et niveau de pr´ecision. . . . . . . . . . .322.4.2Langages de design mat´eriel et syst`eme . . . . . . . . . . . . . . . .352.4.2.1SystemC et la librairie TLM. . . . . . . . . . . . . . . .362.4.2.2Autres langages de design mat´eriel et syst`eme . . . . . . .372.5Les simulateurs et mod`eles conjoints pour l’´evaluation de syst`emes . . . . .382.5.1Les frameworks de co-simulation int´egr´es. . . . . . . . . . . . . .382.5.2Simulation de syst`eme d’exploitation . . . . . . . . . . . . . . . . .392.5.2.1Techniques de validation de logiciel embarqu´e . . . . . . .402.5.2.2Mod´elisation conjointe d’architecture et OS `a haut niveau422.5.2.3Gestion de la reconfiguration. . . . . . . . . . . . . . . .462.6Synth`ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47xiTABLE DES MATI`ERES3Mod´elisation de syst`emes embarqu´es bas´ee sur l’OS493.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .503.2D´efinition du mod`ele de syst`eme bas´e sur les services d’OS . . . . . . . . .503.2.1Choix de conception pour l’exploration architecturale du syst`eme . .503.2.2Caract´eristiques n´ecessaires pour l’exploration . . . . . . . . . . . .513.2.2.1Support de l’exploration des services : la modularit´e. . .523.2.2.2Support au MPSoC et la distribution des services . . . . .523.2.2.3Support de la reconfiguration mat´erielle. . . . . . . . . .523.2.2.4Raffinement de l’OS. . . . . . . . . . . . . . . . . . . . .533.2.3Le principe de s´eparation des pr´eoccupations. . . . . . . . . . . .533.2.4Niveau d’abstraction et mod´elisation Service Accurate + Time (SAT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .553.2.5Support de la simulation . . . . . . . . . . . . . . . . . . . . . . . .563.3Construction du mod`ele d’OS . . . . . . . . . . . . . . . . . . . . . . . . .573.3.1Mod´elisation en SystemC de logiciel multi-tˆaches. . . . . . . . . .573.3.2Gestion du temps garantissant un fil d’ex´ecution unique . . . . . . .613.3.2.1Mod´elisation des tˆaches et du temps avec les Blocs de Base(BB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .613.3.2.2Gestion de la non concurrence, fil d’ex´ecution unique . . .613.3.2.3Mod´elisation des interruptions et pr´eemption. . . . . . .623.3.3Gestion des fils d’ex´ecution. . . . . . . . . . . . . . . . . . . . . .643.3.3.1Cr´eation dynamique de tˆaches . . . . . . . . . . . . . . . .643.4Modularit´e et interactions entre services. . . . . . . . . . . . . . . . . . .643.4.1D´ecoupage en services. . . . . . . . . . . . . . . . . . . . . . . . .653.4.1.1Service core ou de simulation . . . . . . . . . . . . . . . .663.4.1.2Service d’ordonnancement. . . . . . . . . . . . . . . . .663.4.1.3Service de gestion des tˆaches . . . . . . . . . . . . . . . .663.4.1.4Service IRQ. . . . . . . . . . . . . . . . . . . . . . . . .673.4.1.5Service de gestion du temps . . . . . . . . . . . . . . . . .673.4.1.6Service de synchronisation. . . . . . . . . . . . . . . . .683.4.2Gestion de concurrence de certains services . . . . . . . . . . . . . .683.4.3Gestion de multiples flux, le multithreading et les tˆaches mat´erielles683.4.4Interactions entre services. . . . . . . . . . . . . . . . . . . . . . .683.5Instrumentation et exploration simple du mod`ele pour son ´evaluation . . .703.5.1Instrumentation du mod`ele. . . . . . . . . . . . . . . . . . . . . .703.5.2Simulation comportementale . . . . . . . . . . . . . . . . . . . . . .703.5.3Exploration comportementale d’un service de synchronisation. . .723.6Validation du mod`ele sur un cas concret de vision robotique. . . . . . . .733.6.1Une application robotique de perception et de navigation visuelle.733.6.1.1L’application de d´etection d’amer d’une vid´eo en temps-r´eel 743.6.1.2Description de l’application logicielle . . . . . . . . . . . .753.6.2Un OS d´edi´e comme solution d’impl´ementation sp´ecifique au domaine 763.6.3Int´egration de l’application dans le mod`ele simple non temporel . .793.6.4R´etroannotation de l’application et du mod`ele . . . . . . . . . . . .793.6.5Validation du mod`ele r´etroannot´e par rapport `a la mesure r´eelle . .813.7Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . .814Mod´elisation de distribution de services pour MPSoC834.1OS distribu´es et services distribu´es, d´efinition. . . . . . . . . . . . . . . .834.2Multi-OS h´et´erog`enes ind´ependants . . . . . . . . . . . . . . . . . . . . . .844.2.1Gestion du mapping. . . . . . . . . . . . . . . . . . . . . . . . . .84xiiTABLE DES MATI`ERES4.2.1.1Contexte d’ex´ecution de tˆaches . . . . . . . . . . . . . . .854.2.1.2Localisation dynamique des appels syst`eme : get OS. . .854.2.1.3Localit´e des SC THREADs cr´e´es . . . . . . . . . . . . . .865.3.4.4Construction de la MV sur le mod`ele d’OS en SystemC . . 1315.3.4.5Int´egration de l’OS dans l’architecture de communicationOCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1315.3.5Gestion de la m´emoire et implications pour la mod´elisation . . . . . 1325.3.6Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1365.4Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137xiii04.2.2 多个独立异构OS.............................................8704.3 共享服务和远程服务连接.......................................8804.3.1 建模分布式系统中的通信.......................................8804.3.2 建模共享远程服务..........................................9304.3.3 共享服务示例:同步..........................................9504.4 通用通信.....................................................9704.4.1 使用TLM.....................................................9704.4.2 使用内部CAS...............................................9804.4.2.1 分布式OS模型和CAS的简化框图...............................10004.4.3 通用连接:高级CAS........................................10004.4.4 外部CAS的细化.............................................10104.5 MPSoC架构探索..............................................10204.5.1 分布和探索共享同步服务.......................................10204.5.2 视觉机器人应用的建模和分布..................................10204.5.3 探索其软件架构.............................................10304.5.5 OS模型的仿真开销评估.......................................10704.6 章节总结.....................................................10705 集成和验证模型在两个合作项目中的应用..............................109 5.1引言........................................................10905.2 OveRSoC项目中的工作........................................11005.2.1 OveRSoC项目目标...........................................11005.2.2 OveRSoC的整体设计和探索方法...............................111 5.2.2.1规范模型...............................................11305.2.2.2 执行模型..................................................11305.2.2.3 分布模型................................................11405.2.2.4 实现模型..................................................11405.2.3 DOGME工具................................................11405.2.4 时间模型的整合,使用ISS.....................................11505.2.5 多个独立异构OS,使用ARD模型...............................11705.2.6 OveRSoC项目总结...........................................12105.3 模型部署示例:Ter@Ops项目中的工作.............................121 5.3.1Ter@OPS项目目标...........................................12205.3.2 选定的架构..................................................12305.3.3 架构模拟器................................................124 5.3.3.1模拟器整体架构..........................................12705.3.4 软件架构和仿真........................................
下载后可阅读完整内容,剩余1页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)