Mengapa Semua Core CPU Memiliki Kecepatan Yang Sama, Bukan Yang Berbeda?
Jika Anda pernah melakukan banyak perbandingan belanja untuk CPU baru, Anda mungkin telah memperhatikan bahwa core semua tampaknya memiliki kecepatan daripada kombinasi yang berbeda. Mengapa demikian? T&J Super Pengguna hari ini memiliki jawaban untuk pertanyaan pembaca yang penasaran.
Sesi Tanya Jawab hari ini datang kepada kami berkat SuperUser-subdivisi Stack Exchange, pengelompokan situs web Q&A berbasis komunitas.
Pertanyaan
Pembaca SuperUser Jamie ingin tahu mengapa core CPU semua memiliki kecepatan yang sama, bukan yang berbeda:
Secara umum, jika Anda membeli komputer baru, Anda akan menentukan prosesor mana yang akan dibeli berdasarkan beban kerja yang diharapkan untuk komputer. Performa dalam gim video cenderung ditentukan oleh kecepatan inti tunggal, sedangkan aplikasi seperti pengeditan video ditentukan oleh jumlah inti. Dalam hal apa yang tersedia di pasar, semua CPU tampaknya memiliki kecepatan yang kira-kira sama dengan perbedaan utama menjadi lebih banyak untaian atau lebih banyak inti.
Sebagai contoh:
- Intel Core i5-7600K, frekuensi basis 3,80 GHz, 4 core, 4 thread
- Intel Core i7-7700K, frekuensi basis 4,20 GHz, 4 core, 8 thread
- AMD Ryzen 5 1600X, frekuensi dasar 3,60 GHz, 6 core, 12 thread
- AMD Ryzen 7 1800X, frekuensi dasar 3,60 GHz, 8 core, 16 utas
Mengapa kita melihat pola peningkatan core ini, namun semua core memiliki kecepatan clock yang sama? Mengapa tidak ada varian dengan kecepatan clock yang berbeda? Misalnya, dua inti "besar" dan banyak inti kecil.
Alih-alih, katakanlah, empat inti pada 4,0 GHz (yaitu 4 × 4 GHz, maksimum 16 GHz), bagaimana dengan CPU dengan dua inti berjalan pada 4,0 GHz dan empat core berjalan pada 2,0 GHz (yaitu 2 × 4,0 GHz + 4 × 2,0 GHz, maksimum 16 GHz)? Apakah opsi kedua sama baiknya pada beban kerja berulir tunggal, tetapi berpotensi lebih baik pada beban kerja berulir banyak?
Saya mengajukan ini sebagai pertanyaan umum dan tidak secara khusus berkaitan dengan CPU yang tercantum di atas atau tentang satu beban kerja tertentu. Saya hanya ingin tahu mengapa polanya seperti apa.
Mengapa semua core CPU memiliki kecepatan yang sama dan bukannya yang berbeda?
Jawabannya
Kontributor SuperUser bwDraco memiliki jawaban untuk kita:
Ini dikenal sebagai multi-processing heterogen (HMP) dan secara luas diadopsi oleh perangkat mobile. Dalam perangkat berbasis ARM yang menerapkan big.LITTLE, prosesor berisi inti dengan kinerja dan profil daya yang berbeda, yaitu beberapa core berjalan cepat tetapi menarik banyak daya (arsitektur lebih cepat dan / atau jam lebih tinggi) sementara yang lain hemat energi tetapi lambat ( arsitektur lebih lambat dan / atau jam lebih rendah). Ini berguna karena penggunaan daya cenderung meningkat secara tidak proporsional ketika Anda meningkatkan kinerja setelah Anda melewati titik tertentu. Idenya di sini adalah untuk mendapatkan kinerja ketika Anda membutuhkannya dan masa pakai baterai ketika Anda tidak membutuhkannya.
Pada platform desktop, konsumsi daya jauh dari masalah, jadi ini tidak benar-benar diperlukan. Sebagian besar aplikasi berharap setiap inti memiliki karakteristik kinerja yang serupa, dan proses penjadwalan untuk sistem HMP jauh lebih kompleks daripada penjadwalan untuk sistem multi-pemrosesan (SMP) simetris tradisional (secara teknis, Windows 10 memiliki dukungan untuk HMP, tetapi terutama ditujukan untuk seluler perangkat yang menggunakan ARM big.LITTLE).
Juga, sebagian besar prosesor desktop dan laptop saat ini tidak secara termal atau elektrik terbatas pada titik di mana beberapa core perlu berjalan lebih cepat daripada yang lain, bahkan untuk semburan singkat. Kami pada dasarnya telah menabrak dinding pada seberapa cepat kita dapat membuat core individu, jadi mengganti beberapa core dengan yang lebih lambat tidak akan membiarkan core yang tersisa berjalan lebih cepat.
Walaupun ada beberapa prosesor desktop yang memiliki satu atau dua core yang mampu berjalan lebih cepat daripada yang lain, kemampuan ini saat ini terbatas pada prosesor Intel yang sangat canggih (dikenal sebagai Turbo Boost Max Technology 3.0) dan hanya melibatkan sedikit peningkatan dalam kinerja untuk core yang dapat berjalan lebih cepat.
Meskipun tentu saja mungkin untuk merancang prosesor x86 tradisional dengan baik core besar, cepat dan core lebih kecil, lebih lambat untuk mengoptimalkan beban kerja yang sangat berulir, ini akan menambah kerumitan yang cukup besar pada desain prosesor dan aplikasi tidak mungkin mendukungnya dengan baik..
Ambil prosesor hipotetis dengan dua inti Kaby Lake (generasi ke-7) dan delapan inti Goldmont (Atom) yang lambat. Anda akan memiliki total 10 core, dan beban kerja berulir sangat dioptimalkan untuk prosesor jenis ini dapat melihat peningkatan kinerja dan efisiensi dibandingkan prosesor Kaby Lake quad-core yang normal. Namun, tipe-tipe core yang berbeda memiliki tingkat kinerja yang sangat berbeda, dan core yang lambat bahkan tidak mendukung beberapa instruksi yang didukung oleh core cepat, seperti AVX (ARM menghindari masalah ini dengan mensyaratkan core besar dan kecil untuk mendukung instruksi yang sama ).
Sekali lagi, sebagian besar aplikasi multi-threaded berbasis Windows mengasumsikan bahwa setiap inti memiliki tingkat kinerja yang sama atau hampir sama dan dapat menjalankan instruksi yang sama, sehingga jenis asimetri ini cenderung menghasilkan kinerja yang kurang ideal, bahkan mungkin lumpuh jika menggunakan instruksi yang tidak didukung oleh inti yang lebih lambat. Walaupun Intel dapat memodifikasi core lambat untuk menambahkan dukungan instruksi tingkat lanjut sehingga semua core dapat menjalankan semua instruksi, ini tidak akan menyelesaikan masalah dengan dukungan perangkat lunak untuk prosesor heterogen.
Pendekatan berbeda untuk desain aplikasi, lebih dekat dengan apa yang mungkin Anda pikirkan dalam pertanyaan Anda, akan menggunakan GPU untuk akselerasi bagian aplikasi yang sangat paralel. Ini dapat dilakukan dengan menggunakan API seperti OpenCL dan CUDA. Sedangkan untuk solusi satu-chip, AMD mempromosikan dukungan perangkat keras untuk akselerasi GPU di APU-nya, yang menggabungkan CPU tradisional dan GPU terintegrasi berkinerja tinggi ke dalam chip yang sama, seperti Arsitektur Sistem Heterogen, meskipun ini belum melihat banyak penyerapan industri di luar dari beberapa aplikasi khusus.
Punya sesuatu untuk ditambahkan ke penjelasan? Berbunyi dalam komentar. Ingin membaca lebih banyak jawaban dari pengguna Stack Exchange yang mengerti teknologi lainnya? Lihat utas diskusi lengkap di sini.
Kredit Gambar: Mirko Waltermann (Flickr)