ACPI

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 13. marts 2022; verifikation kræver 1 redigering .

ACPI (  Advanced Configuration and Power Interface ) er  en åben industristandard , først udgivet i december 1996 og udviklet i fællesskab af HP , Intel , Microsoft , Phoenix og Toshiba , som definerer en fælles grænseflade til hardwaregenkendelse, strømstyring og bundkortkonfiguration og -enheder .

Specifikation 2.0 blev introduceret i september 2000 . Det strækker sig til et bredere udvalg af computere, herunder virksomhedsservere, stationære og bærbare computere. Derudover tilføjede ACPI 2.0 understøttelse af 64-bit mikroprocessorer til servere, understøttelse af forskellige typer hukommelse, PCI og PCI-X enheder .

Specifikationsversion 3.0b blev frigivet den 10. oktober 2006 .

I øjeblikket er den seneste version af ACPI-specifikationen version 6.2a, udgivet af UEFI Forum i september 2017. [en]

ACPI's opgave er at sørge for kommunikation mellem operativsystemet , hardware og BIOS på bundkortet.

ACPI har erstattet APM ( Advanced Power Management ) teknologi . 

Introduktion

Den mest kendte del af ACPI-standarden er strømstyring, som har to væsentlige forbedringer i forhold til tidligere standarder. For det første overfører konceptet ACPI strømstyring til operativsystemet (OS). Denne model kan sammenlignes med den tidligere APM -model, hvor bundkortets BIOS er ansvarlig for strømstyring , og operativsystemets muligheder i denne henseende er meget begrænsede. I ACPI-modellen forsyner BIOS operativsystemet med metoder til direkte, granulær kontrol af hardwaren. Dermed får operativsystemet næsten fuldstændig kontrol over strømforbruget.

En anden vigtig del af ACPI-specifikationen er at levere strømstyringsfunktioner på servere og desktops, som tidligere kun var tilgængelige på bærbare computere . Systemet kan f.eks. sættes i en tilstand med ekstremt lavt strømforbrug, hvor kun hovedhukommelsen får strøm (eller muligvis endda uden strøm), men nogle enhedsafbrydelser (realtidsur, tastatur, modem osv.) kan hurtigt overføre system fra en sådan tilstand til den normale driftstilstand (det vil sige "væk" systemet).

Ud over kravene til softwaregrænsefladen kræver ACPI også speciel support fra hardwaren. Således skal operativsystemet, bundkortchipsættet og endda centralenheden have ACPI-understøttelse .

I disse dage understøttes forskellige versioner af ACPI af mange operativsystemer, inklusive alle versioner af Microsoft Windows siden Windows 98 , GNU/Linux-systemer , FreeBSD , OpenBSD , NetBSD og eComStation .

Tekniske detaljer

ACPI-grænsefladen er organiseret ved at placere flere tabeller i et bestemt område af RAM, der indeholder en beskrivelse af hardwareressourcer og softwaremetoder til at administrere dem. Hver type tabel har et specifikt format, beskrevet i specifikationen. Derudover indeholder tabeller, der indeholder enhedskontrolmetoder og ACPI-hændelseshandlere, AML-kode (ACPI Machine Language), et maskinuafhængigt sæt instruktioner præsenteret i en kompakt form. Et operativsystem, der understøtter ACPI, indeholder en AML-fortolker, der oversætter AML-instruktioner til CPU-instruktioner og dermed udfører metoder eller hændelseshandlere.

Nogle af disse tabeller gemmer alle eller dele af de statiske data i den forstand, at de ikke ændres fra systemstart til opstart. Statiske data er normalt oprettet af bundkortet eller BIOS-producenten og beskrevet i et særligt ASL-sprog (ACPI Source Language) og derefter kompileret til en AML-repræsentation.

Andre tabeller gemmer dynamiske data, der afhænger af for eksempel BIOS-indstillinger og bundkortkonfiguration. Sådanne tabeller dannes af BIOS'en på tidspunktet for systemstart før overførslen af ​​kontrol til OS .

OS'ets rolle i denne model er, at det overfører forskellige hardwarekomponenter fra én tilstand (såsom normal drift) til en anden (såsom lavenergitilstand). Overgangen fra en tilstand til en anden sker som regel ved en begivenhed. For eksempel er et fald i temperaturen på en processorkerne en hændelse, hvor operativsystemet kan kalde en metode til at reducere blæserhastigheden. Et andet eksempel: brugeren beordrede udtrykkeligt systemet til at gå på vågeblus, mens RAM blev gemt på disken, og efter et stykke tid tændte netværksadministratoren systemet ved hjælp af Wake-on-LAN- funktionen .

Stater

Globale stater

