Core dan Thread pada CPU

Masih bingung mau beli CPU apa?, apakah yang banyak core dan threadnya, yang banyak core sedikit thread nya atau yang single core dengan banyak thread ?. Nah untuk menjawab kebingungan-kebingungan semacam itu ada baiknya kita pahami dulu apa sih core dan thread pada CPU ?


ISI

Apa itu Core Prosesor  

Single Core Vs Multicore 

Thread dan Multi-thread

Hubungan antara core dan thread 

Mana lebih baik, lebih banyak core atau thread ?


 Apa itu Core Prosesor

Core CPU, adalah inti dari CPU secara fisik, merupakan pusat dari pemrosesan seluruh instruksi. di awal pembuatannya sebuah CPU hanya memiliki 1 core disebut dengan single core.  Berikutnya muncul teknologi untuk meningkatkan performa single core tersebut yaitu Hyperthreading. teknologi ini memungkinkan 1 core bisa menangani lebih banyak tugas di satu waktu  dengan mengefisienkan waktu transfer data dengan waktu pemrosesesan, sehingga seolah-olah 2 core yang sedang bekerja. 

Seiring dengan perkembangan teknologi dan meningkatnya kebutuhan user akan  efisiensi komputasi maka satu core tidak lagi relevan, maka dibuatlah prosesor dengan banyak core yang dikemas dalam satu unit fisik yang dikenal dengan Multicore Processor. 

Berikut beberapa contoh multicore prosesor: Prosesor dengan dua inti disebut prosesor dual-core; dengan empat core disebut quad-core; enam inti, heksacore; delapan core dinamai octa-core. Saat ini, sebagian besar CPU konsumen memiliki fitur antara dua dan dua belas core. CPU workstation dan server dapat menampilkan sebanyak 48. multicore processor tersebut ada yang didesain dengan hyperthreading ada juga tanpa hyperthreading. 

Single Core Vs Multicore 

CPU dengan single core hanya akan dapat memproses satu tugas dalam satu waktu. ketika banyak tugas/program berjalan serentak maka CPU single core akan membagi semua program dalam potongan kecil menjalankan beberapa program secara bersamaan dengan pemotongan waktu.  

Tidak seperti CPU single core, CPU Multicore mengerjalan tugas komputasi membagi tugas menjadi sub-bagian, dan prosesor multicore (beberapa inti CPU) menjalankan setiap sub-tugas secara bersamaan. Cara ini dikenal sebagai eksekusi paralel karena semua sub-tugas dieksekusi secara paralel, dan itu adalah berapa banyak tugas yang dapat diproses pada saat yang sama sehingga waktu penyelesaian tugas menjadi lebih singkat.

Thread dan Multithread 

Thread dalam terminologi  pemrograman adalah serangkaian instruksi terprogram yang diproses oleh CPU. Setiap program memiliki setidaknya satu thread, tetapi ketika menjalankan beberapa program sekaligus atau menjalankan sebuah program yang kompleks , maka instruksi-instruksi program tersebut akan dibagi menjadi beberapa thread agar bisa diproses dalam waktu bersamaan. thread akan dikelola oleh Scheduler yang merupakan bagian standar dari sistem operasi inilah yang disebut dengan Multithreading.  

Sedangkan Pada CPU, thread bisa dianalogikan seperti rangkaian antrean tugas yang menunjukkan seberapa besar kepasitas sebuah prosesor untuk menyelesaikan banyak instruksi sekaligus.Instruksi-instruksi dalam program yang sedang berjalan akan dimasukkan dalam jalur-jalur antrean tersebut dimana prosesnya diatur oleh system operasi.  

Saat ini CPU didesain dengan 1 core bisa memiliki 2 thread.  CPU 1 core dengan 2 thread berarti mampu memproses tugas dengan 2 jalur antrean, CPU 2 core dengan 4 thread akan mampu menangani 4 jalur antrean tugas, dan seterusnya. semakin banyak core dan thread berarti semakin cepat suatu processor bekerja.

Semua tugas akan diproses secara simultan sehingga akan diperoleh efisiensi waktu dalam pengerjaan setiap siklus proses, tugas yang dikerjakan oleh 1 prosesor seolah-olah dikerjakan  oleh 2 prosesor , itulah sebabnya thread bisa dikatakan virtual core/logic core dalam sebuah prosesor. 

Hubungan antara core dan thread

Untuk mempermudah pemahaman mengenai hubungan kerjasama antara core dan thread diperlukan sebuah analogi 

Core dapat kita analogikan sebagai pekerja di sebuah pabrik, Thread adalah sederet bahan baku  yang akan diproses yang berada pada conveyor (ban berjalan) 

Seorang pekerja (core) akan mengambil bahan baku dari satu jalur conveyor (thread) dan memprosesnya. jika pekerja mampu memprosesnya dengan cepat sementara bahan baku masih belum datang, maka si pekerja menganggur. ini adalah analogi dari prosesor 1 core 1 thread

jika satu pekerja menangani dua jalur conveyor, ketika dia mampu menyelesaikan 1 tugas dari conveyor pertama dengan cepat maka waktu tunggu untuk bahan baku berikutnya pada conveyor pertama akan digunakan untuk memproses bahan baku pada conveyor kedua, sehingga tidak ada waktu menganggur tapi dampaknya beban kerja si pekerja semakin meningkat. ini adalah analogi dari prosesor 1 core dengan 2 thread (hyperthreading) sehingga seolah-olah 2 prosesor yang bekerja. Dampaknya prosesor mungkin akan lebih cepat panas.




jika kita menambahkan 2 pekerja (core) untuk menangani 2 conveyor (thread)  hasilnya akan sama dengan yang diatas tapi beban kerja masing-masing pekerja lebih ringan. Lebih baik lagi jika 2 pekerja (core) masing-masing mampu menangani 2 thread maka prosesnya semakin cepat dan semakin efisien. ini adalah analogi untuk multicore processor dengan teknologi Hyper-threading.



Dari analogi tersebut dapat kita simpulkan:

1 core tanpa hyperthreading ( total 1 thread)

1 core dengan hyperthreading ( total 2 thread)

2 core tanpa hyperthreading (total 2 thread)

2 core dengan hyperthreading (total 4 thread)

Sehingga semakin banyak core dan thread (multicore dengan hyperthreading) maka kinerja CPU akan semakin cepat dan efisien

Mana lebih baik, lebih banyak core atau thread ?

Jawabannya relatif, tergantung sebuah CPU digunakan untuk apa. Jika sebuah CPU lebih banyak digunakan untuk Gaming atau 3D rendering  yang merupakan aplikasi multi-thread, perbedaan jumlah core dan thread akan jelas terasa, tapi jika anda menggunakan aplikasi yang tidak dioptimalkan untuk mendukung multi-threading, atau aplikasi-aplikasi ringan seperti office perbedaan jumlah core dan thread tidak akan terasa, jumlah core dan thread yang banyak tidak banyak berarti, kinerjanya akan beda-beda tipis,  2 core 2 thread saja sudah mencukupi.

Jadi jika ingin menentukan pilihan CPU mana yang seharusnya dibeli, lebih baik terlebih dahulu mempertimbangkan tujuan penggunaannya, sehingga penggunaan budget menjadi lebih efisien.








Komentar