SMP

SMP(Symmetrical
Multi-Processing):对称多处理技术,是指在一个总括机上集中了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。

在smp系统中,所有的CPU共享全体资源,如总线,内存和I/O系统等。多少个CPU之间没有区分,平等地拜会内存、外设、一个操作系统。即便五个总结机并且请求访问一个资源(例就如一段内存地址),由硬件、软件的锁机制去解决资源竞争问题。

 

BSP(Bootstrap
Processor
):启动CPU,在操作系统启动进度的最初,只有BSP在履行命令。

Bootstrap, 

在smp系统中,怎么样挑选某一CPU作为Bootstrap processor?

http://www.google.com/patents/US6108781

Bootstrap processor selection architecture in SMP system

abstract:

A method is provided for selecting a bootstrap processor from among the
processors of a multiprocessor system. Each processor has an identity
code and each processor that is eligible to serve as the bootstrap
processor sends an election message to processors having lower valued
identity codes. If no processor having a lower valued identity code
responds to the election message, the processor that originated the
election message designates itself as the bootstrap processor and sends
a message to all processors indicating itself as the bootstrap
processor.

 

BSP(Board Support
Packet
):常说的板级帮衬包。介于硬件和操作系统之间的一层,应该算得属于操作系统的一片段,主要目标是为了协助操作系统,使之力所能及更好的运转于硬件之上。用于构建一个小小系统,已毕操作系统的加载。BSP属于嵌入式系统的一局地,它相当于一个板级驱动程序。差距的嵌入式os的BSP不一样。

 

AP(Application
Processor):应用CPU。

APIC(advanced programmable
interrupt controller):高级可编程中断控制器,分为本地APICIO
APIC

本地APIC的作用:

1.收到本地外部中断(直接连在LINTIN
0/1 上的配备);

2.接搜地面内部中断(除法错误等软件上的中断);

3.接受来自IO
APIC的刹车;

 

IO
APIC
的作用:

1.收下系统总线上的IPI信息;

2.接到外部设备的中止;

3.将收取到的间歇分发给本地APIC;

 

notes:

1.外设可以通过
 直接连在某一个本土APIC上,而不用经过IO APIC;

2.甩卖时期中断先由IO
APIC接收,然后分发给相应的地点APIC,那犹如暗示着中断的散发策略完全是IO
APIC的工作,本地APIC只是收纳从IO
APIC发过来的暂停,并不区分是IPI依旧外部中断。

 

IPI:处理器间中断,用于处理器之间的通讯。在SMP系统中,芯片内部一个电脑平日要有对象地向系统中的其他总结机发出中断请求。例如:在做基础调试器的时候,为了不影响当下环境,当刹车发生的时候必须将非当前cpu外的任何cpu的运作中断。

 

出于BIOS代码并不是永葆多线程的,所以在SMP中,系统必须让具备AP进入暂停屏蔽状态,不与BSP一起执行BIOS代码。

BSP负责操作系统的起步,在开行的终极阶段,BSP通过IPI激活各类AP,在系统的健康运行进程中,BSP和AP基本上是逼真的。

 

Bootstrap 1

 

参考资料:

http://www.cnblogs.com/yubo/archive/2010/04/23/1718810.html

http://blog.csdn.net/noted2011/article/details/14140887

http://blog.csdn.net/cybertan/article/details/7206209

http://blog.csdn.net/zxycode007/article/details/9372817

http://blog.51osos.com/linux/linux-kernel-smp/

http://www.ibm.com/developerworks/cn/linux/l-linux-smp/

相关文章