TIwilliam hill官网
直播中

廖宇婷

7年用户 201经验值
私信 关注
[问答]

TMS570系列 双核R5 CPU是如何工作的?

我了解Xilinx的Zynq处理器,由CPU0加载FSBL、U-Boot,之后启动CPU1。再由Linux负责调度CPU0和CPU1。
今日偶然间看到ti的TMS570安全控制器,是双核的Cortex-R5F,激起了以前的疑问:
1、在CCS下,多核处理器如何编程?编译器针对多核会怎么编译?
2、双核R5是怎么个运行机制?上电后同步运行?
3、DataSheet里有一个名词“Lockstep CPUs”是什么意思?该如何理解?
谢谢,学生求教,望能多说两句,把您的智慧描述准确。
再次感谢!!!

回帖(3)

刘馨

2018-5-25 04:03:32
双核处理器一般分为两种情况:2个内核相同,2个内核不同。
工作原理主要是将单内核中的并行计算扩展到多CPU之间,具体如下:
当2个内核相同时,随意指定其中一个为主CPU,另一个则为从CPU。主CPU完成任务调度和一部分计算工作,从CPU主要用作计算。当一个任务可以分解为2个并行的任务时,在操作系统或者控制软件的支持下,将其中一个单纯的计算任务分配给从CPU,其它由主CPU完成,最终的结果汇总到主CPU。
当2个内核不同时,一般其中一个是采用冯.洛伊曼结构的CPU和一个采用哈佛结构的DSP,其中冯.洛伊曼结构的CPU适合事务处理,一般作为主CPU,另一个则为从CPU。这里的主CPU速度一般较低,而DSP的速度较高,所以主CPU完成任务调度和管理,有时候也做一小部分计算工作,DSP主要用作计算。这在图像处理中极为常见。这种情况下,一般将一个任务的计算任务分配给从CPU,其它由主CPU完成,最终的结果汇总到主CPU。
在操作系统或者控制软件的支持下,由于双内核之间采用内部高速宽带总线,使得双CPU能够并行运行,实际效果相当于单内核CPU近2倍的速度。例如对于一个复杂的控制和计算任务,可以分别为2个内核编制不同的处理程序,这样一方面可以降低处理难度,另一方面可以大大减少单内核时执行效率低的问题,同实际速度大大提高。
————————————————————————————
————————
Lockstep systems are fault-tolerant computer systems that run the same set of operations at the same time in parallel.
同步系统是容错计算机系统,可以同时同步运行相同的一组操作。(这里说的是容错系统的意思,同时同步运行相同的东西,一个坏了,另外一个不耽误,当出问题的恢复后应该可以复制正常运行的那台状态继续同步运行)
这里的意思应该是同步CPU,步伐一致的CPU,应该是说CPU步调一致的,应该是两个相同的CPU吧,可以同时一起工作具体什么意思,要结合那句话来理解。
举报

廖宇婷

2018-5-25 04:16:15
引用: 潘涛12345 发表于 2018-5-25 04:03
双核处理器一般分为两种情况:2个内核相同,2个内核不同。
工作原理主要是将单内核中的并行计算扩展到多CPU之间,具体如下:
当2个内核相同时,随意指定其中一个为主CPU,另一个则为从CPU。主CPU完成任务调度和一部分计算工作,从CPU主要用作计算。当一个任务可以分解为2个并行的任务时,在操作系统或者控制软件的支持下 ...

很详细,明白了:)看了wik的,写的也很不错。
想请问能否推荐本讲异构系统SoC启动,工作调度的中文书籍看看,学习的欲望很强烈,望能指点一二,学习学习,少走弯路。

就像Xilinx的Zynq-7000,由CPU0启动U-Boot等,再唤醒CPU1,运行Linux。当然也有网友做到了两个CPU跑两个系统。。
但是新出的 Zynq UltraScale+ MPSoC 拥有Quad A53;Dual R5;Mail-400,就很好奇:
1、谁是负责启动的CPU?谁来唤醒其他CPU?
2、起动后R5和A53任务怎么调度?怎么协调工作?
举报

刘馨

2018-5-25 04:27:21
引用: ji56789 发表于 2018-5-25 04:16
很详细,明白了:)看了wik的,写的也很不错。
想请问能否推荐本讲异构系统SoC启动,工作调度的中文书籍看看,学习的欲望很强烈,望能指点一二,学习学习,少走弯路。

看哪个CPU为主CPU了,通常是主CPU来负责从CPU的启动与管理的。任务调度这个就深奥了。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分