Kembali di kabut waktu ketika saya mulai coding, setidaknya sejauh yang saya ketahui, prosesor semua menggunakan jumlah daya yang tetap. Tidak ada yang namanya prosesor "idle".
Saat ini ada berbagai macam teknologi untuk mengurangi penggunaan daya ketika prosesor tidak terlalu sibuk, sebagian besar dengan secara dinamis mengurangi laju jam.
Pertanyaan saya adalah mengapa menjalankan pada clock rate yang lebih rendah menggunakan daya yang lebih kecil?
Gambaran mental saya tentang prosesor adalah tegangan referensi (katakanlah 5V) mewakili biner 1, dan 0V mewakili 0. Oleh karena itu saya cenderung memikirkan 5V konstan yang diterapkan di seluruh chip, dengan berbagai gerbang logika yang melepaskan tegangan ini. ketika "mati", artinya jumlah daya konstan digunakan. Tingkat di mana gerbang ini dinyalakan dan dimatikan tampaknya tidak memiliki hubungan dengan daya yang digunakan.
Saya tidak ragu ini adalah gambar yang naif, tapi saya bukan insinyur listrik. Dapatkah seseorang menjelaskan apa yang sebenarnya terjadi dengan penskalaan frekuensi, dan bagaimana menghemat daya. Apakah ada cara lain bahwa prosesor menggunakan daya lebih atau kurang tergantung pada keadaan? mis. Apakah ia menggunakan lebih banyak daya jika lebih banyak gerbang terbuka?
Apa perbedaan prosesor seluler / daya rendah dengan sepupu desktop mereka? Apakah mereka lebih sederhana (lebih sedikit transistor?), Atau ada beberapa perbedaan desain mendasar lainnya?
Jawaban:
Di sinilah Anda salah. Pada dasarnya, setiap gerbang adalah kapasitor dengan kapasitansi yang sangat kecil. Mengaktifkan dan menonaktifkannya dengan "menghubungkan" dan "melepaskan" tegangan memindahkan muatan listrik yang sangat kecil ke dalam atau keluar dari gerbang - itulah yang membuatnya bertindak berbeda.
Dan muatan listrik yang bergerak adalah arus, yang menggunakan daya. Semua arus kecil dari miliaran gerbang yang diaktifkan miliaran kali per detik bertambah sedikit.
sumber
Seperti komentar SK-logika menunjukkan sebagian besar daya benar-benar dihabiskan untuk beralih flip-flop daripada kondisi mapan.
Untuk mengurangi secara dinamis ada dua hal utama yang dapat Anda lakukan IIRC.
jika seluruh area chip tidak di-clock, Anda berpotensi mematikan daya untuk area tersebut sepenuhnya
Pohon jam itu sendiri adalah salah satu saluran listrik terbesar dalam sistem, sebagian besar karena merupakan bagian peralihan tercepat dari suatu sistem. Jadi mengurangi kekuatan di pohon jam itu sendiri sangat penting.
sumber
Daya yang dikonsumsi oleh sirkuit elektronik memiliki dua komponen:
Untuk mengurangi konsumsi, desainer prosesor menggunakan beberapa teknik:
Teknik-teknik ini memiliki akibat yang tergantung pada beban Anda, Anda mungkin lebih baik, dari konsumsi daya POV, baik mengurangi frekuensi atau melakukan "sprint" dengan kecepatan penuh dan kemudian memotong subset dari rangkaian.
sumber
Menjalankan dengan kecepatan clock yang lebih rendah tidak memengaruhi energi yang dibutuhkan untuk melakukan tugas tetap. Bahkan mungkin meningkatkan energi yang dibutuhkan jika Anda bertanggung jawab atas kebocoran, dan dapat dimatikan seluruhnya.
Di mana laju clock yang lebih rendah tidak menghemat energi juga mampu mengurangi tegangan pengoperasian. Mengurangi tegangan seringkali menghemat daya yang cukup untuk mengimbangi kebutuhan untuk tetap aktif lebih lama.
sumber