İPhone'da 64 bit A7'nin avantajı nedir


21

64 bit işlemcilere gitmenin bir iPhone'da neden bu kadar önemli olduğunu anlamaya çalışıyorum. İşlemcinin iki kat daha fazla kayıt olacağını anlıyorum, böylece işlemci performansı artıracak iki kat fazla veriyle çalışabilir.

Ancak yakın zamanda pek çok telefonun 4GB’dan fazla belleğe gittiğini görmüyorum. Overkill gibi görünüyor ve pil ömrünü olumsuz yönde etkiliyor.

Gördüğüm bir diğer sorun, çoğu değişkenin şimdi iki kat daha fazla belleğe ihtiyaç duyması. Bu, az miktarda belleğe sahip mobil bir ortamda sorunlara neden olacaktır.

Apple'daki insanların akıllı olduklarına inanıyorum ve muhtemelen bunu yapmak için büyük nedenleri var, sadece onları anlamaya çalışıyorum.

DÜZENLE

GPU'lar hakkında pek bir şey bilmemekle birlikte 64 bitlik kayıt defterleriyle her kayıt cihazına 2 piksel yüklenebileceği ve işlemlerin ayrı ayrı yapılabileceği söylendi. 64 bit ile ilgili grafiksel bir avantaj var mı?


2
Tıpkı bir not gibi - daha fazla işlem gücü, programcıların öncekinden daha temkinli olabileceği anlamına gelir (daha az optimizasyon), bunun nedeni uygulama geliştiricilerini teşvik etmek olabilir.
Vlad Preda

3
@ Chris.Stover - Bugün bir avantaj yok. Elbette yarın, bir iOS uygulaması, telefonlar daha fazla belleğe sahip olduktan sonra daha fazla bellek kullanabilecek. Sadece 5 yılda telefon hafızası kapasitesi en az% 200 arttı. Trend devam ederse, 6GB-8GB telefonları kısa sürede görebiliriz. Apple, böyle bir şey yaptıklarında da sabırsızlanıyor. Her şey ARM'in ileriye dönük sadece 64-bit tasarımları lisanslayacağı gerçeğine bağlı. Gerçekten de şimdi telefonun daha fazla kaydına sahip olduğu gerçeği ortaya çıkıyor. 64 bit özelliği bugün önemli değil.
Ramhound

1
İki kere değil, büyüklük emirleri. 32 bit işlemciler yalnızca 4 GB RAM üstlerine hitap edebilir. 64 bit işlemciler, 3 büyüklük sırasına sahip yaklaşık 18 Exabayt'ı ele alabilir.
Dünya Mühendisi

7
daha fazla 640k hafıza sınırı yok
Reactgular

1
Nexus 5'in 3 GB RAM'e sahip olacağından şüpheleniliyor ve bu önümüzdeki ay başlıyor. 4 GB + 'ın düşündüğünüz kadar uzakta olduğunu sanmıyorum.
Brendon

Yanıtlar:


25

Çoğunlukla büyük bir sayı atıyor çünkü kitleleri etkiliyor. Daha büyük sayılar açıkça üstündür, bu nedenle 64 bit işlemcili herhangi bir şey 32 bit işlemcili bir şeyden açıkça daha iyidir. Yeni işlemci önemli ölçüde daha iyi selefinden daha ama Apple moda, onlar teknik özelliklerinin dayalı dersler pazarlama denemek için gitmiyoruz - onlar sadece söylemeye gidiyoruz 64 bit A7 olduğu yeni ve daha iyi daha 32 bit A-6 . Bununla birlikte, teknik özelliklere bakarak şunları görürsünüz:

  • 28nm vs 32nm chipworks
  • Geliştirilmiş tümleşik grafik işlemcisi
  • ARM v8 mimarisi v. ARM v7 (SIMD işlevleri ekler; 13 - 31 genel amaçlı kayıtlara atlar)
  • Die-die (yani - daha hızlı) ana hafıza

Bunun ötesinde, '4GB'lık duvara karşı koşmadan önce, bugün 64-bit donanımları piyasaya sürmeye başlayabilecekleri gerçeği var. Birkaç yıl içinde, 64 bit bir zorunluluk haline geldiğinde, tüm donanım onu ​​destekleyecek ve eski 32 bit mimarileri işlemeye gerek kalmayacak.


