Apa manfaat 64 bit A7 di iPhone

21

Saya mencoba mencari tahu mengapa pergi ke prosesor 64 bit adalah masalah besar di iPhone. Saya mengerti bahwa akan ada register dua kali lebih banyak sehingga prosesor dapat bekerja dengan data dua kali lebih banyak yang akan meningkatkan kinerja.

Namun saya tidak melihat banyak ponsel akan memiliki lebih dari 4GB memori dalam waktu dekat. Sepertinya berlebihan dan itu akan berdampak negatif terhadap usia baterai.

Masalah lain yang saya lihat adalah bahwa sebagian besar variabel sekarang membutuhkan memori dua kali lebih banyak. Ini akan menciptakan masalah di lingkungan seluler dengan sedikit memori.

Saya percaya bahwa orang-orang di Apple cerdas dan mereka mungkin punya alasan bagus untuk melakukan ini, saya hanya mencoba untuk memahaminya.

EDIT

Tidak tahu banyak tentang GPU, tetapi saya diberitahu bahwa dengan register 64 bit, 2 piksel dapat dimuat ke dalam register masing-masing dan operasi dapat dilakukan pada mereka secara individual. Apakah ada keunggulan grafis mengenai 64 bit?

Chris. Pergilah
sumber
2
Sama seperti catatan tambahan - kekuatan pemrosesan yang lebih besar berarti programmer dapat menjadi lebih malas daripada sebelumnya (kurang optimalisasi), alasannya bisa mendorong pengembang aplikasi.
Vlad Preda
3
@ Chris.Stover - Hari ini tidak ada keuntungan. Tentu saja besok aplikasi iOS akan dapat menggunakan lebih banyak memori setelah ponsel memiliki lebih banyak memori. Hanya dalam 5 tahun kapasitas memori telepon telah meningkat setidaknya 200%. Jika tren ini berlanjut kita bisa melihat ponsel 6GB-8GB dalam waktu yang sangat singkat. Apple juga menanti ketika mereka melakukan hal seperti ini. Itu semua bermuara pada kenyataan ARM kemungkinan hanya akan lisensi desain 64-bit ke depan. Ini benar-benar bermuara pada fakta bahwa ponsel sekarang memiliki lebih banyak register yang benar-benar membuatnya lebih cepat. Spesifikasi 64-bit tidak penting saat ini.
Ramhound
1
Ini bukan dua kali, ini pesanan besarnya lebih besar. Prosesor 32-bit hanya dapat mengatasi 4 GB puncak RAM. Prosesor 64-bit dapat mengatasi sekitar 18 Exabytes yang 3 urutan besarnya lebih tinggi.
Insinyur Dunia
7
tidak ada lagi batas memori 640k
Reactgular
1
Diperkirakan bahwa Nexus 5 akan memiliki 3 GB RAM, dan itu akan diluncurkan bulan depan. Saya tidak berpikir 4 GB + sejauh yang Anda kira.
Brendon

Jawaban:

25

Itu sebagian besar hanya membuang sejumlah besar di luar sana karena itu mengesankan massa. Angka yang lebih besar jelas lebih unggul sehingga apa pun dengan prosesor 64-bit jelas lebih baik daripada sesuatu dengan prosesor 32-bit. CPU baru secara signifikan lebih baik dari pendahulunya tetapi, Apple fashion, mereka tidak akan mencoba pemasaran berdasarkan spesifikasi teknologi - mereka hanya akan memberitahu Anda bahwa 64-bit A7 adalah baru & lebih baik daripada 32 bit A-6 . Namun, melihat spesifikasi teknologi, Anda lihat:

  • 28nm vs 32nm Chipworks
  • Peningkatan prosesor grafis terintegrasi
  • Arsitektur ARM v8 v. ARM v7 (menambahkan fungsi SIMD; melonjak dari 13 menjadi 31 register tujuan umum)
  • Memori utama on-die (yaitu - lebih cepat)

Lebih dari itu, ada fakta bahwa mereka dapat mulai meluncurkan (kompatibel dengan backward) perangkat keras 64-bit hari ini, sebelum kita menghadapi 'dinding 4GB'. Dalam beberapa tahun, ketika 64-bit menjadi kebutuhan, semua perangkat keras akan mendukungnya & tidak perlu lagi menangani arsitektur 32-bit yang lama.

