很多人问道了什么ACPI,什么是APIC,他们有没有关系?名字这么相近。下面给出我对其的一些理解,具体的解释可以查看内核文档库的内核参数文件:
/usr/src/`uname -r`/Documents/kernel-parameters.txtACPI就是Advanced Configuration and Power Interface的缩写,意思是“高级配置与电源接口”。这是英特尔、微软和东芝共同开发的一种电源管理标准。
ACPI可实现以下功能:
1、用户可以使外设在指定时间开关;
2、使用笔记本电脑的用户可以指定计算机在低电压的情况下进入低功耗状态,以保证重要的应用程序运行;
3、操作系统可以在应用程序对时间要求不高的情况下降低时钟频率;
4、操作系统可以根据外设和主板的具体需求为它分配能源;
5、在无人使用计算机时可以使计算机进入休眠状态,但保证一些通信设备打开;
6、即插即用设备在插入时能够由ACPI来控制。
不过,ACPI和其他的电源管理方式一样,要想享受到上面这些功能,必须要有软件和硬件的支持。在软件方面,Windows 98及其后续产品和Windows 2000都对ACPI给予了全面的支持;而Linux的内核目前对此支持得并不是太理想。硬件方面比较麻烦,除了要求主板、显卡和网卡等外设要支持ACPI外,还需要机箱电源的配合。电源在提供5伏电压给主板的同时,还必须使电流稳定在720毫安以上才可以,这样它才能够实现电脑的“睡眠”和“唤醒”。
ACPI共有六种状态,分别是S0到S5,它们代表的含义分别是:
S0--实际上这就是我们平常的工作状态,所有设备全开,功耗一般会超过80W;
S1--也称为POS(Power on Suspend),这时除了通过CPU时钟控制器将CPU关闭之外,其他的部件仍然正常工作,这时的功耗一般在30W以下;(其实有些CPU降温软件就是利用这种工作原理)
S2--这时CPU处于停止运作状态,总线时钟也被关闭,但其余的设备仍然运转;
S3--这就是我们熟悉的STR(Suspend to RAM),这时的功耗不超过10W;
S4--也称为STD(Suspend to Disk),这时系统主电源关闭,但是硬盘仍然带电并可以被唤醒;
S5--这种状态是最干脆的,就是连电源在内的所有设备全部关闭,功耗为0。 我们最常用到的是S3状态,即Suspend to RAM(挂起到内存)状态,简称STR。顾名思义,STR就是把系统进入STR前的工作状态数据都存放到内存中去。在STR状态下,电源仍然继续为内存等最必要的设备供电,以确保数据不丢失,而其他设备均处于关闭状态,系统的耗电量极低。一旦我们按下Power按钮(主机电源开关),系统就被唤醒,马上从内存中读取数据并恢复到STR之前的工作状态。内存的读写速度极快,因此我们感到进入和离开STR状态所花费的时间不过是几秒钟而已;而S4状态,即 STD(挂起到硬盘)与STR的原理是完全一样的,只不过数据是保存在硬盘中。由于硬盘的读写速度比内存要慢得多,因此用起来也就没有STR那么快了。 STD的优点是只通过软件就能实现,比如Windows 2000就能在不支持STR的硬件上实现STD。
之前的电源管理是APM(Advanced Power Management),那么ACPI和APM相比有什么区别呢?
2、ACPI与APM比较
APM 1.0&1.1:由BIOS执行电源管理;
APM 1.2:操作系统定义电源管理时间,由BIOS负责执行;
ACPI:BIOS收集硬件信息,定义电源管理方案;由操作系统负责执行。
APM是一种软件解决方案,因此是与操作系统有关的, 而ACPI是工业标准,包括了软件和硬件方面的规范。
APIC (高级可编程中断控制器)对计算机来讲有两个作用,
一是管理IRQ的分配,可以把传统的16个IRQ扩展到24个(传统的管理方式叫PIC),以适应更多的设备。
二是管理多CPU。由于Nf2主板并不支持多CPU,所以,APIC关闭直接的影响是减少了可用的IRQ。
不过,如果板卡不是非常多的话,关闭 APIC对系统是没有什么影响的。
要实现SMP功能,我们使用的CPU必须具备以下要求:
CPU内部必须内置APIC单元。Intel 多处理规范的核心就是高级可编程中断控制器(Advanced Programmable Interrupt Controllers--APICs)的使用。CPU通过彼此发送中断来完成它们之间的通信。通过给中断附加动作(actions),不同的CPU可以在某种程度上彼此进行控制。每个CPU有自己的APIC(成为那个CPU的本地APIC),并且还有一个I/O APIC来处理由I/O设备引起的中断,这个I/O APIC是安装在主板上的,但每个CPU上的APIC则不可或缺,否则将无法处理多CPU之间的中断协调。
APIC可能遇到的问题,很多这类问题可以通过BIOS更新来解决。下面的是通过更改HAL类型来解决
CPU实际运行频率与BIOS设定频率不符
NF2的用户大约有10%的会出现CPU实际运行频率与BIOS设定频率不符的问题。我们称之为“频率不对”。
这种现象带来的直接后果就是在测试3dmark或跑3D游戏的时候,会感觉不流畅,也称之为“顿”。
一般在更改BIOS设置后、更新驱动后重启时,用测试软件如Aida32、MBM5等可以看到CPU的运行频率和你在BIOS里设置得不一样,而且差距很大。这个时候,用super pi测试CPU速度,会比平常花费时间长好几秒,用3dmark跑测试,会比平常低几百分甚至上千分。在3dmark中看到的CPU频率,也与BIOS设定不符合。
如果出现这种情况,则属于我们所讨论的“频率不对”的问题。
不过,不是所有的3D游戏“顿”都是这个原因。判断的方法是:如果你只有个别游戏“顿”,或者用上述软件测试频率正确,就不是此问题。
如果判断确实属此问题,解决的方法也很简单,经过网友讨论,只要关闭APIC功能即可。(注意,是APIC,不是ACPI)。
有一些服务器(比如
IBM的,
HP的),安装LINUX时,会给出内核的错误,导致无法安装,这个时候可以在安装的时候输入
linux acpi=off noapic
应该是安装上的。<!---->
相关推荐
ACPI规范的每次修订都会包含重要的更新,例如时钟域、x2 APIC 支持、逻辑处理器空闲、平台错误轮询表的修正、系统特性最大表、功率计量和预算、IPMI操作区域、USB 3.0 在_PLD 的支持、_PPC 通过 OST 的重新评估、热...
关于中断控制器的改进,Len Brown介绍了一个名为Generic Interrupt Controller的特性(MSFT-002),该特性保留了MADT(Multiple APIC Description Table)中的“APIC”表,其功能保持不变,但是语言变得更加通用。...
- **中断管理**:对于具有多个处理器的系统,ACPI支持通过IO-APIC来更有效地分配中断信号,即使在没有完全遵循传统多处理器规范(MPS)的情况下也是如此。 #### 三、ACPI与传统模式的区别 要深入了解ACPI模式与传统...
4. **高级可编程中断控制器(Advanced Programmable Interrupt Controller, APIC)**:一种用于支持多处理器中断管理、多I/O子系统支持等功能的中断控制器架构。 5. **ACPI源语言(ACPISource Language, ASL)**:一种与...
4. **Multiple APIC Description Table (MADT)**:描述了多处理器系统中APIC(Advanced Programmable Interrupt Controller)的配置。 5. **FACS Table**:描述了Firmware ACPI Control Structure的具体信息,如其...
- **高级可编程中断控制器 (APIC)**:一种用于Intel 32位架构的中断控制器,支持多处理器中断管理和I/O子系统的扩展。 - **ACPI源语言 (ASL)**:一种与AML等效的编程语言,用于编写控制方法,其编译结果为AML镜像。 ...
- 更正了APIC、SLIT和SRAT在表5-5中的章节引用。 - 更新了URL,并重新格式化了表5-6。 - 更正了中断源覆盖结构的引用。 - 更正了CPEP表的名称。 - 将SMBus更正为IPMI。 - 在表5-53中澄清了总线检查和设备检查...
- **多处理器系统优化**:为了解决多处理器环境下的资源竞争和通信问题,ACPI 2.0提供了更完善的机制来管理中断和同步问题,比如增加了对APIC的支持,改进了中断控制器的配置方法等。 - **命名空间扩展**:在ACPI ...
2. APIC(Advanced Programmable Interrupt Controller,高级可编程中断控制器):ACPI规范要求操作系统能够使用APIC来进行中断处理,这样可以更灵活地控制中断请求,并且支持多处理器环境。 3. IOAPIC(I/O ...
4. **ACPI 数据结构:**描述了 ACPI 使用的数据结构,例如 FADT (Fixed ACPI Description Table) 和 MADT (Multiple APIC Description Table)。 5. **ACPI 控制方法:**解释了如何通过 ACPI 控制方法语言 (AML) 来...
### ACPI 规范 4.0 版本详解 #### 一、概述 ACPI (Advanced Configuration and Power Interface) 规范是一种用于操作系统与硬件之间的接口标准,它为计算机提供了高级电源管理、配置以及错误报告等功能。随着技术...
2. **x2APIC Support**:扩展了Advanced Programmable Interrupt Controller (APIC)的支持,以处理更多的处理器核心,适应多核系统的增长需求。 3. **Logical Processor Idling**:逻辑处理器空闲状态的管理,使得...
4. **IO-APIC配置**:ACPI模式支持更高效的IO-APIC配置,这对于多处理器系统尤其重要,因为它可以确保中断被有效地分发到各个处理器上,提高系统的响应速度。 5. **APM vs. ACPI**:相比于APM,ACPI提供了更丰富、...
3. **表格修正:**对规范中的多个表格进行了修正,如表5-5中的APIC、SLIT、SRAT等部分的引用被正确地调整,以确保其准确性。 4. **插件和即插即用 ID:**添加了非ACPI插件和即插即用ID的参考文档链接,使得开发...
文档中提到了一些修订的历史,例如在4.0a版本中,除了纠正了一些勘误和澄清了部分信息之外,还包括了关于APIC(高级可编程中断控制器)、SLIT(系统局部中断表)和SRAT(系统资源亲和表)的章节参考,以及对CPEP...
ACPI Signature APIC, CreatorId PTL , 954AA000 ACPI Signature MCFG, CreatorId PTL , 954A9000 ACPI Signature SSDT, CreatorId INTL, 95416000 ACPI Signature SSDT, CreatorId INTL, 94CDE000 ACPI Signature ...
在MADT路径中,Linux内核会解析ACPI表中的MADT表项来探测和配置APIC硬件。 - **题外话** ——**IRQ0、1、2、13是什么?** 在传统的PC系统中,IRQ0通常用于时钟中断,IRQ1用于键盘中断,IRQ2用于从PIC的中断,而...
6. **ACPI(Advanced Configuration and Power Interface)**:ACPI相关条目如`ACPI: RSDP`, `ACPI: XSDT`, `ACPI: FADT` 等,这些是ACPI表格的标识,用于管理系统的电源状态和配置。 7. **内存区域**:`DMA zone`,...
其中,不同的表类型对应不同的功能,如APIC(Advanced Programmable Interrupt Controller)表用于多处理器系统中的中断处理,或者MADT(Multiple APIC Description Table)用于描述多个APIC。在这个例子中,"actbl1...
VxWin 3.1可同时接纳目前大部分PC硬件中的高级可编程中断控制器(APIC)和多处理器(MP)系统,以及高级配置和电源接口(ACPI)单处理器和多处理器硬件抽象层(HAL)。对ACPI的支持增加了冻结和解冻功能,使用户能够将...