64 Bit

64 Bit sind eine Wortgröße, die bestimmte Klassen von Computerarchitektur, Bussen, Gedächtnis und Zentraleinheiten, und durch die Erweiterung die Software definiert, die auf ihnen läuft. 64-Bit-Zentraleinheiten haben in Supercomputern seit den 1970er Jahren (Cray-1, 1975) und in RISC-basierten Arbeitsplätzen und Servern seit dem Anfang der 1990er Jahre bestanden. 2003 wurden sie in (vorher 32 Bit) Hauptströmungspersonalcomputerarena in der Form des x86-64 und der 64-Bit-Verarbeiter-Architekturen von PowerPC eingeführt.

Ein 64-Bit-Register kann 2 = verschiedene Werte, eine Zahl über 18 quintillion versorgen. Folglich kann ein Verarbeiter mit 64-Bit-Speicheradressen auf 2 Bytes des Gedächtnisses des Bytes-addressable direkt zugreifen.

Ohne weitere Qualifikation hat eine 64-Bit-Computerarchitektur allgemein ganze Zahl und richtende Register, die 64 Bit breit sind, direkte Unterstützung für 64-Bit-Datentypen und Adressen erlaubend. Jedoch könnte eine Zentraleinheit Außendatenbusse haben oder Busse mit verschiedenen Größen von den Registern richten, noch größer (hatte der 32-Bit-Pentium einen 64-Bit-Datenbus, zum Beispiel). Der Begriff kann sich auch auf die Größe von auf niedriger Stufe Datentypen wie 64-Bit-Schwimmpunkt-Zahlen beziehen.

Architektonische Implikationen

Verarbeiter-Register werden normalerweise in mehrere Gruppen geteilt: Ganze Zahl, Schwimmpunkt, SIMD, Kontrolle, und häufig spezielle Register für die Adressrechnung, die verschiedenen Nutzen und Namen wie Adresse, Index haben oder Register stützen kann. Jedoch, in modernen Designs, werden diese Funktionen häufig durch allgemeinere Zweck-Register der ganzen Zahl durchgeführt. In den meisten Verarbeitern können nur ganze Zahl und/oder Adressregister verwendet werden, um Daten im Gedächtnis zu richten; die anderen Typen von Registern können nicht. Die Größe dieser Register beschränkt deshalb normalerweise den Betrag direkt addressable Gedächtnis, selbst wenn es Register wie Schwimmpunkt-Register gibt, die breiter sind.

32-bit- und 64-Bit-Verarbeiter der höchsten Leistung (sind einige bemerkenswerte Ausnahmen der grösste Teil des ARMS und MIPS 32-Bit-Zentraleinheiten), haben Schwimmpunkt-Hardware integriert, die häufig, aber nicht immer, gestützt auf 64-Bit-Einheiten von Daten ist. Zum Beispiel, obwohl die x86/x87 Architektur Instruktionen hat, die zum Laden und der Speicherung von 64 Bit fähig sind (und 32 Bit), sind Schwimmpunkt-Werte im Gedächtnis, den inneren Schwimmpunkt-Daten und dem Register-Format 80 Bit breit, während die Mehrzweckregister 32 Bit breit sind. Im Gegensatz verwenden die 64 Bit Familie von Alpha einen 64-Bit-Schwimmpunkt Daten und Register-Format (sowie 64-Bit-Register der ganzen Zahl).

Geschichte

Die meisten Zentraleinheiten werden entworfen, so dass der Inhalt eines einzelnen Registers der ganzen Zahl die Adresse (Position) jeder Gegebenheit im virtuellen Gedächtnis des Computers versorgen kann. Deshalb wird die Gesamtzahl von Adressen im virtuellen Gedächtnis - der Summe von Daten, die der Computer in seinem Arbeitsbereich behalten kann - durch die Breite dieser Register bestimmt. Der Anfang in den 1960er Jahren mit IBM System/360 (der eine Ausnahme war, in der es die niedrige Ordnung 24 Bit eines Wortes für Adressen verwendet hat, auf 16 Mb [] Adressraum-Größe hinauslaufend), dann (unter vielen anderen) der DEZ, hat VAX Minicomputer in den 1970er Jahren, und dann mit Intel 80386 Mitte der 1980er Jahre, eine De-Facto-Einigkeit das entwickelt, 32 Bit waren eine günstige Register-Größe. Ein 32-Bit-Adressregister hat bedeutet, dass in 2 Adressen, oder 4 GB des RAM, Verweise angebracht werden konnte. Zurzeit wurden diese Architekturen ausgedacht, 4 GB des Gedächtnisses war bis jetzt außer den typischen Mengen (4 Mb) in Installationen, dass, wie man betrachtete, das genug "headroom" für das Wenden war. 4.29 Milliarden Adressen wurden als eine passende Größe betrachtet, um mit aus einem anderen wichtigen Grund zu arbeiten: 4.29 Milliarden ganze Zahlen sind genug, um einzigartige Verweisungen auf die meisten Entitäten in Anwendungen wie Datenbanken zuzuteilen.

