Pemproses Berbilang Teras: Adakah Lebih Selalu Lebih Baik?

Isi kandungan:

Pemproses Berbilang Teras: Adakah Lebih Selalu Lebih Baik?
Pemproses Berbilang Teras: Adakah Lebih Selalu Lebih Baik?
Anonim

Menambahkan beberapa teras pada pemproses tunggal menawarkan faedah yang ketara berkat sifat sistem pengendalian moden yang berbilang tugas. Walau bagaimanapun, untuk beberapa tujuan, terdapat had praktikal atas bilangan teras yang menghasilkan peningkatan berbanding kos menambahkannya.

Kemajuan Teknologi Berbilang Teras

Image
Image

Pemproses berbilang teras telah tersedia dalam komputer peribadi sejak awal tahun 2000-an. Reka bentuk berbilang teras menangani masalah pemproses yang mencapai had fizikal mereka dari segi kelajuan jam mereka dan seberapa berkesan mereka boleh disejukkan dan masih mengekalkan ketepatan. Dengan beralih ke teras tambahan pada cip pemproses tunggal, pengeluar mengelakkan masalah dengan kelajuan jam dengan mendarabkan jumlah data yang boleh dikendalikan oleh CPU secara berkesan.

Apabila ia dikeluarkan pada asalnya, pengeluar hanya menawarkan dua teras dalam satu CPU, tetapi kini terdapat pilihan untuk empat, enam dan juga 10 atau lebih. Selain menambah teras, teknologi multithreading serentak-seperti Hyper-Threading Intel-boleh menggandakan teras maya yang dilihat oleh sistem pengendalian.

Proses dan Benang

Proses ialah tugas khusus, seperti program, berjalan pada komputer. Satu proses terdiri daripada satu atau lebih urutan.

Benang hanyalah satu aliran data daripada program yang melalui pemproses pada komputer. Setiap aplikasi menjana satu atau banyak utas sendiri bergantung pada cara ia berjalan. Tanpa berbilang tugas, pemproses teras tunggal hanya boleh mengendalikan satu utas pada satu masa, jadi sistem bertukar dengan pantas antara utas untuk memproses data dalam cara yang kelihatan serentak.

Faedah mempunyai berbilang teras ialah sistem boleh mengendalikan lebih daripada satu utas secara serentak. Setiap teras boleh mengendalikan aliran data yang berasingan. Seni bina ini sangat meningkatkan prestasi sistem yang menjalankan aplikasi serentak. Memandangkan pelayan cenderung untuk menjalankan banyak aplikasi serentak pada masa tertentu, teknologi ini pada asalnya dibangunkan untuk pelanggan perusahaan - tetapi apabila komputer peribadi menjadi lebih kompleks dan multitasking meningkat, mereka juga mendapat manfaat daripada mempunyai teras tambahan.

Setiap proses, walau bagaimanapun, dikawal oleh utas utama yang hanya boleh menduduki satu teras. Oleh itu, kelajuan relatif program seperti permainan atau pemapar video adalah terhad kepada keupayaan teras yang digunakan oleh benang utama. Benang utama benar-benar boleh mewakilkan benang sekunder kepada teras lain - tetapi permainan tidak menjadi dua kali lebih pantas apabila anda menggandakan teras. Oleh itu, bukan sesuatu yang luar biasa untuk permainan untuk memaksimumkan sepenuhnya satu teras (benang utama) tetapi hanya melihat penggunaan separa teras lain untuk utas sekunder. Tiada jumlah penggandaan teras mengatasi hakikat bahawa teras utama ialah pengehad kadar untuk aplikasi anda dan apl yang sensitif kepada seni bina ini akan berprestasi lebih baik daripada apl yang tidak.

Ketergantungan Perisian

Walaupun konsep pemproses berbilang teras kelihatan menarik, terdapat kaveat utama untuk teknologi ini. Untuk faedah sebenar pelbagai pemproses untuk dinikmati, perisian yang berjalan pada komputer mesti ditulis untuk menyokong multithreading. Tanpa perisian yang menyokong ciri sedemikian, utas akan dijalankan terutamanya melalui satu teras sekali gus merendahkan kecekapan keseluruhan komputer. Lagipun, jika ia hanya boleh berjalan pada satu teras dalam pemproses empat teras, ia sebenarnya mungkin lebih pantas untuk menjalankannya pada pemproses dwi teras dengan kelajuan jam asas yang lebih tinggi.

