Bagaimana prosesor dapat dibuat lebih cepat dengan pembaruan "perangkat lunak"?

120

Prosesor AMD baru Ryzen keluar di pasaran dan sayangnya mereka tampaknya kurang dalam bermain game. Prosesor Intel jelas masih lebih cepat untuk bermain game. Orang-orang tentu saja tidak mendukung ini dan AMD membuat pernyataan yang mengatakan bahwa mereka memperbarui firmware atau perangkat lunak untuk mempercepat Ryzen untuk permainan.

Perbaiki saya jika saya salah tetapi prosesor harus memiliki firmware statis agar kompatibel dengan standar x64? Jika demikian, bukankah AMD harus mengoptimalkan game (perangkat lunak) untuk prosesor mereka yang jelas tidak mungkin? Apa yang terjadi di sana untuk mengatakan hal-hal seperti itu jika sepertinya tidak mungkin melihat kondisi yang mendasarinya?

Tapi saya mungkin salah (saya harap begitu) jadi Pertanyaannya adalah:

Apakah mungkin untuk mencapai speedup untuk prosesor tanpa mengubah perangkat keras yang mendasarinya? Jika memungkinkan, bagaimana ini dilakukan? Apakah ada perangkat lunak di samping firmware untuk prosesor?

Arthur PR
sumber
71
Anda mungkin ingin mencari istilah "mikrokode" di google.
PlasmaHH
10
Firmware bisa baik, atau buruk, atau tidak "baik untuk aplikasi". x86 tidak menentukan waktu instruksi, jadi memperbarui firmware (mikrokode) untuk meningkatkan waktu instruksi tidak merusak kompatibilitas x86. Ada beberapa alasan potensial mengapa ini layak dan bisa diperlukan: 1) mikrokode awal adalah pekerjaan cepat dan tidak optimal; 2) mikrokode awal bekerja dengan baik ketika program dikompilasi untuk Ryzen, tetapi tidak jika program dikompilasi untuk x86 generik atau untuk prosesor intel, yang merupakan mayoritas dari perangkat lunak yang ada.
user3528438
15
Pembaruan mikrokode dapat meningkatkan waktu instruksi tetapi ada banyak lagi. CPU modern melakukan hal-hal seperti prediksi cabang, eksekusi spekulatif, eksekusi out of order, dan banyak lagi yang dapat secara signifikan meningkatkan kinerja. Semua ini dikendalikan oleh mikrokode. Optimalisasi mikrokode memerlukan waktu dan komoditas sering kali kekurangan pasokan dalam bisnis yang kompetitif.
LMiller7
4
Bayangkan Anda berlari dan karena alasan tertentu, Anda menolak untuk menekuk kaki kiri Anda. Ini akan membuat Anda canggung dan lambat - Anda dapat dengan mudah meningkatkan kecepatan lari Anda dengan lebih efisien menggunakan "perangkat keras yang sama" pada kaki Anda dan menekuknya dengan lebih efektif. Mengubah instruksi "otak" ke kaki secara dramatis meningkatkan kinerja.
enderland

Jawaban:

123

Prosesor modern jauh lebih rumit dari yang diperkirakan. Mereka sangat rumit, hampir di luar pemahaman satu orang. Memperluas komentar singkat dengan "horta", orang mungkin memiliki semua hal berikut:

  1. Untuk memulainya, hampir semua perangkat keras internal dapat dikonfigurasi untuk sebagian besar. Ada ribuan register konfigurasi dengan miliaran bit individual yang harus disetel agar CPU dapat beroperasi. Semua beberapa lapisan interaksi cache-CPU memiliki jaringan pipa yang dapat dikonfigurasi, dan berbagai penundaan waktu jelas berpengaruh pada kinerja keseluruhan.

  2. Ada ratusan fitur canggih yang diletakkan oleh arsitek bahwa teknik tidak punya waktu untuk memvalidasi, sehingga ratusan fitur dinonaktifkan atau diatur ke dalam konfigurasi gagal-aman dengan "bit ayam" . Tetapi mereka dapat disetel dan diaktifkan jika ditemukan fungsional dan berguna. Fitur-fitur peningkatan ini biasanya mendapatkan validasi mendalam dari waktu ke waktu, dan dapat secara bertahap diaktifkan selama masa pakai prosesor dengan berbagai patch mikrokode.

  3. Semua CPU baru-baru ini memiliki beberapa unit internal yang dikendalikan oleh mikroprosesor independen yang tertanam di dalam chip CPU x86. Satu unit yang muncul secara publik adalah P-Unit. Prosesor modern tidak dapat berfungsi tanpa manajemen daya yang agresif, atau mereka akan meleleh. Namun, manajemen daya yang dalam bertentangan dengan kebijakan waktu keluar / masuk yang agresif, dan perubahan kebijakan sangat mempengaruhi kinerja sistem secara keseluruhan. Semua detail dikendalikan oleh Unit-P, dan dapat dioptimalkan / disetel dengan memuat patch mikrokode lain, seperti dijawab di sini.

  4. Banyak aspek interkoneksi internal lainnya dikendalikan oleh berbagai prosesor tertanam tambahan, yang dapat diperbaiki dengan memuat patch mikrokode ke dalamnya, atau memutakhirkan BIOS jika memiliki akses ke sumber daya konfigurasi ini.

Singkatnya, sementara perangkat keras CPU memang bawaan, konfigurasi perangkat keras tersebut cukup menentukan kinerjanya, dan dapat disesuaikan untuk kinerja sistem yang lebih baik melalui pembaruan BIOS dan patch mikrokode tertanam.

Ale..chenski
sumber
Saya tidak yakin jawaban mana yang harus saya terima. @ bwDraco jawaban baik-baik saja tetapi jawaban Anda sesuai dengan jawaban yang sebenarnya lebih sulit lagi jawabannya adalah memberikan informasi spesifik masalah.
Arthur PR
Nah, Anda harus menerima jawaban ini . Anda berasal dari latar belakang elektronik, sehingga Anda tampaknya tertarik dengan firmware CPU (bukan perubahan Windows). @ ArthurP.R.
AnoE
3
@ ArthurP.R. Jika orang-orang pembandingan menemukan bahwa Windows tidak menjadwalkan tugas untuk prosesor multithread dengan benar (memperlakukan utas sebagai core independen), itu berarti bahwa AMD entah bagaimana mengacaukan deskriptor prosesor / apa pun, sehingga Microsoft tidak dapat memahaminya. Jika deskriptor dapat ditambal ke standar Microsoft dengan beberapa mekanisme pembaruan, maka ini akan menjadi perbaikan tingkat pertama yang mudah. Dan Anda telah mengajukan pertanyaan umum, jadi ini menjawabnya. :-)
Ale..chenski
Itu sebabnya saya menerima jawaban Anda bahkan jika jawaban @bwDraco cocok juga ada di sini
Arthur PR
102

Berbagai masalah perangkat lunak pada sistem operasi dan tingkat aplikasi menyebabkan kinerja yang tidak optimal.

Prosesor delapan-inti Ryzen terdiri dari dua inti kompleks (CCX) masing-masing dengan empat core dan 8 MB cache L3. Mengakses L3 cache pada CCX yang berbeda lebih lambat karena kebutuhan untuk memindahkan data lebih jauh di sepanjang Infinity Fabric (interkoneksi cache-koheren proprietary AMD), yang berarti bahwa memindahkan thread dari satu CCX ke CCX lain atau berkomunikasi antar core pada CCX yang berbeda menghasilkan mengurangi kinerja. Hukuman ini mengingatkan pada apa yang akan terjadi pada server multi-socket yang menjalankan sistem operasi yang tidak diketahui oleh NUMA .

Tampaknya Windows memiliki kecenderungan untuk hanya memindahkan proses di sekitar inti yang berbeda dan tidak mengenali hukuman komunikasi antar-CCX . Ini berarti bahwa Windows dapat menempatkan utas pada CCX yang berbeda bahkan ketika melakukannya tidak perlu , mengurangi kinerja.

Peninjau Jerman PC Games Hardware menguji Ryzen 7 1800X dengan jumlah core yang berbeda-beda dan menemukan bahwa memiliki dua CCX dengan dua core yang diaktifkan pada masing-masing menghasilkan kinerja yang lebih lambat daripada mengaktifkan satu CCX dengan semua core-nya tetap utuh:

Hasil benchmark Hardware PC Games: Battlefield 1

Ini terlepas dari fakta bahwa hanya memiliki satu CCX diaktifkan berarti bahwa hanya 8 MB cache L3 tersedia, daripada 16 MB penuh. Dari artikel Hardware Game PC, via Google Translate (penekanan ditambahkan):

[...] Jauh lebih menarik untuk mengenali fakta bahwa transfer data CCX saling mengganggu dalam kasus apa pun - terkadang lebih, terkadang kurang jelas. Keuntungan dari cache L3 yang lebih besar (konfigurasi 2 + 2) tidak ada dalam seri pengukuran ini.

Artikel Perspektif PC ini menunjukkan bahwa ada latensi komunikasi yang substansial antar core pada CCX yang berbeda, tetapi latensi yang sangat sedikit ketika berkomunikasi dengan core di CCX yang sama. Perhatikan bahwa artikel ini menyarankan Windows mengetahui desain CCX dan menghindari utas penjadwalan pada CCX yang berbeda tetapi hasil yang bertentangan telah ditemukan oleh anggota komunitas.


Banyak (tapi tidak semua) tolok ukur permainan menunjukkan peningkatan kinerja ketika SMT dinonaktifkan. Namun, rumor yang menyatakan bahwa Windows menjadwalkan dengan tidak benar seolah-olah setiap utas perangkat keras sebagai intinya sendiri salah . Menurut AMD, ini disebabkan oleh kenyataan bahwa banyak aplikasi dioptimalkan hanya untuk prosesor Intel (yang tidak terduga mengingat AMD telah menjadi MIA dari pasar prosesor kelas atas selama sekitar lima tahun). AMD mengatakan bahwa mereka sedang bekerja dengan ratusan pengembang game untuk meningkatkan kinerja prosesor Ryzen. Namun, saya menduga bahwa pembaruan Windows masih dapat membantu dengan lebih baik menyetel penjadwal untuk karakteristik arsitektur Zen .

Contoh berikut dari Tom's Hardware menunjukkan kinerja yang menurun dengan SMT diaktifkan:

Hasil benchmark Hardware Tom: Ashes of the Singularity

TechSpot melakukan analisis mendalam tentang kinerja game dengan SMT diaktifkan dan dinonaktifkan dan muncul dengan hasil yang sangat mirip:

Hasil benchmark TechSpot: Deus Ex: Mankind Divided


Ada juga masalah manajemen daya yang terlibat dalam tes ini. Pernyataan AMD yang sama mencatat bahwa Windows tidak sepenuhnya menyadari fitur-fitur baru di Ryzen seperti parkir inti dan perpindahan frekuensi jam cepat. Ini konsisten dengan peningkatan kinerja yang dilaporkan oleh Tom's Hardware ketika menggunakan paket daya Kinerja Tinggi (lihat grafik di atas, HP = Kinerja Tinggi). Pembaruan untuk Windows dapat menambahkan dukungan untuk fitur-fitur ini dan meningkatkan kinerja.

bwDraco
sumber
12
Saya tidak yakin saya mengikuti. OP secara eksplisit mengatakan bahwa karena optimasi game untuk Ryzen tidak dipertanyakan pada tahap ini, dan bug Windows bahkan lebih panjang, bagaimana jawaban ini membantu untuk memahami bagaimana pembaruan firmware dapat memberikan harapan untuk peningkatan kinerja?
Ale..chenski
11
Dia pada dasarnya mengatakan bahwa windows benar-benar mengacaukan bagaimana / di mana mengalokasikan utasnya - menyebabkan masalah kinerja.
Journeyman Geek
2
@JourneymanGeek, semua Windows yang layak (saya tidak yakin apakah W10 memenuhi syarat) selalu memiliki kontrol eksplisit dari afinitas inti ke suatu proses, dan mengejek dengan afinitas selalu menjadi alat pertama dalam pembandingan. Apa yang baru?
Ale..chenski
4
Sayangnya ya, tetapi pembaruan kernel sedang bekerja. Anda mungkin harus menunggu kernel 4.12; 4.11 membawa beberapa perbaikan tetapi tidak cukup di sana. phoronix.com/scan.php?page=news_item&px=Ryzen-7-Linux-4.11
bwDraco
7
@Crouchingkitten AMD hanya dapat memberikan driver bukan pembaruan OS. Hal-hal semacam itu tidak ada dalam kumpulan tugas AMDS.
Arthur PR
9