Einige Supercomputerarchitekturen der 1970er Jahre und der 1980er Jahre haben bis zu 64 Bit breite Register verwendet. Mitte der 1980er Jahre hat Entwicklung von Intel i860 begonnen, in (zu spät für Windows NT) 1989-Ausgabe zu kulminieren. Jedoch sind 32 Bit die Norm bis zum Anfang der 1990er Jahre geblieben, als die dauernden Verminderungen der Kosten des Gedächtnisses zu Installationen mit Mengen des RAM geführt haben, der sich 4 GB nähert, und der Gebrauch von virtuellen Speicherräumen, die die 4-GB-Decke überschreiten, wünschenswert geworden ist, um bestimmte Typen von Problemen zu behandeln. Als Antwort hat MIPS und DEZ 64-Bit-Mikroprozessor-Architekturen, am Anfang für den Arbeitsplatz des hohen Endes und die Server-Maschinen entwickelt. Durch die Mitte der 1990er Jahre hatten HAL Computersysteme, Sonne-Mikrosysteme, IBM, Silikongrafik und Hewlett Packard 64-Bit-Architekturen für ihren Arbeitsplatz und Server-Systeme entwickelt. Eine bemerkenswerte Ausnahme zu dieser Tendenz war Großrechner von IBM, der dann 32-Bit-Daten und 31-Bit-Adressgrößen verwendet hat; die Großrechner von IBM haben 64-Bit-Verarbeiter bis 2000 nicht eingeschlossen. Während der 1990er Jahre wurden mehrere preisgünstige 64-Bit-Mikroprozessoren in der Verbraucherelektronik und den eingebetteten Anwendungen verwendet. Namentlich hatte Nintendo 64 und PlayStation 2 64-Bit-Mikroprozessoren vor ihrer Einführung in Personalcomputern. Drucker des hohen Endes und Netzausrüstung, sowie Industriecomputer, haben auch 64-Bit-Mikroprozessoren, wie die Quant-Wirkungsgeräte R5000 verwendet. 64-Bit-Computerwissenschaft hat angefangen, unten zur Personalcomputerarbeitsfläche von 2003 vorwärts zu treiben, als einige Modelle in den Linien von Macintosh des Apfels, die zu PowerPC 970 Verarbeiter geschaltet sind (hat "G5" durch den Apfel genannt) und AMD, seine ersten 64 Bit x86-64 Verarbeiter veröffentlicht haben.

Beschränkungen von praktischen Verarbeitern

Im Prinzip kann ein 64-Bit-Mikroprozessor 16 exabytes des Gedächtnisses richten. In der Praxis ist es weniger als das.

Zum Beispiel erlaubt die AMD64 Architektur 52 Bit für das physische Gedächtnis und 48 Bit für das virtuelle Gedächtnis. Diese Grenzen erlauben Speichergrößen von 4 PB und 256 TB beziehungsweise. Ein PC kann 4 petabytes des Gedächtnisses nicht enthalten (wegen der physischen Größe der Speicherchips, wenn nichts anderes), aber AMD hat sich große Server, geteilte Speichertrauben und anderen Gebrauch des physischen Adressraums vorgestellt, der sich dem in der absehbaren Zukunft nähern könnte, und die physische 52-Bit-Adresse stellt großes Zimmer für die Vergrößerung zur Verfügung, während sie die Kosten nicht übernimmt, physische 64-Bit-Adressen durchzuführen. Ähnlich wurde der virtuelle 48-Bit-Adressraum entworfen, um mehr als 65,000mal die 32-Bit-Grenze von 4 GB zur Verfügung zu stellen, Zimmer für die spätere Vergrößerung erlaubend, ohne die Gemeinkosten zu übernehmen, volle 64-Bit-Adressen zu übersetzen.

64-Bit-Verarbeiter-Zeitachse

1961: IBM liefert den Supercomputer von IBM 7030 Stretch, der 64-Bit-Datenwörter und 32- oder 64-Bit-Instruktionswörter verwendet.

1974: Control Data Corporation startet den CDC Stern 100 Vektor-Supercomputer, der eine 64-Bit-Wortarchitektur verwendet (vorherige CDC Systeme haben auf einer 60-Bit-Architektur basiert).

:International Computers Limited startet den ICL 2900 Reihen mit 32 Bit, 64 Bit, und die ganzen Ergänzungszahlen von 128-Bit-two; 64 Bit und 128 Bit, die Punkt schwimmen lassen; 32 Bit, 64 Bit und 128 Bit haben Dezimalzahl und ein 128-Bit-Akkumulator-Register eingepackt. Die Architektur hat durch eine Folge von Maschinen von ICL und Fujitsu überlebt. Das letzte ist die Fujitsu Supernova, die mit der ursprünglichen Umgebung auf 64-Bit-Verarbeitern von Intel wetteifert.

1976: Forschung von Cray liefert den ersten Supercomputer von Cray-1, der auf einer 64-Bit-Wortarchitektur basiert und die Basis für spätere Vektor-Supercomputer von Cray bilden wird.

1983: Elxsi startet Elxsi 6400 Parallele minisupercomputer. Die Elxsi Architektur hat 64-Bit-Datenregister, aber einen 32-Bit-Adressraum.

