Ich versuche herauszufinden, warum 64-Bit-Prozessoren in einem iPhone so wichtig sind. Ich verstehe, dass es doppelt so viele Register geben wird, so dass der Prozessor mit doppelt so vielen Daten arbeiten kann, was die Leistung steigern sollte.
Allerdings sehe ich nicht viele Handys, die demnächst mehr als 4 GB Speicher benötigen. Es scheint ein Overkill zu sein, der sich negativ auf die Akkulaufzeit auswirken würde.
Ein weiteres Problem, das ich sehe, ist, dass die meisten Variablen jetzt doppelt so viel Speicher benötigen. Dies führt in einer mobilen Umgebung mit wenig Arbeitsspeicher zu Problemen.
Ich glaube, die Leute bei Apple sind intelligent und haben wahrscheinlich gute Gründe dafür. Ich versuche nur, sie zu verstehen.
BEARBEITEN
Ich weiß nicht viel über GPUs, aber mir wurde gesagt, dass mit 64-Bit-Registern 2 Pixel in jedes Register geladen werden können und Operationen an ihnen einzeln durchgeführt werden können. Gibt es einen grafischen Vorteil in Bezug auf 64-Bit?
Antworten:
Meistens wirft es nur eine große Zahl raus, weil es die Massen beeindruckt. Größere Zahlen sind offensichtlich überlegen, daher ist alles mit einem 64-Bit-Prozessor eindeutig besser als etwas mit einem 32-Bit-Prozessor. Die neue CPU ist deutlich besser als sein Vorgänger , aber im Apple - Mode, sie werden nicht versuchen , auf Tech Specs basierte Marketing - sie sind nur Sie gehen zu sagen , dass die 64-Bit - A7 ist neuere und besser als die 32- Bit A-6 . Wenn Sie sich die technischen Daten ansehen, sehen Sie jedoch:
Darüber hinaus können sie heute (abwärtskompatible) 64-Bit-Hardware einführen, bevor wir auf die "4-GB-Wand" stoßen. In einigen Jahren, in denen 64-Bit erforderlich wird, wird dies von der gesamten Hardware unterstützt und es ist nicht mehr erforderlich, ältere 32-Bit-Architekturen zu verarbeiten.
quelle
Unter ARMv7 gibt es keine "4-GB-Wand" , da viele ARMv7-Kerne LPAE (Large Physical Address Extension) unterstützen, ein Konzept, das mit PAE unter x86 vergleichbar ist, mit der Ausnahme, dass LPAE eine 40-Bit-Adressierung verwendet. Dies bedeutet, dass mit LPAE ausgestattetes ARMv7 bis zu 1 TB RAM adressieren kann .
Es ist auch wichtig zu erwähnen, dass kommende ARMv8-Kerne, einschließlich A7, keine physische 64-Bit-Adressierung verwenden . Höchstwahrscheinlich wird A7 entweder eine physikalische 40-Bit- oder eine 44-Bit-Adressierung verwenden. Später Zugriff auf maximal 16 TB RAM.
Natürlich sind die Anwendungen entweder mit LPAE unter ARMv7 oder im AArch32-Modus unter ARMv8 immer noch 32-Bit, sodass die Anwendung selbst jeweils nur auf 4 GB zugreifen kann. Aber ich denke nicht, dass es in naher Zukunft ein Problem auf Mobilgeräten geben wird.
Sie befürchten, dass Apps mehr Speicher benötigen (64-Bit-Zeiger), dies ist jedoch nicht der Fall, wenn die Apps im 32-Bit-Modus (AArch32) ausgeführt werden.
Andererseits bietet ARMv8 andere architektonische Verbesserungen gegenüber ARMv7, die nicht mit AArch64 zusammenhängen.
TL, DR: Die 64-Bit-Version von A7 ist ein Marketing-Gimmick. Selbst auf Systemen mit mehr als 4 GB RAM bietet es für 32-Bit-Apps keinen signifikanten Vorteil gegenüber LPAE. Und 64-Bit-Apps werden nicht in Kürze verfügbar sein.
Update: Es wurde von Qualcomm Marketing Executive bestätigt (derzeit ehemaliger Executive, da er für diese Kommentare herabgestuft wurde ).
quelle
Sich nur darauf zu konzentrieren
A7
,ARMv8
dort zu sein, ist ein offensichtlicher Vorteil. ARM startet den Befehlssatz und die Architektur neu.Da wir mit der
ARMv7
nächsten Version rückwärts kompatibel sind , wird dies auch behauptetSo
ARMv8
fordertARMv7
auf Unterschiede in der Architektur, eine sauberere Schnittstelle für Systementwickler bietet die wahrscheinlich Erbe entfernen würde Funktion zu einer besseren Plattform führen. Das heißt, Sie sollten eine bessere Leistung / Energie erwarten, anstatt negative Auswirkungen auf die Batterie zu haben.Weitere Informationen finden Sie in der ARM-Architekturvorschau .
quelle
Der größte Vorteil gegenüber 32-Bit bei 64-Bit-Prozessoren liegt in der Bewegung des Speichers und nicht in der Größe des Speichers. Zwar kann 32-Bit den direkten Zugriff auf 4 GB beschränken. Es gibt viele Hardware- / Softwarelösungen, um diese Grenze zu umgehen.
64-Bit-Prozessoren können einfach mehr Daten in einer einzelnen Prozessoroperation lesen / schreiben. Es ermöglicht dem Assembler-Code, Operationen an 8-Byte-Blöcken auszuführen. Dies kann einen großen Leistungsvorteil gegenüber 32-Bit-Prozessoren haben. Gleitkommaberechnungen sind auf 64 schneller als auf 32, und wenn die CPU Doppelregister verwendet, kann sie mit 128-Bit-Datenblöcken arbeiten.
64-Bit-Prozessoren haben auch größere Bandbreiten für den physischen Speicher. Wenn Sie eine Kamera haben, die 1080p aufzeichnet und dieses Video bearbeiten möchte. Das Durchführen einer Operation mit einer 1-GB-Videodatei ist auf 64-Bit-Systemen einfach schneller.
All dies gilt auch dann, wenn der Ghz-Wert des Prozessors gleich bleibt.
Wenn 64-Bit so gut ist, warum dann nicht 128-Bit?
Je mehr Bits Sie der Pipeline einer CPU hinzufügen, desto mehr Daten muss die CPU verschieben. Die CPU kann diese Bandbreite nicht auf 16 oder 32 einschränken. Dies schafft also ein Problem für Softwareentwickler. Die meiste Software (Ihr Kalender, Notizen usw.) hängt nicht von vielen Daten ab, weshalb 128 Bit viel verschwendete Bandbreite bedeuten würden. Dies kann die Leistung und die Batterielebensdauer beeinträchtigen. Daher müssen die CPU-Hersteller ein Gleichgewicht zwischen Bandbreite und Softwareanforderungen finden.
Ich bin erstaunt, dass Apple so bald im Leben des Mobile Computing einen neuen 64-Prozessor herausgebracht hat. Ich denke, ihre eigentliche Motivation dafür sind 3D-Grafiken. Mit einem 64-Bit-Prozessor kann das Telefon mehr Daten schnell auf die GPU übertragen. Dies ermöglicht schnelle 3D-Spiele und beeindruckendere Grafiken. Sie werden sofort die Vorteile von 64-Bit in Echtzeit-3D erkennen, da dieser Prozess stark von den Daten abhängt.
quelle
cache lines
über Speicherbusse mit 16-Bit-32-Bit oder wahrscheinlich 64-Bit aufgerufen werden . Dies entspricht nicht unbedingt der nativen Wortgröße von CPU arch. Sie haben Recht, das große Problem ist das Verschieben von Daten, aber dieses Problem gehört zu einer anderen Hardware- / Architekturdomäne. FP wird auf einer FPU ausgeführt, die eigentlich recht schnell ist und mit einfachen oder doppelten Präzisionsgrößen arbeiten kann. Wie bei der Videodekodierung oder in 3D, verfügen sie über eine eigene Hardware, die nicht unbedingt 64-Bit ist.what every programmer should know about memory
Für den neugierigen Entwickler akkadia.org/drepper/cpumemory.pdfDies erleichtert den Umgang mit großen Zahlen. Große Zahlen sind in der Kryptographie (nachdem PRISM ein sicheres Mobiltelefon besitzt) und in wissenschaftlichen Anwendungen von großer Bedeutung.
quelle
Wenn Sie sich an 32-Bit-Probleme halten, werden Sie in naher Zukunft sicherlich nicht auf Probleme stoßen. Die Lektion aus der Desktop-Welt lautet, dass ein Übergang ein langwieriger und schmerzhafter Prozess sein wird. Sie sollten also eher früher als später damit beginnen.
Es war sogar überraschend für mich, dass Smartphones nicht von Anfang an 64-Bit waren.
quelle
Ich glaube nicht, dass es viele technische Vorteile gibt. Zuerst denke ich, dass es sinnvoller ist, wenn man das iPad betrachtet (es hat einen größeren Akku, damit es mehr RAM unterstützt, einen höheren Energieverbrauch des Prozessors usw.). Schauen Sie sich die anderen Ankündigungen an, die gerade stattfinden. AMD hat gerade angekündigt, dass es 2014 64-Bit-ARM-Prozessoren geben wird. Dies ist im Grunde genommen die führende Position von Apple angesichts der kommenden High-End-Tablets für Android und Win8.
quelle
Kurzfristig so ziemlich nichts. Es ist in gewisser Hinsicht ein Schritt zurück. Ich kenne drei Hauptvorteile.
quelle
Benchmarks.
Bei einigen Implementierungen, die sowohl 32-Bit- als auch 64-Bit-Architekturmodi mit x86-, MIPS- und ARM-ISAs unterstützen, wurde der 64-Bit-Modus bei bestimmten wichtigen Anwendungen schneller verglichen. Ein wesentlicher Grund dafür ist, dass die 64-Bit-ISAs neuer sind und die ISA-Architekten daher mehr über die Anwendungsstatistik und die Optimierung dieses Anwendungsverhaltens bei der Definition der ISA wissen. Und ein neuer Prozessor ISA muss zukunftssicher sein gegenüber Anwendungsspeicheranforderungen, die mit der Geschwindigkeit von Moore zunehmen und die im Bereich mobiler Geräte bereits millionenfach angestiegen sind.
Auf diese Weise kann der neue arm64 ISA wahrscheinlich schnellere Benchmarks für jeden von Ihnen entwickelten Code mit eingeschränkten Leistungsmerkmalen erstellen (dies gilt auch für meinen Code) und dummen C-Zeigern ermöglichen, auf die riesigen virtuellen Adressräume zuzugreifen, die in einem Jahrzehnt oder später häufig vorkommen werden (und das ist der Fall) viel weniger Zeit als die ursprüngliche 32-Bit-ARM-ISA bereits existiert hat).
Die Leistung Ihrer speziellen Anwendungen (Maßnahme zur Bestätigung) ist ein guter Grund, arm64 zu bevorzugen.
quelle
64-Bit ermöglicht viel mehr Code-Sharing mit den Desktop-Builds von OSX (alle 64-Bit).
quelle