Mengapa ponsel Android memiliki lebih banyak inti daripada komputer?

80

Laptop biasanya memiliki paling banyak empat core, dan dualcores mungkin lebih umum. Saya baru-baru ini beralih dari quadcore ke dualcore dan saya dapat mengkonfirmasi ada sejumlah usecases untuk quadcore, bahkan dengan tugas-tugas intensif CPU.

Di sisi lain, di ponsel, quadcores, hexacores, dan octacores tampaknya umum. Mengapa? Tugas apa yang bisa memanfaatkannya?

Saya mengerti hal itu. LITTLE dapat menjadi bagian dari jawabannya. Artinya, manfaat utama dari begitu banyak core bukanlah kemampuan untuk menggunakan semuanya secara bersamaan, melainkan menggunakan inti dengan konsumsi daya yang sesuai untuk beban kerja saat ini. Namun, misalnya, Snapdragon 625 memiliki delapan inti Cortex-A53, yang tampaknya tidak menjadi masalah bagi big.LITTLE.

Mungkin arsitektur ARM memiliki titik kinerja optimal yang lebih rendah per watt. Yaitu, memiliki satu inti disetel untuk kinerja optimal per watt menghasilkan kinerja yang lebih rendah pada ARM daripada pada Intel. Jadi, lebih banyak core digunakan untuk memberikan kinerja. Ini hanya sebuah hipotesis.

Tetapi bahkan dalam kasus ini, saya tidak melihat beban kerja apa yang dapat digunakan secara efisien, katakanlah, delapan core pada ponsel. Di laptop, saya bisa membayangkan beberapa kompilasi penuh seperti proyek (non-incremental). Tetapi di telepon?

  • Game bisa haus akan kinerja, tetapi biasanya membutuhkan kinerja GPU daripada CPU, bukan?
  • Secara teoritis, beberapa core dapat mempercepat kompilasi Android Lollipop / Marshmallow AOT saat menginstal atau ketika meningkatkan (yaitu, fase "Mengoptimalkan aplikasi 3/121"). Namun, saya tidak yakin apakah ini dapat memanfaatkan banyak core. Sejauh yang saya ingat kode, hanya satu aplikasi sedang dikompilasi pada satu waktu, tetapi mungkin ada beberapa paralelisme dalam proses kompilasi itu sendiri.
  • Android 7+ juga dapat menggunakan banyak core saat kompilasi. Namun karena dilaporkan dikompilasi saat idle dan charging, manfaatnya tampaknya agak minim. Setidaknya ketika seseorang mengisi baterai telepon semalam - saya benar-benar tidak peduli jika perlu 30 menit atau dua jam dalam skenario seperti itu.
v6ak
sumber
Seperti yang saya tunjukkan dalam jawaban saya, ingatlah bahwa Anda tampaknya melihat hal-hal yang terbalik. Banyak eksekusi inti / paralel adalah norma, bukan ponsel Anda yang merupakan anomali karena memiliki banyak inti, ini adalah PC CPU yang merupakan anomali.
motoDrizzt
4
Pertanyaan Anda cacat, PC dapat memiliki lebih banyak inti daripada telepon. intel.com/content/www/id/en/products/processors/core/x-series/… Dan itu bahkan tidak masuk ke mesin kelas server, yang dapat memiliki lusinan atau bahkan ratusan inti. (Dan beberapa superkomputer masuk ke dalam kisaran ribuan core).
JAB
3
@ JAB Tentu, tapi saya tidak berbicara tentang jumlah core maksimum, melainkan tentang jumlah tipikal. Untuk laptop, lebih dari quadcores cukup jarang, tetapi Anda dapat menemukan beberapa pengecualian, mungkin dengan Xeon. Untuk ponsel, bahkan octacores tampaknya relatif umum.
v6ak
4
"Saya baru-baru ini beralih dari quadcore ke dualcore dan saya dapat mengonfirmasi ada sejumlah usecases untuk quadcore, bahkan dengan tugas-tugas intensif CPU." - Bisakah Anda memperluas dan menguraikan bagaimana Anda sampai pada kesimpulan itu?
Abdul
@Abdul Sebagian besar berasal dari pengamatan saya (melihat beban sistem menggunakan htop atau alat serupa) dan sebagian dari kesimpulan saya. Bahkan beberapa taksk di mana saya harapkan paralelisasi (misalnya, rendering menggunakan OpenScad) adalah single-core. Firefox (ESR) biasanya mengkonsumsi paling banyak satu inti. Kompilasi tambahan - Saya belum mengukurnya, tetapi secara intuitif, tidak ada banyak peluang untuk menemukan tugas independen. (Kompilasi penuh adalah kasus yang berbeda.)
v6ak

