2005-03-16

对hal的一些理解

我对hal的一些理解

操作系统最后识别出来的的HAL类型,需要主板芯片组、主板BIOS、CPU同时都支持,其中有一个不能支持,就将会被识别成其它类型,或者识别出来不能进入系统,导致启动蓝屏。


两种特殊类型的HAL

Compaq SystemPro Multiprocessor or 100% Compatible
我猜测这个应该是alpha机器专用HAL

Silicon Graphics Visual Workstation
SGI图形工作站专用HAL

这两种系统在做万能GHOST的时候可以不考虑。因为这个很可能连Standard PC都不兼容。

剩下的6种HAL的区别,主要就在系统是否支持ACPI(高级电源管理接口)和APIC(高级可编程中断控制器)上。

其实,他上面提到的一些芯片组对应的类型,只能作为参考,因为很重要的一点就是不同bios支持的不同,就会导致,最终识别出来的类型不同。


不到我以前写的了,自己再写一次吧,Climbing所写的都是以前的总结经验,但是这个不能作为判断的标准。比如,P3机器也有ACPI
Multiprocessor PC和ACPI Uniprocessor
PC,比如支持双处理器的主板,及一些工作站的主板等。P4的机器,也可能是Advanced Configuration and Power
Interface (ACPI) PC和Standard PC,原因可能是早期BIOS不完善,BIOS设置被关闭。

==============================
ACPI Multiprocessor PC
==============================

当计算机识别出来是此类型,说明你的系统是多处理器或者支持HT(超线程)处理器,并且主板和主板的BIOS支持并打开APIC和ACPI

ACPI Multiprocessor PC=APIC+ACPI+多处理器(包括支持HT处理器)

==============================
ACPI Uniprocessor PC
==============================
这是当前最为常见的类型,主板和主板的BIOS支持并打开APIC和ACPI,系统是单处理器。

ACPI Uniprocessor PC=APIC+ACPI+单处理器(不包括支持HT处理器)

============================================================
Advanced Configuration and Power Interface (ACPI) PC
============================================================
这是以前比较常见的类型,系统只提供了对ACPI的支持。主板和主板的BIOS支持并打开ACPI。并且没有打开APIC,或者主板不支持APIC

==============================
MPS Multiprocessor PC
==============================

服务器上比较常见,这个是不支持ACPI的,对应ACPI Multiprocessor PC

MPS Multiprocessor PC=APIC+多处理器(包括支持HT处理器)

==============================
MPS Uniprocessor PC
==============================

我猜测,这个在以前的工作站上比较多,同上面一样不支持ACPI,对应ACPI Uniprocessor PC

MPS Uniprocessor PC=APIC+单处理器(不包括支持HT处理器)

=================
Standard PC
=================

呵呵,古老的电脑都是这个类型的,既不支持ACPI,也不支持APIC。注意,很多P3主板由于BIOS默认没有打开ACPI功能,也会识别成Standard PC,导致点击关闭计算机后,系统提示你手动关闭计算机电源。

上面提到了两个单词,就是ACPI和APIC,下面就解释一下这两个的含义。

ACPI就是Advanced Configuration and Power Interface的缩写,意思是“高级配置与电源接口”。这是英特尔、微软和东芝共同开发的一种电源管理标准。

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。

  怎样才能使用ACPI的电源管理模式呢?简单地说是要求软硬件都可以完全支持ACPI功能。

 
 Windows98是最常用的理想平台,如果还没有安装W.8,在安装时输入Setup/PJ。如果已经安装了W.8,可以到W.8"系统"中的"设备
管理器"然后再找到"系统设备"里的"高级电源管理"这一项,双击它选择"升级驱动程序",显示所有设备,选择ACPI,再按提示安装驱动程序,重新启动
计算机就可以在Windows98使用ACPI了。

  如果在使用中遇到问题,可以试着升级版本最新的Acpi.sys文件。

  注意,FAT32格式的硬盘无法实现硬盘的挂起功能(STD),而FAT16格式是可以的。

  此外,硬件对ACPI的支持是必需的。机箱电源提供5伏电压给主板的同时,必须使电流稳定在720毫安以上,才能够使电脑在短时间里从"睡眠"状态醒来。同时,像显卡等外设也必须完全支持ACPI和STR。

  通过选择电源方案可以实现电源管理,电源方案就是计算机管理电源使用情况的一组设置。Windows98提供了下列三种预置的电源管理方案(见下表),用户也可以自己设置计算机进入等待状态或关闭硬盘和监视器所需的等待时间。

