Mengapa CPU tidak lebih besar? [Tutup]

21

CPU relatif kecil, dan para insinyur terus berusaha membuatnya lebih kecil dan mendapatkan lebih banyak transistor di permukaan yang sama.

Mengapa CPU tidak lebih besar? Jika sekitar 260mm 2 mati dapat menampung 758 juta transistor (AMD Phenom II x4 955). Maka 520mm 2 harus mampu menampung dua kali lipat jumlah transistor dan secara teknis menggandakan kecepatan clock atau core. Mengapa ini tidak dilakukan?

Simon Verbeke
sumber
4
Saya tidak tahu semua detail, tetapi pada dasarnya semakin dekat dll transistor bersama pada chip semakin efisien itu. Jadi, melipatempatkan area akan membuat chip lebih lambat.
ChrisF
1
Plus, terutama mengingat keadaan aplikasi saat ini, CPU modern menghabiskan banyak waktu tidak melakukan apa-apa. Mereka memutar-mutar ibu jari mereka sementara kami, para pengguna, mencari tahu apa yang ingin kami lakukan.
surfasb
1
@ ChrisF Anda bingung dampak penyusutan mati (peningkatan kecepatan sebagai akibat dari penurunan kapasitas) dengan berkurangnya jumlah transistor. Tanyakan pada diri Anda: apakah inti individu pada inti ganda berjalan lebih cepat daripada inti pada inti quad?
artistoex
2
Ini adalah dilakukan - lihat Platform LGA2011 Intel.
Terobosan
3
Saya tidak setuju dengan suara tertutup. Ada alasan yang jelas mengapa membuat chip yang lebih besar tidak masuk akal seperti yang ditunjukkan oleh jawaban teratas. Jadi itu bukan pertanyaan yang dikemukakan pendapat (seperti "Apakah android lebih baik daripada ios"). Saya juga tertarik dengan pertanyaan ini!
David Miani

Jawaban:

18

Secara umum Anda benar: Dalam jangka pendek, peningkatan paralelisasi tidak hanya bisa dilakukan tetapi satu - satunya cara untuk maju. Faktanya, multi-core, serta cache, pipelining dan hyper-threading adalah apa yang Anda usulkan: peningkatan kecepatan melalui peningkatan penggunaan area chip. Tentu saja, susut geometri tidak bertabrakan dengan meningkatnya penggunaan area die. Namun, hasil die adalah faktor pembatas yang besar.

Hasil die tumbuh dalam proporsi terbalik dengan ukuran die: die besar hanya lebih mungkin untuk "menangkap" kesalahan wafer. Jika kesalahan wafer mengenai dadu, Anda bisa membuangnya. Hasil die jelas mempengaruhi biaya die. Jadi ada ukuran die yang optimal dalam hal biaya vs keuntungan per mati.

Satu-satunya cara untuk menghasilkan cetakan yang lebih besar secara signifikan adalah dengan mengintegrasikan struktur yang toleran terhadap kesalahan dan redundan. Inilah yang coba dilakukan Intel dalam proyek Terra-Scale mereka (UPDATE: dan apa yang sudah dipraktikkan dalam produk setiap hari seperti yang ditunjukkan Dan).

artisoex
sumber
8
Dalam CPU kompleks modern / GPU mati cacat sering hanya memberi makan ke binning. GPU level menengah / atas biasanya memiliki bagian die penuh dan satu atau dua yang memiliki beberapa sub-komponen dinonaktifkan untuk mendapatkan lebih banyak poin harga / kemampuan dari desain chip yang lebih sedikit. Hal yang sama dilakukan dengan CPU. Chip tricore AMD adalah quads dengan die disable, dan intels chip LGA2011 semuanya 8 bagian inti. Mati penuh hanya digunakan sebagai Xeon. Core 4/6 i7-2011s adalah 8 core yang mati dengan bagian yang dinonaktifkan. Jika kesalahan mati jatuh di lokasi yang tepat mereka bined sebagai bagian yang lebih murah. Untuk GPU kesalahan modular yang lebih banyak, atur bin rendah.
Dan Neely
@DanN Terima kasih, saya telah menambahkan ini ke jawaban saya
artistoex
23

