2019/7/301IntroducetheAPMBIOSInterfacePresentedbyHantsZhangApprovedbyJRJen&W.LSung2004/03/02Rev.1.02019/7/302Agenda1.APMIntroduction2.APMModel3.APMSoftwareLayer4.APMSoftwareInterface5.FirmwareErrorCodes6.Summaries7.Q&A2019/7/3031.APMIntroduction1.1APMOverview1.2APMSystem1.3Terms2019/7/3041.1APMOverviewWhatisAPM?APM(advancedpowermanagement)isdefinedbyIntelandMicrosoftCorpin1992.Thelatestversionis1.2.FunctionofAPM:ControlthedevicepowersatethroughBIOS.APMVSACPI:InACPIenvironmentOScontrolalldevice’spowerstateandtheBIOSprovidesysteminformationonly.2019/7/3051.2APMSystemAPM-AwareApplicationAPM-AwareApplicationAPM-AwareDeviceDriverAPM-AwareDeviceDriverAPMDriverAPMBIOSAdd-InDeviceAdd-InDeviceAPMInterfaceOSdependentOSindependentApplicationsBIOSOperatingSystemAPMBIOSControlledHardware2019/7/3061.2APMSystemAPMBIOSisthesoftwareinterfacetothemotherboardanditspowermanageddevices.APMdrivermoduleconnectstotheAPMBIOSandcommunicatewiththeAPM-awareapplication.APM-awareDeviceDrivermodulesprovidesthesoftwareinterfaceforadd-indevices.APM-awareApplicationsinterfacewiththeAPMdrivertomonitorandcontrolpowermanagement2019/7/3071.3TermsAdd-inDeviceisnotonthemotherboard.APMConnectionisaprotocolandmechanismbywhichanAPMDriverandanAPMBIOSintercommunicate.CPUCOREincludestheCPUclock,cache,systembus,andsystemtimers.Resumetimerisasystemtimerusedtowakeupthesystemfromalowpowerstateataspecifiedtime.SystemIdleisainactivestate.2019/7/3082.1SystemPowerState2.2DeviceControl2.3CPUControl2.4SystemPowerStateTransition2.APMModel2019/7/3092.1SystemPowerStates2.1.1FullOnState2.1.2APMEnableState2.1.3APMStandby2.1.4APMSuspend2.1.5OffState2019/7/30102.1.1FullOnStateTheFullOnStateisthedefaultmode.Systemisonworking.Systemisnotpowermanaged.Alldeviceareon.2019/7/30112.1.2APMEnableStateIntheAPMEnableStatethesystemisdoingworkbutsomeunuseddevicesmaynotbepowered.TheCPUclockisslowedorstoppedanddevicesarepowermanagedasneeded.2019/7/30122.1.3APMStandbyThesystementerstheAPMStandbyStateafterashortperiodinactivity.Thesystemisinalowpowerstatewithsomepowersavings.Mostdeviceareinalowpowermode.TheCPUclockisslowedorstopped.SystemreturnsquicklytotheAPMEnableState.Interruptsmuststillbeprocessednormally.2019/7/30132.1.4APMSuspendThesystementertheAPMSuspendStateafterarelativelylongperiodofinactivity.SystemtakesarelativelongtimetoreturntotheAPMEnableState.SystemisnotworkingandinalowpowerstatewithmaximumpowersavingsMostpowermanageddevicearenotpoweredTheCPUclockisstoppedandtheCPUcoreisinitsminimumpowerstate.2019/7/30142.1.5OffStateInthisStatethesystemisnotworking.Thepowersupplyisoff.Operationalparametersarenotsaved.SystemresetsandinitializeswhenthetransitioningtotheFullOnState.2019/7/30152.2DeviceControl2.2.1DeviceControlOverview2.2.2DeviceOnMode2.2.3DevicePowerManagedMode2.2.4DevicePowerLowMode2.2.5DeviceOffMode2019/7/30162.2.1DeviceControlOverviewDevicesmaybepower-managedeitherbythesystemBIOSorbytheOS.Usingthe“DisableDevicePowerManagement”function,theOSmaytelltheBIOStostoppowermanagingaparticulardevice.Thedevicecontrolhasfourmodes:DeviceOn,DevicePowerManaged,DeviceLowPower,andDeviceOff.2019/7/3017DeviceOnMode:Inthismodedeviceisfullypoweredandabletoperformwork,alldevicefeaturesareavailable.2.2.2DeviceOnMode2019/7/30182.2.3DevicePowerManagedModeDevicePowerManaged:InthismodeDeviceisworking,butsomefeaturesmaynotbeoperational,ormaybefunctioningatreducedperformancelevels.2019/7/3019DeviceLowPower:inthismodedeviceisnotworking.Powerismaintainedanddevicesmayhavevariablenumbersoflowpowersubmodes.2.2.4DeviceLowPower2019/7/30202.2.5DeviceOffModeDeviceOff:inthismodedeviceisnotworking.Deviceispoweredoff.2019/7/30212.3CPUCoreControl2.3.1CPUCoreControlOverview2.3.2CPUCoreControlModes2019/7/30222.3.1CPUCoreControlOverviewTheCPUcoreistypicallythelastdevicetopoweroffandthefirstdevicetopoweron.TheCPUcoreincludestheCPUclock,cache,systembus,andsystemtimers.TheCPUcoreiscontrolledthroughAPMBIOS.APMDrivermaynotifytheAPMBIOSaboutCPUusagebuttheAPMBIOSdeterminestheactiontotake.2019/7/3023TheCPUcoreisrequiredtoperformsystempowerstatechanges.SlowClock:Reducedspeedoperation,reducedpowerconsumption,reducedperformancelevel,interruptsrestoretoFullOnMode,restorationtoFullOnappearsinstantaneous.Stop:Onlyahardwareinterruptstartstheclock,restorationtoFullOnappearsinstantaneous.2.3.1CPUCoreControlModes2019/7/30242.4SystemPowerStateTransitions2.4.1StateTransitionsOverview2.4.2SystemStateTransition’sOperation2019/7/30252.4.1StateTransitionOverviewInactivitycausesagradualpoweringdownofthesystem.ThesystemstatechangesarecausedbytheAPMBIOSduetosystemactivitylevel,interrupts,andexternaleventsorduetosoftwarerequests.APMBIOSandAPMDrivercooperatetoeffectsystemstatetransitions.2019/7/30262.4.2StateTransition’sOperationFullOnOffAPMEnabledAPMSuspendAPMStandby•APMEnable•EnableCall•APMDisable•DisableCall•ShortInactivity•StandbyCall•LongInactivity•SuspendInterrupt•SuspendCall•OffSwitch•OffCallOffSwitchResumeEventWakeupEventOffSwitchOffSwitchOnSwitchPOWERMANAGE