Bagikan melalui


Contoh, Persyaratan, dan Diagnostik

Topik ini menyajikan contoh masalah manajemen termal, dan juga membahas persyaratan dan metode diagnostik.

Contoh

Contoh berikut menjelaskan cara mengatasi masalah manajemen termal yang khas.

Sensor suhu kulit

Memantau suhu kulit sangat penting untuk memastikan bahwa pengguna terlindungi setiap saat. Jika suhu pada kulit terlalu panas untuk ditangani dengan aman, sistem harus segera mengambil tindakan untuk mematikan sistem. Sensor suhu ini juga dapat memberikan input ke zona termal untuk membatasi perangkat yang berkontribusi pada pembacaannya.

Diagram blok berikut menunjukkan contoh tata letak sistem yang memiliki tiga perangkat dan dua zona termal.

tata letak papan sistem dengan beberapa sensor dan zona termal

Dalam contoh ini, Sensor Suhu 1 (TS1) dan Sensor Suhu 2 (TS2) ditempatkan secara strategis di lokasi di mana perangkat berkontribusi paling panas pada kulit. Perangkat 1, 2, dan 3 mungkin memiliki sensor suhu individual di atas setiap perangkat. Sensor perangkat ini diarahkan untuk membatasi setiap perangkat satu per satu. Biasanya, tujuan sensor kulit adalah untuk mendeteksi suhu pada permukaan perangkat sebagai agregat beberapa perangkat pada sistem. Meskipun setiap perangkat mungkin menghasilkan lebih banyak panas daripada yang dapat dideteksi pada sensor suhu ini, produksi panas gabungan dari perangkat ini cenderung terakumulasi di lokasi sensor ini.

TS1 ditempatkan di tengah antara Perangkat 2 dan Perangkat 3. Dengan demikian, zona termal yang mengambil TS1 sebagai kontrol input Perangkat 2 dan Perangkat 3. Ketika TS1 menjadi panas, zona termal membatasi Perangkat 2 dan 3. Demikian pula, ketika TS2 menjadi panas, zona termal membatasi ketiga perangkat.

Dalam contoh ini, sensor ditempatkan sama jauhnya dari perangkat yang dipantau. TS1 ditempatkan di tengah antara Perangkat 2 dan Perangkat 3, dan TS2 ditempatkan secara ekuisisan dari Perangkat 1, 2, dan 3. Jika setiap perangkat menyebarkan panas secara radial dengan cara yang sama, panas dari setiap perangkat berkontribusi sama pada pembacaan suhu pada sensornya.

Pembatasan termal bertahap

Mengingat satu set konstanta termal (_TC1 dan _TC2), persentase pembatasan pasif dari zona termal memiliki karakteristik tertentu: seberapa cepat kurva berubah, dan seberapa agresif zona membatasi untuk tetap jauh dari titik perjalanan. Dalam beberapa keadaan, perilaku zona termal mungkin perlu berubah. Misalnya, ketika suhu rendah, persentase pembatasan dapat kurang agresif. Tetapi ketika suhu lebih dekat ke titik perjalanan, perilaku pembatasan mungkin perlu jauh lebih agresif. Jika demikian, pembatasan termal bertahap dapat digunakan untuk menerapkan perilaku pembatasan yang berbeda ke sekumpulan perangkat. Ada dua cara untuk menerapkan pembatasan termal bertahap:

  • Mengubah konstanta secara dinamis untuk zona termal selama runtime, atau
  • Menggunakan dua zona termal dengan konstanta dan titik perjalanan yang berbeda.

Memperbarui konstanta untuk zona

Untuk zona termal apa pun, Notify(thermal_zone, 0x81) dapat digunakan untuk memperbarui konstanta termal kapan saja.

Zona dengan titik perjalanan yang berbeda

Tidak boleh ada lebih dari satu sensor termal di zona termal. Namun, beberapa zona termal yang memiliki sensor suhu yang sama sering digunakan untuk menerapkan perilaku pembatasan termal secara bertahap. Satu zona termal mulai membatasi performa secara moderat pada suhu rendah sementara zona termal lainnya mulai membatasi performa secara agresif pada suhu tinggi.