Der skelnes mellem følgende hovedtilstande for "systemet som helhed".

  • G0 ( S0 ) (Working) - normal drift.
  • G1 (Suspend, Sleeping, Sleeping Legacy) - maskinen er slukket, men den aktuelle systemkontekst (systemkontekst) er gemt, arbejdet kan fortsættes uden genstart. For hver enhed er "graden af ​​informationstab" under søvnprocessen defineret, samt hvor informationen skal gemmes, og hvorfra den vil blive læst, når den vågner, og tidspunktet for at vågne fra en tilstand til en anden ( for eksempel fra søvn til arbejdstilstand). Der er 4 søvntilstande:
    • S1 ("Power on Suspend" (POS) i BIOS) er en tilstand, hvor alle processorcacher nulstilles, og processorer er holdt op med at udføre instruktioner. Imidlertid understøttes kraften af ​​processorer og RAM; enheder, der ikke har angivet, at de skal forblive tændt, kan blive slukket;
    • S2  er en dybere dvaletilstand end S1, når CPU'en er slukket, men normalt ikke brugt;
    • S3 ("Suspend to RAM" (STR) i BIOS, "Standby" i versioner af Windows op til Windows XP og nogle varianter af Linux , "Sleep" i Windows Vista og Mac OS X , selvom ACPI-specifikationerne kun omtales som S3 og Sleep) - i denne tilstand fortsætter RAM (RAM) med strøm, og det forbliver næsten den eneste komponent, der forbruger energi. Da tilstanden af ​​operativsystemet og alle applikationer, åbne dokumenter osv. er gemt i RAM, kan brugeren genoptage arbejdet præcis, hvor han forlod det - tilstanden af ​​RAM ved retur fra S3 er den samme som før han gik ind i denne tilstand. (Specifikationen siger, at S3 er ret lig S2, kun lidt flere komponenter er deaktiveret i S3.) S3 har to fordele i forhold til S4: computeren kommer hurtigere op og kører igen, og for det andet, hvis et kørende program (åbne dokumenter osv.) .) ) indeholder følsomme oplysninger, vil disse oplysninger ikke blive skrevet med magt til disk. Diskcaches kan dog skylles til disken for at forhindre datakorruption, hvis systemet ikke vågner op, f.eks. på grund af et strømsvigt;
    • S4 ("Hibernation" (Hibernation) i Windows , "Safe Sleep" i Mac OS X , også kendt som "Suspend to disk", selvom ACPI-specifikationen kun nævner udtrykket S4) - i denne tilstand er hele indholdet af RAM gemt i ikke-flygtig hukommelse, såsom en harddisk: operativsystemets tilstand, alle applikationer, åbne dokumenter osv. Det betyder, at brugeren efter at være vendt tilbage fra S4 kan genoptage arbejdet fra hvor det slap, svarende til S3 mode. Forskellen mellem S4 og S3, bortset fra den ekstra tid, det tager at flytte indholdet af RAM til disk og tilbage, er, at et computerstrømsvigt i S3 vil resultere i tab af alle data i RAM, inklusive eventuelle ikke-gemte dokumenter, mens computeren er i S4 påvirkes ikke af dette. S4 er ret anderledes end andre S-tilstande og minder mere om G2 Soft Off og G3 Mechanical Off S1-S3 . Et system i S4 kan også placeres i G3 Mechanical Off og stadig forblive i S4, ved at beholde tilstandsinformation, så driftstilstanden kan gendannes efter opstart.
  • G2 ( S5 ) (soft-off) - blød (software) lukning ; systemet er helt stoppet, men strømførende, klar til at tænde når som helst. Systemkonteksten er gået tabt.
  • G3 (mekanisk slukket) - mekanisk nedlukning af systemet; ATX-strømforsyningen er slukket.

Derudover Microsofts OnNow-teknologi (Udvidelser S1-S4 i G1-tilstand). Siden Vista har Windows også understøttet "Hybrid Sleep", som kombinerer fordelene ved S1/S3 (hurtig opvågning) og S4 (beskyttelse mod strømsvigt). Det er også implementeret i GNU/Linux (pm-suspend-hybrid), en lignende implementering i Mac OS X kaldes Safe Sleep.

CPU-tilstande

Der er fire driftstilstande for processoren (fra C0 til C3).

  • C0  - operationel (arbejds) tilstand.
  • C1 (kendt som Halt ) er en tilstand, hvor processoren ikke udfører instruktioner, men straks kan vende tilbage til en arbejdstilstand. Nogle processorer, såsom Pentium 4 , understøtter også tilstanden Enhanced C1 (C1E) for lavere strømforbrug.
  • C2 (kendt som Stop-Clock ) er en tilstand, hvor processoren detekteres af applikationer, men det tager tid at skifte til driftstilstand.
  • C3 (kendt som Sleep ) er en tilstand, hvor processoren deaktiverer sin egen cache, men er klar til at skifte til andre tilstande.
Enhedstilstande

Der er fire funktionstilstande for andre enheder (skærm, modem, busser, netværkskort, videokort, diske, floppy osv.) - fra D0 til D3.

  • D0  - Fuldt operationel tilstand, enheden er tændt.
  • D1 og D2  er mellemtilstande, aktivitet bestemmes af enheden.
  • D3  - enheden er slukket.
Ydeevnetilstande

Mens en processor eller enhed kører (henholdsvis C0 og D0), kan den være i en eller flere ydeevnetilstande . Disse stater er implementeringsafhængige. Således er P0 altid det højeste præstationsniveau; fra P1 til P n et gradvist fald i præstationsniveauet, op til implementeringsgrænsen, hvor n ikke overstiger 16.

P-tilstande er også kendt som SpeedStep i Intel-processorer , som PowerNow! eller Cool'n'Quiet i AMD -processorer og som LongHaul i VIA - processorer .

  • P0 maksimal ydeevne og frekvens
  • P1 mindre end P0 , spændings-/frekvensafbrydelse
  • P2 er mindre end P1 , spænding/frekvens afbrydes
  • Pn mindre end P(n-1) , spændings-/frekvensskæring

Se også

Noter

  1. Advanced Configuration and Power Interface Specification, Version 6.2a (PDF). UEFI.org (september 2017). Arkiveret fra originalen den 27. januar 2018.

Links