1989: Intel führt den Verarbeiter von Intel i860 RISC ein. Auf den Markt gebracht als ein "64-Bit-Mikroprozessor" hatte es im Wesentlichen eine 32-Bit-Architektur, die mit einer zu 64-Bit-Operationen der ganzen Zahl fähigen 3D-Grafikeinheit erhöht ist.

1991: MIPS Technologies erzeugt den ersten 64-Bit-Mikroprozessor, den R4000, der die MIPS III ISA, die dritte Revision ihrer Architektur von MIPS durchführt. Die Zentraleinheit wird in SGI Grafikarbeitsplätzen verwendet, die mit der Karminroten IRIS anfangen. Forschung des Kendall Square liefert ihren ersten KSR1 Supercomputer, der auf einer RISC Eigentums-64-Bit-Verarbeiter-Architektur gestützt ist, die OSF/1 führt.

1992: Digital Equipment Corporation (DEC) führt die reinen 64 Bit Architektur von Alpha ein, die aus dem PRISMA-Projekt geboren gewesen ist.

1993: Atari führt die Atari Jaguar-Videospiel-Konsole ein, die ungefähr 64 Bit breite Datenpfade in seine Architektur einschließt.

1994: Intel gibt Pläne für die IA-64 64-Bit-Architektur (gemeinsam entwickelt mit Hewlett Packard) als ein Nachfolger IA-32 seiner 32-Bit-Verarbeiter bekannt. Ein Start-Datum des 1998 bis 1999 wird ins Visier genommen.

1995: Sonne startet einen SPARC 64-Bit-Verarbeiter, UltraSPARC. Fujitsu-gehörige HAL Computersysteme starten Arbeitsplätze, die auf einer 64-Bit-Zentraleinheit, die unabhängig bestimmte erste Generation von HAL SPARC64 gestützt sind. IBM veröffentlicht den A10 und die A30 Mikroprozessoren, 64-Bit-PowerPC ALS Verarbeiter. IBM veröffentlicht auch 64 Bit ALS/400 die Systemsteigung, die das Betriebssystem, die Datenbank und die Anwendungen umwandeln kann.

1996: Nintendo führt Nintendo 64 Videospiel-Konsole ein, die um eine preisgünstige Variante des MIPS R4000 gebaut ist. HP veröffentlicht eine Durchführung der 64 Bit 2.0 Version ihrer Verarbeiter-Architektur des PAPAS-RISC, der PAPA 8000.

1997: IBM veröffentlicht die RS64 Linie von 64-Bit-PowerPC/PowerPC ALS Verarbeiter.

1998: IBM veröffentlicht die POWER3 Linie von full-64-bit PowerPC/POWER Verarbeiter.

1999: Intel veröffentlicht den Befehlssatz für die IA-64 Architektur. AMD gibt öffentlich seinen Satz von 64-Bit-Erweiterungen auf IA-32 bekannt, genannt x86-64 (hat später AMD64 gebrandmarkt).

2000: IBM verlädt seine ersten 64 Bit z/Architecture Großrechner, der zSeries z900. Z/Architecture ist eine 64-Bit-Version der ESA/390 32-Bit-Architektur, ein Nachkomme der 32-Bit-Architektur des Systems/360.

2001: Intel verlädt schließlich seine IA-64 Verarbeiter-Linie nach wiederholten Verzögerungen im Bekommen, um einzukaufen. Jetzt gebrandmarkter Itanium und Zielen-Server des hohen Endes, Verkäufe scheitern, Erwartungen zu entsprechen.

2003: AMD führt seinen Opteron und Athlon 64 Verarbeiter-Linien ein, die auf seiner AMD64 Architektur gestützt sind, die die erste mit Sitz in x86 64-Bit-Verarbeiter-Architektur ist. Apfel verlädt auch die 64 Bit "G5" PowerPC 970 von IBM erzeugte Zentraleinheit. Intel behauptet, dass seine Chips von Itanium seine nur 64 Bit Verarbeiter bleiben würden.

2004: Intel, auf den Markterfolg von AMD reagierend, gibt zu, dass es sich entwickelt hat, ein Klon der AMD64 Erweiterungen genannt IA-32e (hat später EM64T umbenannt, der dann immer wieder zu Intel 64 umbenannt ist). Schiffe von Intel haben Versionen seines Xeon und Pentiums 4 Verarbeiter-Familien aktualisiert, die den neuen 64-Bit-Befehlssatz unterstützen.

:VIA-Technologien geben den 64-Bit-Verarbeiter von Isaiah bekannt.

2006: Sony, IBM und Toshiba beginnen, des 64-Bit-Zellverarbeiters für den Gebrauch in PlayStation 3, Server, Arbeitsplätze und andere Geräte zu verfertigen.

64 Bit Betriebssystemzeitachse

1985: Cray veröffentlicht UNICOS, die erste 64-Bit-Durchführung von Unix Betriebssystem.

1993: DEZ veröffentlicht den 64-Bit-DEZ OSF/1 AXP Unix ähnliches Betriebssystem (hat später Tru64 UNIX umbenannt) für seine auf der Architektur von Alpha gestützten Systeme.