Sean McSomething
sumber
1
Saya sebenarnya tidak dapat menemukan sumber untuk info di artikel wiki. Situs lain melaporkan dual core pada 1,5GHz. Satu halaman wiki mengatakan A7 adalah 1.7GHz octa-core. Lihat yang berikut: en.wikipedia.org/wiki/Apple_(system_on_chip) pdadb.net/index.php?m=pdacomparer&id1=4962&id2=4829
Chris.Stover
2
@ Chris.Stover menunjukkan bahwa Apple tidak menjual perangkat keras dengan spesifikasi teknologi - mereka hanya ingin mendorong "Baru & Lebih Baik!" dengan generasi berikutnya daripada memberi tahu Anda mengapa perangkat keras baru sebenarnya lebih baik.
Sean McSomething
2
ARM v7 sudah mendukung jalur alamat 40bit (RAM 1TB), meskipun aplikasi pada arsitektur 32-bit itu hanya dapat mengatasi masing-masing 4GB. Arm v8 saat ini mendukung aplikasi 32-bit sehingga kompatibilitas tidak menjadi masalah.
gbjbaanb
16

Tidak ada "dinding 4GB" pada ARMv7, karena banyak core ARMv7 mendukung LPAE (Large Physical Address Extension), yang merupakan konsep yang mirip dengan PAE pada x86, kecuali LPAE menggunakan pengalamatan 40-bit. Artinya, ARMv7 yang dilengkapi LPAE dapat mengatasi RAM hingga 1TB .

Penting juga untuk menyebutkan bahwa core ARMv8 mendatang, termasuk A7, tidak akan menggunakan pengalamatan fisik 64-bit . Kemungkinan besar A7 akan menggunakan pengalamatan fisik 40-bit atau 44-bit. Kemudian memberikan akses ke 16TB RAM paling banyak.

Tentu saja dengan LPAE pada ARMv7 atau dalam mode AArch32 pada ARMv8, aplikasi masih 32-bit, sehingga aplikasi itu sendiri hanya dapat mengakses 4GB pada suatu waktu. Tapi saya tidak berpikir itu akan menjadi masalah pada perangkat seluler dalam waktu dekat.

Anda khawatir aplikasi akan menggunakan lebih banyak memori (64-bit pointer), tetapi itu tidak akan menjadi masalah jika aplikasi berjalan dalam mode 32-bit (AArch32).

Di sisi lain, ARMv8 memberikan peningkatan arsitektur lainnya dibandingkan ARMv7, yang tidak terkait dengan AArch64.

TL, DR: 64-bitness dari A7 adalah gimmick pemasaran. Bahkan pada sistem dengan RAM lebih dari 4GB tidak memberikan keuntungan signifikan dibandingkan LPAE untuk aplikasi 32-bit. Dan aplikasi 64-bit tidak akan hadir dalam waktu dekat.

Pembaruan: Sudah dikonfirmasikan oleh eksekutif pemasaran Qualcomm (saat ini adalah mantan eksekutif, saat ia didemosiasikan untuk komentar ini ).

"Saya tahu ada banyak kebisingan karena Apple melakukan [64-bit] pada A7 mereka," kata Anand Chandrasekher, wakil presiden senior dan kepala pemasaran di Qualcomm, dalam sebuah wawancara. "Saya pikir mereka melakukan gimmick pemasaran. Tidak ada manfaat yang didapat konsumen dari itu."

Manfaat 64-bit adalah kemampuan memori yang lebih besar, tetapi itu tidak relevan di smartphone atau tablet saat ini, kata Chandrasekher. IPhone 5s hanya memiliki DRAM 1GB.

"Secara dominan ... Anda membutuhkannya untuk kemampuan memori di luar 4GB. Itu saja. Anda tidak benar-benar membutuhkannya untuk kinerja, dan jenis aplikasi yang 64-bit digunakan di sebagian besar adalah aplikasi kelas server yang besar," kata Chandrasekher, yang sebelumnya menjalankan grup platform mobile Intel. ( sumber )

vartec
sumber
9

Berfokus hanya pada A7keberadaan ARMv8ada satu keuntungan yang jelas. ARM sedang me-reboot set instruksi dan arsitektur mereka.

Menjadi kompabilitas mundur dengan ARMv7, versi berikutnya juga mengklaim

  • Set instruksi baru (A64)
  • Penanganan pengecualian yang direvisi untuk pengecualian dalam status AArch64
  • Lebih sedikit register dan mode yang dibelokkan

