Dengan menurunkan biaya silikon dan meningkatnya kebutuhan konsumen, produsen tampaknya mendorong satu dari dua hal: kecepatan jam dan / atau jumlah inti. Dengan perkembangan yang terjadi, sepertinya kecepatan clock prosesor tidak lagi naik, tetapi jumlah core prosesor.
Saya ingat hanya beberapa tahun yang lalu, saya memiliki prosesor Pentium 4 single-core cepat yang bagus. Maju cepat ke hari ini, dan saya tidak berpikir Anda bahkan dapat membeli prosesor single-core (belum lagi meningkatnya prosesor multicore bahkan di ponsel ). Cara berjalannya, kita mungkin menemukan komputer dengan ratusan inti dalam beberapa tahun (dan saya tahu banyak sistem operasi sudah mendukungnya).
Apakah lebih bermanfaat bagi kinerja keseluruhan sistem untuk meningkatkan kecepatan clock, atau meningkatkan jumlah core? Asumsikan kita masuk ke ratusan core yang semuanya berjalan bersama, atau clock speed sepuluh kali lebih tinggi dari yang kita miliki saat ini (terlepas dari apakah secara fisik itu mungkin atau tidak).
Apa saja contoh proses umum (misalnya enkripsi, kompresi file, pengeditan gambar / video) yang paling diuntungkan dari satu atau yang lain? Apakah ada beberapa proses yang bisa , tetapi saat ini tidak (karena alasan teknis) dipercepat dengan meningkatkan paralelisme mereka?
Asumsikan prosesor hipotetis memiliki desain inti yang sama persis (ukuran kata, lebar bit alamat, ukuran bus memori, cache, dll ...), jadi satu-satunya variabel di sini adalah kecepatan jam dan jumlah inti. Dan lagi, saya tidak berbicara tentang satu, dua, atau bahkan empat core - bayangkan puluhan hingga ratusan.
Jawaban:
Ada dua situasi dasar yang harus dipertimbangkan:
Prosesor ini digunakan dengan komputer yang hanya melakukan perhitungan untuk satu program
Prosesor ini digunakan untuk beberapa program yang berjalan secara bersamaan
Situasi pertama adalah di mana 'kecepatan' prosesor lebih penting, karena pengguna menginginkan kemampuan untuk membuat perhitungan dengan cepat dan efisien. Situasi ini biasanya untuk pemrosesan intensif perhitungan yaitu menghitung bilangan prima untuk enkripsi / dekripsi
Yang kedua adalah di mana banyak core berguna, karena setiap program dapat ditugaskan ke inti yang terpisah, sehingga membebaskan setiap program dari 'neck-necking' satu sama lain. Di dunia saat ini, rata-rata pengguna akan menggunakan komputer mereka untuk beberapa program sekaligus, sehingga membuat pemrosesan multi-core menjadi hal yang diinginkan.
Namun, multi-core ! = Kecepatan lebih tinggi atau kinerja lebih tinggi dalam semua kasus. Karena sebagian besar program ditulis untuk pemrosesan inti tunggal * , kecepatan clock masih penting untuk dilihat. Kombinasi keduanya harus dipertimbangkan (bersama dengan banyak faktor lain juga) .
* Ada beberapa program, dan semoga segera akan dibuat lebih banyak, di mana beberapa core dapat digunakan pada saat yang sama. Masa depan perangkat lunak ditemukan dengan " Pemrograman Paralel " ini:
sumber
Saya pribadi berpikir bahwa jumlah inti adalah jalan yang harus ditempuh. Pengembangan perangkat lunak telah bergeser ke sistem jaringan sehingga tidak lagi sumber daya lokal satu-satunya sumber daya yang tersedia untuk Anda. Faktor terpenting dalam cara Anda bekerja sekarang adalah jaringan tempat Anda menjadi bagiannya.
Perhatikan pergeseran ke broadband seluler, konektivitas konstan, akses jarak jauh, dll. Dengan itu, konektivitas konstan membutuhkan masa pakai baterai. Meskipun masih bisa diperdebatkan faktor CPU mana yang lebih optimal untuk masa pakai baterai (Anda sudah mendapatkan persamaan optimasi klasik dari nilai kerja vs waktu), saya pribadi berpikir, jika Anda harus memilih satu, saya akan memilih lebih banyak core.
Intel sekarang memungkinkan Anda untuk memberi daya pada permintaan. Meskipun tidak seoptimal mungkin tanpa inti untuk tidur, memiliki opsi untuk menggunakan lebih banyak inti memberikan Anda fleksibilitas untuk menjalankan lebih banyak aplikasi dari platform perangkat keras yang sama.
sumber
Seperti yang disebutkan ChrisF dalam komentar, itu tergantung. Tetapi karena jawaban seperti itu tidak benar-benar jawaban, saya akan mencoba membuat beberapa skenario di mana satu akan lebih menguntungkan daripada yang lain:
Dalam sebagian besar proses umum yang Anda sebutkan, jumlah inti tidak akan terlalu berarti, karena sebagian besar pekerjaan dilakukan dalam satu utas yang hanya dapat dijalankan pada satu inti (pada satu waktu). Untuk proses seperti itu, satu inti tetapi sangat kuat akan berkinerja lebih baik daripada beberapa inti yang lebih lambat. Enkripsi dan kompresi file dapat menjadi pengecualian untuk ini, tetapi sangat tergantung pada algoritma apa yang digunakan, dan apakah mereka dapat dieksekusi secara paralel.
Namun, Anda telah melupakan salah satu tugas paling umum yang dilakukan pada komputer saat ini: menjelajah. Beberapa browser populer membuka setiap tab dalam proses yang terpisah (Chrome menjadi satu-satunya yang saya yakin melakukan ini, karena ini adalah yang saya gunakan), yang berarti bahwa jika Anda memiliki empat tab terbuka pada sistem quad-core, setiap jendela penelusuran dapat (secara teori) memiliki inti "untuk dirinya sendiri" (mengabaikan utas dan hal-hal OS), dan secepat jika tidak ada tab browser lain / jendela terbuka. Bagi orang yang menjelajah dengan banyak tab terbuka pada satu waktu, ini bisa menjadi peningkatan kinerja yang serius tanpa harus membangun core CPU yang sangat cepat.
Kunci untuk mengetahui apakah sistem multi-core dengan core lebih lambat akan lebih cepat daripada sistem single-core dengan core cepat adalah mengetahui apakah Anda akan melakukan banyak hal yang berbeda secara bersamaan atau beberapa, tetapi hal-hal yang berat . Karena ini akan sangat berbeda dari pengguna ke pengguna, demikian juga jawaban untuk pertanyaan Anda.
Jawaban lainnya juga memberikan beberapa poin penting:
sumber
Pertama-tama, kecepatan single-core belum terlalu turun. Satu-satunya alasan jajaran Sandy Bridge Intel saat ini tidak berada di puncak Pentium 4 single-core dalam hal megahertz adalah bahwa Intel tidak memiliki kompetisi, sehingga mereka tidak perlu memaksakan itu.
Kedua, kecepatan clock bukanlah segalanya, bahkan pada inti tunggal. Saat melihat kinerja aplikasi, lagi-lagi terhadap Pentium 4, jajaran Intel saat ini sekitar 50% lebih cepat per siklus clock . Alasan mengapa Sandy Bridge lebih cepat per siklus clock daripada Pentium 4 (Prescott menjadi inkarnasi terakhir) sangat beragam, tetapi memiliki pre-fetching pengontrol memori cerdas, memiliki pengontrol memori pada die yang sama dengan CPU dan Instruction Level Parallelism (ILP) yang lebih tinggi berkontribusi untuk itu.
Paralelisme level instruksi pada dasarnya berarti bahwa prosesor melihat instruksi dan dependensinya dan jika dua instruksi tidak tergantung satu sama lain, CPU dapat mulai memuat data untuk keduanya pada saat yang sama dan mungkin menyusun ulang instruksi, data untuk salah satu mereka tiba sebelum yang lain.
Ketiga, beberapa aplikasi memang mendapat manfaat sangat baik dari banyak core. Misalnya Photoshop hampir selalu lebih suka core lebih dari frekuensi operasi. Yaitu. bahkan quad-core lambat hampir selalu mengalahkan chip dual-core, dan setiap dual-core mengalahkan chip single-core. Tri-core adalah tas campuran, mereka sering menang atas dual-core, tetapi tidak selalu.
Umumnya aplikasi yang melakukan jenis operasi yang sama untuk banyak set data yang berbeda paling diuntungkan dari paralelisme. Misalnya kompresi video atau mengedit foto sering dapat diparalelkan dengan mudah. Di sisi lain, permainan komputer terbukti sulit diparalelkan. Grafik pada mereka tentu saja berparalel dengan sangat baik, tetapi bagian itu dijalankan pada GPU, bukan CPU. Fisika yang tersisa, pembukuan dunia game, dan AI tidak paralel dengan mudah.
sumber
Sebenarnya hari ini faktor yang paling penting bukanlah kecepatan clock prosesor, ada banyak fitur baru yang diluncurkan karena "faktor pembanding" ini tidak dapat digunakan lagi.
Hari ini Anda harus melihat banyak faktor untuk menyimpulkan tentang kinerja prosesor. Hal-hal seperti:
Sebenarnya, ketika saya ingin membandingkan kecepatan prosesor saya berkonsultasi Passmark dari Notebookcheck tabel patokan. Benchmark, menurut saya, adalah faktor terbaik untuk mengukur dan membandingkan kecepatan dan kinerja prosesor.
sumber