http://wccftech.com/amd-ryzen-launch-aftermath-gaming-performance-amd-response/

1) BIOS motherboard awal pasti bermasalah: menonaktifkan fitur yang tidak terkait akan mematikan core. Mengatur overclock memori pada beberapa motherboard akan menonaktifkan peningkatan. Beberapa revisi BIOS akan menghasilkan kinerja yang ditekan secara universal.

2) Ryzen mendapat manfaat dari menonaktifkan High Precision Event Timers (HPET). Resolusi pewaktu HPET dapat menyebabkan efek pengamat yang dapat mengurangi kinerja. Ini adalah opsi BIOS, atau fungsi yang dapat dinonaktifkan dari shell perintah Windows.

3) Ryzen mendapat manfaat dari mengaktifkan profil daya Kinerja Tinggi. Ini mengabaikan parkir inti. Akhirnya kita akan memiliki pengemudi yang memungkinkan orang untuk tetap seimbang dan menonaktifkan parkir inti. Gamer telah melakukan ini untuk sementara waktu juga. Saya salah bicara, di sini. Saya ingin memperjelas manfaatnya: Mode Kinerja Tinggi memungkinkan CPU untuk memperbarui voltase / kecepatannya dalam 1 ms, vs 30 ms yang dibutuhkan mode seimbang. Inilah yang akan dilakukan oleh pengemudi kami. Permintaan maaf untuk kebingungan!

Jadi pertanyaan sebenarnya bukan bagaimana pembaruan BIOS / firmware dapat membuat prosesor lebih cepat (dapat dilakukan, optimasi mikrokode, dll ...) lebih ... bagaimana lumpuh adalah CPU oleh kereta BIOS / firmware

Naib
sumber
Saya minta maaf karena bertanya di sisi pertanyaan yang salah. Saya pikir itu akan cocok terutama karena saya tertarik pada informasi yang tidak sepele juga.
np, itu mungkin cukup abstrak untuk tetap. Saya mengikuti Ryzen karena saya berencana membangun kembali yang besar jadi saya mengikuti semua masalah gigi. Sebagai pengguna Linux saya juga mengikuti masalah spesifik linux. Satu hal yang perlu dipertimbangkan dengan Ryzen (dan inti zen) adalah ini adalah SMT 1 AMD & indikasi awal adalah melaporkan core logis berbeda dari Intel dan BIOS / Windows dapat mencoba menggunakan semua "core" sebagai core fisik ketika setengahnya logis core. Ini secara signifikan akan mempengaruhi kinerja
Naib
Jawaban, komentar, dan pemikiran tentang pertanyaan ini sangat penting menurut saya karena orang perlu tahu apakah keadaan masih bisa lebih baik dan sejauh ini saya melihat sekarang saya bisa berharap lagi. BTW artikelnya sangat sangat bagus!
Untuk lebih spesifik Ryzen ... forums.gentoo.org/viewtopic-t-1057910.html Banyak dari kita di posting forum gentoo dan diskusikan ketika kita mendapatkan info. Sekarang untuk linux, driver audio mobo hanya ada di git, demikian juga monitor termal tidak ada ... Masalah HPET dan inti adalah masalah yang mendesak. Saat ini AMD benar-benar mengalahkan Intel untuk komputasi murni
Naib
1
sedikit banyak ya. Saya mendukung pernyataan saya bahwa untuk Ryzen sedang lumpuh sehingga BIOS / driver akan "mempercepatnya"
Naib
6

BIOS umumnya dianggap sebagai firmware. BIOS dapat mengubah segala macam bit dalam perangkat keras untuk mengubah cara sistem berjalan

