多核时代的Android Eric Andersen Agenda 1。基础:Android在多核与单核处理器上运行有什 } 么不同 2。扩展:Android系统下ARM核与周边芯片之间 } 配合 3。反多核:虚拟化技术 } 2 www.farsight.com.cn 多核有什么不同 SMP/AMP } 进程管理与调度 } Boot on SMP (Cotex-A9) } www.farsight.com.cn 单核拥有/控制所有资源, 且完成所有任务 } Memories RAM Task n FLASH ... S y CORE s ... t e m Peripherals Task 2 B u s GPIO Task 1 TIMER 4 www.farsight.com.cn AMP 每个内核有其自己的资源和特定的任务,也共享部 } 分资源 MEM PER MEM PER Task m Task n ... ... Local Bus Local Bus ... ... Task 3 Task 4 MASTER SLAVE CORE CORE Task 1 Task 2 Global System Bus GPIO TIMER RAM FLASH 5 www.farsight.com.cn AMP AMP 表示”Asymmetric Multi Processing” } AMP系统内核架构 } 同样内核 } 同架构但不同性能的多个内核 } 完全不同架构的内核 } 每个内核都有自己特定的任务和资源 } 6 www.farsight.com.cn SMP 各个内核公用系统资源和共同完成所有任务 } Task n ... ... CORE 1 CORE 2 Task 2 Task 1 System Bus Peripherals GPIO TIMER RAM FLASH Memories 7 www.farsight.com.cn SMP SMP 表示”Symmetric Multi Processing” } SMP系统内核架构 } 所有内核架构必须相同 } 所有内核拥有同样的地址空间和资源 } 所有任务都可以在任一核上执行 } 8 www.farsight.com.cn 单CPU下的进程 单CPU时,通过尽快的从一个进程执行切换到另 } 一个进程执行来实现“感觉”上的多任务执行。 进程间互不干涉(通过内存保护),除非有明确 } 的需要进行进程间通讯(可以通过共享内存等方 式实现) 在各进程间CPU执行时间必须尽可能的公平,除 } 非某些进程比另外的进程更加重要。 9 www.farsight.com.cn 进程调度 职责:决定每个进程执行多长时间?以及下一个 } 进程是哪个进程? 任务切换:从一个进程切换到另一个进程的时候, } 确保执行的环境被完整地保存下来。 10 www.farsight.com.cn
Description: