SMP

SMP(Symmetrical
Multi-Processing):对如多处理技术,是靠于一个计算机达集中了千篇一律组处理器(多CPU),各CPU之间共享内存子系与总线结构。

在smp系统中,所有的CPU共享全部资源,如总线,内存和I/O系统等。多独CPU之间莫分别,平等地看内存、外设、一个操作系统。如果少只电脑并且呼吁访问一个资源(例如同一段子内存地址),由硬件、软件的锁机制去化解资源竞争问题。

 

BSP(Bootstrap
Processor
):启动CPU,在操作系统启动过程的初期,只有BSP在推行命令。

 

在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.接到外部设备的Bootstrap中断;

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/

相关文章