本文主要是介绍ARMv8 Multi-core processors,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MPMP框架单处理器 : 一个单处理器多处理器 :1. a cluster with multi-core2. many clusters which contain multi-core如何分辨当前运行的core的IDMPIDR_EL1 // DDI0487E_armv8_A_architecture_reference_manual P3216// 在 riscv中,可以通过读 csr MHARTID 来获取 当前hart的idMP分类SMP // Symmetric : 对称的cluster中的每个核心都有相同的内存和共享硬件视图。对称多处理(SMP)是一种软件体系结构,可动态确定各个核心的角色。任何应用程序、进程或任务都可以在任何内核上运行,操作系统调度器可以在内核之间动态迁移任务,以实现最佳的系统负载。多线程应用程序可以同时在多个内核上运行。操作系统可以对应用程序隐藏很多复杂性。AMP // Asymmetric : 不对称的cluster中的每个核心可以是同一种架构,也可以不是同一种架构每个核心上可以跑一个os非对称多处理(AMP)系统使您能够静态地将单个角色分配给集群中的一个核心,这样,实际上,您有单独的核心,每个核心在每个集群中执行单独的作业。这被称为功能分发软件体系结构,通常意味着在各个内核上运行一个单独的操作系统。在您看来,该系统可能是一个单核心系统,具有特定关键系统服务的专用加速器。AMP不指任务或中断与特定核心相关的系统。HMP // heterogeneous : 混合的由应用处理器集群组成的系统,这些应用处理器的指令集体系结构是完全相同的,但微体系结构非常不同。所有处理器都是完全缓存一致的,并且是同一一致性域的一部分。例如 big.LITTLE (A53 cluster + A57 cluster)但是该硬件系统上跑一个OSMP引入的问题BOOTcache coherencySMP中的同步SMP中的时钟:Timers异常处理
SMP | AMP | HMP | SP(single processor) | |
---|---|---|---|---|
几个核心 | 多个 | 多个 | 多个 | 一个 |
硬件架构是否相同 | 架构相同,微架构相同 | 无所谓 | 架构相同,微架构不同 | / |
缓存一致性 | 支持 | 支持 | 支持 | 支持 |
跑几个OS | 1个 | 每个核心一个 | 1个 | 1个 |
这篇关于ARMv8 Multi-core processors的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!