Jawaban:

63

Seperti yang Anda sudah dicatat, yang big.LITTLE strategi kombinasi (secara teknis, HMP , heterogen Multi-Processing cluster) adalah alasan utama untuk begitu banyak (dan kadang-kadang sangat banyak) core. Perangkat seluler seringkali mengalami beberapa skenario, termasuk yang berat dan ringan.

Contoh kelas konsumen yang ekstrem adalah MediaTek's Helio X20, yang memiliki 2 core A72 yang berorientasi pada kinerja, 4 core A53 yang seimbang, ditambah 4 core A35 yang hemat energi. Itu sangat fleksibel di seluruh kasus penggunaan yang berbeda. Namun, saya pikir 8 core 2 cluster biasanya cukup.

Ada juga contoh seperti desktop lainnya, Qualcomm Snapdragon 800 series (S 800, S 801, dan S 805). Hanya ada 4 core mikroarsitektur yang sama di setiap SoC, dengan 2 clock lebih tinggi dan 2 clock lebih rendah. Qualcomm membuat SoC ini karena mereka sangat percaya diri dengan mikroarsitektur mereka sendiri (Krait 400 dan Krait 450).

Untuk game, bahkan jika mereka tampaknya menuntut kinerja GPU daripada CPU, mereka tetap menempatkan beban berat pada CPU. GPU tidak dapat bekerja sendiri tanpa ada yang menyediakan data untuk diproses, dan itu adalah salah satu pekerjaan utama yang dilakukan CPU saat Anda bermain game. Dalam sebagian besar kasus gim, GPU hanya menampilkan gambar, sementara semua pekerjaan lain seperti memuat data, sumber daya dan aset, dan menghitung mekanika dalam gim seperti sistem, lingkungan, dan fisika dilakukan oleh CPU. Anda tidak akan mengamati frame rate yang lebih tinggi jika Anda meningkatkan GPU Anda sementara tetap berpegang pada CPU low-end.

Alasan kedua adalah bagaimana Android menggunakan sumber daya CPU . Android cukup banyak membuat lingkungan aplikasi mereka sendiri. Tidak menggunakan apa pun kecuali kode (dan API) dari Jawa, tetapi ia memiliki mesin virtual sendiri bernama Dalvik, yang kemudian digantikan oleh ART (API Level 21). APK memiliki kode yang dapat dieksekusi dalam format "netral", seperti halnya .classfile di Jawa. Sebelum dijalankan, kode-kode dikompilasi sekali lagi ke dalam instruksi asli mesin [1] . Proses kompilasi multi-threaded dan dapat memanfaatkan multi-core untuk meningkatkan kinerja.
Dan ketika aplikasi sedang berjalan, ada beberapa proses dan mekanik lainnya (seperti Pengumpul Sampah) yang berjalan di samping, atau sejajar dengan aplikasi. Semakin banyak inti yang memungkinkan proses pendukung berjalan lebih efisien, serta aplikasi utama.
1. Jika Anda menggunakan pengenal jenis file, Anda akan menemukan bahwa file dex "yang dioptimalkan" berada dalam format ELF, sedangkan file dex "netral" hanya dalam formatnya sendiri.

Alasan lain yang lebih kecil adalah bahwa core ARM tidak dapat bekerja secepat chip Intel x86 . Mikroarsitektur Intel x86 dapat berasal dari tahun 1976, ketika chip Intel 8086 mulai dirancang, yang berarti bahwa x86 telah berkembang sejak lama. Inti ARM Cortex-A73 modern kelas atas hanya sekuat inti Intel Clarkdale, dengan mengambil Core i5-660 sebagai contoh (GeekBench, single-core). Ini karena x86 adalah mikroarsitektur CISC sedangkan ARM adalah RISCarsitektur mikro. Anda tentu tidak ingin ponsel yang menjadi lamban hanya dengan dua atau lebih aplikasi aktif. Semakin banyak inti akan membantu meringankan tekanan. Karena itulah SoC dual-core relatif populer hanya di jam tangan pintar. Siapa yang butuh kinerja pada jam tangan pintar?

Menariknya, lebih banyak core akan menghasilkan daya lebih sedikit daripada satu core pada beban yang sama . Hubungan antara frekuensi CPU dan konsumsi daya lebih dari linier, sehingga frekuensi dua kali akan selalu mengakibatkan menuntut lebih dari dua kali, atau bahkan 3x atau 4x lebih banyak daya, sementara memberikan kinerja kurang dari dua kali lipat (karena keterbatasan sumber daya lain seperti cache ). Jadi 4 core dapat dengan mudah mengalahkan satu inti pada beban yang sama, memberikan kinerja yang lebih baik dan secara bersamaan menuntut lebih sedikit daya.

Bacaan lebih lanjut:

iBug
sumber
1
Saya ingat membaca atau menonton di suatu tempat bahwa kernel Linux pada awalnya bekerja pada dukungan multi-core yang baik dengan fokus pada superkomputer, bertahun-tahun yang lalu, dan upaya ini terbukti berguna "di masa depan" (sekarang) untuk smartphone, seperti semacam " kecelakaan "
Marc.2377
3
Jawaban ini tampaknya tidak benar-benar menjawab pertanyaan, meskipun diterima. Jawaban ini sepertinya menjawab, "Mengapa saya ingin core tambahan di ponsel saya?" yang bukan pertanyaan yang dihadapi. Itu tidak menjelaskan perbedaan antara PC dan Telepon. Poin-poin yang diberikan tentang mengapa sebuah ponsel mungkin menginginkan lebih banyak inti berlaku juga untuk komputer desktop, terutama poin tentang game.
Aaron
8
Klaim tahun 1976 tentang CPU x86 agak menyesatkan. Core ARM dapat diberi tanggal kembali ke proyek Mesin Acorn RISC pada tahun 1983, hanya 7 tahun kemudian, dan dalam beberapa hal menjadi yang lebih baru merupakan keuntungan, Acorn belajar beberapa hal yang salah dengan pengembangan x86 dan desain CPU serupa dan memasukkannya ke dalam LENGAN.
user1937198
2
Juga RISC vs CISC tidak ada hubungannya dengan itu, CPU Intel menjalankan inti RISCish secara internal (uops). Perbedaan sebenarnya adalah out or order vs dalam eksekusi order.
user1937198
5
Hal x86 cukup ... salah. Mereka adalah chip superscalar, implementasi dasar tidak akan mendekati sebagus pipa RISC klasik yang digunakan di sebagian besar chip ARM. Perlu juga dicatat bahwa menghubungkan inti bersama dengan desain super-skalar SANGAT sulit karena eksekusi yang tidak sesuai pesanan dan hierarki cache. Tidak ada yang tahu apa yang mereka lewatkan sehingga tidak ada permintaan untuk itu. Jika Anda melihat beberapa iterasi Intels yang lebih baru tidak ada dalam chip hitung inti tinggi - mereka berada di Broadwell, ini karena mereka membuang hal-hal sinkronisasi - keluar dari ruang.
Alec Teal
15

Alasannya sesederhana dan rumit.

Jawaban singkatnya adalah "karena pasar ponsel tidak pernah dan tidak digerakkan oleh Intel".

Jawaban panjangnya adalah terlalu lama untuk dilanjutkan di sini, tetapi konsep dasarnya adalah bahwa Intel telah mendominasi pasar PC selama bertahun-tahun dengan segala cara yang mungkin, hingga membayar dan merusak (dan didenda karena ini) untuk menjadikan CPU-nya sebagai pilihan pertama dan satu-satunya untuk produsen PC.

Memiliki kontrol total pasar telah memungkinkan Intel untuk menaikkan harga CPU sementara secara artifisial menentukan fitur dan berapa banyak kekuatan pemrosesan yang seharusnya diinginkan pengguna, dan jika Anda menganalisis sedikit sejarah Intel, Anda akan melihat bahwa kekuatan utamanya pada dasarnya adalah di peningkatan frekuensi CPU, sehingga sebagian besar tidak pernah mencoba melakukan sesuatu yang benar-benar cerdas atau inovatif; dan itu tidak membutuhkannya, karena itu hanya bisa mengatakan kepada orang-orang "Anda tidak perlu lebih banyak core, tetapi saya memiliki CPU baru yang berair yang berjalan 100 MHz lebih cepat". Pada saat yang sama, ia dapat menjual CPU multicore di pasar server dengan harga yang sangat tinggi (karena server selalu membutuhkanton kekuatan paralel, sampai-sampai ada tren saat ini dalam mencoba mewujudkan server yang menggunakan ... coba tebak? Ratusan CPU ponsel murah Anda bekerja secara paralel)

Hal ini, pada gilirannya, telah tercermin ke dalam komunitas pengembang yang tidak pernah mengetahui pentingnya pemrograman paralel, sehingga banyak dari mereka yang sebagian besar tidak pernah repot menggunakan lebih dari satu utas pada waktu-atau, untuk mengekspresikannya dalam cara teknis, memiliki perangkat lunak mereka melakukan lebih dari satu tugas pada saat bersamaan. Omong-omong, masuk akal bila 99% basis pelanggan Anda memiliki dua inti pada maks. Sayangnya, ini telah mengarah pada legenda bahwa algoritma paralel benar-benar sulit untuk diterapkan dan hanya berlaku untuk sebagian kecil dari masalah.

Sebaliknya, akhirnya, pasar ponsel tidak pernah melihat kesuksesan Intel; sebaliknya, sebenarnya, seperti yang terjadi sebagian besar waktu ketika Intel mencoba melakukan sesuatu yang berbeda dari arsitektur X86 yang biasa. Jadi, kekurangan adalah pengaruh dan kendali pasar, produsen CPU lain telah pergi ke arah yang telah menjadi normal selama berabad-abad di luar pasar PC: komputasi paralel.

motoDrizzt
sumber
12
Anda yakin menjawab pertanyaan yang benar ?
iBug
7
@ iBug Jawaban ini berlaku untuk pertanyaan OP lebih baik daripada jawaban yang diterima. Jawaban yang diterima adalah jawaban yang tidak menjawab pertanyaan yang benar.
Aaron
6
"naikkan harga CPU secara artifisial" -> Jika Intel secara artifisial menggelembungkan harga, mengapa pesaing mereka menggunakan perangkat keras dengan harga yang sama dan mengapa komputer bertenaga ARM menyedot sangat keras jika dibandingkan dengan perangkat keras Intel? Kebencian intelektual ini konyol. Membuat CPU itu sulit . Hal yang membuat ARM begitu populer di kalangan perangkat seluler adalah gagasan besar. Ide SEDIKIT, sesuatu yang mereka bayangkan di hadapan Intel.
T. Sar - Pasang kembali Monica
6
Intel tidak mengendalikan pasar chip PC dan tidak selama bertahun-tahun. Dan alasan perancang chip bergeser dari jam yang lebih cepat ke core yang lebih banyak adalah bahwa jam yang lebih cepat mengenai beberapa batasan fisik mendasar. Semakin banyak core adalah masalah yang jauh lebih sulit untuk dipecahkan, maka mereka menundanya sampai itu adalah cara yang paling efektif untuk menjaga kinerja terus meningkat.
Kevin Krumwiede
6
Ini lebih dari kata-kata kasar tentang korporasi Intel yang jahat, yang IMO tidak layak karena ARM sekrup pembuat chip independen dengan lisensi juga.
Dmitry Grigoryev
9