Dalam diagram blok berikut, dua zona termal yang mengelola perangkat yang sama menggunakan sensor suhu yang sama untuk mencapai pembatasan termal bertahap. Dalam contoh ini, sensor suhu ditempatkan di dekat pengisi daya baterai dan lampu belakang monitor sehingga dapat memberikan input ke zona termal yang mengontrol kedua perangkat ini.

beberapa zona termal yang mengelola perangkat yang sama

Dua zona termal yang ditampilkan dalam diagram sebelumnya mungkin didefinisikan sebagai berikut:

Thermal Zone 1 {     _PSV = 80C  Thermal Throttling  Devices:    Monitor Driver  Battery Driver } Thermal Zone 2 {   _PSV = 90C  Thermal Throttling  Devices:    Monitor Driver  Battery Driver }

Pembatasan dependen saat ini

Jika driver baterai memerlukan pembatasan berdasarkan suhu dan arus listrik, algoritma ACPI di manajer termal tidak lagi memadai karena tidak dapat memperkirakannya. Untuk mengganti algoritma ini, Anda harus menyediakan driver kebijakan yang berisi algoritma kustom, dan memuat driver ini di atas tumpukan driver untuk zona termal. Driver kebijakan ini memperlakukan sensor suhu dan sensor saat ini sebagai input, dan tiba pada kebijakan termal berdasarkan algoritma kustom. Perhatikan bahwa kebijakan termal ini harus beroperasi dalam kemampuan perangkat keras zona termal. Kebijakan dikirim ke manajer termal, yang memperbarui log dan memperbarui zona termal. Zona termal kemudian mengirim permintaan ke driver baterai melalui antarmuka pendingin termal.

Diagram blok berikut menunjukkan driver kebijakan yang mengontrol suhu dan arus perangkat baterai. Driver kebijakan menerapkan algoritma kustom sebagai pengganti algoritma manajer termal. Tidak seperti algoritma manajer termal, algoritma kustom memperhitungkan suhu dan saat ini.

driver kebijakan menggantikan algoritma manajer termal

Persyaratan manajemen termal

Persyaratan perangkat keras

Poin-poin berikut diperlukan untuk desain perangkat keras termal yang baik:

  • Semua sistem memenuhi standar industri yang berlaku (misalnya, IEC 62368) untuk keamanan elektronik konsumen.

  • Perangkat keras harus memiliki titik perjalanan suhu yang gagal-aman yang mematikan sistem atau mencegah boot.

  • Perangkat keras sensor harus akurat hingga +/- 2oC.

  • Perangkat keras sensor tidak boleh memerlukan polling perangkat lunak untuk menentukan bahwa suhu ambang telah terlampaui.

  • Saat beroperasi, kecerahan tampilan sistem tidak pernah dibatasi secara termal hingga kurang dari 100 nit.

  • Pengisian daya baterai tidak dibatasi saat:

    • Sistem menganggur dan dalam rentang suhu sekitar di bawah 35oC, atau
    • Suhu sekitar di bawah 25oC dalam kondisi apa pun.

Persyaratan pengujian HCK untuk PC siaga modern

