多核处理器的基本架构是什么?有哪些调试方法?

网友投稿 293 2022-11-21

多核处理器的基本架构是什么?有哪些调试方法?

认识多核基本架构

认识多核调试难点

多核与多处理技术的融合为系统调试带来了许多新的挑战,因为系统复杂度不断增加,要通过优化硬件和软件来充分发挥其中的性能潜力,难度就更大了。其中最主要的难点有以下几个方面。

* 有效地管理内存和外设等共享资源;

* 在多内核、多电路板和多操作系统的环境中对操作系统和应用代码进行调试;

* 调试单一芯片中的同构和异构多核,进而实现整个系统的协同调试;

* 有效地利用JTAG与基于代理的调试方法,确保不同调试工具之间的顺畅协同;

* 确保多核环境中应用调试的同步机制。

在多核调试中,上述三个技术途径都是在处理同一个核心问题——由SoC厂商所提供的JTAG接口所造成的局限性。 为了节省成本,许多SoC厂商都只为芯片提供单一的JTAG接口,而不理会其中包含了多少个内核。对于开发者来说,最大的挑战就是经济有效地使用这些接口 来同步多核以及多处理的调试工作。其中,单一调试器方式采用IEEE 1149.1标准Daisy-chain方法。

认识多核调试方法

拥有先进多核调试工具

Wind River拥有的JTAG加速器和服务器技术可以显著降低JTAG序列包之间的空闲时间,完全充分地利用了可用的JTAG带宽。与JTAG有关的另一个问 题涉及到调试能力,例如用停止请求信号来立即停止某个内核,或者用停止指示信号来停止某个内核并同步其他的内核的停止。与其他所有的局限性一样,这类问题也依赖于厂商的实现方法。

在Wind River的多核解决方案中,开发人员可以同时停止或者启动任何内核,在一个或者多个内核上设置断点,其中还可以包括条件断点。此外,Workbench Eclipse框架和基于代理的调试方式使开发人员在单一控制台上即可管理多内核/多处理应用的开发。开发人员可以在JTAG调试和基于代理调试二者之间 灵活地选择,例如在硬件Bring-Up、内核、中间件和其他应用功能调试的时候采用JTAG连接,然后在自己认为适当的时机平滑地转移到基于代理的调 试,而这些调试工作都是围绕着同一个应用的。这些能力都会增加不同开发人员之间的协同能力,同时改善异常问题的判定效率。

结论

在多核开发中,JTAG调试可以承担非常有价值的角色,有效地改善“编辑-编译-调试”周期时间。然而,实现这一点的前提是把JTAG调试与基于标准的集成化开发环境(例如Eclipse)紧密地集成起来。最理想的技术方案是,在Daisy Chain中采用遵从IEEE 1149.1 JTAG标准的单一的JTAG调试器,而JTAG的主要作用是改善系统的吞吐能力和性能。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:浅析HarmonyOS驱动加载过程
下一篇:Java 实战项目之学生信息管理系统的实现流程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~