首页 > X86芯片, 硬件设备 > Intel x86架构之多处理器

Intel x86架构之多处理器

2013年4月5日 发表评论 阅读评论 3,397 次浏览

全文来自Intel手册:MultiProcessor Specification(http://download.intel.com/design/pentium/datashts/24201606.pdf
Version 1.4
May 1997
注意:下文中已经指出手册中的对应页面和章节,请对照手册原文看,任何个人理解错误,请包涵。
一,以下内容来自(P25):3.6 Multiprocessor Interrupt Control
在多处理器系统上,中断通过APIC进行控制。下面将描述APIC架构和多处理器系统上的三种不同中断模型。

APIC基于分布式架构,中断控制功能有两个基本的功能组件,分别为本地单元(lapic)和I/O单元(io apic)。本地单元和I/O单元之间通过ICC总线进行通信。I/O单元类似于中断输入器,它通过ICC总线把中断分发到本地单元,而对应的本地单元就接收并处理对应的中断消息。

在多处理器系统上,每一个CPU都需要有一个对应的lapic吗,而根据总共的中断线数,需要一个或多个io apic。
Intel 82489DX APIC是一款离散式APIC的实现,与此相对,还有集中式APIC的实现。不管是老旧的离散式APIC,还是新近的集中式APIC,它们都包含有一个版本寄存器(version register),分别存储以数值0x和1x(其中x表示十六进制数据)。

为了更好的扩展,Intel APIC架构仅规定了APIC单元的编程接口,而ICC总线协议以及电气规格特性却是与具体实现相关联的。这意味着不同版本的APIC实现可以运行相同的二进制软件,但各个不同版本的APIC部件可能具有不同总线协议或电气规格特性的实现。在使用不同版本的APIC时需格外注意。

APIC架构被设计为可伸缩扩展。82489DX APIC有8bit的ID寄存器,可以表示最多255个APIC设备,此外,它的逻辑目标寄存器(Logical Destination register)可支持32bit,可以表示最多32个设备。对于小型系统实现,APIC ID寄存器可以缩减到最少4bit,而逻辑目标寄存器可以缩减到最少8bit。

为了保证所有APIC实现版本的软件兼容性,软件开发者最好遵循如下编程准则:
1,分配8bit的APIC ID号时需从零开始。
2,分配逻辑目标时从32bit寄存器的MSB开始。(MSB,最高有效位,一般是位于二进制数的最左侧,请参考http://en.wikipedia.org/wiki/Most_significant_bit)
3,将APIC的估算虚假向量(spurious vector)设置为xF,其中x为4bit的十六进制数据。

如下特性仅在集中式APIC上可用:
1,io apic中断输入信号极性(input signal polarity)可编程。
2,名为STARTUP IPI的新IPI中断被定义。

一般而言,在集中式APIC的系统上,操作系统必须使用STARTUP IPI来唤醒其它应用处理器(application processors),而在82489DX APIC的系统上,需使用INIT IPI来唤醒其它应用处理器。

二,以下内容来自(P26):3.6.2 Interrupt Modes
多处理器系统的三种不同中断模式:
1,PIC模式(PIC Mode):绕开所有APIC组件,强制系统使用单核模式。
2,虚线模式(Virtual Wire Mode):使用一个APIC作为虚拟线,其它同PIC模式。
3,对称I/O模式(Symmetric I/O Mode):系统启用多个处理器。

前两种模式提供PC/AT兼容,而第三种模式需实现在前面两种模式中任何一种的基础之上。一个多处理器系统以前面两种模式中任何一种启动,然后再切换到第三种模式,从而实现进入到多处理器模式下。

其它:
1,大多数较新的机器支持高级配置和电源接口(ACPI),而ACPI包含有MPS的功能,所以MPS逐步将被ACPI所取代。
2,不管是MPS还是ACPI,都是由BIOS程序根据当前机器硬件写好对应的条目,然后OS启动后读取这些条目进行初始化。

参考:
1,http://en.wikipedia.org/wiki/MultiProcessor_Specification
2,http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface
3,http://en.wikipedia.org/wiki/Intel_APIC_Architecture
4,http://www.acpi.info/

转载请保留地址:http://www.lenky.info/archives/2013/04/2250http://lenky.info/?p=2250


备注:如无特殊说明,文章内容均出自Lenky个人的真实理解而并非存心妄自揣测来故意愚人耳目。由于个人水平有限,虽力求内容正确无误,但仍然难免出错,请勿见怪,如果可以则请留言告之,并欢迎来讨论。另外值得说明的是,Lenky的部分文章以及部分内容参考借鉴了网络上各位网友的热心分享,特别是一些带有完全参考的文章,其后附带的链接内容也许更直接、更丰富,而我只是做了一下归纳&转述,在此也一并表示感谢。关于本站的所有技术文章,欢迎转载,但请遵从CC创作共享协议,而一些私人性质较强的心情随笔,建议不要转载。

法律:根据最新颁布的《信息网络传播权保护条例》,如果您认为本文章的任何内容侵犯了您的权利,请以Email或书面等方式告知,本站将及时删除相关内容或链接。

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.