1994: Die Unterstützung für den MIPS R8000 Verarbeiter wird durch die Silikongrafik zum IRIX Betriebssystem in der Ausgabe 6.0 hinzugefügt.

1995: DEZ befreit OpenVMS 7.0, die erste volle 64-Bit-Version von OpenVMS für Alpha. Der erste 64-Bit-Vertrieb von Linux für die Architektur von Alpha wird veröffentlicht.

1996: Die Unterstützung für den MIPS R4000 Verarbeiter wird durch die Silikongrafik zum IRIX Betriebssystem in der Ausgabe 6.2 hinzugefügt.

1998: Sonne befreit Solaris 7, mit der vollen 64-Bit-Unterstützung von UltraSPARC.

2000: IBM veröffentlicht z/OS, 64 Bit Betriebssystem ist von MVS für die neuen zSeries 64-Bit-Großrechner hinuntergestiegen; 64-Bit-Linux auf zSeries folgt der Zentraleinheitsausgabe fast sofort.

2001: Microsoft veröffentlicht Windows XP 64-Bit-Ausgabe für die IA-64 Architektur von Itanium, obwohl es im Stande gewesen ist, 32-Bit-Anwendungen durch eine Ausführungsschicht zu führen.

2001: Linux wird der erste OS Kern, um x86-64 völlig zu unterstützen (auf einem Simulator, weil Verarbeiter Nr. x86-64 noch veröffentlicht worden waren).

2003: Apfel befreit seinen Mac OS X 10.3" Panther" Betriebssystem, das Unterstützung für die heimische 64-Bit-Arithmetik der ganzen Zahl auf PowerPC 970 Verarbeiter hinzufügt. Mehrerer Linux Vertrieb veröffentlicht mit der Unterstützung für AMD64. Microsoft gibt Pläne bekannt, eine Version seines Windows Betriebssystem zu schaffen, um die AMD64 Architektur mit umgekehrt der Vereinbarkeit mit 32-Bit-Anwendungen zu unterstützen. FreeBSD veröffentlicht mit der Unterstützung für AMD64.

2005: Am Sonntag, dem 31. Januar Ausgaben Solaris 10 mit der Unterstützung für AMD64 und EM64T Verarbeiter. Am 29. April befreit Apfel Mac OS X 10.4" Tiger", der beschränkte Unterstützung für 64-Bit-Anwendungen der Befehl-Linie auf Maschinen mit PowerPC 970 Verarbeiter zur Verfügung stellt; spätere Versionen für auf Intel gegründeten Macs haben 64-Bit-Anwendungen der Befehl-Linie auf Macs mit EM64T Verarbeitern unterstützt. Am 30. April veröffentlicht Microsoft Windows XP Fachmann x64 Ausgabe für AMD64 und EM64T Verarbeiter.

2006: Microsoft veröffentlicht Windows-Aussicht einschließlich einer 64-Bit-Version für AMD64/EM64T Verarbeiter, die 32-Bit-Vereinbarkeit behält. In der 64-Bit-Version sind alle Windows-Anwendungen und Bestandteile 64 Bit, obwohl viele auch ihre 32-Bit-Versionen für die Vereinbarkeit mit plugins einschließen ließen.

2007: Apfel befreit Mac OS X 10.5" Leopard", der völlig 64-Bit-Anwendungen auf Maschinen mit PowerPC 970 oder EM64T Verarbeiter unterstützt.

2009: Apfel befreit Mac OS X 10.6, "Schnee-Leopard," der Schiffe mit einem 64-Bit-Kern für AMD64/Intel64 Verarbeiter, obwohl nur bestimmte neue Modelle von Apfelcomputern den 64-Bit-Kern standardmäßig führen werden. Die meisten Anwendungen, die mit Mac OS X 10.6 gestopft sind, sind jetzt auch 64 Bit. Microsoft veröffentlicht Windows 7, das, wie Windows-Aussicht, eine volle 64-Bit-Version für AMD64/Intel 64 Verarbeiter einschließt; neueste Computer werden standardmäßig mit einer 64-Bit-Version geladen. Es veröffentlicht auch Windows-Server 2008 R2, der das erste nur von Microsoft veröffentlichte 64-Bit-Betriebssystem ist.

2011: Apfel befreit Mac OS X 10.7, "Löwe", der den 64-Bit-Kern standardmäßig auf unterstützten Maschinen führt. Ältere Maschinen, die unfähig sind, den 64-Bit-Kern zu führen, führen den 32-Bit-Kern, aber, als mit früheren Ausgaben, kann noch 64-Bit-Anwendungen führen; Löwe unterstützt Maschinen mit 32-Bit-Verarbeitern nicht. Fast alle Anwendungen, die mit Mac OS X 10.7 gestopft sind, sind jetzt auch 64 Bit einschließlich iTunes.

32 Bit gegen 64 Bit

