多内核和多线程SoC带来新的调试挑战-Read.DOCVIP

多内核和多线程SoC带来新的调试挑战-Read.DOC

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多内核和多线程SoC带来新的调试挑战-Read

多内核和多线程SoC带来新的调试挑战 作者:MIPS 公司高级软件工程师 Earl Mitchell? 来源:电子产品世界? 发布时间:2007-03-16 09:53? 评论:0条? 阅读:108次 发给好友   2005 年, MIPS收购了 FS2,满足客户有关调试支持要求 FS2 作为MIPS 科技的一个部门其先的系统级测试、调试和跟踪能力。FS2的在线仪技术为SoC内部工作提供深入系统级可视性这是保证设计成功和加快上市时间的关键。两公司合开发了 PDtrace?(程序和数据踪)和踪,用于MIPS32 4KE24K24KE以及最新的 34K 多线程处理器系列。除了 PDtrace 技术,FS2为嵌入式系统开发及调试提供系统导航( System Navigator)。FS2还为先处理器总线系统级分析IP 和工具。   有经验的开发人员都知道,好的工具支持对于嵌入式产品的实现、调试和维护的成功至关重要。SoC 设计对好的工具支持提出了一系列重要的挑战。一些问题可以归结为 SoC 设计中使用的元件的可存取性及可视性的本质上的下降;另一些则是因为软硬件不断增加的复杂性。尤其是,SoC 设计中更多使用的并发将带来现有工具无法进行调试的问题。这些并发技术并不新,但是在大多数情况下,相对于台式和企业(超级计算)产品来说,并发技术在嵌入式设计中的应用一直十分有限。   开发人员需要及早了解设计过程中的类似问题,以保证他们拥有足以应对产品开发后期出现的这些挑战的工具。基于 SoC 的设计主要依赖于片上调试支持。大多数处理器内核厂商都不自行开发工具。不过,他们仍需提供必要的片上调试支持,以推动这类调试工具的发展。SoC 设计中的并发用来增加各种多媒体、网络和通信产品的性能及可扩展性。多任务处理和多线程是通过 CPU 分时来模拟并发的技术。分时由一个管理多任务或多线程之间上下文转换的调度程序进行控制。进程、任务和线程三个术语有时可以通用,其实三者之间有着细微的区别。任务是可以暂停或重新开始的一连串指令。多任务可以或不可以共享同一个地址空间(即可进入其他任务的文本、数据和整个区域)。一个任务的状态由其上下文表示,它可以“快照(Snapshot)”处理器状态。   快照可记录程序计数器、堆栈相关的寄存器、各种通用寄存器,以及一些与特权模式和异常处理有关的特定内核寄存器。调度程序利用上下文记录延缓和进行任务恢复。单线程是任务的一种实例模式,线程组是相同任务的多实例模式。同组线程共享相同的程序空间和上下文状态。利用线程的优势在于调度程序能够使用一个线程组内的共享上下文更快地执行该组的上下文转换。也就是说,在线程组内的上下文之间进行转换时,调度程序不必占用很多寄存器。某些RTOS厂商仅支持任务模型,而另一些则支持线程模型。   一个进程是运行于一个操作系统的任务,后者采用MMU以防止其他任务进入存储区域。运行于这种操作系统上的线程称为轻量级进程,而且它可以共享虚拟地址空间。轻量级进程可释放存储器保护限制,其行为更像任务。例如,调度程序能够利用共享程序空间,通过将信息传送给指示器而非复制全部信息来加速进程间通信。而且,共享程序空间可更有效利用存储器并提高高速缓存的命中率。这种进程模型是Linux等“全功能”OS采用的模式,它是嵌入式应用的普遍选择。某些像Java这样的平台可提供其自身应用水平的线程调度程序,但这些平台可以简单地将应用线程映射到OS水平的任务或线程。 图1 采用并发多级设计的典型SoC   用于硬件设计的并发技术通过多指令流水线增强性能,从而可减少共享资源的闲置周期(如流水线、总线等),并通过多内核分配处理负载。通常,增加更多内核可比减少时钟频率获得更多的处理能力。多内核SoC包括通用CPU、DSP和专用内核的组合。某些内核可提供多线程支持以增加CPU的利用率,并提高上下文转换的性能。   内核厂商正在用两类多线程微处理器架构进行实验。第一种是为以多虚拟处理器单元而非物理处理器形式出现的OS提供的额外逻辑。这种想法可在当前的线程运行时,利用第二线程实现闲置单元的利用。第二种类型是在当前的线程停止时,通过发出来自不同线程的指令,使用内部调度算法来减少闲置流水线周期。问题在于选择新线程进行转换时,应该采用什么标准?为避免QoS问题,需要采用基于优先权的方法,而且它必须可以由OS调度程序控制。   任何调试的目的都是找出问题所在。为发现多任务处理、多线程、多内核系统的问题,调试人员必须明确任务和线程意识,以帮助开发人员是甄别出哪种问题是由线程执行引起的。他们也要具有并发的执行控制能力和大量的跟踪信息。所有这些功能都需要片上支持来实现。 任务和线程意识   某些调试器具备足够的智能,可以访问存储器OS核的数据结构,或者利用由OS提

文档评论(0)

zhuwo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档