Laptop biasanya memiliki paling banyak empat core, dan dualcores mungkin lebih umum. Saya baru-baru ini telah beralih dari quadcore untuk dualcore dan saya bisa mengkonfirmasi ada jumlah terbatas usecases untuk quadcore, bahkan dengan CPU intensive tugas.
Di sisi lain tangan, di ponsel, quadcores, hexacores dan octacores tampaknya menjadi umum. Mengapa? Tugas-tugas apa yang dapat memanfaatkan mereka?
Saya mengerti bahwa besar.KECIL dapat menjadi bagian dari jawaban. Artinya, manfaat utama dari begitu banyak core tidak kemampuan untuk menggunakan semua dari mereka secara bersamaan, melainkan menggunakan core dengan konsumsi daya yang tepat untuk beban kerja saat ini. Namun, misalnya, Snapdragon 625 memiliki delapan Cortex-A53 core, yang tampaknya tidak menjadi kasus besar.SEDIKIT.
Mungkin arsitektur ARM memiliki titik yang lebih rendah dari kinerja optimal per watt. Artinya, memiliki satu inti disetel untuk kinerja yang optimal per watt menghasilkan kinerja yang lebih rendah pada LENGAN dari pada Intel. Jadi, lebih banyak core yang digunakan dalam rangka untuk memberikan kinerja. Ini hanya sebuah hipotesis.
Tetapi bahkan dalam kasus ini, saya don't melihat apa beban kerja yang efisien dapat digunakan, mengatakan, delapan core pada ponsel. Pada laptop, saya bisa membayangkan beberapa seperti penuh (non-incremental) kompilasi dari sebuah proyek. Tapi pada ponsel?
Seperti yang anda've telah dicatat, besar.KECIL kombinasi strategi (secara teknis, HMP, Heterogen Multi-Processing cluster) adalah alasan utama untuk begitu banyak (dan kadang-kadang sangat banyak) core. Perangkat mobile sering berjalan ke beberapa skenario, baik beban berat dan beban ringan yang disertakan.
Ekstrim konsumen kelas contoh adalah MediaTek's Helio X20, yang memiliki 2 berorientasi pada kinerja A72 core, 4 seimbang A53 core, ditambah 4 hemat energi A35 core. Yang's sangat fleksibel seluruh kasus penggunaan yang berbeda. Namun, saya pikir 8 core 2 cluster adalah biasanya cukup.
Ada's juga desktop lain seperti contoh, Qualcomm's seri Snapdragon 800 (S 800, S 801, dan S 805). Hanya ada 4 core mikroarsitektur yang sama di masing-masing SoC, dengan 2 clock yang lebih tinggi dan 2 dengan clock yang lebih rendah. Qualcomm dibuat ini SoCs karena mereka sangat percaya diri mereka sendiri mikroarsitektur (Krait 400 dan Krait 450).
Untuk game, bahkan jika mereka tampaknya permintaan kinerja GPU daripada CPU, mereka masih menempatkan beban berat pada CPU. GPU tidak dapat bekerja sendiri tanpa sesuatu yang lain memasok dengan data yang akan diproses, dan yang's salah satu pekerjaan utama bahwa CPU adalah melakukan saat anda're gaming. Dalam kebanyakan game kasus, GPU hanya merender grafis, sedangkan semua pekerjaan lainnya seperti loading data, sumber daya dan aset, dan penuh perhitungan dalam mekanika permainan seperti sistem, lingkungan, dan fisika yang dilakukan oleh CPU. Anda memenangkan't mengamati frame rate yang lebih tinggi jika anda meng-upgrade GPU anda saat menempel ke low-end CPU.
Alasan sekunder adalah cara Android menggunakan sumber daya CPU. Android cukup banyak membuat aplikasi mereka sendiri lingkungan. Menggunakan apa-apa tapi kode (dan Api) dari Jawa, tetapi memiliki mesin virtual sendiri bernama Dalvik, yang kemudian digantikan oleh SENI (API Level 21). APKs telah mereka eksekusi kode dalam "netral" format, seperti .kelas
file di Jawa. Sebelum mereka're run, kode mendapatkan dihimpun sekali lagi ke dalam mesin's asli petunjuk[1]. Proses kompilasi adalah multi-threaded dan dapat memanfaatkan multi-core untuk meningkatkan kinerja.
Dan ketika aplikasi sedang berjalan, ada beberapa proses lainnya dan mekanik (seperti Garbage Collector) yang berjalan bersama, atau paralel untuk aplikasi. Lebih lanjut core dapat membiarkan mendukung proses berjalan lebih efisien, serta aplikasi utama.
1. Jika anda menggunakan file tipe identifier, anda'll menemukan bahwa "dioptimalkan" dex file dalam format ELF, sedangkan "netral" dex file hanya dalam format mereka sendiri.
Lain yang kurang alasannya adalah bahwa core ARM bisa't bekerja secepat Intel x86 chip. Intel x86 mikroarsitektur dapat tanggal kembali ke tahun 1976, ketika Intel 8086 chip mulai dirancang, yang berarti bahwa x86 telah dikembangkan selama waktu yang lama. Tunggal modern high-end ARM Cortex-A73 core hanya sebagai kuat sebagai Intel Clarkdale inti, mengambil Core i5-660 sebagai contoh (GeekBench, single-core). Hal ini karena x86 adalah sebuah CISC mikroarsitektur sedangkan LENGAN adalah RISC mikroarsitektur. Anda pasti don't ingin ponsel yang menjadi laggy dengan hanya dua atau lebih aplikasi yang aktif. Lebih lanjut core akan membantu meringankan tekanan. Yang's mengapa dual-core Soc yang relatif populer hanya pada jam tangan pintar. Yang membutuhkan kinerja pada smart watch?
Menariknya, lebih banyak core akan menghasilkan daya kurang dari satu inti pada beban yang sama. Hubungan antara frekuensi CPU dan konsumsi daya lebih dari linear, sehingga dua kali frekuensi akan selalu mengakibatkan menuntut lebih dari dua kali, atau bahkan 3x atau 4x lebih banyak kekuatan, sementara memberikan kurang dari dua kali kinerja (karena keterbatasan sumber daya lain seperti cache). Jadi 4 core dapat dengan mudah mengalahkan tunggal inti pada beban yang sama, memberikan kinerja yang lebih baik dan sekaligus menuntut lebih sedikit daya.
Bacaan Lebih Lanjut:
Alasannya sederhana sebanyak menyulitkan.
Jawaban singkatnya adalah "karena pasar ponsel tidak pernah dan tidak didorong oleh Intel".
Jawaban panjang terlalu panjang untuk melanjutkan di sini, tapi konsep dasar adalah bahwa Intel telah mendominasi pasar PC selama bertahun-tahun dengan segala cara yang mungkin, untuk membayar dan merusak (dan didenda untuk ini) untuk memiliki Cpu menjadi yang pertama dan satu-satunya pilihan bagi produsen PC.
Memiliki kontrol total pasar telah memungkinkan Intel untuk mengembang harga CPU sementara artifisial memutuskan fitur mana dan berapa banyak kekuatan pemrosesan pengguna harus dicari, dan jika anda menganalisis sebuah bit Intel sejarah anda'll melihat bahwa kekuatan utamanya adalah pada dasarnya dalam peningkatan frekuensi Cpu, sehingga sebagian besar tidak pernah mencoba untuk melakukan sesuatu yang benar-benar pintar atau inovatif; dan itu didn't perlu itu, karena itu hanya dapat mengatakan kepada orang-orang "anda don't membutuhkan lebih banyak core, tapi aku punya berair ini baru Cpu yang berjalan 100 MHz lebih cepat". Pada saat yang sama, itu bisa menjual multicore Cpu di pasar server di kepalang harga tinggi (karena server selalu dibutuhkan ton paralel daya, ke titik bahwa ada tren saat ini dalam mencoba untuk mewujudkan server yang menggunakan...coba tebak? Seratus murah telepon Cpu bekerja secara paralel)
Hal ini, pada gilirannya, telah tercermin dalam komunitas pengembang yang belum pernah tertangkap dengan pentingnya pemrograman paralel, sehingga banyak jika tidak sebagian besar dari mereka tidak pernah menggunakan lebih dari satu thread di waktu -atau, untuk mengungkapkan hal itu dalam non teknis cara, memiliki perangkat lunak mereka melakukan lebih dari satu tugas pada waktu. Yang, by the way, masuk akal ketika 99% dari pelanggan anda dasar memiliki dua core pada max. Sayangnya, hal ini telah menyebabkan legenda yang paralel algoritma yang benar-benar sulit untuk menerapkan dan hanya berlaku untuk sebagian kecil dari masalah.
Sebaliknya, akhirnya, pasar ponsel telah pernah melihat Intel sukses; justru sebaliknya, benar-benar, seperti yang terjadi sebagian besar waktu bahwa Intel mencoba untuk melakukan sesuatu yang berbeda dari biasanya arsitektur X86. Jadi, kurang lebih pengaruh dan kendali pasar, Cpu lain produser telah pergi ke arah yang telah normalitas untuk usia di luar pasar PC: komputasi paralel.
Ada dua faktor yang terjadi, salah satu yang sangat praktis dan sejarah lainnya.
Alasan praktis adalah menggunakan campuran arsitektur di ponsel. Konsumsi daya sangat penting untuk ponsel dan ponsel menghabiskan banyak waktu di mode di mana mereka memerlukan kinerja yang sangat sedikit. Masuk akal untuk memiliki beberapa core dioptimalkan untuk konsumsi daya minimal ketika sedikit dibutuhkan kinerja yang sementara memiliki beberapa core dioptimalkan untuk memberikan kinerja yang maksimal ketika itu's diperlukan.
Alasan lain adalah sebagian besar sejarah. Sampai tahun 2005 atau lebih, desktop, Cpu semua single core. Meningkatkan desktop kinerja CPU terdiri hampir secara eksklusif dalam membuat sebuah inti yang dapat mengeksekusi banyak instruksi per detik mungkin. Bahkan saat ini, begitu banyak desktop software tidak dapat mengambil keuntungan penuh dari beberapa core yang banyak akan lebih memilih CPU dengan 4 core lebih dari 8 inti CPU dengan core 20% lebih lambat.
Semakin banyak kinerja dari satu inti mungkin membutuhkan jumlah besar dari CPU real estate. Ini adalah real estate yang sebaliknya dapat digunakan untuk memberikan lebih banyak core. Ini adalah mengapa Intel's terbaru Kaby Danau Cpu max keluar di 4 core dan orang-orang yang membeli mereka karena masing-masing inti lebih cepat dari pendahulunya's core. Bagi banyak orang, mereka adalah meng-upgrade bahkan dari Cpu dengan jumlah core yang lebih tinggi.
Dari waktu ke waktu, berharap untuk melihat lebih banyak perangkat lunak desktop sepenuhnya dioptimalkan untuk mendukung lebih banyak core. Seperti yang terjadi, teknik pengorbanan akan mulai untuk mendukung lebih banyak core yang lebih cepat core pada desktop. Sementara core akan hampir pasti masih bisa lebih cepat, anda'll mulai melihat orang-orang lebih memilih 8 core CPU lebih dari 4 core CPU bahkan jika inti masing-masing adalah 20% lebih lambat. Desainer Chip akan mengikuti pasar.
It's sangat penting untuk sebuah ponsel dapat memberikan daya komputasi dalam ledakan singkat (kita perlu aplikasi tertentu untuk menjadi cepat), tetapi juga untuk menghindari panas (disipasi panas jauh lebih sulit untuk ponsel dari laptop atau Pc). Dalam rangka untuk mencapai hal ini, arsitek desain ponsel untuk menggunakan satu inti ketika beban kerja ringan dan memberikan ekstra core untuk meningkatkan kinerja ketika dibutuhkan. Jika ponsel yang digunakan lebih sedikit besar core, overheating akan menjadi masalah bahkan ketika beban kerja yang cukup ringan.
Sumber: lulusan tingkat-arsitektur komputer saja.
Pertama, Java virtual machine dapat secara historis manfaat dari multi-core yang lebih khas dari perangkat lunak desktop. Bahkan jika anda menulis sebuah single-threaded aplikasi di pulau Jawa, itu akan berjalan lebih cepat pada multicore karena sebagian besar sampah kolektor kode yang akan dijalankan bersama dengan aplikasi anda.
Kedua, banyak hal yang terjadi di latar belakang pada ponsel anda: update otomatis, popularitas iklan, perangkat lunak antivirus, manajemen modul GSM, dll. Pada laptop, semua tugas-tugas ini akan hampir tidak menjaga satu inti sibuk, tapi core ARM jauh lebih kuat, sehingga anda mungkin ingin untuk memiliki setidaknya beberapa dari mereka yang didedikasikan untuk tugas-tugas latar belakang jika anda ingin sistem responsif.
Akhirnya, ada's pemasaran. Tidak banyak pengguna yang mampu menilai apakah mereka akan mendapatkan keuntungan dari 8 core, tapi 8-core smartphone tentu terdengar lebih mahal dari 2 atau 4 inti satu.
Jawaban sejauh ini menjelaskan beberapa aspek dari masalah ini sangat banyak jumlah core CPU pada ponsel Android. Baca lagi; ponsel Android. IPhone telah berhasil terjebak untuk hanya beberapa core untuk usia dan masih melakukan jauh lebih halus daripada Android andalannya.
Para desainer dari Android yang dibuat berjudi besar ketika memutuskan untuk memilih pemrograman Java dan sebagai akibatnya JVM sebagai runtime aplikasi. Jawa, karena prinsip-prinsip desain memecahkan masalah yang memerlukan untuk menyusun dan membangun kode untuk masing-masing CPU arsitektur sebelum bisa berjalan di atasnya dengan mengorbankan kinerja. Jawa memperkenalkan kelas berat dan besar virtual mesin biasanya disebut JVM. JVM sebenarnya mengemulasi CPU di tingkat perangkat lunak untuk menghindari kebutuhan untuk mengkompilasi kode secara terpisah untuk masing-masing perangkat. Pikirkan JVM sebagai virtual CPU yang memiliki sifat yang sama terlepas dari perangkat yang menjalankan itu jadi kode hanya perlu disusun sekali untuk JVM dan kemudian bisa berjalan pada setiap perangkat. Hal ini memungkinkan produsen untuk membuang perangkat keras yang mereka inginkan sebelum perlu khawatir tentang kompatibilitas aplikasi. Hal ini juga memungkinkan perangkat mereka untuk mengisi pasar dengan baik jelek perangkat low-end dan kualitas high-end dan akhirnya mendominasi.
JVM sendiri adalah hanya sebuah spesifikasi dan orang-orang bebas untuk mengembangkan mereka sendiri JVM asalkan mematuhi spesifikasi ini. Asli android JVM disebut Dalvik. Saat ini Google telah diganti dengan SENI.
Sekarang apa masalahnya dengan JVM? Ini adalah berat bagian dari perangkat lunak yang mengkonsumsi banyak sumber daya komputasi. Tambahkan ke ini beberapa sifat lain dari bahasa Jawa seperti Pengumpulan Sampah dan JVM's konsumsi sumber daya hanya menjadi terlalu banyak untuk sebuah perangkat dengan hardware sederhana power. Masing-masing aplikasi dan sistem layanan terbuka di perangkat anda sendiri contoh SENI JVM dan sekarang anda bisa menyimpulkan bahwa mengelola mereka semua membutuhkan beberapa benar-benar mampu hardware. Hal mendapatkan bahkan lebih buruk ketika ada kebutuhan untuk menarik user interface.
Masing-masing aplikasi yang berjalan pada jumlah Benang. Setiap core CPU dapat menjalankan hanya satu thread pada suatu waktu. Setiap aplikasi memiliki satu thread utama yang melakukan hal-hal yang berkaitan dengan user interface. Mungkin ada lebih banyak benang per aplikasi untuk melakukan akses file, jaringan, dll. Pada umumnya ada lebih banyak aplikasi (sistem pelayanan) buka dari ada CPU core dan akibatnya biasanya ada banyak thread yang lebih daripada yang terdapat dalam CPU core. Jadi masing-masing core memiliki untuk beralih antara pengolahan benang yang berbeda terus-menerus, melakukan sedikit dari masing-masing dan pergi ke berikutnya. Switching ini membutuhkan banyak waktu untuk CPU dan dalam kasus dari aplikasi yang pada dasarnya JVMs, tugas ini menjadi lebih lengkap. Dengan meningkatkan jumlah core sederhana mengurangi jumlah aplikasi (dan oleh karena itu benang) masing-masing inti perlu khawatir tentang dan yang meningkatkan kinerja umum.
Berdasarkan penjelasan ini orang bisa menyimpulkan bahwa android membutuhkan hardware yang kuat untuk berjalan dengan lancar. Generasi awal perangkat Android yang terkenal tertinggal, menabrak dan banyak lain hal-hal yang disayangkan. Tapi selama bertahun-tahun masalah-masalah ini sebagian besar telah diselesaikan dengan mengandalkan hardware yang kuat.
Di sisi lain, iOS aplikasi yang disusun dengan asli kode mesin dan karenanya don't perlu virtualisasi. Bahasa yang digunakan dan sistem operasi juga lebih efisien dan karenanya memungkinkan perangkat ini untuk tetap halus tanpa perlu berlebihan beberapa chipset.
Melanjutkan semua di atas, saya dapat mengatakan bahwa kasus penggunaan PC dan ponsel yang sangat berbeda. PC sering kali digunakan dalam satu atau beberapa aplikasi (tentu saja browser dengan banyak tab memerlukan banyak core cpu, bisa lag bahkan di atas i-3), ponsel yang digunakan untuk multitask. Setidaknya koneksi jaringan, UI menarik, sistem pemicu, pemberitahuan. Jika anda membuka task manager di PC ada banyak dari proses juga, tapi mereka menggunakan kurang dari beberapa % dari daya cpu bahkan di old Core 2 duo. 4 core ini cukup murah (MTK 65x2 biaya 1$ di mulai untuk OEM) Itu juga RISIKO vs CISC saat terakhir kekurangan pada performa per core. Hemat energi != kuat, seperti yang bisa kita lihat di sini. Multi-core adalah tempat yang sempurna untuk mobile,karena tidak ada yang serius berat tunggal tapak beban, dan multi-task yang ditujukan pengalaman (tapi kita bisa melihat bahwa iphone membutuhkan kurang core dan RAM karena perangkat lunak yang baik [seperti dalam video ini, atau orang lain][2] )
Saya pikir salah satu pendorong utama faktor-faktor di luar 4 atau 8 (untuk besar:sedikit konfigurasi) ini hanya pemasaran saat ini.
Salah satu masalah besar dari tinggi jumlah core adalah ketika anda mempertimbangkan ukuran memori. Biasanya di aplikasi desktop ketika anda ingin meningkatkan pemanfaatan beberapa core yang anda butuhkan untuk menduplikasi struktur dan penggunaan memori yang jauh lebih besar kemudian pada ulir tunggal aplikasi.
Hal ini tidak terjadi karena RAM yang sangat mahal (terutama di musim 2017/2018 RAM situasi krisis). Pemasaran yang ingin angka yang tinggi tetapi mengendalikan ingin dipotong pada komponen harga. Jika anda melihat keseimbangan yang kurang dari 1 Gigabyte RAM per core kemudian anda melihat gagal kompromi.