Ada dua faktor yang terjadi, yang satu sangat praktis dan yang lain historis.

Alasan praktisnya adalah penggunaan arsitektur campuran di telepon. Konsumsi daya sangat penting untuk ponsel dan ponsel menghabiskan banyak waktu dalam mode di mana mereka membutuhkan kinerja yang sangat sedikit. Masuk akal untuk memiliki beberapa core yang dioptimalkan untuk konsumsi daya minimal ketika sedikit kinerja yang dibutuhkan sementara beberapa core dioptimalkan untuk memberikan kinerja maksimum ketika dibutuhkan.

Alasan lainnya sebagian besar historis. Hingga 2005 atau lebih, CPU desktop semuanya adalah single core. Meningkatkan kinerja CPU desktop hampir secara eksklusif terdiri dari pembuatan inti yang dapat menjalankan sebanyak mungkin instruksi per detik. Bahkan hari ini, begitu banyak perangkat lunak desktop tidak dapat mengambil keuntungan penuh dari beberapa core sehingga banyak yang lebih suka CPU dengan 4 core daripada CPU 8 core dengan core 20% lebih lambat.

Mendapatkan sebanyak mungkin kinerja dari satu inti mungkin membutuhkan sejumlah besar CPU real estat. Ini adalah real estat yang dapat digunakan untuk menyediakan lebih banyak core. Inilah sebabnya mengapa CPU terbaru Kaby Lake dari Intel mencapai 4 core dan orang-orang membelinya karena setiap core lebih cepat dari core pendahulunya. Bagi banyak orang, mereka adalah upgrade bahkan dari CPU dengan jumlah inti yang lebih tinggi.

Seiring waktu, berharap untuk melihat lebih banyak perangkat lunak desktop yang sepenuhnya dioptimalkan untuk mendukung lebih banyak core. Ketika itu terjadi, pengorbanan teknik akan mulai mendukung lebih banyak core daripada core yang lebih cepat di desktop. Sementara core hampir pasti masih akan semakin cepat, Anda akan mulai melihat orang-orang lebih memilih CPU 8 inti daripada CPU 4 inti bahkan jika setiap core 20% lebih lambat. Desainer chip akan mengikuti pasar.

David Schwartz
sumber
5

Sangat penting bagi ponsel untuk dapat memberikan daya komputasi dalam ledakan singkat (kita membutuhkan aplikasi tertentu untuk menjadi cepat) tetapi juga untuk menghindari panas berlebih (pembuangan panas jauh lebih sulit untuk ponsel daripada laptop atau PC). Untuk mencapai hal ini, arsitek merancang ponsel untuk menggunakan inti tunggal ketika beban kerjanya ringan dan memberikan core ekstra untuk meningkatkan kinerja saat dibutuhkan. Jika ponsel menggunakan inti yang lebih sedikit, terlalu panas akan menjadi masalah bahkan ketika beban kerjanya cukup ringan.

Sumber: Kursus arsitektur komputer tingkat pascasarjana.

Tara Eicher
sumber
Sejujurnya, kemampuan untuk memberikan kekuatan komputasi (jika itu yang Anda maksud dengan energi ) dalam semburan singkat sangat penting untuk desktop juga. Itu sebabnya mereka memiliki TurboBoost pada chip Intel.
Dmitry Grigoryev
Ya, kekuatan komputasi adalah apa yang saya maksudkan. Benar, semua perangkat yang bisa berharap memiliki beban kerja yang meledak-ledak di beberapa titik waktu (termasuk ponsel dan desktop) harus mampu mengatasinya. Perbedaan utama adalah disipasi panas.
Tara Eicher
Saya setuju dengan apa yang Anda katakan, hanya ingin menunjukkan bahwa beban kerja tidak spesifik untuk ponsel.
Dmitry Grigoryev
2

