一.MP相关
相对于UP而言,MP可以采用多个CPU来缓解制造更高速度CPU的需求,在单位时间内能执行多项任务,不仅如此,多处理机系统可以调整CPU的数量来进行扩张,从而与应用环境相匹配。例如,对于终端用户和客户来说,可以通过计算需求的扩大而增加CPU数量来升级系统,就是一种很吸引人的方案。此外,还有可能提高系统的可用性。如果一个CPU发生故障,那么剩余的CPU就可以继续发挥作用(取决于系统的设计,在android中,就有MP decision进程来做相关设计),从而保证系统的可用性,只是性能会有所降低。这就提供一定程度的容错能力,在诸如在线交易处理的环境中,系统停机会造成收入上的损失,就需要容错能力。(想起主备倒换)。
调整UP实现在MP上实现,主要是解决3个主要领域的问题:系统稳定性,性能和外部编程模型(提供给用户空间的接口,不感知MP还是UP).
1. SMP存储器模型--顺序存储模型
在这种模型下,CPU是按照程序次序来执行所有的load和store指令,即按照它们在程序的顺序指令流中出现的次序来执行的,而且从主存储子系统和其 他CPU的角度来看,load和store指令也是顺序对主存储器产生影响的。如果编译器或者优化器不改变程序中指令的次序