Semua sistem pengendalian semasa utama menyokong keupayaan multithreading. Tetapi multithreading juga mesti ditulis ke dalam perisian aplikasi. Sokongan untuk multithreading dalam perisian pengguna telah bertambah baik selama bertahun-tahun tetapi untuk banyak program mudah, sokongan multithreading masih tidak dilaksanakan kerana kerumitan binaan perisian. Sebagai contoh, program mel atau penyemak imbas web tidak berkemungkinan besar melihat manfaat yang besar kepada multithreading seperti program penyuntingan grafik atau video, di mana komputer memproses pengiraan yang rumit.

Contoh yang baik untuk menjelaskan kecenderungan ini ialah melihat permainan komputer biasa. Kebanyakan permainan memerlukan beberapa bentuk enjin rendering untuk memaparkan perkara yang berlaku dalam permainan. Di samping itu, beberapa jenis kecerdasan buatan mengawal acara dan watak dalam permainan. Dengan teras tunggal, kedua-dua tugas dilaksanakan dengan bertukar antara mereka. Pendekatan ini tidak cekap. Jika sistem menampilkan berbilang pemproses, pemaparan dan AI masing-masing boleh dijalankan pada teras yang berasingan-situasi yang ideal untuk pemproses berbilang teras.

Adakah 8 > 4 > 2?

Melebihi dua teras memberikan faedah bercampur-campur, memandangkan jawapan untuk mana-mana pembeli komputer bergantung pada perisian yang biasanya digunakannya. Sebagai contoh, banyak permainan klasik masih menawarkan sedikit perbezaan prestasi antara dua dan empat teras. Malah permainan moden-sesetengahnya didakwa memerlukan atau menyokong lapan teras-mungkin tidak berprestasi lebih baik daripada mesin enam teras dengan kelajuan jam asas yang lebih tinggi, memandangkan keberkesanan utas utama mengawal kecekapan prestasi berbilang benang.

Sebaliknya, program pengekodan video yang menyalin kod video mungkin akan mendapat manfaat yang besar kerana pemaparan bingkai individu boleh dihantar ke teras yang berbeza dan kemudian dihimpunkan ke dalam satu aliran oleh perisian. Oleh itu, mempunyai lapan teras akan lebih bermanfaat daripada mempunyai empat teras. Pada dasarnya, utas utama tidak memerlukan sumber yang agak kaya; sebaliknya, ia boleh memupuk kerja keras kepada rangkaian anak yang memaksimumkan teras pemproses.

Kelajuan Jam

Image
Image

Secara umum, kelajuan jam yang lebih tinggi bermakna pemproses yang lebih pantas. Kelajuan jam menjadi lebih samar-samar apabila anda mempertimbangkan kelajuan berbanding dengan berbilang teras kerana pemproses memecahkan berbilang benang data berkat teras tambahan tetapi setiap teras tersebut akan berjalan pada kelajuan yang lebih rendah kerana sekatan haba.

Sebagai contoh, pemproses dwi teras mungkin menyokong kelajuan jam asas 3.5 GHz untuk setiap pemproses manakala pemproses empat teras hanya boleh berjalan pada 3.0 GHz. Hanya melihat satu teras pada setiap satu daripadanya, pemproses dwi-teras adalah 14 peratus lebih pantas daripada pada teras empat. Oleh itu, jika anda mempunyai program yang hanya berbenang tunggal, pemproses dwi-teras sebenarnya lebih cekap. Kemudian sekali lagi, jika perisian anda boleh menggunakan keempat-empat pemproses, maka pemproses empat teras sebenarnya akan menjadi kira-kira 70 peratus lebih pantas daripada pemproses dwi-teras itu.

Kesimpulan

Untuk sebahagian besar, mempunyai pemproses kiraan teras yang lebih tinggi secara amnya adalah lebih baik jika perisian dan kes penggunaan biasa anda menyokongnya. Untuk sebahagian besar, pemproses dwi-teras atau empat-teras akan mempunyai kuasa yang lebih daripada mencukupi untuk pengguna komputer asas. Majoriti pengguna tidak akan melihat manfaat ketara daripada melampaui empat teras pemproses kerana begitu sedikit perisian bukan khusus yang memanfaatkannya. Kes penggunaan terbaik untuk pemproses kiraan teras tinggi berkaitan dengan mesin yang menjalankan tugas yang rumit seperti penyuntingan video desktop, beberapa bentuk permainan mewah atau program sains dan matematik yang rumit.

Lihat pendapat kami tentang Seberapa Cepat PC yang Saya Perlukan? untuk mendapatkan idea yang lebih baik tentang jenis pemproses yang paling sesuai dengan keperluan pengkomputeran anda.

Disyorkan: