Aracılığıyla paylaş


Cihaz güç yönetimi

ACPI 6.3 belirtimi, bir cihaz için cihaz güç bilgilerini belirtmek üzere bir ad alanı nesneleri kümesi tanımlar. Örneğin, bir nesne kümesi, desteklenen her cihaz güç durumunda bir cihazın gerektirdiği güç kaynaklarını belirtebilir. Başka bir nesne türü, donanım olaylarına yanıt olarak cihazın düşük güç durumundan uyanma özelliğini açıklayabilir.

Windows'ta cihaz güç yönetimi

Bir sistem çalışırken (yani, sistem ACPI tanımlı çalışma durumundadır, S0), tek tek cihazlar güç tasarrufu yapmak için etkinliğe bağlı olarak cihaz güç durumları arasında geçişler yapabilir. Geleneksel bilgisayar sistemlerinde acpi tanımlı uyku durumları (S1 ile S4) güç tasarrufu yapmak için de kullanılır, ancak bu bağlantısız, yüksek gecikmeli uyku durumları Windows SoC platformlarında kullanılmaz. Bu nedenle pil ömrü, platformların çalışma zamanı cihaz güç yönetimini nasıl uyguladığına bağlıdır.

SoC ile tümleştirilmiş cihazlar, Windows Power Framework (PoFx) aracılığıyla güçle yönetilebilir. Bu çerçeveyle tümleşik cihazların güç yönetimi, SoC'nin güç ve saat denetimlerinin ayrıntılarını bilen SoC'ye özgü bir güç motoru eklentisi (mikroPEP) aracılığıyla PoFx tarafından yapılır. PoFx hakkında daha fazla bilgi için bkz. Güç Yönetimi Çerçevesine Genel Bakış.

Windows, SoC ile tümleştirilmeyen çevre birimi cihazları için ACPI Cihaz Güç Yönetimi'ni kullanır. Bu ACPI ile yönetilen cihazlar için, cihaz sürücü yığınındaki güç ilkesi sahibi (genellikle işlev veya sınıf sürücüsü) cihaz güç durumu geçiş kararları alır ve Acpi.sysWindows ACPI sürücüsü, gerekli platforma özgü güç denetimlerini uygulamak için ASL denetim yöntemlerini çağırır.

Bazı cihaz yığınları yalnızca ACPI Cihaz Güç Yönetimi'ni veya soC cihaz güç yönetimi için mikroPEP ile birlikte kullanabilir.

ACPI'de cihaz güç yönetimi bölümünde açıklandığı gibi Windows, ACPI 5.0 belirtiminde tanımlanan D3cold güç yönetimi özelliklerini destekler. Cihazlar, platformlar ve sürücüler bu desteği kullanarak, çalışma zamanı boşta kalma dönemlerinde cihaz gücünün tamamen kaldırılmasını tercih edebilir. Bu özellik pil ömrünü önemli ölçüde artırabilir. Ancak D0'ye başarılı bir şekilde dönebilmek için güç kesilmesi işleminin etkilenen tüm bileşenler tarafından desteklenmesi gerekir. Bu nedenle sürücülerin (veri yolu ve işlev) yanı sıra platformun kendisini de desteklediklerini belirtmeleri gerekir. D3cold sürücü kabul etme hakkında daha fazla bilgi için bkz. Sürücüde D3cold'yi Destekleme.

ACPI'de cihaz güç yönetimi

Ad alanı cihazları D0 (tam işlev veya "açık") ile D3 (işlev yok veya "kapalı") olmak üzere en fazla dört cihaz güç durumunu destekler. Her durum farklı güç gereksinimlerine sahip olabilir ve daha yüksek numaralı durumlar daha düşük numaralı durumlara göre daha az güç tüketebilir. Buna ek olarak, D3 (kapalı) durumunun D3hot ve D3cold olarak iki alt durumu vardır. D3hot alt durumu, veri yoluna özgü yazılım komutlarına yanıt verebilmesi için cihazın ana veri yolu üzerinde erişilebilir kalmasını gerektirir. Bu gereksinim ve bunu karşılamak için kullanılan güç D3cold'da kaldırılır. Son olarak, bir cihaz donanım olayı nedeniyle düşük güç durumundan uyanmak ve gerekirse platformu boşta durumundan çıkarmak için silahlanabilir.

Platform, platform genelinde OSPM Capabilities Yöntemi kullanılarak istendiğinde "_PR3 Desteği" özelliğinin (bit 2) işletim sistemi denetimini vererek D3cold desteğini gösterir. Daha fazla bilgi için ACPI 5.0 belirtimindeki 6.2.10.2, "Platform Genelinde OSPM Özellikleri" bölümüne bakın.

Güçle yönetilen cihazlar, işletim sistemine yönelik güç özelliklerini açıklamak için çocuk nesneleri kullanır. Aşağıdaki bölümlerde bu özellikler ve nesneler açıklanmaktadır.

Güç kaynakları ve durumları

Bir cihaz, bu durumda olması için gereken güç kaynakları kümesini listeleyerek güç durumu desteğini bildirir. ACPI Güç Kaynakları, cihazları çalıştıran gerilim raylarını ve onları yönlendiren saat sinyallerini temsil eder. Bu kaynaklar ad alanının kökünde bildirilir. Her bir güç kaynağının bir _ON ve bir _OFF yöntemiyle kontrol edilir ve durumunu raporlamak için bir _STA yöntemi vardır. Daha fazla bilgi için ACPI 5.0 belirtiminin "Power Resource Nesnesi Bildirme" başlıklı 7.1 bölümüne bakın.

Acpi.sysWindows ACPI sürücüsü, kaynakları paylaşan cihazlar arasındaki güç bağımlılıklarını izler ve bu cihazlar güç durumları arasında geçiş yaparak belirli bir zamanda yalnızca bir cihazın gerçekten ihtiyaç duyduğu güç kaynaklarının açılmasını sağlar.

Güç Kaynağı Gereksinimleri (_PRx)

Desteklenen her cihaz güç durumu için x = 0, 1, 2 veya 3 olan bir Güç Kaynağı Gereksinimleri (_PRx) nesnesi vardır. Cihaz sürücüsü yeni bir güç durumuna geçiş yapmaya karar verince, Acpi.sys yeni durum için gereken tüm güç kaynaklarının açık olduğundan ve artık kullanımda olmayan kaynakların kapalı olduğundan emin olur.

Desteklenen cihaz durumu Kullanılacak kaynak gereksinimleri nesnesi Gereksinimler nesnesine eklenecek kaynaklar
D0 (gerekli) _PR0 Cihazın tam işlevi için gereken tüm güç ve saatler.
D1 _PR1 Bu durumun sınıf tanımlı azaltılmış işlevselliği için gereken tüm güç veya saatler.
D2 _PR2 Bu durumun sınıf tarafından belirlenen azaltılmış işlevselliği için gereken tüm güç veya zamanlayıcılar.
D3hot (gerekli) _PR3 Yalnızca cihazın veri yolu üzerinde görünmesi ve veri yolu ile ilgili bir komuta yanıt vermesi için gereken güç veya saatler.

Belirli bir platform D3cold özelliğini destekliyorsa ve bir cihazın cihaz sürücüsü D3cold'a katılmayı kabul ederse, cihazın _PR3 güç kaynakları( başka bir cihaz tarafından kullanılmıyorsa) D3Cold'a geçişten bir süre sonra kapatılır.

D3cold destekleyen bir cihazın güç kaynağı gereksinimleri hakkında daha fazla bilgi için bkz. D3cold için Üretici Yazılımı Gereksinimleri.

Cihaz Güç Durumu (_PSx)

Desteklenen her cihaz güç durumu Dx için x = 0, 1, 2 veya 3 olan _PSx bir Power State yöntemi vardır. Bu yöntem isteğe bağlıdır, ancak varsa, durum için güç kaynakları kapatılmadan önce ve durum için güç kaynakları açıldıktan sonra çağrılır. _PSx, güç döngüsünde gerekli olan platforma özgü eylemleri gerçekleştirmeye yöneliktir. _PSx işlev sürücüsüne atanmış cihaz kayıtlarına, veri yolu sürücüsüne atanmış veri yolu standart yazmaçlarına erişmemeli veya güç kaynaklarını açmalı veya kapatmamalıdır; bu da Acpi.sysiçin ayrılmış bir işlemdir.

Uyandırma özellikleri

Güç ile yönetilen cihazlar düşük güç durumundayken olayları algılayabilir ve platformun bunları işlemek için uyanmasına neden olabilir. Bu özelliği etkinleştirmek için Windows'un hem platformun hem de cihazın özellikleri hakkında bilgi alması gerekir.

Sx Cihaz Uyandırma Durumu (_SxW)