Jadi ARMv8tantangan ARMv7pada perbedaan arsitektur, menyediakan antarmuka yang lebih bersih untuk pengembang sistem yang mungkin akan menghapus fitur warisan yang mengarah ke platform yang lebih baik. Yang berarti Anda harus mengharapkan kinerja / energi yang lebih baik daripada dampak negatif pada baterai.

Lihat lebih lanjut tentang ARM Architecture Preview .

auselen
sumber
+1. Gruber juga memiliki deskripsi yang bagus tentang kelebihan yang dimiliki ARMv8 di daringfireball.net/2013/09/the_iphone_5s_and_5c . (Gulir ke bawah ke "A7: ARMv8 dan Arsitektur 64-Bit.")
Josh Kelley
4

Keuntungan terbesar lebih dari 32 bit untuk prosesor 64 bit adalah pergerakan memori, dan bukan ukuran memori. Memang benar bahwa 32 bit dapat memaksakan batas 4GB pada akses langsung. Ada banyak solusi perangkat keras / lunak untuk mengatasi batas itu.

Prosesor 64 bit hanya dapat membaca / menulis lebih banyak data dalam operasi prosesor tunggal. Ini memungkinkan kode perakitan untuk melakukan operasi pada blok 8 byte. Ini dapat memiliki keunggulan kinerja yang luar biasa dibandingkan prosesor 32 bit. Perhitungan floating point lebih cepat pada 64 dari 32, dan ketika CPU menggunakan register ganda dapat beroperasi pada blok data 128 bit.

Prosesor 64 bit juga memiliki bandwidth yang lebih luas untuk memori fisik. Jika Anda memiliki kamera yang merekam 1080p dan ingin mengedit video itu. Melakukan operasi pada file video 1GB hanya akan lebih cepat pada 64-bit.

Semua hal di atas benar bahkan jika Ghz prosesor tetap sama.

Jika 64-bit sangat bagus, mengapa tidak 128 bit?

Semakin banyak bit yang Anda tambahkan ke pipa CPU semakin banyak data yang harus dipindahkan CPU. CPU tidak dapat mempersempit bandwidth menjadi 16 atau 32. Jadi ini menciptakan masalah bagi pengembang perangkat lunak. Sebagian besar perangkat lunak (kalender, catatan, dll.) Tidak bergantung pada banyak data, dan akibatnya 128 bit akan melibatkan banyak bandwidth yang terbuang. Ini dapat mulai menghambat kinerja dan usia baterai. Jadi produsen CPU harus menemukan keseimbangan antara bandwidth dan persyaratan perangkat lunak.

Saya kagum bahwa Apple merilis prosesor 64 baru begitu cepat dalam kehidupan komputasi mobile. Saya pikir motivasi mereka sebenarnya untuk ini adalah grafik 3D. Dengan prosesor 64 bit, ponsel dapat memindahkan lebih banyak data ke GPU dengan cepat. Ini akan memungkinkan game 3D cepat dan grafik yang lebih mengesankan. Anda akan benar-benar mulai melihat kelebihan 64-bit dalam 3D waktu-nyata karena proses itu sangat bergantung pada data.

Reactgular
sumber
4
Arsitektur CPU terbaru / modern jauh lebih rumit daripada yang Anda gambarkan di sini. CPU memindahkan data dari memori dalam unit yang disebut cache linesmelalui bus memori yang mungkin memiliki 16-bit 32-bit atau mungkin 64-bit. Itu tidak perlu cocok dengan ukuran kata asli CPU arch. Anda benar bahwa masalah besar adalah memindahkan data tetapi masalah itu milik beberapa perangkat keras / domain arsitektur lainnya. FP dilakukan pada FPU yang sebenarnya cukup cepat dan dapat bekerja dengan ukuran presisi tunggal atau ganda. Sama untuk decoding video atau 3D sebenarnya, mereka memiliki semua perangkat keras khusus mereka yang belum tentu 64-bit.
auselen
4
Ada dokumen hebat yang disebut what every programmer should know about memorygratis yang tersedia untuk pengembang penasaran akkadia.org/drepper/cpumemory.pdf
auselen
2

Itu membuat segalanya lebih mudah ketika menangani jumlah besar. Sejumlah besar sangat penting dalam kriptografi (setelah PRISM memiliki ponsel yang aman menjadi sangat penting) dan aplikasi ilmiah.

sakisk
sumber
1