1
Aslında wiki makalelerindeki bilgilerin kaynağını bulamıyorum. Diğer siteler 1.5 GHz’de çift çekirdekli rapor ediyor. Bir wiki sayfasında A7'nin 1.7GHz okta çekirdekli olduğu yazıyor. : Aşağıdaki özelliği Bkz en.wikipedia.org/wiki/Apple_(system_on_chip) pdadb.net/index.php?m=pdacomparer&id1=4962&id2=4829
Chris.Stover

2
@ Chris.Stover, Apple'ın teknik özelliklerde donanım satmadığını göstermeye devam ediyor - sadece "Daha Yeni ve Daha İyi!" Yeni donanımın neden daha iyi olduğunu size anlatmak yerine yeni nesil .
Sean McSom şey

2
ARM v7 zaten 40bit adres satırlarını (1TB RAM) destekliyor, ancak bu 32 bit mimarideki uygulamalar yalnızca 4GB'lara yönelik olabilir. Arm v8 şu anda 32 bit uygulamaları destekliyor, bu nedenle geriye dönük uyumluluk sorun değil.
gbjbaanb 11:13

16

ARMv7'de "4GB duvar" yoktur , çünkü birçok ARMv7 çekirdeği, LPAE'nin 40 bit adresleme kullanması dışında, x86'da PAE'ye benzeyen bir kavram olan LPAE'yi (Büyük Fiziksel Adres Uzantısı) destekler. Yani, LPAE donanımlı ARMv7, 1 TB RAM'e kadar hizmet verebilir .

A7 de dahil olmak üzere yaklaşmakta olan ARMv8 çekirdeğinin 64 bit fiziksel adresleme kullanmayacağından bahsetmek de önemlidir . Büyük olasılıkla A7, 40 bit veya 44 bit fiziksel adresleme kullanacaktır. Daha sonra en fazla 16 TB RAM'e erişim.

Elbette, ARMv7'deki LPAE veya ARMv8'deki AArch32 modunda, uygulamalar hala 32-bit olduğundan, uygulamanın kendisi aynı anda yalnızca 4 GB'a erişebilir. Ancak bunun yakın zamanda mobil cihazlarda bir sorun olacağını sanmıyorum.

Uygulamaların daha fazla bellek kullanacağından (64 bit işaretçiler) endişe edersiniz, ancak uygulamaların 32 bit modunda (AArch32) çalışması bu şekilde olmaz.

Öte yandan, ARMv8, AArch64 ile ilgili olmayan ARMv7 üzerinde başka mimari geliştirmeler de sağlamaktadır.

TL, DR: 64-bit A7 pazarlama hilesi. 4GB RAM'den daha fazla sistemde bile, 32 bit uygulamalar için LPAE'ye kıyasla önemli bir avantaj sağlamaz. Ve 64 bit uygulamalar yakın zamanda gelmiyor.

Güncelleme: Qualcomm pazarlama sorumlusu tarafından onaylandı (şu an için eski yorumcudur, çünkü bu yorumlar için ricada bulunuldu ).

Qualcomm’un kıdemli başkan yardımcısı ve pazarlama müdürü Anand Chandrasekher röportajında ​​“Apple’ın A7’si [64-bit] yaptığı için çok fazla gürültü olduğunu biliyorum. “Bence pazarlama hilesi yapıyorlar. Tüketici bundan bundan faydalanamıyor.”

Chandrasekher, 64 bitlik bir avantajın daha fazla bellek adreslenebilirliği olduğunu, ancak günümüzün akıllı telefonları veya tabletleriyle ilgili olmadığını söyledi. İPhone 5'ler yalnızca 1GB DRAM'a sahip.

"Ağırlıklı olarak ... 4 GB’nin üzerindeki bellek adreslenebilirliğine ihtiyacınız var. İşte bu. Performans için gerçekten ihtiyacınız yok ve 64-bit’in çoğunlukla kullandığı uygulama türleri büyük, sunucu sınıfı uygulamalardır" dedi. Daha önce Intel'in mobil platformlar grubunu yöneten Chandrasekher. ( kaynak )


9

Yalnızca A7varlığa odaklanmak ARMv8, açık bir kazanımdır. ARM, talimat setini ve mimarisini yeniden başlatıyor.

Geriye dönük uyumluluk ARMv7, sonraki sürümde de iddia

  • Yeni komut seti (A64)
  • AArch64 durumundaki istisnalar için gözden geçirilmiş istisna işleme
  • Daha az bankalı kayıt ve mod