Pertama, mesin virtual Java secara historis dapat mengambil manfaat dari multi-core lebih dari perangkat lunak desktop biasa. Bahkan jika Anda menulis aplikasi single-threaded di Jawa, itu akan berjalan lebih cepat di multicore karena sebagian besar kode pengumpul sampah akan berjalan bersama dengan aplikasi Anda.

Kedua, banyak hal terjadi di latar belakang ponsel Anda: pembaruan otomatis, unduhan iklan, perangkat lunak antivirus, pengelolaan modul GSM, dll. Di laptop, semua tugas ini akan membuat sibuk satu core, tetapi core ARM tetap jauh lebih kuat, jadi Anda mungkin ingin memiliki setidaknya beberapa dari mereka yang didedikasikan untuk tugas-tugas latar belakang jika Anda menginginkan sistem responsif.

Akhirnya, ada pemasaran. Tidak banyak pengguna yang mampu menilai apakah mereka akan mendapat manfaat dari 8 core, tetapi smartphone 8-core tentu terdengar lebih mahal daripada 2 atau 4 core.

Dmitry Grigoryev
sumber
2
Saya terus melihat pernyataan di sepanjang garis "ARM core jauh lebih kuat" - apa artinya itu? Mereka memiliki kecepatan clock yang lebih sedikit?
Abdul
2
@Abdul lebih sedikit operasi per detik. chip x86 dapat menjalankan beberapa operasi sekaligus, sehingga mereka mengungguli ARM bahkan untuk kecepatan clock yang sama. Lihatlah perbandingan ini : chip ARM teratas (GT-I9100) sekitar 10 kali lebih lambat dari chip x86 teratas (i7-2920XM).
Dmitry Grigoryev
Apakah "operasi per detik" identik dengan FLOPS?
Abdul
@ Abdul Belum tentu. Bahkan, selain simulasi permainan dan fisika, floating point tidak banyak digunakan. Juga, banyak chip ARM mencapai FLOPS yang layak dengan melumpuhkan presisi, jadi itu bukan pengukuran yang benar juga.
Dmitry Grigoryev
Aplikasi Android tidak berjalan di mesin virtual Java. Mereka berjalan di Dalvik VM
phuclv
1

Jawabannya sejauh ini menjelaskan beberapa sisi masalah yang menyebabkan banyaknya core CPU pada ponsel Android. Baca itu lagi; Ponsel Android. IPhone telah berhasil menempel hanya beberapa inti selama berabad-abad dan masih melakukan jauh lebih lancar daripada unggulan Android.

Perancang Android membuat pertaruhan besar ketika memutuskan untuk memilih pemrograman Java dan sebagai konsekuensinya JVM sebagai runtime aplikasi. Java, karena prinsip-prinsip desainnya memecahkan masalah perlu mengkompilasi dan membangun kode untuk setiap arsitektur CPU sebelum dapat dijalankan di atasnya dengan mengorbankan kinerja. Java memperkenalkan mesin virtual kelas berat dan besar yang biasanya disebut JVM. JVM sebenarnya mengemulasi CPU pada level perangkat lunak untuk menghindari perlunya mengkompilasi kode secara terpisah untuk setiap perangkat. Pikirkan JVM sebagai CPU virtual yang memiliki properti yang sama terlepas dari perangkat yang menjalankannya sehingga kode hanya perlu dikompilasi satu kali untuk JVM dan kemudian dapat dijalankan pada setiap perangkat. Hal ini memungkinkan produsen untuk membuang perangkat keras apa pun yang mereka inginkan sebelum perlu khawatir tentang kompatibilitas aplikasi.