Ada banyak masalah teknis (panjang jalur menjadi terlalu panjang dan Anda kehilangan efisiensi, gangguan listrik menyebabkan kebisingan), tetapi alasan utamanya adalah karena banyak transistor terlalu panas untuk cukup dingin . Itulah alasan utama mereka sangat ingin mengurangi ukuran die - ini memungkinkan peningkatan kinerja pada tingkat termal yang sama.

Shinrai
sumber
Saya harus menambahkan maksud saya dalam konteks mesin desktop / laptop standar, tentu saja.
Shinrai
1
Panjang jalur tidak selalu bertambah, itu adalah hal lokal: menempatkan dua inti pada sebuah chip tidak akan menambah panjang jalur di dalam sebuah inti, bukan? Pembuangan panas juga akan menyebar pada area yang lebih luas, jadi itu bukan masalah besar juga.
artistoex
1
Benar, ada banyak nuansa, tetapi saya tidak merasa tertarik. (Saya juga tidak perlu bermaksud dalam konteks LEBIH inti, karena pertanyaannya tidak terlalu eksplisit tentang hal itu.)
Shinrai
Intinya adalah: prosesor multi-inti adalah persis apa yang diusulkan OP - peningkatan kecepatan melalui peningkatan penggunaan area chip.
artistoex
3
Bagaimana menurut Anda hyper-threading adalah, "core lebih besar lebih cepat"? Hyperthreading adalah semua berbasis logika dan tidak ada hubungannya dengan ukuran ... Berarti jika ada kelebihan yang tersedia pada inti saat ini ia menggunakannya. IE: jika unit MMX dan FPU Anda digunakan pada inti yang diberikan, Anda masih dapat membentuk kalkulasi berdasarkan bilangan bulat.
Supercereal
15

Beberapa jawaban yang diberikan di sini adalah jawaban yang baik. Ada masalah teknis dalam meningkatkan ukuran CPU dan itu akan menyebabkan lebih banyak panas untuk dihadapi. Namun semuanya dapat diatasi dengan insentif yang cukup kuat.

Saya ingin menambahkan apa yang saya yakini sebagai isu sentral: ekonomi . CPU dibuat dalam wafer seperti ini , dengan sejumlah besar CPU per wafer. Biaya pembuatan sebenarnya adalah per wafer, jadi jika Anda menggandakan luas CPU Anda hanya bisa muat setengahnya pada wafer, sehingga harga per-CPU berlipat ganda. Juga, tidak semua wafer selalu keluar sempurna, mungkin ada kesalahan. Jadi menggandakan area menggandakan peluang cacat pada CPU tertentu.

Oleh karena itu dari sudut pandang ekonomi alasan mereka selalu membuat hal-hal lebih kecil adalah untuk mendapatkan kinerja yang lebih baik / mm ^ 2, yang merupakan faktor penentu dalam harga / kinerja.

TL; DR: Selain alasan lain yang disebutkan, menggandakan area CPU lebih dari dua kali lipat biaya.

Tuan Alpha
sumber
Inilah alasan utamanya. Bab 1 buku teks Arsitektur Komputer Hennessy dan Pattersons menjelaskan proses fabrikasi dan pertimbangan yang digunakan untuk mengemudi CPU agar sekecil mungkin.
Steve Blackwell
3

Menambahkan lebih banyak transistor ke prosesor tidak secara otomatis membuatnya lebih cepat.

Panjang jalur meningkat == laju jam lebih lambat.
Menambahkan lebih banyak transistor akan menambah panjang jalur. Setiap peningkatan harus digunakan bernilai atau akan menyebabkan peningkatan biaya, panas, energi, tetapi penurunan kinerja.

Tentu saja Anda selalu dapat menambahkan lebih banyak inti. Mengapa mereka tidak melakukan ini? Ya, benar.