Semua PC siaga modern harus memenuhi persyaratan termal tertentu terlepas dari arsitektur prosesor dan faktor bentuk. Persyaratan ini diuji untuk di HCK:

  • Semua PC siaga modern harus memiliki setidaknya satu zona termal.
  • Setiap zona termal harus melaporkan suhu aktual pada sensor.
  • Setidaknya satu zona termal harus memiliki suhu matikan kritis yang ditentukan. Pengecualian dibuat untuk Intel Dynamic Platform and Thermal Framework (DPTF).
  • Semua PC siaga modern dengan kipas harus mengekspos aktivitas kipas ke sistem operasi.
  • Kipas perlu memberi tahu sistem operasi aktivitasnya setiap saat, termasuk selama ketahanan diam dalam siaga modern. Saat ini, pemberitahuan ini tidak menyebabkan tindakan dari sistem operasi. Tujuan utama untuk pemberitahuan ini adalah diagnostik dan telemetri. Pemberitahuan kipas dapat diintegrasikan dengan alat pelacakan yang ada, termasuk Windows Penganalisis Kinerja. Perancang sistem dapat menggunakan alat-alat ini untuk menyempurnakan desain platform.
  • Semua PC siaga modern dengan kipas harus menjaga kipas angin tetap nonaktif saat dalam keadaan siaga modern, sistem "tidur".
  • Pengujian HCK di sini menjalankan beban kerja siaga modern yang realistis yang seharusnya tidak menyebabkan kipas menyala. Selama transisi ke siaga modern, kipas diizinkan untuk tetap menyala hingga 30 detik sejak layar dimatikan.

Untuk informasi selengkapnya tentang pengujian HCK, lihat Memeriksa Zona Termal.

Untuk menjalankan pengujian HCK, lakukan hal berikut:

  • Pertama, masukkan perintah ini untuk menginstal driver tombol:

    >>Button.exe -i

  • Untuk menjalankan semua tes termal untuk PC dengan kipas angin, masukkan perintah ini:

    >>RunCheckTz.cmd all

  • Untuk menjalankan semua tes termal untuk PC tanpa kipas, masukkan perintah ini:

    >>RunCheckTz.cmd nofan all

Solusi manajemen termal

Kerangka kerja termal Jendela berdasarkan ACPI adalah solusi manajemen termal yang direkomendasikan untuk semua sistem. Manfaat utama termasuk kemampuan untuk dengan mudah mendiagnosis masalah termal dengan alat kotak masuk, dan kemampuan untuk mengumpulkan telemetri berharga di lapangan.

Namun, solusi alternatif untuk kerangka kerja termal Windows dapat diterima jika persyaratan di atas terpenuhi. Vendor silikon inti dan SoC mungkin memiliki solusi termal eksklusif mereka sendiri yang kompatibel dengan dan didukung oleh Windows—misalnya, implementasi berdasarkan Intel Dynamic Platform and Thermal Framework (DPTF) untuk prosesor x86 dan implementasi PEP di Arm.

Diagnostik

Untuk membantu perancang sistem mendiagnosis dan mengevaluasi perilaku termal sistem, Windows menyediakan kotak masuk dan alat mandiri berikut.

Log Peristiwa

Windows mencatat informasi termal penting dalam log peristiwa. Informasi ini dapat digunakan untuk melakukan triase kondisi termal dengan cepat pada PC apa pun yang berjalan Windows 8 atau yang lebih baru tanpa perlu pelacakan atau alat tambahan. Tabel berikut ini berisi daftar lengkapnya.

Saluran Sumber ID Deskripsi peristiwa
Log Windows\Sistem Daya kernel 125 Zona termal ACPI sedang dijumlahkan.

Windows mencatat kejadian ini selama boot untuk setiap zona termal.

Windows Logs\Systems Daya kernel 86 Sistem dimatikan karena peristiwa termal kritis.

Setelah pematian kritis, Windows mencatat kejadian ini. Kejadian ini dapat digunakan untuk mendiagnosis apakah pematian kritis termal telah terjadi dan untuk mengidentifikasi zona termal yang menyebabkan pematian.

Log Aplikasi dan Layanan\Microsoft\Windows\Kernel-Power\Thermal-Operational Daya kernel 114 Satu zona termal telah terlibat atau melepaskan pendinginan pasif.

Windows mencatat kejadian ini ketika pembatasan termal terlibat dan melepaskan. Kejadian ini dapat digunakan untuk mengonfirmasi apakah pembatasan termal telah terjadi dan zona mana. Ini sangat membantu ketika masalah performa triaging.

Pemberitahuan peristiwa penting