Jadi ya sepenuhnya layak bagi mereka untuk mengeluarkan firmware baru dan untuk hal-hal seperti kecepatan clock, atau apakah prefetch diaktifkan, atau apakah core tertentu — atau IIO — bisa mendapatkan preferensi tertentu ke cache yang berpotensi meningkatkan kinerja gaming karena untuk sebagian besar game yang dirancang secara single-threaded.

horta
sumber
Ini kedengarannya menarik, mungkinkah menemukan referensi untuk ini? Akan sangat bagus untuk memiliki beberapa dari mereka untuk membuktikannya kepada orang-orang :)
@ ArthurP.R. Antara pcode, ucode (mikrokode) dan bios, kinerja dan fungsionalitas sebuah chip dapat sangat diubah. Itu semua adalah perangkat lunak / firmware. Dari segi sumber, tidak, saya tidak dapat memberikan Anda sumber eksternal untuk informasi ini (karena semuanya internal).
horta
Sayang sekali @horta, terima kasih banyak atas informasi ini. Jangan ragu untuk menyesuaikan jawaban Anda untuk memasukkan informasi ini juga. Itu layak!
4

Tidak terlalu banyak pembaruan perangkat lunak akan membuat prosesor lebih cepat. Apa yang diharapkan semua orang adalah bahwa pembaruan perangkat lunak akan membuat perangkat lunak lebih cocok untuk arsitektur Ryzen, dan dapat meningkatkan kinerjanya dengan lebih baik.

Perbaiki saya jika saya salah tetapi prosesor harus memiliki firmware statis agar kompatibel dengan standar x64?

Hampir. Ada perangkat lunak dalam CPU (mikrokode, seperti yang disebutkan di atas) dan itu dapat mempengaruhi kinerja. Pada dasarnya X86 hanya menentukan hasil operasi, bagaimana tepatnya CPU mencapai hasil tersebut adalah masalah para insinyur. Peluang tweak mikrokode memainkan peran utama dengan Ryzen sangat tipis, karena kesenjangan kinerja tampaknya berlaku sebagian besar untuk game yang menunjukkan CPU berkinerja baik, tetapi beberapa game khususnya tidak memanfaatkannya dengan baik.

Sistem Operasi bertanggung jawab untuk mencoba memastikan program tersebar di CPU secara efisien, yang dapat mempengaruhi kinerja, tetapi secara umum tidak satu pun dari faktor-faktor ini yang menjadi masalah utama untuk arsitektur baru. Sebagian besar peningkatan kinerja dalam kasus seperti ini terjadi karena pengembang menulis kode yang lebih sesuai dengan arsitektur baru. Hal ini cenderung tidak terjadi di antara generasi CPU Intel karena perubahan desain tidak terlalu signifikan, sehingga apa yang bekerja dengan baik pada satu kemungkinan akan bekerja dengan baik pada yang lain.

Namun Ryzen adalah desain baru, jadi semua yang telah ditulis sesuai dengan CPU lain secara definisi belum ditulis sesuai dengan Ryzen.

Untuk menyederhanakan situasi secara besar-besaran, bayangkan dua prosesor:

  • Processor One telah ada di pasaran beberapa saat, dan (untuk alasan apa pun) sangat cepat dalam menambahkan angka. Perangkat lunak dirancang untuk mencoba dan menggunakan tambahan sebanyak mungkin, untuk memanfaatkan kemampuan ini.

  • Prosesor yang bersaing mendarat di pasar dan lebih lemah di samping, tetapi lebih kuat di multiplikasi. Semua perangkat lunak yang dioptimalkan untuk menggunakan lebih banyak instruksi tambahan-berkinerja buruk pada prosesor baru, tetapi perangkat lunak yang belum dirancang untuk menggunakan banyak penambahan melakukan lebih kurang sama. Beberapa perangkat lunak mungkin sudah melakukan banyak perkalian, dan akan bekerja lebih baik pada CPU baru daripada pada Prosesor Satu, bahkan pada hari peluncuran.

Beberapa waktu setelah peluncuran, pengembang akan mulai beradaptasi, menggunakan lebih banyak perkalian dalam perangkat lunak mereka, atau bahkan merancang perangkat lunak mereka untuk beralih di antara jalur kode tambahan-berat, dan yang multiplikasi-berat tergantung pada arsitektur CPU yang digunakan.