Bu yüzden mimari farklılıklara ARMv8meydan okumaktadır ARMv7ve sistem geliştiricileri için muhtemelen daha iyi bir platforma götüren eski özellikleri kaldıracak daha temiz bir arayüz sağlamaktadır. Bu, pil üzerindeki olumsuz etki yerine daha iyi bir performans / enerji beklemeniz gerektiği anlamına gelir.

ARM Mimarisi Önizlemesi hakkında daha fazla bilgi edinin .


+1. Gruber da ARMv8 Şuna avantajları iyi açıklaması vardır daringfireball.net/2013/09/the_iphone_5s_and_5c . ("A7: ARMv8 ve 64-Bit Mimarisi" aşağı kaydırın.)
Josh Kelley

4

64 bit işlemciler için 32 bit'in en büyük avantajı, bellek boyutu değil belleğin hareketidir. Doğru olsa da, 32 bit doğrudan erişime 4GB sınır koyabilir. Bu sınırın üstesinden gelmek için birçok donanım / yazılım çözümü vardır.

64 bit işlemciler tek bir işlemcide daha fazla veri okuyabilir / yazabilir. Montaj kodunun 8 bayt blokta işlem yapmasını sağlar. Bu, 32 bit işlemciler üzerinde büyük bir performans avantajına sahip olabilir. Kayan nokta hesaplamaları 64'ten 32'ye daha hızlıdır ve CPU çift kayıt kullandığında 128 bit veri bloklarında çalışabilir.

64 bit işlemciler ayrıca fiziksel belleğe daha geniş bant genişliğine sahiptir. 1080p kaydeden bir kameranız varsa ve o videoyu düzenlemek istiyorsanız. 1 GB'lık bir video dosyasında bir işlem gerçekleştirmek yalnızca 64-bit'te daha hızlı olacaktır.

Yukarıdakilerin hepsi, işlemcinin Ghz’leri aynı kalsa bile geçerlidir.

64 bit çok iyiyse neden 128 bit olmasın?

Bir CPU'nun boru hattına ne kadar çok bit eklerseniz, CPU'nun o kadar fazla veri taşıması gerekir. CPU bu bant genişliğini 16 ya da 32'ye kadar daraltamaz. Bu, yazılım geliştiricileri için bir sorun yaratır. Çoğu yazılım (takviminiz, notlarınız, vb.) Çok fazla veriye bağlı değildir ve bunun sonucunda 128 bit, çok fazla boşa harcanan bant genişliği içerir. Bu, performansı ve pil ömrünü engellemeye başlayabilir. Bu yüzden CPU üretmektedir bant genişliği ve yazılım gereksinimleri arasında bir denge bulmak zorunda.

Mobil bilgisayar kullanımında çok yakında Apple'ın 64 işlemciyi piyasaya sürmesi beni şaşırttı. Bunun asıl motivasyonunun 3 boyutlu grafikler olduğunu düşünüyorum. 64 bit işlemciyle telefon hızlı bir şekilde GPU'ya daha fazla veri taşıyabilir. Bu hızlı 3D oyunlar ve daha etkileyici grafikler için izin verecektir. Gerçek zamanlı 3D'de 64 bit'in avantajlarını gerçekten görmeye başlayacaksınız, çünkü bu işlem büyük ölçüde verilere bağlıdır.


4
Yeni / modern CPU mimarileri, burada tanımladığınızdan çok daha karmaşık. CPU'lar cache lines, 16-bit 32-bit veya muhtemelen 64-bit olabilecek bellek veriyolu adı verilen birimlerdeki verileri bellekten taşır . Bu gerekli değildir CPU arch'ın yerel sözcük boyutuyla eşleşir. Büyük sorunun veri taşıması konusunda haklısın ama bu problem başka bir donanım / mimari alana ait. FP, oldukça hızlı olan ve tek veya çift hassas boyutlarda çalışabilen FPU üzerinde yapılır. Aslında video kod çözme veya 3B için de, 64 bitlik olmayan kendi özel donanımları var.
auselen,

4
what every programmer should know about memoryMeraklı geliştirici için ücretsiz olarak adlandırılan müthiş bir belge var akkadia.org/drepper/cpumemory.pdf
auselen

2

