Apa perbedaan antara multicore proc dan sistem multiproc?

18

Saya bertanya-tanya apa perbedaan antara komputer inti ganda dan komputer dengan 2 prosesor di motherboard. Saya pikir itu adalah sesuatu yang terkait dengan utas tetapi saya tidak mengerti dengan baik ..

melarang
sumber

Jawaban:

19

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.

John Fouhy
sumber
2
Tidak hanya mengurangi ruang, tetapi juga menghasilkan lebih sedikit panas (menggunakan lebih sedikit daya) dan hanya membutuhkan satu kipas pendingin.
CarlF
13

Lihat gambar ini yang menunjukkan perbedaan antara Multi Prosesor, Hyper Threaded dan Multi Core:

masukkan deskripsi gambar di sini

cakar
sumber
2

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.

Luke
sumber
3
-1: Jawaban ini memiliki banyak ketidakakuratan. (1) 3 GHz bukan "batas kecepatan" ada prosesor yang berjalan pada frekuensi lebih tinggi dari 3 GHz. Batas yang dimiliki pabrikan CPU adalah untuk memasang prosesor berkinerja lebih tinggi dalam amplop daya berkelanjutan. (2) Paragraf kedua Anda menyiratkan bahwa motherboard multi-CPU diperkenalkan karena "batas kecepatan" telah tercapai. Bahkan, motherboard multi-socket sekitar 5-10 tahun sebelumnya (bahkan mungkin lebih lama, saya tidak dapat menemukan tanggal pasti kapan server PC menjadi multi-core).
hanleyp
Saya tahu itu tidak 100% benar dan saya telah mencoba untuk menjaga jawaban saya dalam istilah awam. Ini hanya versi bodoh sehingga orang-orang mengerti apa perbedaannya. Saya yakin bahwa ketika orang benar-benar ingin mengetahui seluk beluk mereka akan menyelidiki lebih banyak untuk diri mereka sendiri. Paragraf 2 dimulai dengan "Sementara itu" yang berarti saat CPU membuat motherboard CPU multi-socket yang lebih cepat di mana dibuat (yaitu sekitar 10 tahun yang lalu).
Lukas
Itu keren. Saya hanya ingin menunjukkan apa yang menurut saya perlu klarifikasi. Saya akan membatalkan suara saya, tetapi tidak bisa kecuali Anda mengedit jawabannya.
hanleyp
Saya senang melakukan perubahan tetapi apa yang sebenarnya ingin Anda ubah? Bahwa ada CPU yang naik ke 3,2 gigahertz atau mungkin sedikit lebih tinggi? Bisakah Anda mengklarifikasi?
Luke
2
-1: Anda menjelaskan mengapa kami melihat sistem multicore, tapi bukan itu yang ditanyakan si penanya. Anda belum menjelaskan perbedaan antara beberapa core dan beberapa prosesor.
John Fouhy
1

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).

jerigen
sumber