Apa Sih Perbedaan Antara CPU dan GPU Pada Sistem Komputer
Seringkali Kamu mendengar tentang CPU dan GPU dalam sitem komputer, tapi pernahkah kamu tau apa sih sebenarnya mereka itu? Dan apa sih pebedaan antara CPU dan GPU?
Secara sederhananya Central Processing Unit atau biasa yang disebut dengan CPU adalah prosesor umum yang dirancang untuk melakukan berbagai tugas. Sedangkan Graphics Processing Unit atau yang disebut GPU adalah unit pemrosesan khusus dengan kemampuan komputasi matematis yang ditingkatkan, ideal untuk grafik komputer.
Apa itu Central Processing Unit (CPU)?
Inti dari setiap komputer yang ada adalah Central Processing Unit atau CPU. CPU menangani tugas pemrosesan inti di komputer, komputasi literal yang mendorong setiap tindakan dalam sistem komputer.
Komputer bekerja melalui pemrosesan data biner, atau satu dan nol. Untuk menerjemahkan informasi itu ke dalam perangkat lunak atau software, grafik, animasi, dan setiap proses lain yang dijalankan di komputer, angka tersebut dan nol harus bekerja melalui struktur logis CPU. Pemrosesan termasuk aritmatika dasar, fungsi logika (AND, OR, NOT) dan operasi input dan output. CPU adalah otaknya, mengambil informasi, menghitungnya, dan memindahkannya ke mana ia harus berpindah tempat.
Komponen Standar CPU
Dalam setiap CPU, ada beberapa komponen standar, yang meliputi:
Core(s) :
Arsitektur pusat CPU adalah core, di mana semua komputasi dan logika terjadi. Inti atau core biasanya berfungsi melalui apa yang disebut instruction cycle atau siklus instruksi, di mana instruksi ditarik dari memori (fetch), diterjemahkan ke dalam bahasa pemrosesan (decode), dan dieksekusi melalui logical gates dari core tersebut (execute). Awalnya, semua CPU adalah single-core, tetapi dengan menjamurnya CPU multi-core, maka terjadilah peningkatan pemrosesan yang cukup besar.
Cache :
Cache adalah memori super cepat yang dibangun di dalam CPU atau di motherboard khusus CPU untuk memfasilitasi akses cepat ke data yang sedang digunakan CPU. Karena CPU bekerja sangat cepat untuk menyelesaikan jutaan kalkulasi per detik, mereka memerlukan memori yang sangat cepat untuk melakukannya, memori yang jauh lebih cepat daripada penyimpanan hard drive atau bahkan RAM tercepat.
Dalam konfigurasi CPU apa pun, Anda akan melihat beberapa pengaturan cache L1, L2, dan/atau L3, dengan L1 menjadi yang tercepat dan L3 yang paling lambat. CPU akan menyimpan informasi yang paling dibutuhkan segera di L1, dan saat data kehilangan prioritas, ia akan pindah ke L2, lalu L3, dan kemudian keluar ke RAM atau hard disk.
Memory Management Unit (MMU) :
MMU mengontrol pergerakan data antara CPU dan RAM selama siklus instruksi.
CPU Clock and Control Unit :
Setiap CPU bekerja untuk menyinkronkan tugas pemrosesan melalui Clock. CPU Clock menentukan frekuensi di mana CPU dapat menghasilkan daya listrik, cara utamanya memproses dan mentransmisikan data, dan seberapa cepat CPU dapat bekerja. Jadi, semakin tinggi clock rate CPU, semakin cepat ia akan berjalan dan tugas-tugas intensif prosesor dapat diselesaikan dengan lebih cepat.
Semua komponen ini bekerja sama untuk menyediakan ruang lingkungan di mana paralelisme tugas berkecepatan tinggi dapat terjadi. Saat Clock CPU mendorong aktivitas, Core CPU beralih dengan cepat di antara ratusan tugas berbeda per detik. Itulah mengapa komputer Anda dapat menjalankan banyak program, menampilkan desktop, terhubung ke internet, dan banyak lagi semuanya pada saat yang bersamaan.
CPU bertanggung jawab atas semua aktivitas di komputer. Saat Anda menutup atau membuka program, CPU harus mengirimkan instruksi yang benar untuk menarik informasi dari hard drive dan menjalankan kode yang dapat dieksekusi dari RAM. Saat memainkan game, CPU menangani pemrosesan informasi grafis untuk ditampilkan di layar. Saat mengkompilasi kode, CPU menangani semua komputasi dan matematika yang terlibat.
Apa itu Graphics Processing Unit (GPU)?
Salah satu tugas pemrosesan grafis, umumnya dianggap sebagai salah satu tugas pemrosesan yang lebih kompleks untuk CPU. Memecahkan kerumitan itu telah menghasilkan teknologi dengan aplikasi yang jauh melampaui grafik.
Tantangan dalam memproses grafik adalah bahwa grafik membutuhkan matematika kompleks untuk dirender, dan matematika kompleks tersebut harus menghitung secara paralel agar berfungsi dengan benar. Misalnya, video game yang secara grafis intens mungkin berisi ratusan atau ribuan poligon di layar pada waktu tertentu, masing-masing dengan gerakan, warna, pencahayaan, dan sebagainya. CPU tidak dibuat untuk menangani beban kerja semacam itu. Di situlah unit pemrosesan grafis (GPU) ikut bermain.
GPU memiliki fungsi yang mirip dengan CPU: mereka mengandung Core, memori, dan komponen lainnya. Alih-alih menekankan peralihan konteks untuk mengelola banyak tugas, akselerasi GPU menekankan pemrosesan data paralel melalui sejumlah besar Core.
Core GPU biasanya kurang kuat secara individual daripada Core CPU. GPU juga biasanya memiliki interoperabilitas yang lebih sedikit dengan API perangkat keras yang berbeda dan memori sendiri. Di mana mereka mendorong sejumlah besar data yang diproses secara paralel. Alih-alih beralih melalui banyak tugas untuk memproses grafik, GPU hanya mengambil instruksi batch dan mendorongnya keluar dengan volume tinggi untuk mempercepat pemrosesan dan tampilan.
Apa Kelebihan dan Kekurangan CPU?
Sementara GPU semakin menjadi pilihan untuk pemrosesan kinerja tinggi, ada beberapa alasan mengapa sebagian besar PC modern masih menggunakan CPU.
Beberapa keunggulan arsitektur CPU antara lain sebagai berikut:
Fleksibilitas :
CPU fleksibel dan tangguh dan dapat menangani berbagai tugas di luar pemrosesan grafis. Karena kemampuan pemrosesan serialnya, CPU dapat melakukan banyak tugas di beberapa aktivitas di komputer Anda. Karena itu, CPU yang kuat dapat memberikan kecepatan lebih untuk penggunaan komputer biasa daripada GPU.
Kekuatan Kontekstual :
Dalam situasi tertentu, CPU akan mengungguli GPU. Misalnya, CPU secara signifikan lebih cepat saat menangani beberapa jenis operasi sistem yang berbeda (memori akses acak, operasi komputasi rentang menengah, mengelola sistem operasi, operasi I/O).
Presisi :
CPU dapat bekerja pada persamaan matematika kelas menengah dengan tingkat presisi yang lebih tinggi. CPU dapat menangani kedalaman dan kompleksitas komputasi dengan lebih mudah, menjadi semakin penting untuk aplikasi tertentu.
Akses ke Memori :
CPU biasanya berisi memori cache lokal yang signifikan, yang berarti mereka dapat menangani serangkaian instruksi linier yang lebih besar dan, karenanya, sistem dan operasi komputasi yang lebih kompleks.
Biaya dan Ketersediaan :
CPU lebih mudah tersedia, diproduksi lebih luas, dan hemat biaya untuk penggunaan konsumen dan perusahaan. Selain itu, produsen perangkat keras masih membuat ribuan desain motherboard untuk menampung berbagai macam CPU.
CPU juga memiliki beberapa kelemahan saat berhadapan dengan GPU:
Pemrosesan Paralel :
CPU tidak dapat menangani pemrosesan paralel seperti GPU, sehingga tugas besar yang memerlukan ribuan atau jutaan operasi identik akan mencekik kapasitas CPU untuk memproses data.
Evolusi Lambat :
Mengembangkan CPU yang lebih kuat pada akhirnya akan melambat, yang berarti lebih sedikit peningkatan dari tahun ke tahun. Perluasan CPU multi-core telah mengurangi hal ini.
Kompatibilitas :
Tidak semua sistem atau perangkat lunak kompatibel dengan setiap prosesor. Misalnya, aplikasi yang ditulis untuk Prosesor Intel x86 tidak akan berjalan pada prosesor ARM. Ini bukan masalah karena lebih banyak produsen komputer menggunakan set prosesor standar (lihat perpindahan Apple ke prosesor Intel), tetapi masih menimbulkan masalah antara PC dan perangkat seluler.
Apa Kelebihan dan Kekurangan GPU?
Sementara CPU lebih banyak digunakan untuk komputasi umum, GPU telah menemukan ceruk yang berkembang untuk pengguna dan organisasi yang ingin menerapkan komputasi kinerja tinggi untuk masalah unik.
Beberapa keunggulan GPU antara lain sebagai berikut:
Throughput Data Tinggi :
GPU terdiri dari ratusan core yang melakukan operasi yang sama pada beberapa item data secara paralel. Karena itu, GPU dapat mendorong volume besar data yang diproses melalui beban kerja, mempercepat tugas-tugas tertentu di luar apa yang dapat ditangani oleh CPU.
Komputasi Paralel Besar -besaran :
Sementara CPU unggul dalam komputasi yang lebih kompleks, GPU unggul dalam penghitungan ekstensif dengan banyak operasi serupa, seperti matriks komputasi atau pemodelan sistem yang kompleks.
Kedua keunggulan inilah yang menjadi alasan utama terciptanya GPU karena keduanya berkontribusi pada pemrosesan grafis yang kompleks. Namun, struktur GPU dengan cepat mengarahkan pengembang dan insinyur untuk menerapkan teknologi GPU ke aplikasi berkinerja tinggi lainnya:
Penambangan Bitcoin :
Proses penambangan bitcoin melibatkan penggunaan daya komputasi untuk memecahkan hash kriptografi yang kompleks. Meningkatnya ekspansi Bitcoin dan sulitnya menambang bitcoin telah menyebabkan tambang bitcoin menerapkan GPU untuk menangani volume besar data kriptografi dengan harapan menghasilkan bitcoin.
Machine Learning:
Jaringan saraf, terutama yang digunakan untuk algoritma pembelajaran mendalam, berfungsi melalui kemampuan untuk memproses sejumlah besar data pelatihan melalui simpul operasi yang lebih kecil. GPU untuk pembelajaran mesin telah muncul untuk membantu memproses kumpulan data besar yang digunakan untuk melatih algoritme pembelajaran mesin dan AI.
Analytics dan Data Science:
GPU secara unik cocok untuk membantu program analitik memproses sejumlah besar data dasar dari berbagai sumber. Selain itu, GPU yang sama ini dapat mendukung komputasi yang diperlukan untuk kumpulan data mendalam yang terkait dengan bidang penelitian seperti ilmu kehidupan (pengurutan genom).
Beberapa kekurangan GPU antara lain sebagai berikut:
Multitasking :
GPU tidak dibuat untuk multitasking, sehingga tidak berdampak banyak di area seperti komputasi tujuan umum.
Biaya :
Meskipun harga GPU telah sedikit menurun selama bertahun-tahun, harganya masih jauh lebih mahal daripada CPU. Biaya ini meningkat lebih banyak ketika berbicara tentang GPU yang dibuat untuk tugas-tugas tertentu seperti penambangan atau analitik.
Kekuatan dan Kompleksitas :
Sementara GPU dapat menangani komputasi paralel dan throughput data dalam jumlah besar, mereka kesulitan saat persyaratan pemrosesan menjadi lebih kacau. Percabangan jalur logika, operasi sekuensial, dan pendekatan komputasi lainnya menghambat efektivitas GPU.