Jawaban:
Banyak prosesor membiarkan komputer Anda melakukan dua hal sekaligus secara bersamaan (alih-alih hanya melakukan dua hal sekaligus, tetapi sebenarnya hanya menukar antar tugas dengan sangat cepat).
Beberapa core adalah sama. Keuntungan dari beberapa core dibandingkan beberapa prosesor adalah mereka berbagi beberapa bit CPU, misalnya cache level kedua, yang memungkinkan mereka bekerja lebih efisien jika mereka memiliki beberapa data bersama. Ini membuat mereka jauh lebih murah untuk diproduksi. Sebuah CPU dual-core tunggal juga membutuhkan ruang kurang dari dua CPU single-core, yang merupakan faktor penting hari ini dengan semua orang pindah ke laptop.
Mungkin ada beberapa perbedaan kinerja, tetapi tidak ada yang cenderung Anda perhatikan.
Anda harus mulai dengan artikel Multi-core dan Multithread di Wikipedia.
Ya, ini tentang penskalaan horizontal, bukan vertikal. Di masa lalu mereka digunakan untuk membuat CPU lebih cepat dan lebih cepat. Seiring waktu, kecepatan CPU meningkat dari hanya beberapa megahertz ke kecepatan super berkisar hingga 3 gigahertz. Namun, ketika kecepatan 3 gigahertz tercapai, pembuat CPU telah menemukan batas seberapa jauh mereka dapat mendorong kecepatan pada satu inti CPU.
Sementara perlombaan cepat ini terjadi, untuk aplikasi yang membutuhkan lebih banyak daya (seperti server dan peternakan render CGI), motherboard CPU multi-socket yang diperkenalkan. Ini memungkinkan lebih dari satu CPU (biasanya dua) untuk ditempatkan pada motherboard. Sistem operasi yang dapat memanfaatkan banyak CPU sekaligus dapat menjalankan perangkat lunak yang memanfaatkan fitur ini dengan mendistribusikan beban lebih dari kedua CPU tersebut, sehingga meningkatkan kecepatan eksekusi.
Maju cepat ke hari ini. Batas kecepatan CPU agak tercapai dan bukannya menskalakan secara vertikal (membuatnya lebih cepat), produsen CPU mulai skala secara horizontal dengan menempatkan beberapa inti pada satu chip. Saat ini chip dual core sangat umum dan segera quad core akan menjadi standar. Sekarang bayangkan Anda menempatkan dua quad core pada satu motherboard. Ini berarti bahwa sistem operasi akan memiliki akses ke 8 CPU, semua berjalan sekitar 3 gigahertz.
Selain CPU multi-core ada juga CPU dual core 'palsu' yang menggunakan teknologi yang dikenal sebagai 'hyper-threading'. Dengan hyper-threading, CPU mengemulasi keberadaan dua CPU ketika pada kenyataannya hanya ada satu inti aktual. CPU tahu bagaimana memanfaatkan apa yang biasanya menjadi down time dengan menjadwalkan instruksi dengan cara tertentu, mendapatkan lebih banyak efisiensi.
Dari perspektif pengembangan perangkat lunak, ada perbedaan yang relatif kecil.
Beberapa aplikasi multi-threaded yang ditulis secara tidak sengaja dapat secara tidak sengaja bekerja pada prosesor multi-core, tetapi tidak pada motherboard multi-prosesor, tapi saya tidak akan kehilangan terlalu banyak tidur karena itu, karena ... yah ... kita berbicara secara tidak benar perangkat lunak tertulis.
Perbedaan utama antara dua skenario untuk jumlah total yang sama dari core yang tersedia (misalnya, prosesor 1x 4-core vs prosesor 2x 2-core) adalah bahwa dalam kasus skenario multi-prosesor biasanya ada memori agregat yang lebih besar. -bandwidth. Ini berarti bahwa untuk setiap beban kerja yang intensif memori Anda mungkin lebih baik dengan yang terakhir. Perhatikan bahwa penguncian primitif sebenarnya mungkin sedikit lebih lambat (tergantung pada implementasi perangkat keras) sehingga algoritma yang menggunakan banyak sinkronisasi sebenarnya dapat melakukan lebih buruk pada yang terakhir.
Meski begitu, saya tidak akan terlalu khawatir tentang perbedaan itu, karena jika Anda bekerja di daerah di mana perbedaan ini penting maka kemungkinan besar Anda sudah tahu tentang hal itu (pengetahuan khusus domain).