Ini adalah apa yang terjadi dengan Ryzen - ini adalah arsitektur baru yang belum dioptimalkan oleh pengembang perangkat lunak sesuai dengan karakteristiknya. Jika diberi waktu, pengembang akan mulai mengubah perangkat lunak mereka agar kinerjanya lebih baik. Karena sebagian besar perangkat lunak telah dirancang untuk berkinerja baik pada CPU Intel (mereka sangat populer, setelah semua!), Mereka kemungkinan tidak akan mendapat manfaat dari perubahan ini sangat banyak.

Ada beberapa beban kerja yang membuat Intel tetap lebih cepat, dan beberapa yang Ryzen lebih cepat (dan akan semakin cepat) tergantung pada perilaku yang mendasarinya. Dalam situasi yang saya berikan di atas, sebuah perangkat lunak yang hanya perlu menambahkan hal-hal akan selalu berkinerja lebih baik pada prosesor pertama, dan perangkat lunak yang hanya harus melipatgandakan hal-hal akan selalu berkinerja lebih baik pada yang kedua - tetapi untuk sebagian besar perangkat lunak kompleks dan perbedaan-perbedaan ini akan sedikit keluar.

Jika demikian, bukankah AMD harus mengoptimalkan game (perangkat lunak) untuk prosesor mereka yang jelas tidak mungkin?

Perlu juga dicatat bahwa apa yang sebenarnya dikatakan AMD tentang kinerja game adalah bahwa mereka bekerja dengan pengembang untuk mendapatkan game yang dioptimalkan. Mereka mengirimkan sistem dev ke perusahaan (saat ini ada 300 di alam bebas, dan mereka menargetkan 1000 pada akhir tahun) dan berbicara dengan mereka yang permainannya berkinerja buruk untuk membantu mengatasi masalah ini. Sejauh yang saya tahu, tidak ada pernyataan yang dibuat bahwa AMD sendiri mengoptimalkan game.

Dalam kasus khusus ini Ryzen juga ditahan dalam beberapa keadaan oleh Windows membuat keputusan yang buruk tentang core mana yang harus diisi dengan pekerjaan, dan BIOS saat ini bermasalah karena alasan yang saya tidak akan pura-pura tahu. Namun masalah-masalah tersebut tidak dapat bertanggung jawab atas semua kesenjangan kinerja, karena ada beban kerja di mana Ryzen sudah mengungguli Intel secara meyakinkan, yang menunjukkan bahwa masalah ini setidaknya sebagian (jika tidak sebagian besar) turun ke program-program tertentu yang sedang dijalankan, daripada OS atau BIOS secara keseluruhan.

Chris Rimmer
sumber
Jawaban ini juga menarik dan baik. Terima kasih.
Arthur PR
1

Tentu saja perangkat lunak dapat meningkatkan kinerja CPU atau bahkan GPU.

Salah satu cara pasti overclocking atau semacam mekanisme pengubah jam. Yang kedua adalah optimalisasi driver. Ini termasuk metode kompresi data yang lebih baik, algorythms decoding lebih cepat, dll ... pada dasarnya fitur yang membantu memanfaatkan lebih banyak perangkat keras dengan lebih baik. Fitur-fitur ini juga dapat diperbarui oleh pembaruan firmware, yang sebenarnya bukan perangkat lunak (biasa). Lalu ada perangkat lunak yang dapat mengontrol solusi pendinginan komputer Anda. Itu sangat berguna untuk CPU dan GPU yang memanfaatkan teknologi peningkatan kinerja seperti Intel Turbo boost dan Nvidia's GPU boost. Perangkat keras seperti itu memiliki batasan suhu tertentu, sehingga mereka menurunkan kinerjanya, ketika mereka berjalan terlalu panas dan overclock secara dinamis, ketika aplikasi menuntut daya komputasi yang lebih tinggi, selama mereka belum mencapai daya maksimum dan mereka

