免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1412 | 回复: 0
打印 上一主题 下一主题

APIC和ACPI [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-02 15:44 |只看该作者 |倒序浏览

                很多时候,我们安装系统时,还没到显示图形界面,就突然中断了,无法安装系统.于是,在光盘启动后,我们输入:
  boot:linux noapic noacpi
这样就可以顺利安装好系统。
那noapic和noacpi是什么意思呢
ACPI (Advanced Configuration and Power Interface)
是由业界一些软硬件公司共同开发的开放式工业规范。它能使软、硬件、操作系统(OS),主机板和外围设备,依照一定的方式管理用电情况,系统硬件产生的
Hot-Plug 事件,让操作系统从用户的角度上直接支配即插即用设备,不同于以往直接通过基于 BIOS 的方式的管理。这是英特尔、微软和东芝共同开发的一种电源管理标准。
ACPI可实现以下功能:   
    1、用户可以使外设在指定时间开关;   
    2、使用
笔记本
电脑
的用户可以指定计算机在低电压的情况下进入低功耗状态,以保证重要的应用程序运行;   
    3、操作系统可以在应用程序对时间要求不高的情况下降低时钟频率;
    4、操作系统可以根据外设和
主板
的具体需求为它分配能源;
    5、在无人使用计算机时可以使计算机进入休眠状态,但保证一些通信设备打开;
    6、即插即用设备在插入时能够由ACPI来控制。
    不过,ACPI和其他的电源管理方式一样,要想享受到上面这些功能,必须要有软件和
硬件
的支持。在软件方面,Windows 98及其后续产品和Windows 2000都对ACPI给予了全面的支持;硬件方面比较麻烦,除了要求主板、
显卡

网卡
等外设要支持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。
详细:http://www.ibm.com/developerworks/cn/linux/l-acpi/part1/
APIC: Advanced Programmable Interrupt Controller高级程序中断控制器.
   APIC 是装置的扩充组合用来驱动 Interrupt
控制器。在目前的建置中,系统的每一个部份都是经由 APIC Bus 连接的。"本机 APIC" 为系统的一部份,负责传递 Interrupt
至指定的处理器;举例来说,当一台机器上有三个处理器则它必须相对的要有三个本机 APIC。自 1994 年的 Pentium P54c
开始Intel 已经将本机 APIC 建置在它们的处理器中。实际建置了 Intel 处理器的电脑就已经包含了 APIC 系统的部份。
  
系统中另一个重要的部份为 I/O APIC。系统中最多可拥有 8 个 I/O
APIC。它们会收集来自 I/O 装置的 Interrupt 讯号且在当那些装置需要 interrupt 时传送讯息至本机 APIC。每个
I/O APIC 有一个专有的 interrupt 输入 (或 IRQ) 号码。Intel 过去与目前的 I/O APIC 通常有 24
个输入 -- 其它的可能有多逹 64 个。而且有些机器拥有数个 I/O APIC,每一个分别有自己的输入号码,加起来一台机器上会有上百个
IRQ 可供装置 Interrupt 使用。
  然而,系统中若没有 I/O APIC,那本机 APIC 就没有用处。
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=off noapic,可以屏蔽因硬件引起的中断、硬件重置等等。
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15387/showart_1848760.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP