硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5035|回复: 2
收起左侧

[ThreadX全家桶] ThreadX多核支持中的非对称多核处理AMP和对称多核处理SMP

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115799
QQ
发表于 2020-9-6 01:07:36 | 显示全部楼层 |阅读模式

    ThreadX通常以非对称多处理(Asymmetric Multiprocessing, AMP)方式使用,其中ThreadX和应用程序(或其它系统)的单独在每个内核上执行,并通过共享内存或处理器间通信机制来相互通信,比如OpenAMP(ThreadX支持OpenAMP)。这是使用ThreadX的最典型多核配置,如果应用程序能够有效地加载处理器,则它可能是最高效的。

    对于处理器高度动态加载的环境,ThreadX对称多处理(Symetric Multiprocessing,SMP)可用于以下内核:
  ARM Cortex-Ax
  ARM Cortex-Rx
  ARM Cortex-A5x 64位
  MIPS 34K,1004K和interAptiv
  PowerPC
  Synopsys ARC HS
  x86

    ThreadX SMP在n个处理器之间执行动态负载平衡,并允许任何Core上的任何线程访问所有ThreadX资源(队列,信号量,事件标志,内存池等)。ThreadX SMP在所有内核上启用完整的API,并引入了适用于SMP操作的以下新API:
  1. UINT tx_thread_smp_core_exclude(TX_THREAD *thread_ptr, ULONG exclusion_map);
  2. UINT tx_thread_smp_core_exclude_get(TX_THREAD *thread_ptr, ULONG *exclusion_map_ptr);
  3. UINT tx_thread_smp_core_get(void);
  4. UINT tx_timer_smp_core_exclude(TX_TIMER *timer_ptr, ULONG exclusion_map);
  5. UINT tx_timer_smp_core_exclude_get(TX_TIMER *timer_ptr, ULONG *exclusion_map_ptr);
复制代码

回复

使用道具 举报

4

主题

1445

回帖

1457

积分

至尊会员

积分
1457
发表于 2020-9-6 10:35:11 | 显示全部楼层
硬汉大哥,ThreadX在ST的处理器STM32H747/745这种M7+M4的多核上面,是AMP方式吧?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115799
QQ
 楼主| 发表于 2020-9-6 10:53:06 | 显示全部楼层
morning_enr6U 发表于 2020-9-6 10:35
硬汉大哥,ThreadX在ST的处理器STM32H747/745这种M7+M4的多核上面,是AMP方式吧?

对,还有像TI的DSP + Cortex-M + Cortex-A + Cortex-R也可以。

每个核都可以刷一个。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-19 11:24 , Processed in 0.354892 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表