Mengapa prosesor multi inti?

15

Mengapa chip mengandung lebih banyak core? Mengapa tidak membuat prosesor single-core yang lebih besar? Apakah lebih mudah dibuat? Apakah ini untuk memungkinkan program melakukan multithread menggunakan core terpisah?

rkrauter
sumber
Alasannya adalah sebagian besar pemasaran. Sebagian besar pengguna tidak akan mendapat manfaat dari multi-core, tetapi ini jauh lebih baik. Sebagian besar masuk akal untuk server atau pengguna daya.
harrymc
Tentu saja ada hype, tetapi ada juga manfaatnya. Sebagian besar pengguna hari ini dapat mengambil manfaat dari mulit-core (yaitu biasanya dual-core) karena sebagian besar menggunakan OS yang memiliki beberapa utas eksekusi. Tetapi bagi mereka yang masih menggunakan Windows 95 atau sebelumnya saya setuju bahwa multi-core mungkin buang-buang waktu.
rasional John
at harrymc: "Alasannya sebagian besar pemasaran. Sebagian besar pengguna tidak akan mendapat manfaat dari multi-core, tetapi sedang hyped jauh lebih baik. Sebagian besar masuk akal untuk server atau pengguna daya." --- Penjual minyak ular serakah itu ...
Daniel

Jawaban:

24

Tren multi core adalah pendekatan rekayasa yang membantu perancang CPU menghindari masalah konsumsi daya yang datang dengan penskalaan frekuensi yang semakin meningkat. Ketika kecepatan CPU naik ke kisaran 3-4 Ghz, jumlah daya listrik yang dibutuhkan untuk bergerak lebih cepat mulai menjadi penghalang. Alasan teknis untuk ini adalah kompleks tetapi faktor-faktor seperti kehilangan panas dan arus bocor (daya yang hanya melewati sirkuit tanpa melakukan sesuatu yang berguna) keduanya meningkat lebih cepat seiring meningkatnya frekuensi. Meskipun tentu saja mungkin untuk membangun CPU 686 x86 untuk keperluan umum, itu tidak terbukti ekonomis untuk melakukannya secara efisien. Itulah mengapa perpindahan ke multi-core dimulai dan itulah mengapa kita akan melihat bahwa tren berlanjut setidaknya sampai masalah paralelisasi menjadi tidak dapat diatasi.

Sebagai contoh praktis, E5640 Xeon (4 core @ 2.66 GHz) memiliki amplop daya 95 watt sedangkan L5630 (4 Cores @ 2.13 GHz) hanya membutuhkan 40 watt. Itu 137% lebih banyak daya listrik untuk 24% lebih banyak daya CPU untuk CPU yang untuk sebagian besar fitur yang kompatibel. X5677 mendorong kecepatan hingga 3,46 GHz dengan beberapa fitur lebih banyak tetapi itu hanya 60% lebih banyak daya pemrosesan untuk 225% lebih banyak daya listrik.

Sekarang bandingkan X5560 (2,8 GHz, 4 core, 95 watt) dengan X5660 yang lebih baru (2,8 GHz, 6 core, 95 watt) dan ada 50% daya komputasi tambahan di soket (berpotensi, dengan asumsi bahwa hukum Amdahl baik untuk kita sekarang) tanpa memerlukan daya listrik tambahan. AMD seri 6100 CPU melihat keuntungan yang sama dalam kinerja agregat selama seri 2400 \ 8400 sambil menjaga konsumsi daya listrik tetap datar.

Untuk tugas single-threaded ini adalah masalah tetapi jika persyaratan Anda adalah untuk memberikan sejumlah besar daya CPU agregat ke cluster pemrosesan terdistribusi atau cluster virtualisasi maka ini adalah pendekatan yang masuk akal. Ini berarti bahwa untuk sebagian besar lingkungan server saat ini meningkatkan jumlah core di setiap CPU adalah pendekatan yang jauh lebih baik daripada mencoba untuk membangun lebih cepat \ lebih baik CPU single core.

Tren akan berlanjut untuk sementara waktu tetapi ada tantangan dan terus meningkatkan jumlah core tidak mudah (menjaga bandwidth memori cukup tinggi dan mengelola cache semakin sulit karena jumlah core tumbuh). Itu berarti bahwa pertumbuhan saat ini yang cukup eksplosif dalam jumlah inti per soket harus melambat dalam beberapa generasi dan kita akan melihat beberapa pendekatan lain.

Helvick
sumber
3
Saya tidak bisa memberi tahu Anda berapa kali saya sudah mencoba menjelaskan ini kepada orang-orang yang masih berpikir CPU 3.6GHz dari 5 tahun yang lalu lebih cepat daripada CPU 2.8GHz dengan teknologi terbaru. Ini menyebalkan. Saya benci mitos megahertz.
churnd
Bukankah ada juga batasan fisik karena kecepatan cahaya untuk sinyal listrik juga?
mouche
1
@ Churnd - Tapi jangan memperhitungkan bahwa mereka benar. Karena kita tidak boleh mencampur kecepatan dengan kekuatan (3,6 Ghz tidak diragukan lagi lebih cepat dari 2,8 Ghz; yang tidak lebih kuat). Hal ini dapat membuat perbedaan yang signifikan bagi pemrogram yang membutuhkan kecepatan lebih cepat namun belum mahir dengan teknik pemrograman threading / paralel.
Benteng
3
@ldigas Para programmer peduli dengan kecepatan eksekusi instruksi inti tunggal, bukan kecepatan clock inti. CPU modern memiliki tingkat eksekusi instruksi single-core yang jauh lebih tinggi, bahkan jika kecepatan clock lebih rendah.
David Schwartz
5

Sudah terlalu sulit untuk membuatnya lebih cepat berguna.

Masalahnya adalah, Anda harus mengerjakan banyak instruksi sekaligus, cpu x86 saat ini memiliki 80 atau lebih instruksi yang sedang dikerjakan sekaligus, dan tampaknya itu adalah batasnya, karena dipukul dengan P4, heck , Pentium Pro melakukan 40 pada tahun 1995. Aliran instruksi umum tidak dapat diprediksi lebih dari itu (Anda harus menebak cabang, akses memori, dll) untuk melakukan eksekusi lebih dari beberapa instruksi sekaligus (486 melakukan 5, Pentium melakukan 10, nyaris tidak) .

Jadi, meskipun Anda dapat membuatnya lebih luas (unit yang lebih fungsional untuk melakukan setiap bagian dari instruksi), lebih lama (saluran pipa yang lebih dalam untuk menyembunyikan latensi), sepertinya tidak banyak manfaatnya. Dan kami sepertinya telah menabrak dinding dengan kecepatan clock juga. Dan kita masih kehabisan memori. Jadi membelah banyak cpu tampaknya menjadi kemenangan. Plus, mereka dapat berbagi cache.

Ada sedikit lebih dari ini, tetapi intinya adalah program konvensional tidak dapat berjalan lebih cepat secara signifikan pada perangkat keras apa pun yang dapat kita bayangkan bagaimana merancang dan membangun.

Sekarang, jika prediktabilitas bukan masalah, misalnya, banyak masalah ilmiah dan grafik (mereka seringkali bermuara untuk melipatgandakan set angka ini dengan set angka itu), ini bukan masalahnya, dan dengan demikian popularitas Intel IA64 ( Itanium) dan GPU, yang semakin lama semakin cepat, tetapi mereka tidak akan membantu Anda menjalankan Word dengan lebih baik.

Ronald Pottol
sumber
4

Daya komputasi dan frekuensi clock dari satu prosesor mencapai puncaknya beberapa tahun yang lalu, tidak mudah untuk membuat prosesor yang lebih kuat dan / atau lebih cepat daripada yang sekarang; jadi produsen CPU utama (Intel, AMD) mengubah strategi dan menjadi multi-core. Ini tentu saja membutuhkan lebih banyak pekerjaan dari para pengembang aplikasi untuk memanfaatkan kekuatan penuh dari multi-tasking: sebuah program yang berjalan pada satu tugas saja tidak mendapatkan manfaat dari CPU multi-core (walaupun sistem mendapatkan bonus keseluruhan karena tidak mengunci jika satu proses membutuhkan CPU tunggal hingga 100% penggunaan).

Tentang arsitektur fisik (prosesor multi-inti dan bukan beberapa inti tunggal) ... Anda harus bertanya kepada Intel. Tapi saya cukup yakin ini ada hubungannya dengan motherboard dengan soket CPU tunggal yang jauh lebih mudah untuk merancang dan memproduksi daripada papan dengan banyak yang.

Massimo
sumber
2
Lebih tepatnya, saya berharap, kita akan mendengar lebih banyak tentang hukum Amdahl daripada hukum Moore.
Evan Anderson
1

Untuk meningkatkan kecepatan clock, transistor silikon pada chip harus dapat beralih lebih cepat. Kecepatan yang lebih tinggi ini memerlukan tegangan input yang lebih tinggi dan proses pembuatan semikonduktor yang menghasilkan kebocoran yang lebih besar , yang keduanya meningkatkan konsumsi daya dan output panas. Anda akhirnya mencapai titik di mana Anda tidak dapat meningkatkan kecepatan clock lebih jauh tanpa membutuhkan daya yang berlebihan atau menggunakan solusi pendinginan eksotis.

Untuk menggambarkan masalah ini, saya akan membandingkan dua prosesor AMD modern. AMD FX-9590 mampu mencapai kecepatan clock hingga 5 GHz di luar kotak, tetapi beroperasi pada tegangan inti hingga 1,912 V, yang sangat tinggi untuk chip 32nm, dan menghilangkan panas 220 watt yang gila . FX-8350, yang didasarkan pada die yang sama, beroperasi pada maksimum 4,2 GHz tetapi beroperasi pada maksimum 1,4 V dan menghilang 125 watt.

Alhasil, alih-alih mencoba menambah jam lebih jauh, para insinyur telah berupaya membuat chip bekerja lebih cepat dengan cara lain, termasuk merancang mereka untuk menjalankan banyak proses secara bersamaan — dengan demikian prosesor multi-core.

bwDraco
sumber
0

Hukum Moore . Pada dasarnya prosesor tidak dapat dibuat lebih cepat (frekuensi mencapai 3 GHz 5 tahun yang lalu dan tidak pernah melebihi itu), jadi mereka dibuat lebih kuat dengan mendapatkan lebih banyak core.

wazoox
sumber
Hukum IMHO Moore lebih merupakan deskripsi daripada prediksi ... pasti itu berlaku, dan masih, tetapi tidak ada yang menjamin tidak akan rusak besok. Anda tidak bisa pergi ke insinyur dan katakan padanya "Anda harus bisa melakukan ini karena hukum moore mengatakan itu bisa dilakukan" ketika fisika tidak mengizinkannya lagi.
vlad-ardelean