Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
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.
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.
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 |
---|
|
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.
Pada cuplikan layar kedua, 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:
- Buka file ETL dengan alat WPA.
- Di Graph Explorer, pilih Daya, lalu Utilitas Prosesor.
- Ubah Jenis Grafik menjadi Garis Bertumpuk.
Cuplikan layar berikut menunjukkan 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:
- Buka file ETL menggunakan alat WPA.
- Di Graph Explorer, pilih Daya, lalu Pembatasan Perangkat ThermalZone.
- Anda dapat memilih perangkat yang menarik melalui Menerapkan Pemfilteran.
Cuplikan layar berikut menunjukkan 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:
- Aktifkan penyedia yang diinginkan saat mengambil jejak.
- Pastikan penghitung kinerja masih dijajaki (Monitor Performa masih berjalan). Untuk informasi selengkapnya, lihat Penghitung kinerja.
- Buka file ETL menggunakan alat WPA.
- Di Graph Explorer, pilih Daya, lalu Suhu (K) oleh ThermalZone.
- 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.