没有合适的资源?快使用搜索试试~ 我知道了~
时间可预测体系结构的阿明·纳吉引用此版本:阿明·纳吉。时间可预测体系结构的时间分析网络和互联网体系结构[cs.NI]索邦大学,2019年。英语。NNT:2019SORUS282。电话:03143979HAL ID:电话:03143979https://theses.hal.science/tel-03143979提交日期:2021年HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire索邦大学巴黎计算机、电信和电子博士学院时间可预测架构的时间分析[美]阿明·纳吉著Albert Cohen指导的计算机科学博士论文于2019年6月12日公开展示和支持在由以下人员组成的陪审团面前:报告员女士Isabelle Puaut雷恩第一M. Jens Knoop教授,维也纳理工大学检查员 Karine Heydemann副教授,UPMC(巴黎6号)M. Albert Cohen,谷歌M. Florian Brandner巴黎科技电信副教授M. Mathieu Jan研究工程师,CEA List3内容物1引言11迈向高性能安全关键系统12实时系统42.1定义和关键属性42.2嵌入式系统62.3实时任务62.4系统故障73衍生时间保证73.1可调度性分析83.2时间分析84绩效的意义104.1标准计算机系统中的性能104.2最坏情况性能135标准体系结构的问题146作为替代方案的可预测体系结构166.1值得注意的努力和架构166.2比较架构197捐款222Patmos是一款时间可预测的处理器1概述和设计方法262Patmos计算机体系结构282.1管道和寄存器文件282.2指令集体系结构(ISA)2.3布道322.4内存层次结构322.5多核和总线仲裁策略373编译器支持383.1工具链概述393.2对Patmos功能的393静态WCET分析框架431分析工作流程4342程序静态分析462.1控制流图462.2循环492.3程序间CFM和调用图513数据流分析框架523.1抽象域533.2转移功能553.3形成FFA方程563.4求解FFA方程583.5手术内和手术间FFA604标准缓存分析614.1目标和挑战614.2基于访问分类的634.3提高循环66中的精度4.4优先购买成本675堆栈缓存分析685.1基于FDFA的程序间分析695.2标准堆栈缓存分析706缓存分析方法717WCET分析与预测738现有静态WCET分析工具739结论764Odyssey中预测程序的分析- 一个1大纲782Odyssey:Patmos79的完全集成WCET分析工具3处理预测:激励示例824控制流展开835实验876结论885比较堆栈缓存占用率分析的准确性1轮廓892缓存占用率分析902.1标准堆栈缓存分析902.2程序间数据流分析923实验953.1讨论964结论986堆栈缓存的优先级成本分析991大纲992抢先延迟分析:激励示例1003上下文保存分析1024上下文恢复分析1054.1本地恢复分析1064.2全球保险分析1094.3全球储备分析11154.4上下文恢复成本1145计算复杂性1156讨论1177实验1177.1上下文恢复分析1177.2上下文保存分析1198结论1207堆栈缓存的优先级机制1211大纲1212优先购买机制1223处理抢先方案1243.1固定优先购买计划1243.2非固定优先购买计划1254实验1274.1硬件实现1315结论1328Eager堆栈缓存内存传输堆栈缓存133的1大纲1332渴望的记忆转移1342.1渴望填充1362.2渴望溢出1373溢出/填充套利1384实验1385第141章9结论和未来工作1421捐款1422扩展和未来工作1442.1虚拟堆栈缓存1442.2未使用的TDM插槽1452.3方法缓存1466图列表1.1任务τi的时间特征。T i是激活周期,C i是计算时间,D i是激活的截止日期日期。.................................................................................................................61.2执行时间的分布。实际的WCET必须以时间分析提供的WCET估计值为上限。分析的准确性决定了对实际WCET的强度。.....................................92.1Patmos管道的简化表示。摘自帕特莫斯手册[7]。.....................................292.2Patmos汇编语言程序的一部分及其相应的机器代码。机器代码中的每一行都对应于程序集代码中的行...........................................................................................302.3程序和堆栈在特定点的缓存状态示例。 2.4...............................................Patmos多核平台。.................................................................................................. 382.5编译工具链。.......................................................................................................393.1WCET分析工作流程。...................................................................................443.2Patmos汇编语言程序的一部分及其相应的机器代码。机器代码中的每一行都对应于程序集代码中的行...........................................................................................483.3Patmos汇编语言中的一个程序及其相应的CFM示例,演示了单循环的使用。...................................................................................................................503.4一个项目的ICFG及其相应的CG示例........................................................... 523.5一些域的示例553.6传递函数转换输入信息。...............................................................................563.7在前后分析中引导信息流。虚线箭头表示信息流,而常规箭头表示执行流。...................................................................................................................573.8生命力分析示例 摘自[3]。.............................................................................593.9(实际)高速缓存状态的演变取决于内存的变化。假设具有LSR替换策略的双向集关联高速缓存。内存块"a"、"b"和"d"映射到缓存集s1,其中"c"和"e"映射到s2......................6173.10 假设关联性缓存的ACS内容示例4633.11 可能和必须分析的示例...................................................................................653.12x693.13 程序及其相应范围图的示例...........................................................................713.14 由OTAWA分析工具生成的视觉反馈...........................................................744.1Odyssey WCET分析工具概述.......................................................................794.2将带有一个调用(左)的LLVM基本块转换为两个ICFG基本块(右)。...............................................................................................814.3使用跳转表、相应的控制流图、预测的机器代码实现基本块SWT和未折叠的控制流。................................................................... 834.4由于使用VLIW指令包对分层()、混合()和非延迟()配置进行解折叠,指令数量增加,规范化为LLVM原始CFM的大小(越小越好)。...875.1由4个函数组成的程序,保留、释放和保证堆栈缓存上的空间(缓存大小:4)。角括号中的注释,例如, 2堆栈缓存控制指令。.......................................................................................915.2表示图5.1中程序的加权调用图。边缘权重指示在相应函数中保留的堆栈空间量,并可用于计算最小值/最大值位移。......................................................................................................................... 925.3使用IDFA方法的占用分析示例.....................................................................945.4SCA的占用率限制百分比(最大/分钟)为(1)大于、(2)等于或(3)小于IDFA。...........................................................................................955.5当使用IDFA计算最大占用率时,递归函数的不准确性会传播。.............975.6IDFA计算最大占用率的非递归函数的反馈回路强制精度6.1由4个函数组成的程序,保留、释放和保证堆栈缓存上的空间(缓存大小:4)。角括号中的注释,例如, 2堆栈缓存控制指令。.....................................................................................1006.2执行指定指令后的缓存状态(下)和传输的块数(上)。...................... 1016.3堆栈缓存分区1036.4在函数中传播DP(以蓝色显示在右侧):堆栈数据在sfree和sts指令之前变为死,而在lds指令之前变为活。其他DO说明不影响DP1046.5堆栈高速缓存1066.6RP在函数中的传播(以蓝色显示在右侧):仅lds、sts和sense指令影响RP,而其他指令说明不要更改其值10886.7图6.1中代码的加权CG,用于将额外的传输成本限制在其他函数的方向指令上。.............................................................................................................1106.8图6.1中代码的加权CG用于限制总收益由于其他功能的指示.....................................................................................1146.9使用max将上下文恢复到基本块时的传输大小(以字节为单位)直方图。职业(充分)和我们的方法(优化)。越低越好。.........................1186.10 上下文恢复的最小与最大成本降低(字节)在函数中。与参考线的距离越小越好。.....................................................1196.11 使用max在基本块处保存上下文的传输大小(以字节为单位)的直方图。职业(完整)和我们的方法(优化)第三节。越低越好。.....................................................................................1207.1堆栈高速缓存分区1227.2用于保存/恢复堆栈缓存内容的低级函数.................................................. 1237.3使用ISA-完全、ISA-RP和FP优先级将上下文恢复到基本块的传输大小(以字节为单位)的直方图优化分析的机制越低越好。.........................................................................1287.4使用ISA-完全、ISA-RP和FP优先级在基本块处比较上下文保存的传输大小(以字节为单位)的直方图优化分析的机制越低越好。.........................................................................1308.1早期记忆转移的例子.....................................................................................1358.2说明老化填充和老化溢出操作的伪代码。.................................................1368.3总缓存块的规范化数量定期溢出/填充,重新考虑支持懒惰指针的标准堆栈缓存实现。(越低越好)1398.4双核平台上与溢出和仅填充配置相关的各种老化溢出/填充仲裁策略的有效性(这是更好的)。.............................................................................................1409.1位计数试验台使用的TDM插槽的可视化--假设2核配置。顶部图显示了完整运行期间TDM插槽使用情况的一般概述。底图显示了特定时间框架内单个TDM插槽的使用情况。颜色表示TDM插槽使用情况,从绿色(低利用率)到红色(高利用率)。.............................................1469表列表1.1时间可预测体系结构的比较。(I$:指令缓存。D $:数据缓存。S$:堆栈缓存。M$:方法缓存。SP:刮擦-垫。)...............................................................................................................202.1控制流指令及其延迟插槽示例。.......................................................................415.1传统堆栈缓存分析(SCA)所使用的概念摘要。.......................................917.1与优化分析相比,FP抢先机制的恢复成本增加,如图7.3所示,基本块向直方图右侧移动。更小数字更好。.....................................................................................................1297.2与优化分析相比,FP抢先机制的节省成本增加,如图7.4所示,基本块向直方图右侧移动。最小的数字是更好。.............................................................................................................131摘要随着计算机硬件复杂性的不断提高,实时软件的计时行为分析变得越来越复杂和不准确。时间可预测的计算机体系结构已经被提出来为时间分析提供硬件支持目标是在最小化分析开销的同时,提供更紧的最坏情况执行时间(WCET)估计值。这些估计值通常由独立的WCET分析工具提供。然而,时间可预测体系结构的出现是最近才出现的。虽然已经引入了几种设计,但仍需要努力评估其在实际增强最差情况性能方面的有效性。对于许多时间可预测的硬件,时间分析要么不存在,要么缺乏适当的支持。因此,现有的WCET分析工具几乎不支持时间可预测的体系结构。本文的总体贡献是帮助填补这一空白,将一些机会转化为具体优势。为此,我们对Patmos处理器感兴趣。Patmos周围已经存在的支持允许有效地探索技术,以提高最差情况下的性能。这是通过硬件、编译器和定时分析之间的交互来实现的我们不仅提供一些缺失的定时分析支持,还针对硬件/软件优化以提高性能。主要贡献包括:(1)处理时间分析中的预测执行,(2)比较堆栈缓存占用率分析的准确性,(3)堆栈缓存的优先级开销分析,(4)堆栈缓存的优先级机制,以及(5)堆栈缓存的类似预取技术。此外,我们还推出了WCET分析工具Odyssey,该工具为Patmos处理器实现了定时分析。摘要由于硬件体系结构的日益复杂,实时软件的时间尺度分析变得因此,提出了可预测的计算机体系结构,以 其目的是提供更准确的最差程序执行时间(WCET)估计,同时将分析的成本和复杂性保持在最低限度。这些估计值通常来自W C E T 分析 专 用 工 具 。L’émergence 尽管已经提出了几种体系结构设计,但仍需要努力评估它们在最坏情况下提高性能的能力。 对于几个可预测的硬件组件,时间分析缺失或部分支持。因此,现有的WCET分析工具几乎不支持可预测架构本论文为此,我们关注Patmos可预测处理器围绕该平台的现有支持允许对最坏情况性能优化技术进行有效探索这是基于三个密切相关的组件,即:硬件、编译器和时间分析。因此,我们不仅关注对时间分析的支持,还关注编译器和硬件的优化,以提高最坏情况下的性能。本论文的主要贡献包括:(1)WCET分析流中谓词的管理 此外,我们还推出了WCET Odyssey分析工具。我们的工具实现了许多这样的分析,并支持Patmos处理器。A确认书我想表达我对弗洛里安·布兰德纳对我的信任的深切感谢。我很幸运能在我的论文中与他密切合作,并在技术上和个人上都学到了一笔伟大的交易。谢谢你的正能量。没有你我无法完成我的工作。我也要感谢马修·简给我介绍这篇论文。你的乐于助人的天性和相关的建议有助于完成这份手稿。我感谢阿尔伯特·科恩在我的整个研究过程中给予的指导和鼓励。我欠我的家人太多了,尤其是我妈妈。谢谢你用任何方式鼓励我。最后,我的未婚妻杰西卡。我太爱你了。谢谢你的耐心、爱和支持。1第一章简介这第一章提供了一个很好的介绍,并列出了我们的贡献。这里提供的丰富信息使广泛的读者都能访问。专家们可能会发现第一节和最后一节足以解决这个问题。本章的组织如下:我们首先介绍我们工作的一般背景和动机然后,我们在第2节和第3节中提供与实时系统和定时分析相关的基本背景概念第4节介绍了传统与传统性能的含义。实时计算系统。第5节报告了与传统计算机体系结构的定时分析相关的一些问题。第6节介绍并比较了一些时间可预测的体系结构。最后,我们在最后一节介绍我们的贡献。1迈向高性能安全关键系统在过去的几十年里,计算机技术深刻地改变了我们的社会,塑造了我们的生活方式。 自从第一个晶体管的发明和早期数字计算机的出现以来,电子学和计算机科学的进步使得构建运行能够支持日益苛刻的功能的软件的计算机成为可能。可实现的电路小型化水平使其有可能实现更快、更复杂的计算机架构,这些架构仅采用多核技术和其他性能增强功能。同时,编译器技术提供了为底层计算机体系结构构建优化软件的工具,使软件工程师能够开发大规模和复杂的项目。这种多学科的协同作用使计算机的使用案例以广泛和不可预测的方式增长。如果没有在所有可能大小的机器的核心部署高性能计算机,社会网络、电子投票或一些重大科学发现等重大成就是不可能实现的。计算机显示出最有益用途的其他应用。在航空电子、汽车工业或核电站中,需要开发所谓的安全关键系统。这些系统受特殊要求的约束,并以其最高程度的可靠性和安全性为特征。2与其他类型的系统不同,安全关键系统故障可能危及人类生命,导致经济损失,或对环境造成灾难性损害。它们通常用作实时监控物理环境动态的控制系统,并且受到严格的定时要求。例如,像大多数现代飞机中使用的自动飞行控制系统需要连续检查输入,如空气动力学,并及时激活正确的控制,以保持所需的飞行条件。这些实时控制任务是由专门为此目的设计的嵌入式计算机携带的软件程序。在这方面,人们可能会认为,这些计算机也一定继承了几十年来在高性能计算方面积累的进步和智慧不完全是,不幸的是。问题是,由于这些系统的关键性质,它们在投入使用之前需要经过最严格和最广泛的测试和验证过程特别地,定时分析对于检查系统的定时要求的满足和避免故障是至关重要的这通常包括静态地分析由嵌入式计算机执行的控制任务的定时行为,并确保它们在所有情况下满足其各自的定时约束。该分析 确 定 了 每 个 任 务 的 最 坏 情 况 计 时 行 为, 并 提供 了 其 最坏 情 况执 行 时 间(WCET)的上界估计一方面,WCET估计必须是保守的,因为它涵盖了导致性能时间变化的所有因素,以及它们引起的不确定性。另一方面,重要的是,估计的WCET边界是紧密的,并且是最接近实际WCET的,这样硬件资源就不会被浪费。然而,现代计算机体系结构的设计目的是提高程序的平均性能。这是通过优化频繁执行案例的执行时间除非程序极其简单或由单个执行场景组成,否则根据定义,最坏情况下的计时行为非常罕见,并且在其他情况下的性能差距可能很大。此外,许多内置硬件组件依赖于复杂和推测性的行为,这极大地增加了时间分析的复杂性,并导致大量的不确定性。不确定性的存在会严重限制时间可预测性,即准确预测系统计时行为的能力。因此,识别最坏情况下的计时行为变得困难,并且计算的WCET估计是过度悲观的。缓存、动态分支预测器和深度无序管道等组件经常被视为–从全局标准来看,这些体系结构通常是不可定时组合的,这意味着1在运行系统之前。2根据内存层次结构和性能,与缓存命中相比,缓存未命中的计时行为可以按数量级进行测量。在这种情况下,由于复杂性,定时分析得出的WCET估计值相当保守。但是,系统必须分配比实际需要更多的CPU时间,从而导致硬件资源浪费。这并不是要提到描述局部正效应(如缓存命中)可能导致全局负效应(增加的管道停滞)的非直观情况的定时异常时间异常很难发现,因为它们需要跟踪一个很长的执行历史,这使得时间分析过于复杂。3WCET估计不能通过单独研究每个组件的定时行为来推导。此特定属性的缺失阻止了以可组合的方式解决时间分析问题,从而增加了问题的进一步复杂性。由于这些原因,安全关键系统的设计人员有时可能会面临一种自相矛盾的情况,即引入高性能功能最终会导致性能本身的毁灭性损失。在许多系统设计中使用的典型解决方案将包括勉强禁用这些硬件组件,牺牲整体性能而不是严格的和更可预测的最坏情况计时行为。对计算资源的任何更多需求都将通过引入更多性能不幸降低的嵌入式计算机来满足。其结果往往是由多个分布式计算机组成的极其复杂的电子结构,这些计算机需要相互交互和共享资源。一个人只需要看看现代汽车上的电子架构,就会意识到这可能会变得多么复杂。据估计,现代汽车包含大约50台嵌入式计算机,这些计算机通过由数公里的电线和数公斤的铜组成的网络进行通信。为了缓解这一问题,越来越多的注意力集中在多核平台上,特别是在千禧年开始时,它们在通用计算机市场上取得了成功。由于其硬件并行功能,这些新的计算机体系结构承诺在成本、空间和功耗方面提供更多的计算能力,而几乎没有开销。这似乎非常适合许多工业应用。然而,在为多核架构设计软件时,可能会出现一些事实上,用于单处理器系统的软件在移植到多核系统时可能并不总是能很好地扩展和性能更好。缓存一致性、同步和跨计算资源的软件功能分布是软件设计者为了构建安全但高效的系统而必须处理的典型问题的示例。由于硬件资源共享,应用程序之间的依赖关系可能会使其几乎不可能在不严重影响这些体系结构所宣传的性能的情况下获得定时保证。另一方面,社会对提高技术性能的期望也在稳步增长。在需要计算能力的情况下,要求安全关键型系统承载更多按需功能。例如,在汽车行业,自动驾驶汽车必须是简单的自动驾驶系统,负责实时处理传感器和摄像头网络提供的大量信息,以做出分秒驾驶决策。与此同时,司机被邀请坐上一位乘客的座位,享受旅程,也许还可以享受车辆计算机系统提供的各种娱乐服务这种功能需求增长的直接含义当然是实现这些需求的软件的规模和复杂性急剧增加。这一现象在所有部门都能观察到,并被美国宇航局的一项研究很好地捕捉到,该研究涵盖了空间和航空电子领域的各种项目。事实上,现代计算机体系结构性能的明显提高似乎鼓励了行业依赖软件来执行要求苛刻的安全关键任务。许多计算机供应商开始提供具有前所未有的性能水平的新计算机,以跟上这些高期望。全新的Nvidia计算机驱动器PX [6]是提供原始计算功能的此类硬件平台的一个示例,旨在支持自动驾驶功能。它4搭载四款高性能人工智能处理器,能够执行320TOPS3深度学习操作。但是,性能到底意味着什么呢?在安全关键系统的背景下,这种原始计算度量是否是现实地评估计算机性能的好方法在这件事上积累的经验似乎表明了另一种情况,软件复杂性的预期增加只会使过程变得更加复杂。事实上,在没有有效解决时间分析问题的情况下寻求更多的计算能力,意味着大多数性能都被困在潜在的存储桶中,永远没有机会在现实生活中被利用本文的工作是协调性能与安全关键系统并释放现代计算机所能提供的潜力的努力的一部分。 先前的工作已经研究了为定时分析定制的计算机体系结构[38,120,53,91]。然而,T-CREST项目[108]采取了一种在实时系统背景下实现性能的综合事实上,它是基于这样一种观察,即性能不仅取决于体系结构,还取决于时间分析工具以及编译器支持。Patmos是T-CREST项目的一个时间可预测处理器。它实现了特殊的功能和硬件组件,旨在简化分析过程并得出严格的WCET估计值。 此外,还提供了一个LLVM编译器基础设施到Patmos的端口,允许引入和执行WCET相关的分析和优化。我们通过为其时间可预测性特征提供几种缺失定时分析来参与这项工作在此过程中,我们还引入了硬件扩展,不仅可以获得更精确的边界,还可以减少当前的WCET。这些技术中的大多数这项工作的结果最终可能有助于定义适用于高性能安全关键型应用的计算机体系结构第7节提供了详细的贡献列表。2实时系统安全关键型系统通常需要满足定时要求,以便避免故障。这样的系统需要对其输入进行常规控制,以便在正确的时间发出正确的响应,即实时。根据该方案操作的计算机系统被称为实时系统。它们保留了处理包含安全关键系统的时间和功能方面所需的特殊属性和功能我们所说的"实时"究竟是什么意思?这些系统是如何管理这些方面的2.1定义和关键属性在计算的背景下,术语"实时"可能会被专业化社区以外的人误解虽然许多人将其归因于一些计算机系统对用户刺激的反应速度或速度等品质,但这张图片并没有捕捉到它的真实属性和特征。每秒3万亿次运算虽然这个指标是直接的,但它只表示CPU执行的指令的峰值执行率,而不考虑计算机体系结构和程序的其他重要元素5实际赠款概念。更确切地说,计算机系统有资格实时引用它们提供的结果的逻辑正确性以及提供这些结果的时间具有同等重要性。这是一个简单的概念,在日常生活中可以很容易地找到许多类比。例如,在许多格斗运动中,如拳击或击剑,得分通常取决于球员在正确的时间框架内成功执行正确动作的程度。当然,就人类标准而言,反应时间框架通常被认为是快速的,然而,这取决于情况,情况可能并非总是如此。如果我们现在考虑一个纳税人被要求在未来两个月内提交纳税申报表的例子呢?在任何方面,早期例子中的反应性都不比后来的例子更"实时"。未能在规定的时间框架内正确归档和交付所请求的文档可能会导致不希望的后果。在计算机系统上应用这一概念在需要永久控制物理环境以产生和保持所需行为的应用中非常有用。在这方面,对刺激的反应速度由与环境动力学相关的时间要求决定这种要求通常以必须产生正确响应的截止日期为特征。实时系统的时间性表示该系统满足其时间限制的成功程度。考虑到一些应用程序的关键性,在实际运行系统之前,有必要对系统的时间性进行证明然而,在设计过程中,并非所有内容都是已知的。 许多因素会影响系统的行为,尤其是输入数据的演变。 这些不确定性引入了在验证过程中必须考虑的非确定性。实现这一目标需要系统是可预测的。这意味着必须有可能预测,至少在某种程度上,关于系统演变的事实或性质。定时可预测性表示关于系统的定时行为的确定性程度因此,期望系统允许根据实际的定时行为来导出精确的预测。缺乏足够可预测性水平的系统将不会被认证用于安全关键系统。也就是说,并非所有实时系统都适用于安全关键型应用。许多不需要最高级别的时间来在可接受的条件下操作。根据计时要求的严格性,实时系统可分为三类:硬实时系统:顾名思义,它们受到硬定时限制,这意味着如果错过任何最后期限,系统将失败。硬实时系统通常用于安全关键型应用程序,并具有最高级别的可靠性和及时性。应用示例包括核电站、动力系统、飞行控制系统和航天器。公司实时系统:超过最后期限的结果是无用的。错过最后期限不会造成严重损害。然而,系统的性能可能会严重下降。公司实时系统的示例包括机器人装配线或传感器数据传输。软实时系统:可以容忍最后期限的错过。虽然可能会注意到性能下降,但延迟的结果仍然有用。软真实-···6图1.1Ti是激活期,Ci是计算时间,Di是激活日期的截止日期。时间系统通常用于消费者应用,例如音频-视频流或视频游戏。在本研究中,我们将重点关注硬实时系统。2.2嵌入式系统实际上,大多数实时系统都是使用嵌入式计算机系统实现的。与通用计算机不同,嵌入式计算机专为特定应用或产品而设计。它们被设计为承载由诸如前面提到的那些的大型系统提供的不同功能。 像任何计算机系统一样,它们基本上由许多硬件和软件部件组成。嵌入式系统的性能和特性范围很广,具体取决于应用领域。对于消费类应用,它们通常包括具有多核处理器的片上系统(SoC),以及具有图形处理单元(GPU)和连接模块等高级外围设备的系统。示例包括德州仪器的在实时应用中,嵌入式计算机传统上由具有计算机体系结构的基本元素的简单微控制器组成。这些计算机通常在低于100MHz的频率下操作,并携带几KB的存储器系统。随着计算需求的不断增加,许多行业都对部署具有高性能功能的计算机感兴趣。其中,我们可以提到瑞萨的多核平台RCAR-H3,或Kalray的多核平台Bostan。在任何情况下,嵌入式计算机都可能受到硬件资源、价格、空间或性能功耗方面的限制。因此,嵌入式软件通常针对目标嵌入式计算机体系结构进行优化事实上,软件设计人员必须牢记正在开发的应用程序的严格需求在一些情况下,甚至可能不需要操作系统来适当地简单化和操作所需的功能。2.3实时任务实时系统通常同时控制系统输入的多个方面。为了实现响应性,实时系统可以支持以并行方式周期性执行的多个任务。任务是执行的基本单元,通常由处理输入数据以提供结果的软件程序组成。根据所采用的任务模型,每个任务都有不同的关联7捕捉其计时特性的参数。图1.1显示了某个任务的一些参数:(1)激活周期T i,(2)完全执行任务C i所需的CPU时间,以及(3)每次激活的截止日期D i。实时操作系统(RTOS)管理计算机的硬件这是使用任务调度来完成的,任务调度包括查找活动任务的正确执行顺序,以确保满足其所有时间限制。自20世纪中叶以来,规划一直是(现在仍然是)大量研究的主题。文献中存在许多调度算法,并且有几项研究详细说明了每类算法的优点和反馈。然而,静态调度由于其可预测性和实现的简单性而在安全关键系统中通常是优选的。在静态调度中,调度决策中涉及的所有任务的参数都是预先已知的,并且在静态调度算法的一个示例被称为速率单调(RM),其中任务优先级根据任务的激活周期被分配,通常被称为T i。周期较短的任务具有较高的执行优先级 。2.4系统故障与任何计算机系统一样,实时系统也不能完全避免可能影响其一个或多个方面的设计缺陷和bugs过去发生的事件有许多例子是由于可能表现为母软件错误的并发症造成的。[8虽然这些缺陷中的一些现在可以使用先进的软件检查和测试技术来检测,但由于违反时间要求而导致的故障可能具有通过这种方法无法发现的不同原因。错过最后期限可能是软件设计者没有预料到的情况的结果。完成执行所需时间比预期长的任务。系统无法处理的高峰值负载。在待控制的环境在实验室中不可重现的情况下,时间方面尤其难以验证不幸的是,在这种情况下,考虑到一些应用程序的关键性,蓝屏死亡通常不是一个选项。在下一节中,我们将讨论如何导出定时保证以确保实时系统的时间性。3派生计时保证构建实时系统的主要关注点之一是确保满足其所有定时要求。由于许多不确定性,可能不可能绝对准确地预测系统的每个方面的演变。因此,通常需要牺牲一些精度,这会导致设计师考虑最坏的情况。通常,推导时间保证的方法包括显示在最坏的情况下,所有任务都在各自的截止日期前完全终止其执行。一个好的系统设计的特点是它能够根据最坏情况的结果做出可靠的预测。在任何情况下,都必须在计算机系统的所有级别上解决该问题。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功