Jika terjadi pematian kritis atau hibernasi yang disebabkan oleh kondisi termal, sistem operasi harus diberi tahu tentang peristiwa tersebut sehingga dapat direkam dalam log peristiwa sistem. Ada dua cara untuk memberi tahu sistem operasi ketika ini terjadi:

  • Gunakan zona termal ACPI _CRT atau metode _HOT untuk secara otomatis mencatat peristiwa termal penting dengan benar. Tidak diperlukan pekerjaan tambahan selain menentukan nilai _CRT atau _HOT.

  • Untuk semua solusi termal lainnya, driver dapat menggunakan antarmuka peristiwa termal berikut, yang didefinisikan dalam file header Procpowr.h:

    #define THERMAL_EVENT_VERSION 1 typedef struct _THERMAL_EVENT { ULONG Version; ULONG Size; ULONG Type; ULONG Temperature; ULONG TripPointTemperature; LPWSTR Initiator;  } THERMAL_EVENT, *PTHERMAL_EVENT;  #if (NTDDI_VERSION >= NTDDI_WINBLUE) DWORD PowerReportThermalEvent ( _In_ PTHERMAL_EVENT Event ); #endif
    

    PowerReportThermalEvent rutin memberi tahu sistem operasi peristiwa termal sehingga peristiwa dapat direkam dalam log peristiwa sistem. Sebelum memanggil PowerReportThermalEvent, driver mengatur anggota struktur THERMAL_EVENT ke nilai berikut.

    Versi

    THERMAL_EVENT_VERSION

    Ukuran

    sizeof(THERMAL_EVENT)

    Jenis

    Salah satu nilai THERMAL_EVENT_XXX dari Ntpoapi.h.

    Suhu

    Suhu, dalam sepuluh derajat Kelvin, bahwa sensor berada pada setelah melintasi titik perjalanan (atau nol jika tidak diketahui).

    TripPointTemperature

    Suhu, dalam sepuluh derajat Kelvin, dari titik perjalanan (atau nol jika tidak diketahui).

    Inisiator

    Penunjuk ke string karakter lebar yang dihentikan NULL yang mengidentifikasi sensor yang ambang batasnya dilewati.

The following thermal event types are defined in the Ntpoapi.h header file:

```
// // Thermal event types // #define THERMAL_EVENT_SHUTDOWN     0 #define THERMAL_EVENT_HIBERNATE    1 #define THERMAL_EVENT_UNSPECIFIED  0xffffffff
```

Hardware platforms should use the thermal event interface only if thermal solutions other than Windows thermal management framework are used. This interface allows the operating system to gather information when a critical shutdown occurs due to thermal reasons.

Penghitung kinerja

Penghitung kinerja menawarkan informasi real-time tentang perilaku termal sistem. Tiga bagian data berikut dijajaki untuk setiap zona termal.

Informasi zona termal
  • Batas pasif persen– Persentase dibatasi. 100 persen berarti zona tidak dibatasi.
  • Suhu– Suhu zona termal dalam derajat Kelvin.
  • Alasan pembatasan– Alasan mengapa zona sedang dibatasi:

    • 0x0 – Zona tidak dibatasi
    • 0x1 – Zona dibatasi karena alasan termal.
    • 0x2 – Zona dibatasi untuk membatasi arus listrik.

Informasi ini hanya dijajaki ketika diminta — misalnya, oleh Monitor Performa Windows atau oleh alat baris perintah typeperf .

Untuk informasi selengkapnya tentang penghitung kinerja secara umum, lihat Penghitung Kinerja.

Monitor performa

Monitor Performa adalah aplikasi bawaan untuk polling dan memvisualisasikan informasi. Monitor Performa dapat menjadi alat yang sangat kuat untuk membandingkan kondisi termal untuk desain termal sistem. Dua cuplikan layar sampel berikut menunjukkan Monitor Performa yang sedang berjalan saat demo fishbowl dijalankan di Internet Explorer. Pada cuplikan layar pertama, Monitor Performa menunjukkan peningkatan suhu tiga zona termal dari waktu ke waktu.