pengguna606723
sumber
Saya tidak benar-benar menganggap ini di luar topik di sini (walaupun itu akan di-topik di sana juga).
Shinrai
Ya saya setuju. Saya hanya berpikir bahwa akan lebih baik dijawab di sana. Saya menghapus garis.
user606723
2

Asumsi umum Anda salah. CPU dengan die berukuran ganda tidak berarti dapat beroperasi dengan kecepatan ganda. Ini hanya akan menambah lebih banyak ruang untuk menambahkan lebih banyak inti (lihat beberapa chip banyak core Intel dengan 32 atau 64 core) atau cache yang lebih besar. Tetapi sebagian besar perangkat lunak saat ini tidak dapat menggunakan lebih dari 2 core.

Oleh karena itu ukuran die yang meningkat meningkatkan harga secara besar-besaran tanpa mendapatkan ketinggian yang sama. Ini salah satu alasan mengapa CPU disederhanakan.

Robert
sumber
Ini tidak sepenuhnya benar - dengan lebih banyak transistor, Anda dapat mengurangi kedalaman propagasi sehingga instruksi membutuhkan lebih sedikit siklus clock untuk menyelesaikannya. Anda benar bahwa itu tidak ada hubungannya dengan kecepatan clock .
BlueRaja - Danny Pflughoeft
1

Dalam Elektronik SMALLER = LEBIH CEPAT 3GHz harus jauh lebih kecil dari 20MHz Semakin besar interkoneksi, semakin besar ESR dan semakin lambat kecepatannya.

Menggandakan jumlah transistor tidak menggandakan kecepatan clock.

Laboratorium Fiasco
sumber
Meningkatkan kecepatan clock hanya satu pendekatan untuk mendapatkan gain. Menggandakan transistor adalah satu lagi. Terlepas dari itu, penyusutan interkoneksi tidak menimbulkan konflik pada peningkatan area die.
artistoex
3
@artistoex, tetapi hanya menggandakan transistor tidak membuatnya lebih cepat. Itu perlu direkayasa dengan cara yang akan mengambil keuntungan dari transistor tersebut. Lebih banyak transistor (dengan mm yang sama) berarti jam yang lebih rendah biasanya.
user606723
1

Biaya memproduksi wafer mentah adalah faktornya. Silikon monocrystalline tidak gratis , dan proses pemurnian agak mahal. Jadi menggunakan lebih banyak bahan baku meningkatkan biaya.

ditenagai uap
sumber
0

Makhluk hidup besar , buatan atau tidak, seperti dinosaurus, lebih longgar. Area rasio / volume tidak adil untuk kelangsungan hidup mereka: terlalu banyak kendala tentang energi - setiap bentuk - masuk dan keluar.

Massimo
sumber
0

Pikirkan CPU sebagai jaringan node yang terhubung (transistor). Untuk memberikan lebih banyak kemampuan, jumlah node dan jalur di antara mereka meningkat ke tingkat tertentu, tetapi peningkatan itu linear. Jadi satu generasi CPU mungkin memiliki sejuta node, generasi berikutnya mungkin 1,5 juta. Dengan miniaturisasi rangkaian, jumlah node dan jalur dikondensasi menjadi jejak yang lebih kecil. Proses fabrikasi saat ini turun hingga 30 nanometer.

Katakanlah Anda membutuhkan lima unit per node dan jarak lima unit antara dua node. Ujung ke ujung, dalam garis lurus Anda dapat membuat bus 22222 node dalam 1 CM ruang. Anda dapat membuat matriks 493 juta node dalam CM persegi. Desain sirkuit inilah yang mengandung logika CPU. Menggandakan ruang bukan apa yang meningkatkan kecepatan, itu hanya akan memungkinkan sirkuit untuk memiliki lebih banyak operator yang logis. Atau dalam hal multi-core CPU memungkinkan sirkuit untuk menangani lebih banyak pekerjaan secara paralel. Meningkatkan jejak sebenarnya akan mengurangi kecepatan clock karena elektron harus menempuh jarak yang lebih jauh melalui sirkuit.

Michael Brown
sumber