下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、多核环境中的高效率调试方法毫无疑问,多核多线程是将来处理器的进展方向。回首处理器的进展历程,并行技术从命令级的超标量进展到线程级的超线程或者并发多线程,再到今日处理 器级的多内核,总的趋势都没有转变。英特尔、sun和ibm等大公司目前已经投身到多核或者多线程技术的浪潮之中。当今的网络应用日趋复杂,对性能的要求 不断提高,无论是需求推进技术,还是技术激发了新的需求,并行技术都将是将来信息基础设施建设的必定挑选。对于装置而言,多核技术可以提供更高的处理器性能、更有效的电源利用率,并且占用更少的物理空间,因而具有许多单核处理器无法具备的优势。与多核解决计划如影随形的,就是多处理器技术,也就是在同一块
2、板或同一个集成系统中包含多个处理器。要想充分发挥多核以及多处理器解决计划的潜能,仅仅依赖强有力的芯片是不够的,还需要采纳新的编程办法。陪同着新的编程办法,同样也需要新 的调试办法和工具,才干确保软件和硬件开发人员在完整的多核系统环境中绽开调试工作,同时对“编译编辑调试 ”的流程举行优化。在传统上,jtag调试技术主要是用于硬件bring-up,如今也经常被用于协作基于代理的调试(agent-based debugging)。然而,在多核和多处理的环境中,片上调试(on-chip debugging)正在饰演着越来越重要的角色,由于这种技术更便于隔离运行在单个或者多个内核中不同软件之间复杂的交互
3、活动,从而协助开发人员对操作 系统或者中间件实施越发有效的调试。熟悉多核基本架构多核处理器在同一个芯片中植入了多个处理器引擎,这就可以提供更高的cpu性能、功能特性和分区能力。普通说来,多核有两种实现形式。第一,smp( symmetric multiprocessing,对称多处理)。在这种状况下,开发人员面向的是单一的抽象化硬件平台,由smp操作系统来打算详细由哪一个内核来运行哪 个任务,其中每个内核都是相同的,而且在同一个操作系统的管理控制之下,分享同一个内存。其次,amp (asymmetric multiprocessing,非对称多处理)。在这种状况下,各个处理器内核都运行着各自自
4、立的操作系统。这种自立性意味着,其中各个处理器内核既可 以是同构的,并且运行同样的操作系统,也可以是异构的并运行各自不同的操作系统。多核环境显著增强了系统复杂度,因而在对操作系统和与多核相关的硬件举行调试的时候,就必需采纳一整套更有效的工具。另外,尽管大家都认为 多核就是指在同一个芯片中放入多个内核,但是在实际开发工作中所碰到的多处理问题,事实上不仅仅局限于在单一芯片中的多个内核。实际上,不论这些处理器内 核是在同一个芯片之中,或者分布在同一个电路板中的多个芯片之中,甚至同一个系统中的多个电路板之中,开发人员都必需解决好多处理环境中的调试问题。相对 于最近浮现的单一芯片多核架构,有多个处理器芯
5、片和多个处理器电路板组成的复杂系统已经存在无数年了。因此,多处理架构的调试问题其实早已存在,只是单一 芯片内多核架构的普及将多处理系统调试问题越发尖锐地摆在了开发人员面前。从这个意义上,多年前就开头从事多处理环境软件开发的厂商就堆积了更丰盛的阅历,在应对多核软件开发方面站在了更为有利的地位。例如 wind river公司经典的实时操作系统在多年前最初的设计思路就是基于多处理架构的,因此不论从运行环境还是开发调试工具任何一方面看,对于多 核环境的适应能力都比其他工具要强得多。熟悉多核调试难点多核与多处理技术的融合为系统调试带来了许多新的挑战,由于系统复杂度不断增强,要通过优化硬件和软件来充分发挥
6、其中的性能潜力,难度就更大了。其中最主要的难点有以下几个方面。* 有效地管理内存和外设等分享资源;* 在多内核、多电路板和多操作系统的环境中对操作系统和应用代码举行调试;* 优化jtag接口并充分利用jtag带宽;* 调试单一芯片中的同构和异构多核,进而实现囫囵系统的协同调试;* 有效地利用jtag与基于代理的调试办法,确保不同调试工具之间的顺畅协同;* 确保多核环境中应用调试的同步机制。对于多核jtag调试来说,有三种主要的技术挑选:第一,以单一jtag接口支持全部内核的调试器;其次,在单一jtag调试接口中采纳独 立调试器的jtag多路(muxing)技术;第三,jtag链接器或者可编址扫
7、描端口(addressable scan port)。在多核调试中,上述三个技术途径都是在处理同一个核心问题由厂商所提供的jtag接口所造成的局限性。 为了节约成本,许多soc厂商都只为芯片提供单一的jtag接口,而不理睬其中包含了多少个内核。对于开发者来说,最大的挑战就是经济有效地用法这些接口 来同步多核以及多处理的调试工作。其中,单一调试器方式采纳ieee 1149.1标准daisy-chain办法。熟悉多核调试办法对于多核架构来说,单一调试器的主流选项仍然是jtag多路技术。这种技术对ieee jtag技术规范举行了拓展,以便为通过分享jtag接口衔接起来的每个内核提供自立的调试器。在多
8、路技术的支持下,通过对希翼调试的内核举行注册记下 (registering),开发人员可经由单一jtag接口拜访多个离散状态的内核。这种解决计划的最大优势在于它的衔接和调试性能。由于多路技术单独 衔接到每个内核,因而避开了daisy-chaining办法中所碰到的比特位移(bit shifting)方面的棘手,因而在单芯片中的多核系统中具有更高的性能。这种方式的另一个益处是不需要对开发工具举行修改,从而可以顺畅地应用在多个 开发项目之中。多路技术(muxing)办法所存在的主要问题是在多内核调试过程中无法同时启动和停止内核来同步应用。假如要停止所有内核,开发人员只能 挨次地逐个举行,这就导致了
9、调用延迟问题。在调试过程中的延迟问题,会导致很难在内核之间的操作系统、中间件和应用中找到发生问题确实切位置,特殊是当运 行在不同内核之中的应用存在互相依靠性的时候,这个问题就更为突出。例如,某个产品包含功能和 9内核,其中dsp用来处理视频流,arm 9内核提供文件系统,那么内核的启动与停止同步将会非常关键。假如调试过程中在arm内核的启动和dsp的停止之间浮现过多的延迟,dsp视频流数据很快 就会溢满arm文件缓冲区,而视频流也将会中止。假如浮现这种状况,就很难推断系统中的问题出在哪里。而且,多路进程也给开发人员在故障排解时带来了许多 新的问题,将会大幅度增强调试时光。另外,假如在有多个厂商
10、产品组成的异构多核环境中举行调试工作,例如处理器来自一个厂商,而dsp器件来自另一个厂商,还会有更复杂的问题 需要处理。由于这种状况下的多路(muxing)机制更为复杂,假如各部分之间的兼容性没有得到保证,也就很难保证系统正常运行。此时,仅仅依赖多路技术 是无法解决问题的,开发人员就需要采纳可编址扫描端口(addressable scan port),这也可能是最后仅有的办法了。这种架构需要用到十分特别的组件,这些组件可以让开发人员把jtag扫描链分割成多个功能组,并通过唯一的地址 来拜访每个功能组。这是一种多支路(multi-drop)架构,常常被用于底板(backplane)环境之中。在这
11、里,有一个分离可编址的扫描链在底 板内实现路由(routed),从而使机箱中的每个底板都拥有自己专属的扫描链。这种架构的运行速度受限于可编址扫描端口的速度,最典型的状况是 25mhz。拥有先进多核调试工具wind river拥有的jtag加速器和服务器技术可以显著降低jtag序列包之间的空闲时光,彻低充分地利用了可用的jtag带宽。与jtag有关的另一个问 题涉及到调试能力,例如用停止哀求信号来立刻停止某个内核,或者用停止指示信号来停止某个内核并同步其他的内核的停止。与其他全部的局限性一样,这类问题 也依靠于厂商的实现办法。wind river on-chip debugging(片上调试)解
12、决计划可以同时启动和停止多个内核。事实上,wind river提供的jtag解决计划,也就是workbench on-chip debugging,是以集中化的方式来实现多核和多处理的调试功能。这个解决计划可以在单一扫描链(scan chain)中同时调试多达8个内核。而且,不管这些内核处于同一个芯片之中、分布在线路板中的多个芯片或者分布在复杂系统中的多个线路板之中, workbench on-chip debugging都能够对付自如。在wind river的多核解决计划中,开发人员可以同时停止或者启动任何内核,在一个或者多个内核上设置断点,其中还可以包括条件断点。此外,workbench eclipse框架和基于代理的调试方式使开发人员在单一控制台上即可管理多内核/多处理应用的开发。开发人员可以在jtag调试和基于代理调试二者之间 灵便地挑选,例如在硬件bring-up、内核、中间件和其他应用功能调试的时候采纳jtag衔接,然后在自己认为适当的时机平滑地转移到基于代理的调 试,而这些调试工作都是围围着同一个应用的。这些能力都会增强不同开发人员之间的协同能力,同时充实异样问
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自动驾驶安全测试
- 2025-2026学年广东省云浮市高三下学期联考化学试题(含答案解析)
- 橡胶企业产品质量准则
- 2026年天津市部分区中考一模道德与法治试卷和答案
- 某木材加工厂木材防腐规范
- 麻纺厂人力资源管理细则
- 2026年生物生态系统结构与功能评价指标体系研究
- 水土保持项目组织机构设置
- 新生儿脐炎患儿的个案护理
- 一例胰头癌患者的护理个案
- 国家义务教育质量监测八年级劳动素养试题
- GB/T 45711.2-2025皮革撕裂力的测定第2部分:双边撕裂
- T/ZJSEE 0012-2023分布式光伏验收规范
- GB/T 45355-2025无压埋地排污、排水用聚乙烯(PE)管道系统
- 安徽交控集团招聘笔试冲刺题2025
- 攀枝花市2025届高三第一次统一考试(一统)物理试卷(含答案)
- 成都市河湖水生态综合治理技术导则
- 职业技术学校《直播运营实务》课程标准
- 合理用药知识健康讲座(完美版)课件
- 多格列艾汀使用指南2024课件
- MOOC 创业基础-暨南大学 中国大学慕课答案
评论
0/150
提交评论