Büyük sayılarla çalışırken işleri kolaylaştırır. Büyük sayılar kriptografide (güvenli bir cep telefonuna sahip olan PRISM'in çok önemli hale gelmesinden sonra) ve bilimsel uygulamalarda son derece önemlidir.


1

Eğer şimdi 32 bitlik bir sorunla karşılaşmazsanız, yakın zamanda kesinlikle sorunlarınız olacak. Masaüstü dünyasından öğrenilen ders, bir geçişin uzun ve acılı bir süreç olacağı yönünde. Öyleyse daha sonra başlayalım.

Hatta akıllı telefonların başından beri 64 bit olmadıkları bile şaşırtıcıydı.


Mevcut uygulamamı 32 bit'e dönüştürerek bunu test ettim. Çok sayıda uyarı aldım ama hata yapmadım. Neyse ki elma her uyarı için önerilen bir düzeltme aldı, ben de her uyarıyı tıkladım ve düzeltmeyi kabul etmek için enter tuşuna basın. Yaklaşık 5 dakika sürdü ve 64 bit içinde çalışıyordum. Baş ağrısı yok, problem yok ... şu ana kadar
Chris.Stover

0

Çok fazla teknik fayda olduğunu sanmıyorum. Öncelikle, iPad'i düşündüğünüzde daha anlamlı olacağını düşünüyorum (işlemcinin daha fazla koç, daha yüksek enerji tüketimini vb. Destekleyebilmesi için daha büyük bir pili var). İkincisi, şu an gerçekleşen diğer duyurulara bakın. AMD, 2014 yılında 64bit ARM işlemcileri piyasaya süreceğini açıkladı. Bu, temelde Apple'ın Android ve Win8 tabletlerine neyin geleceği karşısında pazar liderliğini sürdürüyor.


0

Kısa vadede hemen hemen hiçbir şey. Aslında birkaç şekilde geri adım atıyor. Bildiğim üç ana avantaj var.

  1. 64bit daha büyük rakamlarla çok daha iyidir, ki bu kriptoda bir nimettir. Bu ilginç olabilir telefondaki parmak izi tarayıcı ile birleştirin.
  2. Yine aynı damarda, 64bit ve büyük sayılardaki gelişmeler fizik sunumuna yardımcı olmaktadır. Bu, iOS7'nin kullanıcı arayüzünde kullanılan fizik miktarını dikkate alarak kullanışlıdır. Bu aynı zamanda oyun geliştiricilere olduğu gibi özellikle iPad gibi daha büyük ekranlı gayrimenkullerde de fayda sağlıyor.
  3. Aynı zamanda, mevcut telefonlara bir dereceye kadar prova yapılmasını da sağlıyor.

0

Deneyler.

X86, MIPS ve ARM ISA'ların 32 - 64 bit mimari modlarını çalıştırabilen bazı uygulamalar için, 64 bit modu bazı önemli uygulamalarda daha hızlı karşılaştırılmıştır. Bunun bir nedeni, 64 bit ISA'ların daha yeni olması ve ISA mimarlarının ISA'yı tanımlarken uygulama istatistikleri ve bu uygulama davranışları kümesi için nasıl optimize edileceği hakkında daha fazla bilgi sahibi olmalarıdır. Ve yeni bir işlemcinin ISA'sının, Moore yasasında büyüyen ve mobil cihaz alanında bir milyon kattan fazla büyüyen uygulama belleği gereksinimlerine karşı geleceğe karşı korumalı olması gerekiyor.

Bu nedenle, yeni arm64 ISA muhtemelen geliştirebileceğiniz performans kısıtlı kodlarda (benim kodumda olduğu gibi) daha hızlı kıyaslama yapar ve aynı zamanda aptal C işaretçilerinin, on yıl veya daha fazla yaygın hale gelebilecek büyük sanal adres alanlarını ele almalarına izin verir (ki bu orijinal 32 bit ARM ISA'dan çok daha az zaman zaten mevcuttu).

Belirli uygulamalarınızdaki performans (onaylama ölçüsü) arm64'ü tercih etmek için harika bir nedendir.


-4

64 bit, OSX'in masaüstü sürümleriyle (tümü 64 bit olan) daha fazla kod paylaşımı sağlar.


Ancak şu anda tüm ios uygulamalarının 32 bit uyumluluğu sağlaması gerekir, bu nedenle herhangi bir 64 bit yalnızca kodunun yine de 32 bit'e dönüştürülmesi gerekir.
Bryan Chen

1
Ama yine de tamamen farklı mimariler (x86-64 ve armv8). Bundan sıfır kazanç (C / C ++ / ObjC'de tamamen yazılmış bir program, zorunlu olmasa bile, herhangi bir sayıda bit üzerinde çalışacaktır).
Jan Hudec
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.