Eine Änderung von 32 Bit bis eine 64-Bit-Architektur ist eine grundsätzliche Modifizierung, weil am meisten Betriebssysteme umfassend modifiziert werden müssen, um die neue Architektur auszunutzen, weil diese Software die wirkliche Speicherwenden-Hardware führen muss. Andere Software muss auch getragen werden, um die neuen Fähigkeiten zu verwenden; ältere 32-Bit-Software kann entweder durch eine Hardware-Vereinbarkeitsweise unterstützt werden, in der die neuen Verarbeiter die ältere 32-Bit-Version des Befehlssatzes sowie die 64-Bit-Version, durch den Softwarewetteifer, oder durch die wirkliche Durchführung eines 32-Bit-Verarbeiter-Kerns innerhalb des 64-Bit-Verarbeiters, als mit den Verarbeitern von Itanium von Intel unterstützen, die einen IA-32 Verarbeiter-Kern einschließen, um 32 Bit x86 Anwendungen zu führen. Die Betriebssysteme für jene 64-Bit-Architekturen unterstützen allgemein sowohl 32-bit-als auch 64-Bit-Anwendungen.

Eine bedeutende Ausnahme dazu ist ALS/400, wessen Software auf virtueller Instruction Set Architecture (ISA) genannt TIMI läuft (Technologie Unabhängige Maschinenschnittstelle), der zum heimischen Maschinencode durch die auf niedriger Stufe Software übersetzt wird, bevor er durchgeführt wird. Die Übersetzungssoftware ist alles, was umgeschrieben werden muss, um den kompletten OS und die ganze Software zu einer neuen Plattform, solcher als zu bewegen, als IBM ihre Linie vom älteren 32/48-bit "IMPI" Befehlssatz zum 64-Bit-Befehlssatz von PowerPC gewechselt hat (der IMPI Befehlssatz war vom 32-Bit-Befehlssatz von PowerPC ziemlich verschieden, so war das ein noch größerer Übergang als von einer 32-Bit-Version eines Befehlssatzes zu einer 64-Bit-Version desselben Befehlssatzes).

Auf 64-Bit-Hardware mit der x86-64 Architektur (AMD64) die meisten 32 Bit können Betriebssysteme und Anwendungen ohne Vereinbarkeitsprobleme laufen. Während der größere Adressraum von 64-Bit-Architekturen das Arbeiten mit großen Dateien in Anwendungen wie Digitalvideo, wissenschaftliche Computerwissenschaft und große Datenbanken leichter macht, hat es beträchtliche Debatte darüber gegeben, entweder sie oder ihre 32-Bit-Vereinbarkeitsweisen werden schneller sein als vergleichbar bewertete 32-Bit-Systeme für andere Aufgaben.

Ein kompiliertes javanisches Programm kann auf einem 32- oder dem 64-Bit-Java virtuelle modifikationsfreie Maschine führen. Die Längen und Präzision aller eingebauten Typen werden durch den Standard angegeben und sind von der zu Grunde liegenden Architektur nicht abhängig. Javanische Programme, die auf einem 64-Bit-Java virtuelle Maschine führen, haben Zugang zu einem größeren Adressraum.

Geschwindigkeit ist nicht der einzige Faktor, um in einem Vergleich von 32-bit- und 64-Bit-Verarbeitern in Betracht zu ziehen. Anwendungen wie das Mehrbeschäftigen, die Betonungsprüfung und das Sammeln — für die Hochleistungscomputerwissenschaft (HPC) — können zu einer 64-Bit-Architektur, wenn aufmarschiert, passend mehr passend sein. 64-Bit-Trauben sind in großen Organisationen, wie IBM, HP und Microsoft aus diesem Grund weit aufmarschiert worden.

Pro und Kontra