Ada opsi lain juga, tetapi sebagian besar menutupinya. Pada dasarnya, selama Anda tahu masalahnya dan secara programatik dapat memanipulasi cara data diproses (seperti memperkenalkan beberapa algoritma penguraian kata sandi pintar yang menggantikan jenis solusi "brute force") atau memanipulasi reaksi prosesor terhadap berbagai faktor kunci terhadap kinerjanya. (seperti meningkatkan pendinginan secara lebih agresif jika terjadi overheating atau memonitor permintaan sumber daya dari aplikasi dan secara dinamis melakukan overclocking sendiri ketika lebih banyak daya pemrosesan diperlukan), Anda dapat melakukan banyak hal untuk meningkatkan (atau memperburuk) kinerja unit pemrosesan.

Dalam kasus AMD, ini mungkin merupakan optimasi mekanisme peningkatan atau solusi pendinginannya. Salah satu atau keduanya mungkin telah diubah untuk bereaksi lebih agresif terhadap peningkatan beban atau suhu.

TL; DR: Ya, perangkat lunak dapat meningkatkan kinerja prosesor. Ada banyak cara yang dapat dilakukan, seperti optimasi driver dan firmware, overclocks, dll. Setiap perubahan perangkat lunak yang menyiapkan data sehingga lebih mudah untuk memproses atau membuat perangkat keras bereaksi lebih baik terhadap beban atau keterbatasannya sangat mungkin akan menyebabkan peningkatan kinerja.

BassGuitarPanda
sumber
-1

Pembaruan perangkat lunak pasti dapat membuat sistem (termasuk prosesor) berjalan lebih cepat.

Contoh yang sangat ekstrem dari ini adalah komputer mainframe IBM yang besar: Anda dapat membeli lebih banyak waktu CPU secara online, dan yang Anda dapatkan hanyalah kunci lisensi yang harus Anda masukkan ke dalam OS Anda, dan boom !, sistem Anda berjalan lebih cepat. Caranya sederhana: OS scheduler kadang-kadang hanya menolak untuk menjadwalkan tugas dan meminta CPU untuk tidur, atau bahkan hanya menjalankan loop NO-OP untuk waktu yang singkat, untuk mencapai throughput rata-rata keseluruhan yang diberikan. Jika Anda membayar untuk lisensi yang lebih mahal, penjadwal kemudian menghapus NO-OP tersebut.

Atau, bahkan lebih drastis: jika Anda membeli sistem dengan hanya 4 atau 6 atau 8 CPU, biasanya akan ada sekitar 16-32 yang benar-benar diinstal. OS cukup mematikan beberapa dari mereka, dan dengan memasukkan kunci lisensi, Anda dapat menyalakannya.

Demikian pula, mainframe IBM membedakan antara berbagai jenis prosesor: prosesor Linux, prosesor Java, prosesor Transaksi, dll. Mereka sebenarnya semua prosesor yang sama, tetapi penjadwal OS akan menolak untuk menjadwalkan tugas-tugas Transaksi (yang merupakan yang paling penting) ke suatu Prosesor Java atau Linux. Hanya Java VMs yang dijadwalkan untuk prosesor Java dan hanya Linux VMs yang dijadwalkan untuk prosesor Linux. Jika Anda ingin mendapatkan kinerja Transaksi yang lebih tinggi, Anda harus membeli lisensi untuk lebih banyak prosesor Transaksi: sekali lagi, mereka adalah prosesor yang sama persis, satu-satunya perbedaan adalah bendera konfigurasi dalam penjadwal yang mengatakan "jangan menjadwalkan tugas transaksi ke prosesor tersebut." ".

Contoh lain, tidak terlalu ekstrem, adalah edisi Windows yang berbeda. Edisi Windows yang berbeda mendukung jumlah core CPU yang berbeda dan jumlah memori yang berbeda pula. Jika Anda memiliki memori yang besar dan sejumlah besar CPU, Anda dapat membuat sistem Anda lebih cepat, hanya dengan memutakhirkan ke edisi Windows yang "lebih besar". Perhatikan bahwa edisi memiliki kode yang sama persis; hanya ada beberapa saklar konfigurasi di suatu tempat yang mengatakan "Anda adalah Edisi Rumah, Anda hanya mendukung 1 CPU dan 128 GiByte".

Jörg W Mittag
sumber