64-Bit-Architektur
Unter 64-Bit-Architektur versteht man in der EDV eine Prozessorarchitektur, deren Verarbeitungsbreite 64 Bit beträgt. Durch 64 Bit große Adressregister sind solche Prozessoren in der Lage, einzelnen Prozessen größere (nicht segmentierte) Adressräume als 4 GiB zur Verfügung zu stellen.
Einige Prozessoren unterstützen (aus Kompatibilitätsgründen) mehrere Architekturen, beispielsweise PowerPC, wo die Architektur selbst zwar auf 64-Bit basiert („ppc64“), Prozessoren der 1990er und frühen 2000er Jahre jedoch fast immer nur ein 32-Bit-Subset unterstützten („ppc“ oder, meist retronym: „ppc32“), oder auch die x86-Prozessoren der meisten (geschichtlich betrachtet IBM-kompatiblen) PCs. Die x86-Architektur wird maßgeblich von Intel und AMD entwickelt und beinhaltet sowohl eine 16-Bit-Architektur (seit dem Intel 8086, dessen Weiterentwicklungen „80x86“ wie 80186, 80286, 80386 usw. der Architektur den Namen geben), eine 32-Architektur (seit dem Intel 80386) als auch eine 64-Architektur (seit dem AMD Opteron). Die 64-Bit-x86-Architektur heißt „x64“ oder „x86-64“ (teils auch „amd64“), beinhaltet jedoch auch die 32-Bit-x86-Architektur „IA-32“ (retronym auch „x86-32“) und sogar die ursprüngliche 16-Bit-x86-Architektur, obwohl diese so gut wie keine Verwendung mehr findet. Als „x86S“ könnten zukünftige x86-Prozessoren jedoch komplett auf die 16- und 32-Bit-Architekturteile verzichten.
Analog dazu werden auch Betriebssysteme und Computerprogramme, die auf eine solche Architektur ausgelegt sind, mit dem Attribut 64-Bit versehen (z. B. „64-Bit-Betriebssystem“ oder „Windows 64-Bit“).[1]
Entwicklung