grafik monitor performa yang menunjukkan suhu tiga zona termal dari waktu ke waktu

Pada cuplikan layar kedua, Monitor Performa melaporkan persentase pembatasan, suhu, dan alasan pembatasan saat ini.

monitor performa melaporkan persentase pembatasan, suhu, dan alasan pembatasan saat ini

Untuk informasi selengkapnya, lihat Menggunakan Monitor Performa.

Windows Penganalisis Kinerja (WPA)

Sebagai bagian dari ADK, Windows menyediakan Windows Performance Toolkit (WPT) untuk pelacakan dan analisis perangkat lunak. Di dalam WPT, perancang sistem dapat menggunakan Windows Penganalisis Kinerja (WPA) untuk memvisualisasikan jejak perangkat lunak dan menganalisis perilaku termal. Untuk informasi selengkapnya tentang cara menginstal dan menggunakan WPA, lihat Windows Penganalisis Kinerja (WPA).

Penyedia

Sertakan "Microsoft-Windows-Kernel-ACPI" untuk mencatat peristiwa suhu, aktivitas zona termal, dan aktivitas kipas.

Sertakan "Microsoft-Windows-Thermal-Polling" untuk mengaktifkan polling suhu pada setiap zona termal. Jika ini tidak termasuk, suhu hanya akan dilaporkan ketika naik di atas titik perjalanan pasif dan/atau aktif. Periode polling dapat dikontrol dengan menentukan bendera kepada penyedia.

Bendera Periode polling
Tidak ada 1 detik
0x1 1 detik
0x2 5 detik
0x4 30 detik
0x8 5 menit
0x10 30 menit

Utilitas prosesor

Sebelum menggali data pembatasan termal, ada baiknya untuk memeriksa kembali informasi utilitas prosesor untuk memastikan bahwa pola utilitas prosesor konsisten dengan apa yang seharusnya beban kerja. Untuk mengonfirmasi bahwa beban kerja disiapkan dengan benar, ikuti langkah-langkah berikut:

  1. Buka file ETL dengan alat WPA.
  2. Di Graph Explorer, pilih Daya, lalu Utilitas Prosesor.
  3. Ubah Jenis Grafik menjadi Garis Bertumpuk.

Cuplikan layar berikut menunjukkan grafik Utilitas Prosesor .

grafik utilitas prosesor

Persentase pembatasan zona termal

Ketika zona termal dibatasi, file pelacakan perangkat lunak mencatat semua perubahan persentase pembatasan termal, perubahan suhu, dan perubahan kebijakan pendinginan. Untuk melihat informasi dalam file pelacakan, ikuti langkah-langkah berikut:

  1. Buka file ETL menggunakan alat WPA.
  2. Di Graph Explorer, pilih Daya, lalu Pembatasan Perangkat ThermalZone.
  3. Anda dapat memilih perangkat yang menarik melalui Menerapkan Pemfilteran.

Cuplikan layar berikut menunjukkan grafik Pembatasan Perangkat ThermalZone dan opsi pemfilteran.

grafik pembatasan perangkat thermalzone dan opsi pemfilteran

Suhu zona termal

Menggunakan informasi penghitung kinerja, suhu sistem juga dapat dipantau saat tidak ada pembatasan yang terlibat. Ikuti langkah-langkah berikut:

  1. Aktifkan penyedia yang diinginkan saat mengambil jejak.
  2. Pastikan penghitung kinerja masih dijajaki (Monitor Performa masih berjalan). Untuk informasi selengkapnya, lihat Penghitung kinerja.
  3. Buka file ETL menggunakan alat WPA.
  4. Di Graph Explorer, pilih Daya, lalu Suhu (K) oleh ThermalZone.
  5. Anda akan melihat suhu dari waktu ke waktu untuk setiap zona termal.

Cuplikan layar berikut menunjukkan grafik suhu dari waktu ke waktu untuk lima zona termal.

grafik suhu dari waktu ke waktu untuk lima zona termal