Apakah ukuran cache atau jumlah core lebih penting ketika menimbang kinerja CPU?

9

Saya sedang membeli laptop untuk digunakan putra saya di sekolah, jadi tidak perlu menjadi mesin game. Saya sudah mengumpulkan PC dari awal sebelumnya, tapi sudah lama.

Saya perhatikan bahwa sejumlah mesin entry-level yang tersedia dilengkapi dengan CPU dual-core atau single-core. Saya mengerti bahwa semua hal lainnya sama dengan CPU dual-core yang mungkin akan bekerja lebih baik. Namun, bagaimana jika single core memiliki cache L2 yang jauh lebih besar (katakanlah 3 MB untuk single core vs 1 MB untuk dual core)? Saya tahu ini juga dapat secara signifikan mempengaruhi kinerja.

Saya mengerti bahwa komponen sistem lain, misalnya kecepatan memori dan perangkat keras grafis, juga akan mempengaruhi kinerja sistem. Pertanyaan saya adalah, jika saya harus memilih antara inti CPU tambahan atau lebih banyak cache, apa yang harus saya pilih?

David
sumber
2
Itu juga tergantung pada skenario kasus penggunaan Anda. Perangkat lunak apa yang Anda gunakan (apa yang mereka lakukan dan bagaimana mereka diprogram) dapat memiliki dampak besar yang akan memberikan kinerja yang lebih baik. Misalnya, di masa lalu, Celerons yang lebih cepat sering lebih baik untuk browsing web dan game kasual sementara P4 yang lebih lambat lebih baik untuk kompresi dan game 3D.
Synetech
@ Sinetech, Yah, tentu saja maksudnya adalah aplikasi khas tahun ini + 3 tahun. Aplikasi lama tidak masalah.
Pacerier

Jawaban:

12

Cache CPU

Cache CPU yang lebih rendah akan menghasilkan kemungkinan kesalahan cache yang lebih tinggi , yang secara signifikan akan menurunkan kinerja. Yang sedang berkata, seluruh inti lain akan memungkinkan komputer untuk menjalankan setidaknya dua utas secara bersamaan, sehingga merupakan trade-off ketika Anda harus memilih satu dari yang lainnya.

Ukuran cache CPU vs. tingkat kesalahan

Dari grafik di atas, kita dapat melihat bahwa ketika ukuran cache lebih dari 1 MB, kemungkinan miss cache sudah sangat rendah, dan menunjukkan hasil yang semakin berkurang dengan meningkatnya ukuran cache.

Core CPU

Core CPU ekstra, di sisi lain, dapat menunjukkan peningkatan kecepatan drastis ketika aplikasi mengambil keuntungan dari multiple core.

Untuk sebagian besar aplikasi di dunia nyata, inti eksekusi tambahan akan memberikan peningkatan kinerja yang lebih baik daripada cache tambahan. Baik ukuran cache dan jumlah inti sangat penting ketika menimbang kinerja komputer, tetapi ketika Anda berurusan dengan jumlah core yang relatif rendah untuk memulai, core tambahan biasanya akan memberikan keuntungan kinerja yang signifikan.

...

Penerobosan
sumber
Itu kurang lebih apa yang saya pikirkan ... tapi saya tidak yakin di mana Anda akan mendapatkan pengembalian yang berkurang dengan cache. Terima kasih!
David
Apakah ini saya atau apakah sumbu X grafik cukup salah? 4-1 = 3; 16-4 = 12; 64-16 = 48 dll tetapi semua diwakili dengan jarak yang sama. Tapi saya kira data yang disajikan dalam grafik masih benar, bukan? Juga menyadari bahwa sumbu Y memiliki ini juga.
Utku
@Utku baik sumbu x dan sumbu y menggunakan skala logaritmik, dengan sumbu x menggunakan basis-2, dan sumbu y menggunakan basis-10.
Terobosan
6

Inti ekstra, mudah, untuk sebagian besar aplikasi. Anda dapat melakukan dua kali perhitungan dalam kondisi optimal. Cache membantu, tetapi kecepatannya tidak berlipat ganda.

soando
sumber
3

Pilihan yang tepat (dual-core vs kapasitas cache tambahan) tergantung pada aplikasi target yang akan dijalankan pada laptop.

Prosesor dual core secara teoritis akan mengurangi waktu eksekusi hingga setengahnya dibandingkan dengan prosesor single core. Namun, dalam praktiknya, peningkatan 2x jarang dicapai karena tantangan menulis aplikasi paralel. Hukum Amdahl (tautan) menunjukkan bahwa bahkan jika aplikasi memiliki 90% dari eksekusi yang diparalelkan dengan sempurna (tugas yang menantang untuk aplikasi besar), kecepatannya adalah 1,82X bukannya 2X. Speedup dari core kedua hanya akan berkurang untuk aplikasi yang tidak diimplementasikan secara scalable.

Kapasitas cache L2 yang lebih besar akan mengurangi tingkat kesalahan dalam cache seperti yang ditunjukkan dalam jawaban oleh @Breakthrough. Namun, jawabannya menarik kesimpulan yang salah dari plot bahwa kapasitas cache melebihi 1MB hanya akan memberikan peningkatan marjinal. Titik pengembalian yang menurun tergantung pada aplikasi (khususnya, tautan ukuran set kerja ) dari aplikasi. Sebagian besar aplikasi cenderung memiliki ukuran set yang bekerja di luar 1MB dan, karenanya, cache yang lebih besar akan membantu meningkatkan kinerja dengan menghindari akses DRAM laten lama (prosesor beroperasi hingga 3 urutan besarnya lebih cepat dari memori utama)

Akhirnya, sementara jawaban saya mungkin terdengar seperti mendukung cache yang lebih besar daripada prosesor kedua, saya ingin menunjukkan bahwa sebagian besar kurikulum CS modern berfokus pada memperkenalkan pemrograman paralel kepada siswa. Oleh karena itu, prosesor multi-core lebih masuk akal meskipun mereka jelas bukan pilihan kinerja yang lebih baik

YetAnotherPseudoName
sumber
1

Saya akan merekomendasikan mesin dual core di atas single core.

Karena Windows pada dasarnya melakukan banyak hal pada saat yang bersamaan (mis. Anda menjelajah web, ketika Pembaruan Windows diunduh dan anti-virus memindai file yang baru saja diunduh) sistem dual core sebagian besar lebih "responsif" daripada satu inti. mesin.

Tex Hex
sumber
0

Ukuran cache adalah penting karena mengurangi kemungkinan akan ada cache miss. Cache miss 'mahal karena CPU harus pergi ke memori utama untuk mengakses alamat memori, ini membutuhkan waktu lebih lama dan karenanya menghasilkan komputer yang lebih lambat.

Jumlah core juga penting karena semakin banyak core, semakin banyak proses yang dapat dijalankan pada saat bersamaan. Itu berarti beberapa instruksi dapat berjalan secara paralel, menghasilkan komputer yang lebih cepat.

Seperti yang Anda lihat, keduanya cukup kritis dan mengoptimalkan keduanya penting, meskipun dari pengalaman pribadi, chip prosesor multi-core lebih bermanfaat daripada cache yang lebih besar jika Anda hanya perlu mengoptimalkan satu ...

gila
sumber