ACPI与UEFI

文章编号:8947 更新时间:2024-02-20 分类:互联网资讯 阅读次数:

资讯内容

PC生态圈玩家泛滥,有OS厂商(OSV)活期颁布操作系统,如windows,Ubuntu;芯片厂商提供CPU等,如Intel,AMD;主板厂商(OEM)提供电脑主板;裁减板提供显卡等等PCIE裁减卡;内存厂家推出一代一代不同的内存条等等。DIY玩家可以自在选用搭配适合/兼容的产品搭配出自己心仪的机器,休闲上网用户花2000多元就可以搭配出一套可用的电脑,而游戏玩家则或者破费上万元才干满足游戏性能需求。DIY市场的存在使一个厂商(例如苹果MacBook)垂直整合整个链条成为无法能。这样,OS厂家就面临一个难题:如何能够让一个OS可以在一切这些搭配中获取分歧的运转感触?能不能形象出一层接口,它既能用一致方式报告配件的不同,又留给主板厂商足够的灵敏性可以做出大胆的翻新运行?

ACPI与UEFI

ACPI降生

在ACPI降生前,初级电源治理(APM,AdvancedPowerManagement)将电源治理简直齐全交给BIOS,呆板而限度很多,这让微软十分不爽,它宿愿在电源治理和配件性能上能有更多的自主权,这也是正当的,谁比操作系统更懂如今用户在干什么呢?

1997年由英特尔、微软、东芝公司独特提出、制订了ACPI1.0规范。ACPI,望文生义,就是性能配件和治理电源的规范。2000年8月康柏和凤凰科技添加,推出ACPI2.0规格。2004年9月惠普取代康柏,推出ACPI3.0规格。2009年6月16日則推出ACPI4.0规格。2011年11月23日推出ACPI5.0规格。因为ACPI技术正被多个操作系统和处置器架构驳回,该规格的治理形式须要与时俱进。2013年10月,ACPI的推行者们分歧赞同将ACPI的属有归到UEFI论坛。从那以后新的ACPI规格将由UEFI论坛制订。最新的规范是ACPI6.1,大家可以在WelcometoUnifiedExtensibleFirmwareInterfaceForum高低载到最新的版本。

Windows98是微软第一个允许ACPI的操作系统。FreeBSDv5.0是允许ACPI的第一个UNIX操作系统。Linux、NetBSD和OpenBSD等都允许ACPI。

ACPI全体框图如下:

可以看出它并不蕴含新鲜的PIC,CMOS,PIT等等规范,这些咱们称之为Legacy允许。ACPI可以成功的性能包括:

1.系统电源治理(Systempowermanagement)

2.设施电源治理(Devicepowermanagement)

3.处置器电源治理(Processorpowermanagement)

4.设施和处置器性能治理(Deviceandprocessorperformancemanagement)

5.性能/即插即用(Configuration/PlugandPlay)

6.系统事情(SystemEvent)

7.电池治理(Batterymanagement)

8.温度治理(Thermalmanagement)

9.嵌入式控制器(EmbeddedController)

10.SMBus控制器(SMBusController)

G0/G1/G2/G3示意全体的形态,S1/S2/S3/S4/S5示意睡眠形态,C1/C1../Cn和P0/P1..Px就是咱们前文的Pstates(EIST)和CStates,D0/D1/D2/D3示意不同的设施电源形态。无时机咱们再具体引见G/S/D的内容。

从另外一个角度,咱们可以将ACPI可以看作分为两个局部:

1.各种表单(Tables)。这些表单形容了系统的各种形态,如MADT,SRAT等等,这些形态须要OS通晓,例如有多少个CPU(逻辑上),NUMA亲缘相关如何,APIC等等。

2.由DifferentiatedSystemDescriptionTable(DSDT)和SecondarySystemDescriptionTable(SSDT)指向的AML代码。这是一种ACPI规范规则的伪代码,可以构想成Java的Bytecode(性能上相差渺小)。它由ASL编译而成(对应于Javasourcecode)。ASL程序提供了OS和固件调用的接口(method)。ACPI定义了很多预约义的Method,经过它们,OS和firmware相互传送消息(例如主板PCI设施树,IRQ,OS允许哪些性能等等);OS还可以调用firmware提供的接口;固件从OS那里能获取各种事情(Event)的通知等等。这点正是ACPI弱小灵敏之处。

如前面提到的,ACPI取代了APM。这重要归咎于APM将电源治理归于BIOS,OS无从插手,而且其只要电源治理的才干而没有性能的性能(ACPI里的Configuration)。幽默的是APM也是微软和Intel发明的,那是在1992年,他们为了允许那时刻才开局炽热的IBM兼容机,才加上了电源治理模块。可是方案赶不上变动,才没过几年就不得不提出新的规范。从APM到ACPI的转化使得OS可以片面掌控各个电源形式的转化,并提供了性能性能。

ACPIVSFDT/DT

关于ARM和PowerPC环球的人来说,FDT(FlattenedDeviceTree)/DT(DeviceTree)曾经占据统治位置很久了。它的降生源于Linus关于ARM各种SOC与Linuxkerneldriver强耦合性的一次性大迸发(说是painintheass)。从此DT的被设计进去了,ARM的耦合性获取了必定的缓解。那时ARM控制着嵌入式和手机环球,X86统治着PC和主机,曲径明显,相得益彰,而ACPI和FDT也相安无事。敌对没有继续很久,在X86试图进入手机畛域时,ARM也试图进入PC和主机,大战迸发了。ARM环球的FDT在新战场遭到了严酷的抵制,PC和主机的玩家们不青睐FDT,他们宿愿用一套工具集(toolchain)能同时处置两家疑问,他们提出的理由也很有情理:FDT没有ACPI灵敏!确实,FDT只管在提供各种表双方面近似于ACPI,却缺少AML/ASL这样的灵敏性。终局是ARM环球发表在PC和主机畛域片面淘汰FDT,换用ACPI,而在嵌入式系统继续经常使用FDT。这也是正当的,毕竟嵌入式系统不须要这么多的灵敏性,而迁徙的代价是渺小的。另一方面,ACPI却随着X86进入嵌入式畛域而在X86嵌入式畛域生根发芽。

ACPIVSUEFI???

有人兴许会说ACPI提供了OS可用的配件形象和接口(method),UEFI也提供了形象和接口,是不是也有抵触?其实两者面向的方面不同,ACPI重要是从配件形象的角度来形象配件,UEFI是从软件分歧方向定义规范。这也是他们岂但没有代替相关,反而从ACPI5.0开局ACPI并入UEFI论坛治理的要素。须要指出的是ACPI和UEFI没有绑定相关,ACPI可以在uboot上成功,而UEFI也可以报告DT,但他们一同上班起来会愈加顺畅。UEFI提供了协助装置降级ACPItable的接口(protocol).大家可以在UEFI/PIspec外面找到相应的接口定义。

后记

ACPI规范林林总总一千多页,涵盖了很多方面,从EC到主机的失误报告(APEI)很多细节,这里只是从全体引见一下。

UEFI历史和架构其余文章:

欢迎大家关注本专栏和用微信扫描下方二维码添加微信群众号"UEFIBlog",在那里有最新的文章。关注群众号,留言资料,有一些地下芯片资料供下载。

标签: 电子计算机固件BIOS

本文地址: https://yihaiquanyi.com/article/647fa27b499164d3c8ea.html

上一篇:为什么晶圆都是圆柱体为什么晶圆都是圆的不...
下一篇:机械硬盘里面的光盘是什么材质机械硬盘里面...

发表评论