Meskipun Anda mungkin tidak mengalami masalah sekarang jika Anda tetap menggunakan 32 bit, pasti akan ada masalah dalam waktu dekat. Pelajaran yang dipetik dari dunia desktop adalah bahwa transisi akan menjadi proses yang panjang dan menyakitkan. Jadi, Anda harus memulainya lebih cepat daripada nanti.

Bahkan mengejutkan bagi saya bahwa smartphone tidak 64 bit sedikit dari awal.

Pieter B
sumber
Saya menguji ini dengan mengubah aplikasi saya saat ini menjadi 32 bit. Saya memiliki sejumlah peringatan tetapi tidak ada kesalahan. Untungnya apel memiliki perbaikan yang disarankan untuk setiap peringatan, jadi saya hanya mengklik setiap peringatan dan menekan enter untuk menerima perbaikannya. Butuh waktu sekitar 5 menit dan saya bangun dan berjalan dalam 64 bit. Tidak sakit kepala, tidak ada masalah ... sejauh ini
Chris. Mulai
0

Saya rasa tidak banyak manfaat teknis. Pertama saya pikir itu lebih masuk akal ketika Anda mempertimbangkan iPad (memiliki baterai lebih besar sehingga dapat mendukung lebih banyak ram, konsumsi energi yang lebih tinggi oleh prosesor, dll). Lihatlah pengumuman lain yang sedang terjadi saat ini. AMD baru saja mengumumkan akan mengirimkan prosesor ARM 64bit pada tahun 2014. Ini pada dasarnya adalah Apple mempertahankan kepemimpinan pasar dalam menghadapi apa yang akan terjadi pada tablet Android dan Win8 kelas atas.

stonemetal
sumber
0

Dalam jangka pendek tidak ada apa-apa. Sebenarnya ini adalah langkah mundur dalam beberapa cara. Ada tiga keuntungan utama yang saya ketahui.

  1. 64bit jauh lebih baik dengan jumlah yang lebih besar, yang merupakan keuntungan bagi crypto. Yang mungkin merupakan kombinasi yang menarik dengan pemindai sidik jari di ponsel.
  2. Sekali lagi dalam nada yang sama, perbaikan dengan 64bit dan angka besar membantu dengan rendering fisika. Yang berguna mengingat jumlah fisika yang digunakan di UI iOS7. Ini juga menguntungkan pengembang game terutama pada sesuatu dengan layar real estat yang lebih besar seperti iPad.
  3. Ini juga menambahkan beberapa tingkat pemeriksaan ponsel saat ini menggunakan ini.
Jpatrick
sumber
0

Tingkatan yang dicapai.

Untuk beberapa implementasi yang mampu baik mode arsitektur 32 vs 64 bit dengan x86, MIPS dan ARM ISA, mode 64 bit diperbandingkan lebih cepat pada aplikasi penting tertentu. Salah satu alasan utama adalah bahwa 64 bit ISA lebih baru dan arsitek ISA tahu lebih banyak tentang statistik aplikasi dan bagaimana mengoptimalkan untuk seperangkat perilaku aplikasi ketika mendefinisikan ISA. Dan prosesor baru ISA harus tahan di masa depan terhadap kebutuhan memori aplikasi yang tumbuh dengan kecepatan hukum Moore, dan yang telah tumbuh lebih dari satu juta kali lipat di bidang perangkat seluler.

Dengan demikian, arm64 baru ISA cenderung melakukan benchmark lebih cepat pada kode apa pun yang dibatasi kinerja yang mungkin Anda kembangkan (ada pada kode saya), serta memungkinkan pointer C bodoh untuk mengatasi ruang alamat virtual yang luas yang cenderung menjadi umum satu dekade atau lebih karenanya (yang merupakan waktu jauh lebih sedikit daripada ARM ISA 32 bit asli sudah ada).

Kinerja pada set aplikasi khusus Anda (ukuran untuk mengonfirmasi) adalah alasan yang bagus untuk memilih arm64.

hotpaw2
sumber
-4

64-bit memungkinkan lebih banyak berbagi kode dengan build desktop OSX (yang semuanya 64-bit)

Andrew Lewis
sumber
Tetapi saat ini semua aplikasi ios harus mempertahankan kompatibilitas 32-bit sehingga kode 64-bit saja harus dikonversi menjadi 32-bit.
Bryan Chen
1
Tetapi mereka adalah arsitektur yang sama sekali berbeda (x86-64 vs armv8). Nol gain dari itu (program yang ditulis dengan baik di C / C ++ / ObjC akan bekerja pada sejumlah bit bahkan jika itu bukan keharusan).
Jan Hudec