Ein häufiger Irrtum ist, dass 64-Bit-Architekturen nicht besser sind als 32-Bit-Architekturen, wenn der Computer mehr als 4 GB des zufälligen Zugriffsgedächtnisses nicht hat. Das ist nicht völlig wahr:

  • Einige Betriebssysteme und bestimmte Hardware-Konfigurationen beschränken den physischen Speicherraum auf 3 GB auf IA-32 Systemen wegen viel vom 3-4-GB-Gebiet, das für das Hardware-Wenden wird vorbestellt; sieh 3-GB-Barriere; 64-Bit-Architekturen können weit mehr als 4 GB richten. Jedoch berücksichtigen IA-32 Verarbeiter vom Pentium II vorwärts einen physischen 36-Bit-Speicheradressraum mit Physical Address Extension (PAE), die einen physischen 64-GB-Adressbereich gibt, dessen bis zu 62 GB durch das Hauptgedächtnis verwendet werden kann; Betriebssysteme, die PAE unterstützen, dürfen auf 4 GB des physischen Gedächtnisses sogar auf IA-32 Verarbeitern nicht beschränkt werden. Jedoch können Fahrer und andere Kernweise-Software, besonders ältere Versionen, nicht mit PAE vereinbar sein.
  • Einige Betriebssysteme bestellen Teile des Prozess-Adressraums für den OS-Gebrauch vor, effektiv den Gesamtadressraum reduzierend, der verfügbar ist, um Gedächtnis für Benutzerprogramme kartografisch darzustellen. Zum Beispiel bestellt 32-Bit-Windows 1 oder 2 GB (abhängig von Einstellungen) des Gesamtadressraums für den Kern vor, der nur 3 oder 2 GB (beziehungsweise) des für die Benutzerweise verfügbaren Adressraums verlässt. Diese Grenze ist sehr viel auf 64 Bit Betriebssysteme höher.
  • Mit dem Gedächtnis kartografisch dargestellte Dateien werden schwieriger, in 32-Bit-Architekturen durchzuführen, weil Dateien der mehr als 4 GB Datei mehr üblich werden; solche großen Dateien können leicht zu 32-Bit-Architekturen nicht mit dem Gedächtnis kartografisch dargestellt werden — nur ein Teil der Datei kann in den Adressraum auf einmal kartografisch dargestellt werden, und auf solch eine Datei durch das kartografisch darstellende Gedächtnis zuzugreifen, die kartografisch dargestellten Teile müssen in und aus dem Adressraum, wie erforderlich, getauscht werden. Das ist ein Problem, wie Gedächtnis kartografisch darstellend, wenn richtig durchgeführt, durch den OS, eine der effizientesten Methoden der Platte zum Gedächtnis ist.
  • Ungefähr 64 Bit Programme, wie encoders, Decoder und Verschlüsselungssoftware, können außerordentlich aus 64-Bit-Registern einen Nutzen ziehen, während die Leistung anderer Programme, wie 3D grafikorientierte, ungekünstelt bleibt, wenn sie von 32 Bit bis eine 64-Bit-Umgebung umschaltet. Es ist für ein 64-Bit-Programm ungewöhnlich, schlechter zu leisten, als seine 32-Bit-Entsprechung; das geschieht gewöhnlich nur wegen eines Programmfehlers.
  • Ungefähr 64 Bit Architekturen, wie x86-64, unterstützen mehr Mehrzweckregister als ihre 32-Bit-Kollegen (obwohl das spezifisch zur Wortlänge nicht erwartet ist). Das führt zu einer bedeutenden Geschwindigkeitszunahme für dichte Schleifen, da der Verarbeiter Daten vom geheimen Lager oder Hauptgedächtnis nicht herbeiholen muss, wenn die Daten die verfügbaren Register einfügen können.

:Example in C:

interne Nummer a, b, c, d, e;