Belirli bir platformda, uyandırma özelliğini destekleyen cihaz durumları ile uyandırma olaylarına yanıt verebilen sistem durumları arasında belirli bir eşleme vardır. ACPI, bu bilgileri işletim sistemine sağlamak için _SxW nesnesini tanımlar. Desteklenen her sistem güç durumu (Sx) için bir SxW nesnesi vardır. SoC platformları her zaman S0'da olduğundan, buradaki tek ilgi çekici nesne _S0W. Bu nesne, bir cihazın uyandırma sinyaline yanıt olarak platformun düşük güçte boşta durumundan uyanabilmesini belirtir. Nesne, sistem düşük güçte boşta kaldığında cihaz için hedef D durumunu belirlemek üzere Windows tarafından kullanılır. _S0W hakkında daha fazla bilgi için ACPI 5.0 belirtimindeki "_S0W (S0 Cihaz Uyandırma Durumu)" başlıklı 7.2.20 bölümüne bakın.

Çoğu SoC platformu için cihazlar boştayken etkin bir şekilde D3 durumuna enerji yönetimi yapılır ve cihaz bu durumdayken sistem, düşük güçteki boşta kalma durumundayken uyanma kapasitesine sahiptir. Böyle bir sistem için _S0W nesnesi 3 (veya D3cold'yi de destekliyorsa 4) döndürür.

_S0W(4), cihazın uyandırmayı destekleyip desteklemediğinden bağımsız olarak D3Cold için bir gereksinimdir.

Herhangi bir D durumu en düşük güçle uyandırma özelliğine sahip durum olarak belirlenebilir ve bazı cihaz sınıfları veya veri yolları farklı değerler kullanır. Örneğin, SDIO ve USB bağlantılı cihazlar bu durum için D2 durumunu kullanır.

Cihaz sürücülerinin Windows 7'den Windows 8 veya Windows 8.1'e geçişini kolaylaştırmak için cihazınızın da _S4W sağlaması gerekebilir. Şu anda bu gereksinime sahip olan tek cihaz sınıfı ağdır (Ndis.sys).

Uyandırma özellikli kesmeler (_CRS)

Bir cihazın kaynak açıklaması, cihazın bir kesmeyi "uyandırma özellikli" (ExclusiveAndWake veya SharedAndWake) olarak işaretleyerek uyandırma olayını algılayıp sinyal gönderebildiğini gösterir. Windows ve cihaz sürücüleri, cihaz düşük güç durumuna geçtiğinde etkinleştirildiğinden emin olmak için bu tür kesintilerin özel olarak işlenmesini sağlar. Daha fazla bilgi için ACPI 5.0 belirtiminin 6.4.3.6, "Genişletilmiş Kesme Tanımlayıcısı" ve bölüm 6.4.3.8.1 , "GPIO Bağlantı Tanımlayıcıları" bölümündeki Kesme ve GpioInt kaynak tanımlayıcılarının açıklamalarına bakın.

Uyandırma özelliğini etkinleştirme

Kullanıcı senaryosuna veya sistem ilkesine bağlı olarak, uyandırma özellikli cihazlar uyandırma için etkinleştirilmiş olabilir veya olmayabilir. Bu nedenle, cihaz boştayken uyandırma özellikli kesmeler etkinleştirilebilir veya etkinleştirilmeyebilir. Windows, kesmeleri etkinleştirmeye ek olarak, bir cihazda uyandırmayı etkinleştirmek için aşağıdaki mekanizmaları kullanır.

Cihaz Uyku Uyandırma (_DSW)

ACPI, _DSW nesnesini, işletim sisteminin ACPI platformu üretici yazılımına bir sonraki uyku veya düşük güç boşta kalma süresi hakkında bilgi vermesi için bir yol olarak tanımlar. Bu nesne isteğe bağlıdır ve yalnızca platformun platforma özgü uyandırma donanımını önceden yapılandırması gerektiğinde kullanılır. Cihazın hedef D durumu ve sistemin hedef S durumu sağlanmıştır. D-state ve S-state bileşimi her zaman cihazın _SxW nesneleri tarafından sağlanan bilgilerle uyumlu olacaktır.

Uyandırma için Güç Kaynakları (_PRW)

Bazı durumlarda, bir cihazın uyandırma için etkinleştirilmesi için ek güç kaynaklarının açık olması gerekir. Bu durumda cihaz, bu ek güç kaynaklarını listelemek için _PRW nesnesi sağlayabilir. Acpi.sysWindows ACPI sürücüsü, bu güç kaynaklarını normalde olduğu gibi yöneterek bir cihaz (uyandırma özellikli cihaz) tarafından ihtiyaç duyulduğunda açık olduklarından ve aksi takdirde kapatıldığından emin olur.

_PRW, geleneksel (tam ACPI donanımlı) bilgisayar platformları için uyandırma özelliğini tanımlamak için de kullanılır.