JVM itu sendiri hanyalah spesifikasi dan orang bebas untuk mengembangkan JVM mereka sendiri selama itu mematuhi spesifikasi ini. JVM android asli disebut Dalvik. Saat ini Google telah menggantinya dengan ART.

Sekarang apa masalahnya dengan JVM? Ini adalah software yang sangat banyak yang menghabiskan banyak sumber daya komputasi. Tambahkan ke ini beberapa properti lain dari bahasa Jawa seperti Garbage Collection dan konsumsi sumber daya JVM menjadi terlalu banyak untuk perangkat dengan daya perangkat keras sederhana. Setiap aplikasi dan layanan sistem yang terbuka pada perangkat Anda sendiri merupakan instance dari ART JVM dan sekarang Anda dapat menyimpulkan bahwa mengelola semuanya memerlukan beberapa perangkat keras yang benar-benar mampu. Masalah akan menjadi lebih buruk ketika ada kebutuhan untuk menggambar antarmuka pengguna.

Setiap aplikasi berjalan pada sejumlah Thread. Setiap inti CPU hanya dapat menjalankan satu utas pada satu waktu. Setiap aplikasi memiliki satu utas utama di mana ia melakukan hal-hal yang terkait dengan antarmuka pengguna. Mungkin ada lebih banyak utas per aplikasi untuk melakukan akses file, jaringan, dll. Umumnya ada lebih banyak aplikasi (dan layanan sistem) yang terbuka daripada ada inti CPU dan sebagai hasilnya biasanya ada lebih banyak utas daripada inti CPU. Jadi masing-masing inti harus beralih di antara pemrosesan utas yang berbeda secara terus-menerus, melakukan sedikit masing-masing dan menuju ke yang berikutnya. Peralihan ini membutuhkan banyak waktu untuk CPU dan dalam kasus aplikasi yang pada dasarnya adalah JVM, tugas ini menjadi lebih lengkap.

Berdasarkan penjelasan ini orang dapat menyimpulkan bahwa android membutuhkan perangkat keras yang kuat untuk berjalan dengan lancar. Generasi awal perangkat Android terkenal dengan lagging, crashing, dan banyak hal malang lainnya. Tetapi selama bertahun-tahun masalah ini sebagian besar telah diselesaikan dengan mengandalkan perangkat keras yang kuat.

Di sisi lain, aplikasi iOS dikompilasi dengan kode mesin asli dan karenanya tidak perlu virtualisasi. Bahasa yang digunakan dan sistem operasi juga lebih efisien dan karenanya memungkinkan perangkat ini tetap mulus tanpa memerlukan chipset yang berlebihan.

DarthPaghius
sumber
Ini adalah penjelasan yang bagus mengapa ponsel jauh lebih kuat daripada desktop. Atau bukan?
maaartinus
"Ini memungkinkan produsen untuk membuang perangkat keras apa pun yang mereka inginkan sebelum perlu khawatir tentang kompatibilitas aplikasi." - bagus, tapi saya tidak yakin apakah ini maksud dari sistem yang dimaksudkan (semula) untuk kamera.
v6ak
"Mungkin ada lebih banyak utas per aplikasi untuk melakukan akses file, jaringan, dll" - itu agak I / O-terikat, tidak mengkonsumsi banyak CPU. Terkadang, I / O ditangani hanya dengan satu utas, karena CPU jauh lebih cepat daripada perangkat I / O.
v6ak
“Generasi awal perangkat Android terkenal dengan lagging, crashing, dan banyak hal malang lainnya” - Saya ingat menjalankan Marshmallow di ponsel semacam itu (Xperia Mini Pro), dan saya pikir ada banyak alasan lain untuk menjadi lambat daripada CPU. Mereka berjalan pada RAM rendah memiliki perangkat flash yang lebih lambat seperti MTD (jauh lebih lambat dari kartu microSD untuk beberapa operasi), Android yang lebih tua memiliki "JVM" yang kurang efisien (yang secara teknis bukan JVM). Tentu, CPU yang lebih baik juga membantu, tetapi saya akan jauh dari kesimpulan seperti itu.
v6ak
Juga, gaya pemrograman seperti melakukan I / O (atau operasi panjang lainnya) di utas UI dapat membuat aplikasi lambat terlepas dari kinerja CPU. AFAIK, gaya ini cukup umum di aplikasi Android awal. Aplikasi semacam itu dapat lamban bahkan dengan ponsel modern. Mereka mungkin kurang laggy, tapi itu lebih disebabkan oleh memori flash yang lebih cepat daripada CPU yang lebih cepat atau lebih banyak core.
v6ak
0