für (a=0; a

:If ein Verarbeiter ist nur in der Lage, zwei oder drei Werte oder Variablen in Registern zu behalten, es würde einige Werte zwischen Gedächtnis und Registern bewegen müssen, um zu Prozessvariablen d und e ebenso fähig zu sein; das ist ein Prozess, der viele Zentraleinheitszyklen nimmt. Ein Verarbeiter, der dazu fähig ist, alle Werte und Variablen in Registern zu halten, kann sich durch sie schlingen, ohne Daten zwischen Registern und Gedächtnis für jede Wiederholung bewegen zu müssen. Dieses Verhalten kann im Vergleich zum virtuellen Gedächtnis leicht sein, obwohl irgendwelche Effekten auf den Bearbeiter abhängig sind.

Der Hauptnachteil von 64-Bit-Architekturen ist, dass, hinsichtlich 32-Bit-Architekturen, dieselben Daten mehr Raum im Gedächtnis (wegen längerer Zeigestöcke und vielleicht anderer Typen und Anordnungspolsterns) besetzen. Das vergrößert die Speichervoraussetzungen eines gegebenen Prozesses und kann Implikationen für die effiziente Verarbeiter-Anwendung des geheimen Lagers haben. Das Aufrechterhalten eines teilweisen 32-Bit-Modells ist eine Weise, das zu behandeln, und ist im Allgemeinen vernünftig wirksam. Zum Beispiel wird der z/OS Betriebssystem nimmt diese Annäherung, Programm-Code verlangend, in 31-Bit-Adressräumen zu wohnen (hat die hohe Ordnung gebissen, in der Adressberechnung auf der zu Grunde liegenden Hardware-Plattform nicht verwendet), während Datengegenstände in 64-Bit-Gebieten fakultativ wohnen können.

, der grösste Teil der x86 Eigentumssoftware wird in 32-Bit-Code, mit dem weniger auch kompilierten in 64-Bit-Code kompiliert (obwohl die Tendenz schnell ausgleicht), so nutzt der grösste Teil dieser Software den größeren 64-Bit-Adressraum oder die breiteren 64-Bit-Register und die Datenpfade auf x64 Verarbeitern oder die zusätzlichen Mehrzweckregister nicht aus. Jedoch sind Benutzer von den meisten RISC Plattformen und Benutzer der freien oder offenen Quelle Betriebssysteme (wo der Quellcode verfügbar ist, um mit einem 64-Bit-Bearbeiter wiederzukompilieren) im Stande gewesen, exklusive 64 Bit Rechenumgebungen seit Jahren zu verwenden. Nicht alle diese Anwendungen verlangen einen großen Adressraum oder manipulieren 64-Bit-Datensachen, so ziehen diese Anwendungen aus diesen Eigenschaften nicht einen Nutzen. Der Hauptvorteil von 64-Bit-Versionen solcher Anwendungen ist die Fähigkeit, auf mehr Register in der x86-64 Architektur zuzugreifen.

Softwareverfügbarkeit

mit Sitz in x86 64-Bit-Systeme haben manchmal an Entsprechungen von der Software Mangel, die für 32-Bit-Architekturen geschrieben wird. Das strengste Problem in Windows von Microsoft ist unvereinbare Gerät-Fahrer. Der grösste Teil der 32-Bit-Anwendungssoftware kann auf 64 Bit Betriebssystem in einer Vereinbarkeitsweise, auch bekannt als einer Wetteifer-Weise, z.B Microsoft WoW64 Technology für IA-64 und AMD64 führen. Die 64-Bit-Windows-Eingeborener-Weise-Fahrer-Umgebung läuft oben auf 64 Bit NTDLL.DLL, die Win32 32-Bit-Subsystem-Code nicht nennen können (häufig Geräte, mit deren wirklicher Hardware-Funktion in der Benutzerweise-Software, wie Winprinters wettgeeifert wird). Weil 64-Bit-Fahrer für die meisten Geräte bis zum Anfang 2007 (Aussicht x64) nicht verfügbar waren, wurde das Verwenden einer 64-Bit-Version von Windows als eine Herausforderung betrachtet. Jedoch ist die Tendenz an 64-Bit-Computerwissenschaft, besonders als Speicherpreise fallen gelassen und der Gebrauch von mehr als 4 GB des vergrößerten RAM seitdem herangegangen. Die meisten Hersteller haben angefangen, sowohl 32-bit-als auch 64-Bit-Fahrern für neue Geräte zur Verfügung zu stellen, so hat die Nichtverfügbarkeit von 64-Bit-Fahrern aufgehört, ein Problem zu sein. 64-Bit-Fahrer wurden für viele ältere Geräte nicht zur Verfügung gestellt, die folglich in 64-Bit-Systemen nicht verwendet werden konnten.

Fahrer-Vereinbarkeit war weniger von einem Problem mit Fahrern der offenen Quelle, weil 32 Bit für 64-Bit-Gebrauch modifiziert werden konnten. Die Unterstützung für die vor Anfang 2007 gemachte Hardware war für Plattformen der offenen Quelle wegen der relativ kleinen Anzahl von Benutzern problematisch.

Auf dem grössten Teil von Macs können Läufe von Mac OS X mit einem 32-Bit-Kern sogar auf fähigen 64-Bit-Verarbeitern, aber dem 32-Bit-Kern 64-Bit-Benutzerweise-Code führen; das erlaubt jenen Macs, 64-Bit-Prozesse zu unterstützen, während es noch 32-Bit-Gerät-Fahrer unterstützt - obwohl nicht 64-Bit-Fahrer und Leistungsvorteile, die mit ihnen kommen würden. Auf Systemen mit 64-Bit-Verarbeitern sowohl die 32-als auch 64 Bit können Kerne von Mac OS X 32-Bit-Benutzerweise-Code führen, und alle Versionen von Mac OS X schließen 32-Bit-Versionen von Bibliotheken ein, die 32-Bit-Anwendungen verwenden würden, so wird die 32-Bit-Benutzerweise-Software für Mac OS X auf jenen Systemen laufen.

Linux und die meisten anderen Unix ähnlichen Betriebssysteme, und der C und C ++ toolchains für sie, haben 64-Bit-Verarbeiter viele Jahre lang unterstützt, 64-Bit-Versionen ihrer Betriebssysteme vor offiziellen Ausgaben von Microsoft veröffentlichend. Viele Anwendungen und Bibliotheken für jene Plattformen sind offene Quelle, die in C und C ++ geschrieben ist, so dass, wenn sie 64-Bit-Safe sind, sie in 64-Bit-Versionen kompiliert werden können. Dieses quellbasierte Vertriebsmodell mit einer Betonung auf häufigen Ausgaben und innovativem Code macht Verfügbarkeit der Anwendungssoftware für diejenigen Betriebssysteme weniger von einem Problem.

64-Bit-Datenmodelle

In 32-Bit-Programmen haben Zeigestöcke und Datentypen wie ganze Zahlen allgemein dieselbe Länge; das ist auf 64-Bit-Maschinen nicht notwendigerweise wahr. Das Mischen von Datentypen auf Programmiersprachen wie C und seine Nachkommen wie C ++ und Ziel-C kann so auf 32-Bit-Durchführungen, aber nicht auf 64-Bit-Durchführungen fungieren.

In vielen Programmierumgebungen für C und C-derived Sprachen auf 64-Bit-Maschinen sind "int" Variablen noch 32 Bit breit, aber lange ganze Zahlen und Zeigestöcke sind 64 Bit breit. Diese werden beschrieben als, ein LP64 Datenmodell zu haben. Eine andere Alternative ist das ILP64 Datenmodell, in dem alle drei Datentypen, und sogar SILP64 64 Bit breit sind, wo "kurze" ganze Zahlen auch 64 Bit breit sind. Jedoch in den meisten Fällen sind die erforderlichen Modifizierungen relativ gering und aufrichtig, und viele gut geschriebene Programme können einfach für die neue Umgebung ohne Änderungen wiederkompiliert werden. Eine andere Alternative ist das LLP64 Modell, das Vereinbarkeit mit 32-Bit-Code durch das Verlassen sowohl der internen Nummer als auch lange als 32 Bit aufrechterhält. "LL" verweist auf die "lange lange ganze Zahl" Typ, der mindestens 64 Bit auf allen Plattformen einschließlich 32-Bit-Umgebungen ist.

Viele 64-Bit-Bearbeiter verwenden heute das LP64 Modell (einschließlich Solaris, AIX, HP-UX, Linux, Mac OS X, FreeBSD und IBM z/OS heimische Bearbeiter). Der visuelle C des Microsofts ++ Bearbeiter verwendet das LLP64 Modell. Der Nachteil des LP64 Modells ist, dass die Speicherung eines langen in eine interne Nummer überfließen kann. Andererseits wird das Gussteil eines Zeigestocks zu einem langen arbeiten. Im LLP Modell ist die Rückseite wahr. Das sind nicht Probleme, die völlig standardentgegenkommenden Code betreffen, aber Code wird häufig mit impliziten Annahmen über die Breiten von Typen der ganzen Zahl geschrieben.

Bemerken Sie, dass ein Programmiermodell eine Wahl ist, die auf einer Basis pro Bearbeiter gemacht ist, und mehrere auf demselben OS koexistieren können. Jedoch herrscht das Programmiermodell, das als das primäre Modell für die OS API normalerweise gewählt ist, vor.

Eine andere Rücksicht ist das für Fahrer verwendete Datenmodell. Fahrer setzen die Mehrheit des Betriebssystemcodes in den meisten modernen Betriebssystemen zusammen (obwohl viele nicht geladen werden dürfen, wenn das Betriebssystem läuft). Viele Fahrer verwenden Zeigestöcke schwer, um Daten zu manipulieren, und in einigen Fällen zu haben, um Zeigestöcke einer bestimmten Größe in die Hardware zu laden, die sie für DMA unterstützen. Als ein Beispiel konnte ein Fahrer für ein PCI 32-Bit-Gerät, das das Gerät zu DMA Daten in obere Gebiete eines Gedächtnisses einer 64-Bit-Maschine fragt, nicht Bitten vom Betriebssystem befriedigen, um Daten vom Gerät bis Gedächtnis über der 4-Gigabyte-Barriere zu laden, weil die Zeigestöcke für jene Adressen die DMA Register des Geräts nicht einbauen würden. Dieses Problem wird behoben, indem es den OS gehabt wird, ziehen die Speicherbeschränkungen des Geräts in Betracht, wenn man Bitten zu Fahrern für DMA, oder durch das Verwenden eines IOMMU erzeugt.

Aktuelle 64-Bit-Mikroprozessor-Architekturen

64-Bit-Mikroprozessor-Architekturen, für die Verarbeiter zurzeit verfertigt werden schließen ein:

  • Die 64-Bit-Erweiterung, die durch AMD zur x86 Architektur von Intel (später geschaffen ist, lizenziert von Intel); allgemein bekannt als "x86-64", "AMD64" oder "x64":
  • Die AMD64 Erweiterungen von AMD (verwendet in Athlon 64, Opteron, Sempron, Turion 64, Phenom, Athlon II und Verarbeiter von Phenom II)
  • Die Erweiterungen von Intel 64 von Intel (verwendet in neuerem Celeron, Pentium und Verarbeitern von Xeon, in Verarbeitern von Intel Core 2/i3/i5/i7, und in einigen Atom-Verarbeitern)
  • ÜBER die 64-Bit-Erweiterungen von Technologien, die in ÜBER Nano Verarbeiter verwendet sind
  • Die 64-Bit-Version der Macht-Architektur:
  • Der POWER6 von IBM und POWER7 Verarbeiter
  • PowerPC von IBM 970 Verarbeiter
  • Der Zellbreitbandmotor, der in PlayStation 3 verwendet ist, entworfen von IBM, Toshiba und Sony, verbindet einen 64-Bit-Macht-Architektur-Verarbeiter mit sieben oder acht Synergistischen In einer Prozession gehenden Elementen.
  • "Der Xenon" im Microsoft Xbox 360 verwendete Verarbeiter von IBM umfasst drei 64-Bit-Kerne von PowerPC.
  • SPARC V9 Architektur:
  • Die Verarbeiter von UltraSPARC der Sonne
  • Die SPARC64 Verarbeiter von Fujitsu
  • Der z/Architecture von IBM, eine 64-Bit-Version der ESA/390 Architektur, die im eServer von IBM zSeries und System z Großrechner verwendet ist
  • Die IA-64 Architektur von Intel (verwendet in Verarbeitern von Itanium)
  • Die MIPS64 Architektur von MIPS Technologies

Die meisten 64-Bit-Verarbeiter-Architekturen, die aus 32-Bit-Verarbeiter-Architekturen abgeleitet werden, können Code für die 32-Bit-Version der Architektur heimisch ohne jede Leistungsstrafe durchführen. Diese Art der Unterstützung wird Bi-Einlage oder mehr allgemein Mehreinlage allgemein genannt.

Images

In der Digitalbildaufbereitung beziehen sich 64 Bit auf 48-Bit-Images mit einem 16-Bit-Alpha-Kanal.

Siehe auch

:

Links


Jaime Balmes / Henry Balnaves
Impressum & Datenschutz