2、ACPI与APM比较

  APM 1.0&1.1:由BIOS执行电源管理;
  APM 1.2:操作系统定义电源管理时间,由BIOS负责执行;
  ACPI:BIOS收集硬件信息,定义电源管理方案;由操作系统负责执行。
  APM是一种软件解决方案,因此是与操作系统有关的, 而ACPI是工业标准,包括了软件和硬件方面的规范。

3、一些常见问题

  1)如何判断系统处于S1还是S3模式?

 
 答:在ACPI的S1休眠模式下,只有CPU停止工作,其他设备仍处于加电状态。在ACPI的S3模式(BIOS->电源管理->
Suspend to
RAM设为Enable,除内存外其他设备均处于断电状态。因此,判断系统是处于S1模式还是在S3模式最简单的办法是,仔细观察系统的情况:在S3状
态,所有设备均停止工作,即使按光驱上的弹出钮也不能打开光驱门。在S1状态,光驱门是可以打开的。另外,S3模式下,系统完全是安静的,所有风扇也停
了。此时系统不能从键盘唤醒。手工唤醒的方法只能是按前面板上的电源按钮。

  2)以 Setup /PJ 命令重装W.8系统后,如何取消ACPI模式?

  答:W.8程序的帮助中并没有提供"PJ"参数。这是一个隐藏的参数。之所以将其隐藏,是因为W.8的STR功能并不成熟,甚至可以说还存在许多问题。W.8也没有提供卸载ACPI的功能。可以试着在主板BIOS中关闭STR功能,看能否解决问题。

  3)为实现STR功能,为什么关机后不能切断电源?

  答:STR功能是在关机时,将系统的运行信息保存在内存中,下一次开机时,直接读取内存中的信息,并恢复到关机前的状态。它的优点是启动速度特别快,而且可以保留工作状态。其缺点就是,即使在关机后,也不能断开电脑电源。因为内存中的数据一旦切断电源就会丢失。

  4)在关闭Win2000时,会显示"现在可以安全关机"、而不自动关闭ATX电源,怎么办?

 
 答:可用试试下面的办法:选择"设置/控制面板/电源选项/高级电源管理",如果机器支持高级电源管理,则选中"启用高级电源管理支持",然后在
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionWinlogon中
置PowerdownAfterShutdown为1;如果机器不支持高级电源管理,则很不幸,只能在关闭系统时,显示"现在可以安全关机?"时手动切断
电源了。

  5)不小心把"关闭Windows"对话框中的第一项"让电脑进入睡眠状态"给弄丢了,请问该如何恢复?

  答:一般来讲,这类问题只要重装主板驱动程序,重新启动以后都应该能够解决问题,也可以将"控制面板/系统/设备管理器"中的"高级电源管理支持"删掉,然后重新启动机器,按照W.8系统的提示重新进行安装也可以解决问题。

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)。



 
 然后,依次选“更新驱动程序”-“从列表或指定的位置安装”-“不要搜索,我要自己选择要安装的驱动程序”,然后从弹出的列表里选“Advanced
Configuration and Power Interface(ACPI) PC”。确定更换,重启成功后,再到Bios里关闭APIC即可。



通过这个例子可以说明,硬件HAL类型是可以在BIOS和操作系统中更改的,更改后如果是全新安装系统,或者使用死性不改封装程序的制作GHOST系统。识别出来的计算机类型是可以改变的。


就是说,我们完全可以通过更改BIOS设置来更改是别的HAL类型。BIOS里电源管理选项下的ACPI设置可以控制是否打开计算机的ACPI支持。
APIC可以控制计算机是否打开APIC,提供对多处理器,HT的支持。以次解决一些由于BIOS不完善造成的不兼容现象

没有评论:

发表评论