Als IBM Ende der 60er Jahre den IBM System/360 Mainframe-Computer vorstellte, der eine 32-Bit-Architektur benutzte, begann die Entwicklung der 64-Bit-Architektur. Verschiedene 64-Bit-Systeme wurden in den kommenden Jahrzehnten entwickelt, doch erst in den 1990er Jahren begann die 64-Bit-Architektur tatsächlich an Relevanz zu zunehmen. Die Implementierung von 64-Bit-Computing-Prozessoren wie dem DEC Alpha und dem MIPS R4000 war ein bedeutender Fortschritt.[2]
Die weitere Entwicklung von 64-Bit-Architekturen wurde durch immer preiswerter herstellbaren Hauptspeicher vorangetrieben. Dies führte Anfang der 1990er Jahre zu 64-Bit-Architekturen im Serverbereich (MIPS 4000, DEC Alpha, SPARC64, HP PA-RISC, IBM Power 3, Intel Itanium bzw. IA-64), Anfang der 2000er Jahre im PC-/Workstation-Bereich (x64) und Anfang der 2010er Jahre selbst im Bereich von Smartphones (ARM64). Einige der älteren Architekturen hatten dabei schon vor der Entwicklung zur vollen 64-Bit-Architektur die Datenpfade immer weiter verbreitert, etwa der Pentium P5 (64-Bit-Datenbus, Befehle 8 bis 120 Bit lang) oder gar der Pentium 4 (hier sogar zwei 64-Bit-Datenbusse, über die im Allgemeinen 512-Bit-Worte transferiert werden).
Frühe Spezial-Architekturen von Supercomputern mit Busbreiten ab 64 Bit:
- 1961: die IBM 7030 Stretch mit 18-Bit-Adress- und 64-Bit-Datenbus und Unterstützung von Worten variabler Bitbreite[3]
- 1974: der CDC STAR-100 (Nachfolger der 60-Bit-Rechner der Control Data Corporation), ein Vektorrechner in Harvard-Architektur. Mittels 16-Bit-Adressbus können bis zu 65536 Superworte zu je 512 Bit über einem 512-Bit-Datenbus übertragen werden. Für Befehle gab es einen separaten 128-Bit-Bus.
- 1976: Cray-1, der erste 64-Bit-Vektorrechner, Vorläufer der Cray Supercomputerlinie: 24-Bit-Adressraum, 16 oder 32 Bit lange Befehle, 16 Datenbusse mit je 64 Bit
- 1983: Elxsi 6400 sogenannter „Minisupercomputer“ mit 64-Bit-Datenpfaden, 64-Bit-Ganzzahlregistern, aber 32-Bit-Adressraum, Unterstützung von Clustern von bis zu 12 CPUs.
64-Bit-Architekturen für Server in Universalprozessoren:
- 1991: von MIPS (später SGI) ab dem MIPS R4000 eine 64-Bit-MIPS-Architektur (32- und 64‑Bit)
- 1992: von DEC die Alpha-Prozessor-Serie
- 1995: von Sun Microsystems die SPARC-Architektur („UltraSPARC,“ 32- und 64‑Bit)
- 1995: von Hewlett-Packard die PA‑RISC-Serie (32- und 64‑Bit[4])
- 1997: von IBM die Power-Serie (32- und 64‑Bit)
- 1998: von Apple/IBM/Motorola (bzw. ab 2005 Freescale und ab 2015 NXP) die PowerPC-Serie (32- und 64‑Bit)
- 2000: von IBM die System‑z-Serie (vormals S/390)
- 2001: von Intel und Hewlett-Packard die Itanium-Architektur „IA‑64“
- 2005: von Fujitsu die SPARC64‑V-Architektur
64-Bit-Architekturen für Server, PCs, Tablets und Smartphones in Universalprozessoren:
- 2003: von Apple/IBM/Motorola (bzw. ab 2005 Freescale und ab 2015 NXP) die PowerPC-Serie (32- und 64‑Bit)
- 2003: von AMD/Intel x64, eine Befehlssatzerweiterung für die Familie der x86-Prozessoren (16- und 32‑Bit, mit x64 erweitert um 64‑Bit)
- 2013: von ARM Limited die Armv8-A-Architektur
Die Koprozessoren sind in ihrer Entwicklung jeweils durch die Datenpfade des Hauptprozessors beschränkt gewesen. Dabei hatte der Intel 8087 als erster mathematischer Koprozessor (FPU) des 16-Bit Intel 8086 sogar schon 80-Bit Register zur Verfügung. Die späteren Grafikprozessoren (GPU) optimierten für 3D-Berechnungen auf eine vierfach gepackte Darstellung der Matrizen, sodass sich diese zu 128-Bit und 256-Bit-Prozessoren entwickelten. Da sie keine eigenen Applikationen und Betriebssysteme mit dieser Bitbreite haben, handelt es sich nicht um volle Architekturen.
Hardware
Die Architektur eines Prozessors sagt nichts darüber aus, wie einzelne Funktionen konkret im Chipdesign implementiert sind. So können einzelne Befehle im Innern weiterhin als 32-Bit-Operationen ausgeführt sein (so wie z. B. Verschiebebefehle in MIPS-R4000-Prozessoren).
Die konkrete Hardware von 64-Bit-Prozessoren ist wesentlich mehr durch das Prozessordesign der Jahre bestimmt, in denen sie eingeführt wurden. Dazu zählen
- meist Multicore-Systeme
- meist mehrere 64-Bit-Busse zum Hauptspeicher
- immer Super-Pipelined-Architektur
- meist Out-Of-Order-Ausführung, superskalare Ausführung
- meist Vektorbefehle ab 128 Bit Breite
- Gleitkommaeinheit, die zum Teil mehrere Dutzend Gleitkomma-Befehle pro Core gleichzeitig ausführen können
- umfangreiche Cache-Architekturen mit 2 bis 3, teilweise 4 Hierarchien
- Virtualisierungsmöglichkeiten für Speicher und teilweise I/O-Operationen
Der Mehraufwand für die Erweiterung einer 32-Bit-Architektur auf 64 Bit lag bei etwa 10 Prozent. Der 32-Bit-Prozessor Intel Core Duo Processor T2700[5] kam mit 151 Millionen Transistoren aus, der ansonsten weitgehend identische 64-Bit-Prozessor Intel Core2 Duo Processor E4300[5] benötigte 167 Millionen. Der Hintergrund ist, dass in den Prozessoren ohnehin schon fast alles 64 Bit oder breiter war und nur die allerletzten Komponenten auf 64 Bit erweitert werden mussten.
Die PowerPC-Architektur wurde von Anfang an als 64-Bit-Architektur entworfen, da sie von der ursprünglich aus dem Bereich der Großrechner stammenden Power-Architektur abgeleitet ist. Auch für die MIPS-Architektur wurde frühzeitig als 64-Bit-Architektur entworfen. In beiden Fällen erfolgte die Realisierung in Hardware allerdings erst einige Jahre später und anfangs wurde ein 32-Bit-Subset verwendet.
Software
Kompatibilität
Computerprogramme, die auf eine 64-Bit-Architektur ausgelegt sind, verwenden 64 Bits für die Adressierung des Arbeitsspeichers (bzw. ihres virtuellen Speichers) und sind daher nicht kompatibel zu einer Prozessorarchitektur mit einer niedrigeren Bitzahl (z. B. 32-Bit-Architektur). Nur mit Virtualisierungssoftware ist es unter 32-Bit-Betriebssystemen möglich, ganze 64-Bit-Betriebssysteme (virtualisiert) laufen zu lassen – vorausgesetzt der Prozessor bietet einen 64-Bit-Betriebsmodus.
Für einen sanften Übergang von 32- auf 64-Bit können einige 64-Bit-Prozessoren weiterhin auch 32-Bit-Code ausführen, teilweise (für den Übergang von 16- auf 32-Bit) sogar weiterhin 16-Bit-Code. Wird diese Fähigkeit auch durch ein 64-Bit-Betriebssystem (das prinzipiell zur Ausführung von 64-Bit-Programmen notwendig ist) unterstützt, so ist auch dieser ältere Code unter diesen Betriebssystemen (nativ) ausführbar. Dazu muss der Prozessor einen Modus für 32-Bit-Programme bieten, der innerhalb des 64-Bit-Ausführungsmodus funktioniert, und das Betriebssystem muss eine 32-Bit-Programmierschnittstelle enthalten (API; meist als Wrapper). Beispielsweise bieten x64-Prozessoren einen 32-Bit-x86-Kompatibilitätsmodus innerhalb des 64-Bit-Betriebsmodus. Auch der 64-Bit-PowerPC-Prozessor G5 kann weiterhin nativ 32-Bit-Code ausführen und ist somit zu den früheren 32-Bit-Prozessoren bis zum PowerPC G4 kompatibel. So können weiterhin 32-Bit-Programme ausgeführt werden, was die Nutzung älterer 32-Bit-Programme ermöglicht – weil in einer Übergangszeit jedoch weiterhin viele 32-Bit-Prozessoren verwendet wurden, waren auch einige zu dieser Zeit aktuellen Programme weiterhin in 32-Bit ausgeführt.
Neben der Fähigkeit zur Interpretation des 32-Bit-Befehlssatzes im Prozessor müssen jedoch auch die Betriebssysteme den 32-Bit-Kompatibilitsmodus für die jeweiligen Prozesse unterstützten. Eine Markierung an der Programmdatei zeigt dem Betriebssystem an, ob sie im erweiterten 64-Bit-Modus oder im kompatiblen 32-Bit-Modus auszuführen sind. Vom Betriebssystem muss dann auch die Programmierschnittstelle (API, kurz für englisch Application Programming Interface) als 32-Bit-Version zur Verfügung gestellt werden. Bei Windows wird dies durch das WOW64-Subsystem realisiert.[6] Auch 64-Bit-macOS kann bis Version 10.14 Mojave 32-Bit-Programme ausführen. Unter 32-Bit-Windows war es auch noch möglich, 16-Bit-Programme zu nutzen, doch mit dem Schritt auf 64-Bit musste die 16-Bit-Kompatibilität fallen gelassen werden, weil es im 64-Bit-Ausführungsmodus eines x86-Prozessors keine Möglichkeit mehr gibt, 16-Bit-Programme nativ ablaufen zu lassen. Auf Prozessoren, die keine Rückwärtskompatibilität in Hardware anbietet, besteht auch die Möglichkeit, das Ziel der Ausführung von 32-Bit- oder 16-Bit-Programmen über eine Hardware-unterstützte Virtualisierung oder über eine vergleichsweise langsame, softwarebasierte Emulation zu realisieren. So ist z. B. der x64-Version von Windows 7 optional 16-Bit-Kompatibilität in Form von Software-Emulation vorhanden – der „Windows-XP-Modus“ ist ein emuliertes oder virtualisiertes 32-Bit-Windows-XP, mit dessen Hilfe unter 64-Bit-Windows-7 weiterhin 16-Bit-Programme ausgeführt werden können (nebst 32-Bit-Programmen, die nur unter Windows XP richtig funktionierten).
Manchmal wird jedoch nach der Übergangszeit die Unterstützung dafür seitens des Betriebssystems eingestellt, was beispielsweise Apple mit macOS Catalina (Version 10.15) gemacht hat, obwohl die in Macs verwendeten 64-Bit-Intel-Prozessoren zu dieser Zeit weiterhin einen 32-Bit-Kompatibilitätsmodus bieten. Auch bei Windows war ab Windows 8 der „Windows-XP-Modus“ (u. a. für 16-Bit-Programme) nicht mehr vorhanden.
Mit Virtualisierungssoftware oder Emulatoren ist es auf so gut wie jedem Betriebssystem jedoch weiterhin möglich, ganze (ältere) 32-Bit- oder sogar 16-Bit-Betriebssysteme auszuführen. Dadurch besteht immer die Möglichkeit, alte Software auf modernen Systemen zu nutzen, wenn auch eingeschränkt.
Programmiermodell
Unter der Programmiersprache C schlägt sich die Ausrichtung auf eine 64-Bit-Architektur sowohl bei der Größe der Zeiger-Typen (z. B. void*
) als auch der Integer-Typen (insbesondere int
und long
) nieder. Beim Übergang von einer 32-Bit-Architektur verbreitert man in der Regel Zeiger und den Datentyp long
auf 64 Bit, wogegen der Datentyp int
bei 32 Bit verbleibt. Dieses nennt man dann abgekürzt LP64. Zur Rückwärtskompatibilität mit der 32-Bit-Architektur, die meist als ILP32 ausgeführt wurde, hatte man teils auch long
identisch mit int
gelassen, was als LLP64 bezeichnet wird. Alle heutigen unixartigen 64-Bit-Betriebssysteme drücken die 64-Bit-Architektur in einem LP64-Typenmodell aus, Windows verwendet das LLP64-Modell.
Das ILP64-Datenmodell wurde eingeführt, da Quellcode von alter Software häufig unter der unzulässigen Annahme entwickelt wurde, dass ein int
einen Zeiger halten kann. Es wird auf frühen 64-Bit-Systemen vorgefunden, die schnell auf den Markt wollten, ohne vorher vorhandenen Quellcode bereinigen zu müssen.
Daten- modell | short (integer) | int | long (integer) | long long | pointer | Beispiel Betriebssystem/Compiler[8] |
---|---|---|---|---|---|---|
LLP64 | 16 | 32 | 32 | 64 | 64 | Microsoft Win64 (x64/IA64) |
LP64 | 16 | 32 | 64 | 64 | 64 | Unix und Unixoide Systeme, z. B. Linux, macOS, Solaris |
ILP64 | 16 | 64 | 64 | 64 | 64 | Cray |
SILP64 | 64 | 64 | 64 | 64 | 64 | Manche Unicos-Systeme[9] |
Vorteile
Im Vergleich zu ihren Vorgängern bringt die 64-Bit-Architektur zahlreiche Vorteile mit sich, vor allem in Bezug auf Leistung, Datensupport, Sicherheit und Zukunftssicherheit.
Die verschiedenen Vorteile der 64-Bit-Architektur und ihre Auswirkungen auf die moderne Computertechnologie:
A. Steigerung der Speicherkapazität
Durch die erweiterte Wortbreite von 64 Bit kann die Rechenleistung deutlich gesteigert und die Speicheradressierung verbessert werden. Darüber hinaus kann die 64-Bit-Architektur die Verarbeitungsgeschwindigkeit von Anwendungen steigern, vor allem bei anspruchsvollen Tätigkeiten wie der Multimedia-Verarbeitung und der Abfrage von Datenbanken.[10]
B. Unterstützung großer Datenmengen
Die 64-Bit-Architektur unterstützt umfangreiche Datenmengen und anspruchsvolle Berechnungen besser, was insbesondere in Feldern wie Datenanalyse, Simulationen und wissenschaftlicher Forschung von Nutzen ist.
1. Die 64-Bit-Architektur verfügt über eine gesteigerte Speicheradressierungsfähigkeit, wodurch eine reibungslose Verarbeitung umfangreicher Datenmengen in Echtzeit möglich ist. Dies spielt in Bereichen wie der Videoverarbeitung, dem Streaming und der Finanzanalyse eine besondere Rolle.[11]
2. Komplexe Berechnungen und Simulationen sind auf 64-Bit-Systemen aufgrund der größeren Datenpfadbreite und der gesteigerten Rechenleistung effizienter durchzuführen. Es wurde deutlich, dass dies in verschiedenen wissenschaftlichen und technischen Bereichen zu genaueren Resultaten und einer erhöhten Innovationsrate führt.[12]
C. Sicherheit
Im Gegensatz zu 32-Bit-Systemen verfügt die 64-Bit-Architektur auch über verbesserte Sicherheitsfunktionen sowie eine bessere Fehlererkennung und Fehlerbehebung.
1. Erweiterte Adressraumisolierung: Durch den Einsatz von 64-Bit-Adressen wird eine widerstandsfähigere Adressraumisolierung möglich, was zu einer Verringerung der Speicherfehler- und Sicherheitsverletzungsmöglichkeiten führt. Dies leistet einen Beitrag zu einer generell sichereren Systemumgebung.[13] Eine solche Technik ist Address Space Layout Randomization (ASLR), die es zwar grundsätzlich auch auf 32-Bit-Systemen gibt, allerdings ist sie dort aufgrund des eingeschränkten Adressraums weit weniger effektiv.[14]
2. Die verbesserten Fehlererkennungs- und Fehlerkorrekturfunktionen von 64-Bit-Systemen helfen dabei, die Stabilität und Verlässlichkeit des Systems zu steigern. Dadurch können mögliche Sicherheitslücken und Systemausfälle frühzeitig identifiziert und behoben werden.[15]
Nachteile
1. Komplexität und Kosten
Da 64-Bit-Systeme eine spezielle Hardware und Software benötigen, um die Vorteile der erweiterten Architektur voll auszuschöpfen, führt ihre Einführung zu zusätzlicher Komplexität und zusätzlichen Kosten.[16]
2. Kompatibilitätsprobleme mit älterer Hardware und Software
Kompatibilitätsprobleme mit älterer Hardware und Software, die möglicherweise nicht mit den neuen Architekturen kompatibel sind, können durch die Implementierung und Verwendung von 64-Bit-Systemen entstehen.[17]
3.Einschränkungen bei der Leistungsoptimierung
Obwohl die 64-Bit-Architektur die Rechenleistung steigert, können bei der Leistungsoptimierung gewisse Beschränkungen auftreten, vor allem bei Anwendungen, die die Vorteile der erweiterten Architektur nicht voll ausschöpfen können.[18]
Probleme
Ähnlich wie bei SIMD oder AltiVec-Erweiterungen ist auch für 64-Bit-Systeme in der Regel speziell angepasste Software nötig.
Ohne eine speziell angepasste Ausführungsumgebung kann kein Vorteil durch den Wechsel von einer 32-Bit- auf eine 64-Bit-Architektur gezogen werden. Dies wird insbesondere bei abwärtskompatiblen Prozessorarchitekturen wie SPARC („SPARC64“) oder PowerPC („PPC64“) deutlich. Im Gegenteil ist es sogar so, dass unter den gleichen Bedingungen die Verwendung von 64 Bits für die Adressierung oft langsamer ist als mit nur 32 Bits. Da jede 64-Bit-Speicheradresse doppelt lang ist wie ihr 32-Bit-Pendant belegen alle Zeiger (englisch pointer) in Summe ebenfalls doppelt so viel Speicherplatz, sodass auch deren Übertragung z. B. in den Prozessor-Cache womöglich mehr Zeit in Anspruch nimmt. Im direkten Vergleich auf derselben Hardware können daher gerade Programme, die eher wenig Speicher brauchen, als 64-Bit-Programm langsamer laufen als als 32-Bit-Programm.[19][20][21] Auf manchen Architekturen wurde daher oft weiterhin ein 32-Bit-Userland für die Vielzahl an Programmen verwendet, die von mehr als 4 GB Arbeitsspeicher nicht profitieren. Es gibt jedoch auch Architekturen, bei denen gleichzeitig eine grundlegende Überarbeitung stattgefunden hat, wie etwa bei der 64-Bit-x86-Architektur „AMD64“ (auch „x86-64“; mit Prozessoren wie Athlon 64 X2, Phenom X3/X4, Pentium D, Pentium Extreme Edition, Core 2 Duo oder Quad, Core i7), die im Vergleich zur 32-Bit-x86-Architektur „IA-32“ eine Verdoppelung der Register erfahren hat; Weil auch unter x86-64 unter den gleichen Bedingungen 32-Bit-Software teils schneller (oder zumindest gleich schnell) sein kann, wurde mit dem x32-ABI auch dort eine Möglichkeit zur Nutzung von 32-Bit-Speicheradressen geschaffen. Für bestehende Software hingegen reicht nicht nur die grundlegende Anpassung des Betriebssystems, also die Nutzung eines 64-Bit-Systemkerns zur Paging-Verwaltung mit großen Adressen – auch die Hilfsbibliotheken der Programme mit den darin eingesetzten Algorithmen müssen von den Programmierern für den 64-Bit-Betrieb optimiert werden. Alte Software verwendet 32-Bit-optimierte Algorithmen, die selbst bei der Übersetzung als 64-Bit-Programm von der 64-Bit-Erweiterung nicht ohne weiteres profitiert.[22]
Nur auf der x86-Architektur ist davon auszugehen, dass bestehende 32-Bit-Software, die für IA-32 übersetzt ist und daher im klassischen 32-Bit-Protected Mode läuft, immer langsamer ist als für x86-64 („x64“, „amd64“) übersetzte Programme – egal ob mit 32 Bits per x32-ABI oder nativen 64 Bits, weil 32-Bit-Software auf IA-32 zusätzlich von der im Vergleich halben Registerzahl und -breite betroffen ist und auch nicht davon ausgehen kann, dass die in x86-64 bereits enthaltenen schnelleren SSE-Befehle zur Verfügung stehen.[19] Dennoch laufen unter dem verbreiten PC-Betriebssystem Windows als 64-Bit-Variante verfügbare Programme nicht automatisch schneller als deren 32-Bit-Pendant für IA-32, während angepasste 64-Bit-Programme im Regelfall schneller sind.[23][24] Die Notwendigkeit der Anpassung betrifft im Anwendungsbereich besonders mathematische Hilfsfunktionen (auch Multimedia und Spiele), aber auch die Speicherverwaltung. Viele Programme aus dem Unix-Bereich hatten hierbei einen Vorsprung, da dort 64-Bit-Architekturen schon länger üblich waren. Über die Entwicklung der Workstations wurden im Unix-Bereich (einschließlich Linux) auch Programme für den Desktop schon langjährig auf 64-Bit optimiert, lange bevor Windows-Programme auf die 64-Bit-Editionen von Windows angepasst wurden. Bei macOS – bis 2012 „Mac OS X“ – war die Entwicklung gemischt, da der Unix-basierte Kern und die grafische Oberfläche aus verschiedenen Entwicklungszweigen stammen.[25]
Viele Betriebssysteme machten von der Möglichkeit der Abwärtskompatibilität Gebrauch, um z. B. auf einem 64-Bit-Betriebssystemkern sowohl 32- als auch 64-Bit-Programme parallel auszuführen. Ein allgemeines Problem dabei ist jedoch, unabhängig vom jeweiligen Betriebssystem, dass prinzipiell 64-Bit- und 32-Bit-Code nicht gemischt werden kann. Beispielsweise können unter einem 64-Bit-Betriebssystemkern grundsätzlich nur 64-Bit-Gerätetreiber genutzt werden. Gerade bei Betriebssystemen für Desktop-Computer waren in der Übergangszeit auf 64-Bit Mitte bis Ende der 2000er Jahre viele Treiber noch nicht als 64-Bit-Version verfügbar.[26][27][28] Für ältere Hardware bzw. Peripheriegeräte hingegen wurden nie 64-Bit-Treiber entwickelt. Auch tiefer ins System integrierte Dienstprogramme wie z. B. Antivirenprogramme funktionieren nur, wenn sie in derselben Bittigkeit vorliegen wie das Betriebssystem.[26] Plug-ins (bzw. Module, Erweiterungen) müssen meist in einer 64-Bit-Variante vorliegen, um von einer 64-Bit-Version z. B. eines Browsers (ein Browser-Plug-in wird auch als Browsererweiterung bezeichnet) oder einer Multimedia-Anwendung (wie Bild-, Video oder Audio-Bearbeitung) verwendet werden zu können,[26][29][30] allerdings gibt es teils auch sog. Wrapper oder Bridges.[31][32]
Weblinks
- Andrew Josey: Data Size Neutrality and 64-bit Support. USENIX, 4. Dezember 1997 (englisch; 32-/64-Bit-Programmierersicht).
- M. Jungowski: WoW64 Microsofts Starthilfe für 64-Bit Windows. Online-Magazin Planet 3DNow!, 14. Juli 2004 (32-/64-Bit-Mischbetrieb).
Einzelnachweise
- ↑ Harry Phillips: New Perspectives on Microsoft Windows Vista for Power Users. Cengage Learning, 2008, ISBN 978-1-4239-0603-2, S. 16 (eingeschränkte Vorschau in der Google-Buchsuche).
- ↑ Hennessy, John L., and Patterson, David A. "Computer Architecture: A Quantitative Approach." Morgan Kaufmann, 2011.
- ↑ Index of /pdf/ibm/7030. Abgerufen am 4. April 2024.
- ↑ PA-RISC 2.0 Architecture Specifications, ftp.parisc-linux.org (englisch, PDF-Datei)
- ↑ a b Product Specifications. Abgerufen am 5. November 2021 (englisch).
- ↑ Jorge Orchilles: Microsoft Windows 7 Administrator’s Reference: Upgrading, Deploying, Managing, and Securing Windows 7. Syngress, 2010, ISBN 978-1-59749-562-2, S. 9 (eingeschränkte Vorschau in der Google-Buchsuche).
- ↑ 64-Bit Programming Models: Why LP64? The Open Group, 1998, abgerufen am 1. Januar 2016 (englisch).
- ↑ Das Datenmodell ist eine Eigenschaft des Compilers unter dem entsprechenden Target-Betriebssystems, nicht des Betriebssystems allein.
- ↑ Cray C/C++ Reference Manual. (PDF; 1,9 MB) In: audentia-gestion.fr. Cray Inc, S. 131, abgerufen am 5. September 2023 (englisch).
- ↑ Smith, J. E., & Wang, C. (2002). Architectural innovations in 64-bit processors. IEEE Micro, 22(2), 22-29.
- ↑ Hennessy, J. L., & Patterson, D. A. (2018). Computer architecture: A quantitative approach (6th ed.). Morgan Kaufmann.
- ↑ Smith, J. E., & Ravi, S. S. (2019). The impact of 64-bit computing on scientific research. Communications of the ACM, 62(1), 68-75.
- ↑ Stallings, W. (2016). Computer organization and architecture: Designing for performance (10th ed.). Pearson.
- ↑ Jonathan Corbet: Increasing the range of address-space layout randomization. In: LWN.net. 16. Dezember 2015, abgerufen am 10. Mai 2025 (englisch): „The problem is that there is only so much address space to play with, especially on 32-bit systems.“
- ↑ Tanenbaum, A. S., & van Steen, M. (2018). Distributed systems: Principles and paradigms (3rd ed.). Pearson.
- ↑ Flynn, M. J., & Harris, D. (2019). Computer architecture: Pipelined and parallel processor design. Jones & Bartlett Learning.
- ↑ Tanenbaum, A. S., & Austin, T. (2019). Structured computer organization (7th ed.). Pearson.
- ↑ Patterson, D. A., & Hennessy, J. L. (2018). Computer organization and design: The hardware/software interface (5th ed.). Morgan Kaufmann.
- ↑ a b Olaf Heß, Peter König: Umsteigen auf 64 Bit. In: Heise online. 31. März 2008. Abgerufen am 10. Mai 2025.; Zitat: „64 Bit von innen; Darüber hinaus sind 64-Bit-Anwendungen aber auch nicht grundsätzlich schneller als ihre 32-Bit-Gegenstücke. Das 64-Bit-Programm belegt mehr Speicher, da Zeiger darin immer 64 Bit groß sind. Dadurch kann der Prozessor weniger Daten und Instruktionen im schnellen Cache halten und muss häufiger auf den langsameren Hauptspeicher zugreifen, was Leistung kostet. Vorteilhaft ist, dass 64-Bit-Prozessoren doppelt so viele und doppelt so breite Register bieten, was Compilern zumindest theoretisch mehr Möglichkeiten der Code-Optimierung gibt. Außerdem unterstützen 64-Bit-CPUs generell die schnellen SSEx-Instruktionen. Daher kann der Compiler Code erzeugen, der diese sehr leistungsfähigen Befehle nutzt. Ein 32-Bit-Programm muss hingegen in der Regel auch auf Prozessoren laufen, die nur die älteren und weniger effizienten Architekturen x87 sowie MMX und 3DNow! unterstützen. Dadurch werden Berechnungen deutlich ausgebremst.“.
- ↑ Christoph Biedl: Performance difference 32bit/64bit userland. (Mailingliste) In: debian-powerpc. 7. Februar 2017, abgerufen am 22. Dezember 2024 (englisch): „… while preparing other tests I created two installations on two hosts with identical hardware … • powerpc (64 bit kernel, 32 bit userland) • ppc64 (64 bit kernel, 64 bit userland) … Using the 32 bit userland, CPU bound operations like gzip or xz are significantly faster (5 to 10 percent). Comparing to x86 where i386 is 10 to 15 percent slower than amd64.“
- ↑ Lennart Sorensen: Re: Performance difference 32bit/64bit userland. (Mailingliste) In: debian-powerpc. 7. Februar 2017, abgerufen am 22. Dezember 2024 (englisch): „64 bit pointers take twice the cache space (and memory bandwidth) of 32 bit pointers. There is essentially not other difference between 32 and 64 bit powerpc.“
- ↑ Oliver Lau: 64-Bit-Windows für AMD64 und Intels EM64T freigegeben. In: Heise online. 25. April 2005. Abgerufen am 9. Mai 2025.; Zitat: „64 Bit heißt nun aber nicht, dass fortan keine 32-Bit-Programme mehr laufen. Im Gegenteil: Für die sanfte Migration sorgt die WoW64 genannte Zwischenschicht (Windows on Windows 64 Bit). Mit deren Hilfe lassen sich 32-Bit-Programme im 64-Bit-Modus des Betriebssystems ausführen. Davon merkt der Anwender nichts, weder bei der Ausführungsgeschwindigkeit noch beim Verhalten der Applikation. 64 Bit heißt aber nicht zwangsläufig mehr Speed: Nur in wenigen Fällen sind Steigerungen um 50 Prozent und mehr drin, typischerweise bringen 64 Bit trotz doppelt so vieler und doppelt so breiter Register aber so gut wie kein Geschwindigkeitsplus – zumindest bei rechenintensiven Anwendungen, die nicht explizit auf eine 64-Bit-Plattform zugeschnitten sind. Anders mag es bei speicherlastigen Applikationen aussehen…“.
- ↑ sw: Ratgeber: Hard- und Software – Umstieg von 32 auf 64 Bit: Beliebte Gratis-Programme und Tipps. In: Computer Bild. 24. Januar 2011, abgerufen am 10. Mai 2025: „Arbeiten Programme mit dem 64-Bit-Windows schneller? … Deutliche Vorteile erzielen nur speziell für den Einsatz in 64-Bit-Umgebungen entwickelte 64-Bit-Programme. Im Schnitt laufen sie dann 13 Prozent schneller als die 32-Bit-Versionen.“
- ↑ Joerg Geiger: 64 Bit schlägt 32 Bit: 64-Bit-Programme sind meist die bessere Wahl – aber nicht immer. In: Chip. 29. Juli 2018, abgerufen am 10. Mai 2025: „64 Bit Browser sind besser … Wenn es eine 64-Bit-Version eines Tools gibt, dann ist die fast immer besser geeignet, denn sie ist für Ihr Betriebssystem maßgeschneidert. … Für die 64-Bit-Versionen sprechen leichte Performance-Vorteile, mehr Stabilität und verbesserte Sicherheit. Auf der anderen Seite muss man mit einem höheren RAM-Verbrauch rechnen. Wenn man mit 4 GByte oder mehr Arbeitsspeicher unterwegs ist, sollte es hier aber keine Engpässe geben.“
- ↑ Olaf Heß, Peter König: Umsteigen auf 64 Bit. In: Heise online. 31. März 2008. Abgerufen am 10. Mai 2025.; Zitat: „Mac-User müssen – und dürfen – übrigens keine Entscheidung über die Bittigkeit ihres Betriebssystems oder ihrer Anwendungen fällen: Bereits Mac OS X 10.4 (Tiger) unterstützte 64-Bit-Programme, wenn auch noch ohne grafische Bedienoberfläche (GUI). Seit Version 10.5 (Leopard) ist auch das GUI 64-bittig. Software-Hersteller können ihre Produkte als sogenannte Universal Binaries ausliefern, die Code für x86- und Power-PC-Prozessoren (jeweils in 32- und 64-Bit-Ausprägung) enthalten. Das System wählt automatisch die optimale Code-Version aus.“.
- ↑ a b c Thorsten Leemhuis: Nur 32 Bit nutzen?. In: Heise online. 28. November 2005. Abgerufen am 10. Mai 2025.; Zitat: „32-Bit-Viren-Scanner und viele andere x86-Anwendungen, die tief ins System eingreifen, funktionieren jedoch nicht. Zu-dem existieren für viele ältere Hardware-Komponenten nur 32-Bit-Windows-Treiber, die unter x64-Windows nicht arbeiten. Auch laufen viele Plug-ins und Video-Codecs nicht in für 64 Bit kompilierten Browsern und Video-Anwendungen.“.
- ↑ Walter Mehl: 32 und 64 Bit mit Mac-OS X Snow Leopard. In: Macwelt. 20. August 2009, abgerufen am 10. Mai 2025: „Mit Mac-OS X 10.6 kann dieser Kern (Englisch: „kernel”) als 32-Bit-Software starten oder als 64-Bit-Software; die Ingenieure von Apple haben de facto einen Kern geschaffen, bei dem eine Datei zwei startfähige Kerne enthält. Wie immer bei diesen zwei Varianten müssen aber alle Treiber dazu passen; sprich: wenn der Mac mit einem 64-Bit-Kern startet, muss beispielsweise der Treiber für die Ethernet-Karte ebenfalls als 64-Bit-Software vorliegen. Die meisten Treiber (die bei Mac-OS X nur zum Teil von Apple stammen) aber sind heute 32-Bit-Software, deshalb … wird Mac-OS X 10.6 auf vielen Macs mit dem 32-Bit-Kern starten.“
- ↑ Axel Vahldiek: 32 oder 64 Bit. In: Heise online. 7. November 2009. Abgerufen am 10. Mai 2025.; Zitat: „Momentan ist die Treiberversorgung für die 32-Bit-Variante noch besser (unter anderem, weil die entsprechenden Vista- und XP-Treiber meist auch unter Windows 7 funktionieren).“.
- ↑ Michael Riepe: Beiwagen. In: Heise online. 14. Dezember 2009. Abgerufen am 10. Mai 2025.; Zitat: „Leider sind Plug-ins nicht plattformunabhängig. Zwar ist die Schnittstelle zwischen Browser und Plug-in standardisiert, sodass dasselbe Plug-in theoretisch mit Mozilla, Firefox und SeaMonkey funktioniert. Ein Plug-in für Linux lässt sich jedoch nicht unter Solaris verwenden, und 32-Bit-Code läuft nicht in einem 64-Bit-Browser oder umgekehrt. Wer ein etwas exotischeres System nutzt, findet mitunter kein passendes Plug-in.“.
- ↑ Volker Zota: Flash Player 11 wird 64-bittig. In: Heise online. 14. Juli 2011. Abgerufen am 10. Mai 2025.; Zitat: „Jahrelang waren 64-Bit-Browser Flash-frei – für manchen ein Grund, die 64-Bit-Ausgabe des Internet Explorer zu nutzen, für multimedial Veranlagte ein Grund ihn zu meiden.“.
- ↑ Kai Schwirzke: Cubase 9: Steinbergs Flaggschiff-DAW schneidet 32-Bit-Zopf ab. In: Heise online. 7. Dezember 2016. Abgerufen am 10. Mai 2025.; Zitat: „Bye Bye 32 Bit … In Cubase 9 wagen die Hamburger den radikalen Schnitt und verabschieden sich von der 32-Bit-Architektur. Cubase 9 läuft ausschließlich auf 64-Bit-Systemen und auch das von vorherigen Versionen bekannte Bit-Bridging von 32-Bit-Plug-ins fällt flach. Einige Anwender werden alte 32-Bit-Plug-ins also aus ihrem Werkzeugkasten aussortieren müssen.“.
- ↑ Kai Schwirzke: VST-Plug-ins in Logic Pro und GarageBand einbinden. In: Heise online. 24. Juni 2019. Abgerufen am 10. Mai 2025.; Zitat: „Außerdem fungieren diese Plug-ins als 32/64-Bit-Bridges. Das bedeutet, Sie können alte 32-Bit-Plug-ins auch in den aktuellen Versionen von Logic und GarageBand nutzen, die eigentlich nur noch 64-Bit-Module unterstützen.“.
Auf dieser Seite verwendete Medien
Autor/Urheber: Konstantin Lanzet, Lizenz: CC BY 3.0
CPU AMD Athlon 64 Venice Core, Socket 754, Rev. E6