2010-5-31(SMP基础学习笔记)
时间:2010-06-01 来源:donotgiveup
3个问题:
1、SMP系统的启动过程
单cpu的启动过程,从系统入口开始(arm7,flash的0地址)。
多个cpu的话,是一起启动吗?
·BSP-Bootstrap Processor,和驱动开发中的bsp不同。
即启动cpu,在操作系统启动的前期,只有bsp(该cpu)在执行指令。
-- 如何唤醒其它cpu?
-- 其它cpu的初始化工作呢?
-- SMP中各个cpu是如何通信的?共享内存?
·AP-Application CPU,即应用cpu。
·APIC-高级可编程中断控制器,分为本地APIC和IO APIC。
·IPI-处理器间中断,用于处理器间的通信。
--处理器间中断,新名词,从没听过。用来唤醒cpu吗?中断源是什么?BSP吗?
启动:由于BIOS代码是不支持多线程的,只能让BSP执行BIOS代码,必须让所有的AP进入中断屏蔽状态。
(屏蔽那些中断呢?IPI?)
实现方法:
1、利用系统硬件本身处理。
2、系统硬件和BIOS程序一起处理。
BIOS使AP进入中断屏蔽状态,使其休眠,只让BSP执行后续代码。
BIOS要完成对APIC和其它与MP相关的系统组件初始化过程,并建立相应的系统配置表格。
2、SMP的进程调度
3、SMP中中断的特点
待续。。。
相关阅读 更多 +