Melanjutkan semua di atas, saya dapat mengatakan bahwa kasus penggunaan PC dan telepon sangat berbeda. PC paling sering digunakan dalam satu atau beberapa aplikasi (tentu saja browser dengan banyak tab memerlukan banyak core CPU, dapat tertinggal bahkan di atas i-3), ponsel yang digunakan untuk multitask. Setidaknya koneksi jaringan, undian UI, pemicu sistem, notifikasi. Jika Anda membuka task manager pada PC ada banyak proses juga, tetapi mereka menggunakan daya cpu kurang dari beberapa bahkan pada Core 2 duo lama. 4 core cukup murah (MTK 65x2 dikenakan biaya $ 1 saat memulai untuk OEM) Itu juga RISIKO vs CISC ketika terakhir kekurangan kinerja per inti. Hemat energi! = Kuat, seperti yang bisa kita lihat di sini . Multi-core sangat cocok untuk ponsel, karena tidak ada beban tapak tunggal yang berat dan pengalaman yang bertujuan multi-tugas (tetapi kita dapat melihat bahwa iPhone membutuhkan lebih sedikit core dan RAM karena perangkat lunak yang baikseperti di video ini atau yang lain )

Flippy
sumber
Banyak dari ini sering dilakukan di laptop juga. Dan multitasking tidak harus menuntut CPU. Perbedaan dalam biaya produksi mungkin menyebabkan beberapa perbedaan dan mungkin menjadi alasan untuk core yang lebih sedikit untuk CPU lowend, tapi saya ragu bahwa biaya produksi adalah satu-satunya alasan mengapa tidak semua i7s memiliki setidaknya empat core. Saya percaya bahwa biaya produksi hanyalah sebagian kecil dari harga CPU tersebut.
v6ak
@ v6ak, masalahnya adalah core x86 lebih besar dan lebih rumit, CPU dari intell (atau amd) tidak cukup bagus untuk menjadi model top. Bahkan, sebagian besar dari mereka diblokir beberapa bagian dan menjadi junior i7 atau Pentium. Core ARM terlihat kurang rumit sehingga tidak begitu banyak model yang tiba setiap tahun. Inti octa masih benar adalah Samsung Exynos Octa 7xxx , MTK Helio X10 , Terbaru (X30) bahkan mengusulkan sedikit (4). Tengah (4) .BIG (2), kita dapat dia dalam iklan bahwa itu adalah prosesor 10 inti, pemasaran murah apakah itu penting?
Flippy
-1

Saya pikir salah satu faktor pendorong utama di luar 4 atau 8 (untuk besar: konfigurasi kecil) hanya pemasaran saat ini.

Satu masalah besar dari jumlah inti yang tinggi adalah ketika Anda mempertimbangkan ukuran memori. Biasanya di aplikasi desktop ketika Anda ingin meningkatkan pemanfaatan beberapa inti, Anda perlu menduplikasi struktur dan menggunakan lebih banyak memori kemudian dalam aplikasi berulir tunggal.

Ini tidak terjadi karena RAM sangat mahal (terutama dalam situasi krisis RAM 2017/2018). Pemasaran menginginkan angka tinggi tetapi mengendalikan ingin memangkas harga komponen. Jika Anda melihat keseimbangan yang kurang dari 1 Gigabyte RAM per inti maka Anda melihat kompromi yang gagal.

Lothar
sumber