ACPI和APIC有什么关系?

很多人问道了什么ACPI,什么是APIC,他们有没有关系?名字这么相近。下面给出我对其的一些理解,具体的解释可以查看内核文档库的内核参数文件:
/usr/src/`uname -r`/Documents/kernel-parameters.txt

ACPI就是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
应该是安装上的。<!---->

(原文转自: http://unixboy.iteye.com/blog/156501)

什么是ACPI,什么是APIC相关推荐

  1. ACPI知识(高级配置和电源接口)

    一.MPS和ACPI的关系 也就是MPS在新的计算机上已经被ACPI取代. 二.ACPI包括的内容 Category:ACPI - OSDev Wikihttps://wiki.osdev.org/C ...

  2. Linux系统 虚拟化篇之KVM

    完全虚拟化 VMware  半虚拟化 xen  硬件辅助虚拟化Kvm #查看物理机是否支持虚拟化 处理器虚拟化 VT-X I/O虚拟化 VT-d 网络虚拟化 VT-C /etc/udev/rules. ...

  3. intel linux 开发板,Intel IOMMU在Linux上的实现架构

    1.检测平台是否支持DMAR设备 ./drivers/pci/dmar.c->int __init early_dmar_detect(void) { acpi_status status = ...

  4. 如何根据ACPI规范来获取I/O APIC控制寄存器的地址

    ACPI这个单词,用电脑用多了的同学应该或多或少能在系统的报错信息等地方见过它.它表示表示高级配置和电源管理接口(Advanced Configuration and Power Management ...

  5. linux 禁用cpu的acpi,Linux中的ACPI和APIC

    Linux中的ACPI和APIC 发布时间:2007-12-21 01:00:21来源:红联作者:qtsmy 今天一朋友笔记本系统启动有问题,用的是ubuntu,据说是启动速度越用越慢,今天是完全进不 ...

  6. 安装linux系统提示acpi,安装Linux系统时的ACPI和APIC问题

    安装Linux系统时的ACPI和APIC问题 在开始安装Linux系统时,经常会遇到关于ACPI和APIC的各种提示,然后安装被停止.这是由于这两项功能和Linux不太兼容. 解决办法是,在光盘刚启动 ...

  7. Intel x86架构之多处理器与APIC

    注意:下文中已经指出手册中的对应页面和章节,请对照手册原文看,任何个人理解错误,请包涵. 一,以下内容来自(P25):3.6 Multiprocessor Interrupt Control 在多处理 ...

  8. ACPI知识学习笔记

    ACPI table之FACP(Fixed ACPI Description Table). 在代码里面:Resources\AcpiTables\Fadt\Fadt3.0.act 定义了EFI_AC ...

  9. win7关闭休眠_【科普】笔记本电脑,待机/睡眠/休眠有啥区别?(ACPI SPM S0-S5)...

    本文聊聊笔记本电脑话题下,经常有人问到的内容-- 关机 睡眠 休眠 这三个选项有什么区别? 电脑可以不关机只合上盖子吗? 花了俩小时,求个赞,希望有专栏能收这篇内容~ 先说答案: 快速唤醒:开盖/操作 ...

最新文章

  1. php图片保存在mysql_php实现上传图片保存到数据库的方法
  2. java和python哪个好就业2020-Python和Java学哪个好就业?
  3. 006_Gson定制型适配器
  4. 前端工程师必须知道的vue前端面试题目汇总
  5. create_workqueue和create_singlethread_workqueue【转】
  6. 【TensorFlow】TensorFlow函数精讲之 tf.random_normal()
  7. 你见过哪些操蛋的代码?切勿模仿! 否则后果自负
  8. BZOJ——T 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛
  9. 深度学习入门笔记(二十一):经典神经网络(残差网络ResNets)
  10. git lfs linux,GIT LFS 使用笔记
  11. 对抗攻击常见方法汇总
  12. 错误Illegal invocation;使用jquery的ajax上传文件报错Illegal invocation
  13. python 录音vad_python---webRTC~vad静音检测-学习笔记
  14. java计算机毕业设计家教平台系统源码+mysql数据库+系统+lw文档+部署
  15. 全网营销都有那些渠道
  16. 古典密码(单表密码,维吉尼亚密码,普莱费尔密码,一次一密)
  17. 【BUAA_CO_LAB】计组p3p4碎碎念
  18. csgo社区服务器文件位置,csgo社区服务器在哪
  19. STM32——STM32简介与创建工程
  20. Ubuntu 20.04 ROS2 Foxy安装

热门文章

  1. 新病例系列研究心脏手术期间联合运用Masimo SedLine(R)脑功能监护仪与O3(R)局部氧饱和度仪
  2. UI一揽子计划 16 (网络编程、HTTP协议、iOS 实现网络编程、服务器接口)
  3. Win10LTSC新建传入连接
  4. 大学英语四级最常考的100个短语总结
  5. java中operation用法,Java Operation.response方法代码示例
  6. 乾元通多卡聚合设备助力构建“智慧医疗”精准防控疫情
  7. 在html中图文结合的怎么写,HTML作业1(图文混排)
  8. 我90后,会Python,月薪5000,兼职1.6w
  9. 【mindspore-gpu】【gpu训练】ubuntu终端自动退出
  10. 【光电设计大赛】非接触酒精浓度测量中放大器和ADC模块误差分析