Warum funktioniert Windows 7 x64 auf meinem PC schneller als eine x86-Edition?

11

Warum funktioniert Windows 7 x64 auf meinem PC schneller als eine x86-Edition, obwohl ich meistens x86-Dinge darin verwende? Was ist los mit mir und was vermisse ich?

Die meisten Dinge, die ich benutze, sind x86 (z. B. DAWs, Spiele, Mediaplayer). Eine beträchtliche Anzahl von ihnen ist jedoch x64 (obwohl ihre x86-Gegenstücke gut funktionieren).

Ich habe versucht, dieselben Dinge auf demselben System zu verwenden, fand jedoch immer heraus, dass Windows 7 x64 etwas schneller als x86 funktioniert. Ich bin sehr aufmerksam. Ich bemerke sogar die kleinsten Fensteranimationen.

System : Windows 7 Ultimate x64
CPU : Intel Core 2 Duo E7500 bei 2,93 GHz
RAM : 2 GB x 2 = 4 GB DDR2 bei 332 MHz
Hauptplatine : Intel D945GCNL
Grafik : ATI Radeon HD 4350 bei 1 GB dediziertes
Audio : M-Audio FastTrack Pro
Festplatte : Samsung HD753LJ 733 GB und Samsung HD160JJ 156 GB

Wie Sie sehen können, ist mein System alt.

Jaspis
quelle
4
Für den Anfang verwendet 64-Bit-Windows den gesamten zugewiesenen RAM.
3
Warum kümmert es dich, dass es schneller ist? Sie sollten froh sein, dass es ist.
Matt H
@ Randolph Ich verstehe das, aber wie wirkt sich das auf die x86-Dinge aus? @ Matt Nein, ich bin natürlich froh. Ich bin nur sehr neugierig. Ich kann für mein Leben nicht verstehen, WARUM es passiert.
Jasper
Sie stellen sich diesen Effekt weitgehend vor, weil Sie erwarten, ihn zu sehen. Die Geschwindigkeit unterscheidet sich von PC zu PC und sogar innerhalb desselben PCs durch eine Reihe von Faktoren, die weitaus wichtiger sind als der Schritt von 32 auf 64 Bit. Jeder frisch installierte PC scheint schneller zu sein, wenn weniger Cruft installiert ist.
James Ryan

Antworten:

8

Dies ist ein Versuch, eine vollständige Antwort zu liefern, indem Bits aus einzelnen bereits vorhandenen Antworten mit einigen zusätzlichen Inhalten zusammengefasst werden. Die Liste versucht, alle Möglichkeiten für einen allgemeinen Fall einzuschließen, auch wenn einige für diesen speziellen Fall ausgeschlossen werden können.

Unterschied im CPU-Befehlssatz

Wie von Joel Coehoorn beschrieben , stehen für einen nativen x64-Code ein größerer Registersatz sowie einige zusätzliche Anweisungen zur Verfügung (z. B. wird garantiert, dass alle x64-CPUs SSE- und SSE2-Anweisungen implementieren). Dies bedeutet, dass native x64-Betriebssysteme und Treiber effizienter sein können.

Bessere RAM-Auslastung

64b kann volle 4 GB verwenden (und noch mehr, wenn verfügbar). Darüber hinaus werden einige interne Betriebssystemgrenzen (ausgelagerter / nicht ausgelagerter Pool, maximale Cache-Größe) mit 64b-Betriebssystemen erhöht . Infolgedessen können sowohl Speicher-Paging als auch Datei-Caching effizienter sein.

Unterschiedliche Festplattenposition

Wenn Sie zwei Betriebssysteme auf zwei Partitionen derselben CD installiert haben, wird eine dieser beiden Partitionen an der Außenkante geschlossen, was im Allgemeinen schneller ist .

Unterschiedlicher Betriebssystemstatus

Wenn Sie zwei Betriebssysteme haben, befindet sich jedes möglicherweise in einem etwas anderen Zustand. Einer von ihnen ist möglicherweise stärker fragmentiert als der andere, einer von ihnen verfügt möglicherweise über eine etwas sauberere Registrierung oder weniger installierte Dienste oder Hintergrundanwendungen als der andere.

Bessere Fahrer

Eine andere Möglichkeit besteht darin, dass x64-Treiber möglicherweise aufgrund einiger grundlegender Architekturunterschiede von besserer Qualität als x86 sind, sondern einfach, weil ihr Anbieter mehr Anstrengungen unternommen hat, um sie zu optimieren und zu optimieren.

64b Adressierung

Ich füge dies nur der Vollständigkeit halber hinzu, da dieser Unterschied für die überwiegende Mehrheit der alltäglichen Anwendungen keine Rolle spielt und definitiv nicht relevant für das ist, was Jasper in seiner Frage beschreibt.

Wenn Sie eine Anwendung haben, die große Datenmengen verarbeitet (z. B. Arbeiten in Photoshop mit großen Bildern), kann die Ausführung der 64b-Version einen großen Unterschied bewirken, vorausgesetzt, Sie haben 4 GB oder mehr RAM installiert.

Was bedeutet "schneller" wirklich?

Hier ist die Liste aus einem Kommentar zu einer anderen Antwort , was genau sind die "schnelleren Dinge", die Jasper sehen kann:

  • Fenster animieren flüssiger

Schwer zu erklären. Windows-Animationen werden von der GPU in Windows 7 ausgeführt und die GPU ist dieselbe. Die Belastung der CPU ist vernachlässigbar. (Ich nehme an, Sie sind mit Aero - Desktop).

  • Bestimmte Fotobearbeitungsprogramme zeichnen schneller (sowohl x86 als auch x64)
  • HD-Videos laufen flüssiger (auf MPC-HC x64) und bieten insgesamt ein stabileres Erlebnis.

Könnten besser abgestimmte Treiber oder Treiber sein, die x64 nutzen ,.

  • Dateien werden viel schneller kopiert

Kann durch eine schnellere Partition (die überhaupt nicht mit dem Betriebssystem zusammenhängt) oder durch eine bessere Cache-Handhabung unter x64-Betriebssystemen verursacht werden.

  • Die Spiele zeigten keine Veränderung.

Verständlich. Die Spieleleistung wird von CPU und GPU bestimmt. Im Falle einer CPU-Begrenzung ist der Begrenzungscode das Spiel selbst, bei dem es sich um denselben x86-Code mit geringer Schnittstelle zum x64-Betriebssystem handelt. Die CPU-Leistung ist daher gleich. Die GPU ist die gleiche. Der Treiber- und Betriebssystem-Overhead in einem gut programmierten Spiel ist gering, daher werden hier wahrscheinlich keine Treiber- oder Betriebssystemunterschiede angezeigt.

Suma
quelle
Ich habe die Erfahrungen von GrandmasterB mit meinen Erfahrungen kommentiert. Wie können Erfahrungen mit der gleichen (Anzahl) von Dingen zusammenfallen (insbesondere mit Windows-eigenen Funktionen), die ZWEIMAL auf demselben Computer installiert sind? War Windows 7 irgendwie besser für x64 optimiert? Sind Hardwareanbieter vorsichtiger mit ihren x64-Treibern? Wenn sowohl die Programme als auch die Maschine mit einem konsistenten Unterschied gleich bleiben, scheinen einige Dinge für die eine oder andere Richtung besser optimiert zu sein.
Jasper
Ich behaupte nicht, dass die Erfahrung in Ihrem speziellen Fall zufällig ist. Für eine vollständige Erklärung sollte diese Möglichkeit jedoch in einem allgemeinen Fall in Betracht gezogen werden. Beispielsweise kann die innere / äußere Partition die Ladezeiten erheblich verbessern, und sie hängt in keiner Weise mit dem 64b / 32b-Betriebssystem zusammen.
Suma
Ich möchte jedoch eine kleine Information hinzufügen. Jedes Mal, wenn ich 7 installiert habe (in diesem Fall die ersten beiden x86-Installationen und die letzten beiden x64-Installationen), habe ich es immer frisch auf demselben Laufwerk installiert und die vorherige Installation vollständig gelöscht. Es waren überhaupt keine Doppelstiefel beteiligt. Lol. Ja, ich habe sogar die Laufwerke unberührt gelassen.
Jasper
Mehr: Ich verwende Aero auf einem 1080p-Monitor. Außerdem habe ich immer ein schnelles Format anstelle eines vollständigen Formats ausgeführt.
Jasper
"Ich habe es immer frisch auf demselben Laufwerk installiert und die vorherige Installation vollständig gelöscht." Gut zu wissen, dass dies die Möglichkeit einer "äußeren Partition schneller" sowie die Möglichkeit des Betriebssystemstatus ausschließt.
Suma
16

Die Verschiebung von 32 auf 64 Bit ist nicht die einzige Änderung in der x64-Architektur. x64 fügt außerdem weitere CPU-Register und neue CPU-Anweisungen hinzu. Ein Betriebssystem, das diese Vorteile nutzen kann, kann mit derselben Hardware eine bescheidene Leistungssteigerung erzielen. Oh, und 1 GB RAM zurückzubekommen, der früher an Ihre Grafikkarte adressiert war, tut auch nicht weh.

Joel Coehoorn
quelle
Tatsächlich sind selbst in x64 nur 3,25 GB von 4 GB verwendbar. Ich hatte erwartet, dass dies mit meinem Upgrade von x86 behoben wird, aber das war nicht der Fall.
Jasper
+1 für den Videospeicher, bemerkte nicht einmal, dass er eine Videokarte hatte.
Supercereal
3
@ Jasper: Ich bin mir nicht sicher, ob ich Sie richtig verstehe, aber einer meiner Computer verwendet die gesamten 8 GB RAM, die ich installiert habe (Win 7
x 64
Dies ist wirklich das einzige, was für mich Sinn macht. Alle anderen Dinge sind gleich, wenn die 32b- und 64b-Editionen desselben Betriebssystems auf demselben System ausgeführt werden. Es gibt nur zwei Unterschiede: 1) erweitertes Register und Befehlssatz 2) 64b Adressraum, der es ermöglicht, volle 4 GB oder RAM und mehr zu adressieren
Suma
Der Vollständigkeit halber ist der Teil über 1 GB Karte, in dem 1 GB RAM versteckt ist, definitiv nicht wahr, wie jeder mit 4 GB RAM, 32b Betriebssystem und einer solchen Karte leicht sehen kann (siehe auch meinen Kommentar zu Petes Antwort).
Suma
7

Warnung: Dies ist eine etwas komplexere Frage, als Sie vielleicht bemerkt haben, und sicherlich mehr als die meisten Antworten dargestellt haben. Um zu versuchen, zumindest ein bisschen mehr von der Geschichte zu erzählen, ist dieser Beitrag ziemlich lang ...

Zunächst die Situation mit dem Videospeicher. Der gesamte Speicher der Grafikkarte ist (zumindest normalerweise) nicht direkt im Adressraum der CPU sichtbar. Normalerweise haben Sie ein "Fenster" von ca. 128-256 Megabyte Videospeicher, das für die CPU sichtbar ist. Die GPU kann diesem Fenster verschiedene Teile ihres Speichers zuordnen, sodass Sie normalerweise von der CPU in den meisten GPU-Speicher schreiben können. Sie müssen der GPU jedoch im Voraus mitteilen, auf was Sie schreiben möchten, bevor Sie dies tun können. Wenn Sie beispielsweise DirectX verwenden und direkt in den Grafikspeicher schreiben möchten, können Sie dies tun. Dazu rufen Sie zunächst LockRectauf, damit die GPU den richtigen Speicher in das Fenster (und als) abbildet Sobald Sie fertig sind, rufen Sie anUnlockRectso kann es nach Bedarf anderen Speicher zuordnen). Zumindest im typischen Fall können Sie die Größe des Videofensters im BIOS-Setup anpassen.

Zweitens unterstützen x86-Prozessoren auch im 32-Bit-Modus sogenannte Physical Address Extensions (PAE), mit denen die CPU mehr als 4 Gig adressieren kann. der Erinnerung. Microsoft unterstützt PAE in einigen Windows-Versionen - jedoch nur in der relativ teuren Enterprise Edition von Windows Server. Darüber hinaus muss das Programm speziell für die Verwendung von AWE geschrieben werden. Es gibt nur wenige Programme (z. B. SQL Server Enterprise Edition), die dies jemals getan haben. Fazit: Es ist möglich, aber ziemlich selten.

Was das Lesen von jeweils 64 Bit betrifft: Der letzte Prozessor, der nur 32 Bit gleichzeitig las, war der 486. Beginnend mit dem Pentium hatten alle Prozessoren 64-Bit-Datenbusse. Beachten Sie, dass der Adressbus nicht mit dem Datenbus identisch ist. Durch die Erweiterung auf einen 64-Bit-Datenbus konnte der Prozessor nicht mit mehr Speicher arbeiten (obwohl PAE zufällig im Pentium Pro hinzugefügt wurde war fast zeitgleich mit der Erweiterung auf einen 64-Bit-Datenbus).

Obwohl der Pentium 64 Bit Daten in einem einzigen Taktzyklus lesen konnte, verarbeitete er intern (meistens) Daten 32 Bit gleichzeitig. Der breitere Bus hat in erster Linie dazu beigetragen, den Geschwindigkeitsunterschied zwischen CPU und Hauptspeicher auszugleichen. Die MMX-Anweisungen des Pentium MMX unterstützten die Verarbeitung von Daten in 64-Bit-Blöcken, waren jedoch recht umständlich zu verwenden, und (insbesondere) die meisten Compiler generierten keinen MMX-Code, sodass Sie so ziemlich in Assemblersprache schreiben mussten, um sie zu verwenden . Der Pentium unterstützte auch 64-Bit- (und 80-Bit-) Operationen für Gleitkommazahlen, aber dies wird nur für eine relativ kleine Minderheit der meisten Programme verwendet (und war im Allgemeinen sowieso langsamer als die Arbeit mit ganzen Zahlen).

Das x86-64-Design verfügt über doppelt so viele Allzweckregister wie das 32-Bit-x86-Design, und jedes dieser Register ist 64 Bit breit. Wenn die CPU im 32-Bit-Modus ausgeführt wird, kann jedoch nur die Teilmenge der Register verwendet werden, die auf 32-Bit-CPUs vorhanden waren.

Wenn Sie für einen Moment zum Gleitkomma zurückkehren, wird im 32-Bit-Modus die Gleitkomma-Berechnung mit dem Befehlssatz durchgeführt, der ursprünglich für den Intel 8087-Mathematik-Coprozessor entwickelt wurde. Hierbei wird ein Modell verwendet, das es ziemlich schwierig macht, seine Funktionen voll auszuschöpfen. Intel (und AMD) haben kürzlich "Streaming SIMD Extensions" oder SSE hinzugefügt. Die meisten 64-Bit-Compiler generieren Code, der SSE anstelle von 8087-kompatiblem Gleitkomma verwenden kann / tut. Das "SIMD" in SSE steht für "Einzelbefehl, mehrere Daten". Dies bedeutet, dass ein SSE-Befehl zwei Gleitkommaoperationen für zwei separate Daten ausführen kann . Obwohl dies nicht unbedingt die Geschwindigkeit verdoppelt, verbessert es normalerweise die Geschwindigkeit zumindest ein wenig.

Abschließend möchte ich wahrscheinlich darauf hinweisen, dass ein Teil des Vergleichs im Allgemeinen etwas unfair ist. Wenn Sie ein neues Betriebssystem installieren, ist es fast immer mindestens etwas schneller als ein Betriebssystem, das seit einiger Zeit verwendet wird. Programme speichern Daten in der Registrierung, auf der Festplatte usw. Je mehr Daten Sie hinzufügen, desto mehr Arbeit ist in der Regel erforderlich, um die gewünschten Daten zu einem bestimmten Zeitpunkt zu finden. Während Unternehmen, die "Registry Cleaner" verkaufen und diesen Effekt häufig übertreiben, ist dies bis zu einem gewissen Grad ohnehin der Fall. Wenn Sie also nur Ihre Festplatte neu formatieren und genau dasselbe Betriebssystem neu installieren, können Sie mit einer Geschwindigkeitsverbesserung rechnen - und wenn Sie das alte Betriebssystem lange Zeit installiert und stark genutzt haben , dass eine Verbesserung (alle von selbst) kannziemlich substanziell sein. Zumindest ein Teil der Geschwindigkeitsverbesserung, die Sie sehen, ist möglicherweise unabhängig von einem echten Unterschied zwischen den beiden Betriebssystemen.

Es gibt natürlich noch mehr, aber Sie bekommen die Idee. Es geht nicht so sehr darum, dass ein einzelnes Feature einen großen Unterschied macht, sondern um viele Features, die normalerweise relativ kleine Unterschiede einzeln bewirken, aber viele von ihnen addieren (oder multiplizieren) sogar, um insgesamt einen ziemlich wesentlichen Unterschied zu bewirken.

Jerry Sarg
quelle
Dies ist eine sehr gute Erklärung. Es ist wichtig zu wissen, dass viele 32-Bit-Binärdateien für die Ausführung unter vielen Windows-Versionen einschließlich XP und möglicherweise früher ausgelegt sind. Sie müssen auf i386 oder mindestens i586 ausgeführt werden. AMD64 muss nicht weniger als einen Pentium 4 unterstützen. Wenn Open Source neu kompiliert werden kann, gibt es natürlich SSE-Grade, was einer der Gründe ist, warum Silverlight so schlecht gepanzert ist.
McKenzm
4

Es hat möglicherweise nichts mit 32 vs 64 Bit zu tun.

Aus Ihrem Beitrag geht nicht hervor, was Sie unter "64-Bit ist schneller" verstehen. Sollen wir davon ausgehen, dass Sie 64-Bit-Windows auf einem Computer neu installiert haben, auf dem zuvor 32-Bit-Windows installiert war? In diesem Fall kann das Zurücksetzen der Dateistruktur die Geschwindigkeitsänderungen leicht berücksichtigen. Eine Neuinstallation, insbesondere wenn Sie neu formatiert haben, reagiert häufig schneller als eine ältere Installation, bei der Dateien fragmentiert werden, der Speicherplatz knapp wird, die Registrierung unübersichtlich wird usw.

Dies könnte auch einer der Treiber sein. Beispielsweise könnten die neueren Grafiktreiber vom Hersteller schneller und besser optimiert werden als die älteren x86-Versionen. Oder der Festplattentreiber ist möglicherweise besser.

GroßmeisterB
quelle
1
Großartige Idee. Mehr zu wissen, was "schneller" eigentlich bedeutet, könnte helfen. Laden Anwendungen schneller? Animieren Fenster schneller? Haben Spiele höhere fps? Werden Dateien schneller kopiert? Es ist durchaus möglich, dass alle Erklärungen hier, obwohl es interessant ist, den Unterschied zwischen 32b und 64b zu verstehen, für den tatsächlichen Unterschied, den Jasper beschreibt, tatsächlich irrelevant sind.
Suma
Okay, lassen Sie mich Ihnen ein klareres Bild davon geben, wovon ich spreche. Ich hatte Windows 7 x86 für eine Weile mit 100% meiner benötigten Software und Spiele installiert. Ich habe dasselbe System auf demselben Computer zusammen mit derselben Menge an Software und Spielen neu installiert, und es hat mir eine identische Erfahrung geliefert. Ich bereinige meine Registrierungen einmal am Tag, fragmentiere meine Festplatten alle paar Tage und verwalte immer eine angemessene Menge an freiem Speicherplatz auf jeder Festplatte. Danach habe ich Windows 7 x64 zweimal mit 100% meiner erforderlichen Dinge installiert, nur um festzustellen, dass beide letzteren Erfahrungen identisch sind. [Weiter]
Jasper
Die Dinge, die sich besser anfühlten - Fenster, die flüssiger animiert wurden, Dateien, die viel schneller kopiert wurden, bestimmte Fotobearbeitungsprogramme, die schneller gezeichnet wurden (sowohl x86 als auch x64), HD-Videos, die flüssiger laufen (auf MPC-HC x64), und insgesamt eine stabilere Erfahrung. Die Spiele zeigten keine Veränderung.
Jasper
Sie sehen, das sind kleine Dinge. Aber ich verstehe nicht, WARUM diese kleinen Dinge passieren, die diese Frage hervorgebracht haben. =) Ich hätte mich nicht darum gekümmert, wenn ich mehr als 4 GB RAM hätte. Ich hätte Windows 7 x64 die Credits gegeben, um damit umgehen zu können, aber das ist hier nicht der Fall, was es etwas komplexer macht.
Jasper
2

Einfach ausgedrückt liegt dies daran, dass Ihr Computer pro Taktzyklus 64 Bit (8 Byte) Daten verarbeiten kann. Ihr Prozessor empfängt Daten in Form von vorab festgelegten Bits, die als Wörter bezeichnet werden. Die Wörter in der x64-Architektur sind doppelt so groß wie die Wörter in der x86-Architektur. Obwohl Ihr Prozessor Daten möglicherweise nicht schneller verarbeitet (Ihr Core 2 liegt bei beiden Installationen bei 2,93 GHz), verarbeitet er Daten jedoch effizienter. Wie in den Kommentaren erwähnt, können Sie damit auch Ihren gesamten RAM adressieren, da Ihr Prozessor in 64-Bit-Wörtern aus Ihrem RAM liest. Aus Wikipedia :

Wenn man sich auf die Wortgröße eines modernen Computers bezieht, beschreibt man sehr oft auch die Größe des Adressraums auf diesem Computer. Beispielsweise erlaubt ein Computer, der als "32-Bit" bezeichnet wird, normalerweise auch 32-Bit-Speicheradressen; Ein byteadressierbarer 32-Bit-Computer kann 2 ^ 32 = 4,294,967,296 Byte Speicher oder 4 Gibibyte (GB) adressieren. Dies erscheint logisch und nützlich, da eine Speicheradresse effizient in einem Wort gespeichert werden kann.

Bei einem 64-Bit-Prozessor multipliziert sich dies nicht mit 2, sondern steigt exponentiell an:

Ein moderner byteadressierbarer 64-Bit-Computer kann bei ordnungsgemäßer Betriebssystemunterstützung 2 ^ 64 Bytes (oder 16 Exbibytes) adressieren, was ab 2011 als praktisch unbegrenzt gilt.

Obwohl dieser Artikel etwas veraltet ist, ist er eine sehr informative Lektüre darüber, wie die 64-Bit-Verarbeitung funktioniert.

Ich möchte darauf hinweisen, dass dies nicht zu einer zweifachen Leistungssteigerung führt, da die tatsächliche Leistung von vielen anderen Variablen abhängt (Festplattengeschwindigkeit, Busgeschwindigkeit, Prozessor-Cache, verfügbarer Speicher usw.). In Windows sollte sich jedoch die Leistung erhöhen, da mehr Betriebssysteme in den Speicher geladen und vom Prozessor effizienter adressiert werden können.

Supercereal
quelle
13
"Kann 64 Bit (8 Byte) Daten pro Taktzyklus verarbeiten" Das mag vernünftig klingen, ist aber eigentlich Unsinn. Fast keine Berechnungen verwenden 8 Bytes für irgendetwas Nützliches. Was den Speicherverkehr betrifft, ist die zugrunde liegende CPU dieselbe, der Cache und der Speicherverkehr verwenden denselben BUS.
Suma
5
"da mehr vom Betriebssystem in den Speicher geladen werden kann" wieder nicht wahr. Dies wäre wahr, wenn das "Mehr des Betriebssystems" über 4 GB liegen würde. Die 64b-Adressierung hilft bei der Arbeit mit Daten unter 4 GB überhaupt nicht.
Suma
6
@ Kyle: Lies die Frage noch einmal. Der Prozessor ist derselbe wie auf demselben Computer. Es geht um den Unterschied des Betriebssystemverhaltens auf demselben Computer, nicht um den Unterschied zwischen zwei Computern. und zu Ihrer Information, ich möchte mich an das Argument halten. Menschen anzuschreien hat niemandem geholfen. Außerdem bin ich ein Computerbenutzer, und dies ist eine Computerbenutzerfrage. Warum sollte ich nicht antworten?
Joris Meys
6
Sie können in einem öffentlichen Forum nicht antworten, ohne dass die Haut dick genug ist, um ein paar Klumpen zu nehmen. Sie müssen auch in der Lage sein, mit der pedantischen Natur von Computer-Nerds umzugehen, die jedes Detail von Frage UND Antwort durchgehen. Ziehen Sie nicht an Ihren Schlägen, sondern denken Sie gut über Beiträge nach. Nehmen Sie Korrekturen als Ihr erwiesenes Unrecht vor und behaupten Sie sich, wenn Sie Recht haben.
WernerCD
6
Der Teil über "mehr des Betriebssystems kann in den Speicher geladen und vom Prozessor effizienter adressiert werden" ist völliger Müll. Mein Win7 verwendet ca. 500 MB RAM, was weit unter der 4-GB-Grenze liegt, auf die 32-Bit-CPUs beschränkt sind. Wenn überhaupt, ist die Adressierung weniger effizient, da Zeiger doppelt so groß im Speicher sind und mehr wertvollen Datencache verbrauchen. Der tatsächliche Leistungsgewinn ergibt sich aus einem größeren Registersatz. Das Bearbeiten von Daten im L1-Cache beträgt 3 Taktzyklen, das Bearbeiten von Daten in einem Register 1 Taktzyklus.
Zvrba
2

Ich denke, dass der tiefgreifendste Grund, warum das System mit einem 64-Bit-Betriebssystem schneller ist, darin besteht, dass das 32-Bit-Betriebssystem nicht in der Lage ist, den gesamten RAM im System zu nutzen.

Das 32-Bit-Betriebssystem kann 32-Bit steuern, dh 4 GB physischen Adressraum. Dieser Adressraum umfasst Systemspeicher, Videospeicher, E / A-Geräte usw. Wenn Sie also über 1 GB dedizierten Video-RAM verfügen, können Sie die ersten GB von Ihrem verfügbaren RAM subtrahieren. Dann werden die anderen Geräte wahrscheinlich weitere 200 MB oder so abziehen.

Damit haben Sie nur noch 2,8 GB RAM für Anwendungen. Nicht viel unter Windows 7;)

Das 64-Bit-Betriebssystem hingegen kann Ihren gesamten Arbeitsspeicher nutzen.

Pete
quelle
"Wenn Sie also 1 GB dedizierten Video-RAM haben, können Sie die ersten GB von Ihrem verfügbaren RAM subtrahieren." Es tut mir leid, dass ich hier so lästig bin, aber das scheint nicht zu stimmen. Ich hatte ein WinXP-System mit 4 GB RAM und 1 GB dedizierter VRAM-GPU und ich hatte 3,6 GB RAM für das System verfügbar. Die Frage nach dem Adressraum ist ziemlich kompliziert: Beispielsweise verfügt jeder Prozess über 4 GB virtuellen Adressraum. Der Treiber muss den GPU-RAM dem virtuellen Adressraum zuordnen, damit er darauf zugreifen kann. Das Betriebssystem muss den GPU-RAM jedoch nicht dem physischen RAM zuordnen.
Suma
@Suma dann ist vielleicht nicht der gesamte VRAM nicht dem physischen RAM zugeordnet. 32-Bit-Windows XP, Vista und 7 können jedoch nicht mehr als 4 GB physischen Adressraum verwenden. Einige 32-Bit-Serverversionen von Windows können jedoch mit physischen Adresserweiterungen mehr Adressen adressieren (obwohl Sie physische Adresserweiterungen in 32-Bit-Desktop-Windows-Betriebssystemen aktivieren können, wird es immer noch abgelehnt, mehr als 4 GB physischen Adressraum zu adressieren). Platzieren Sie also 4 GB RAM in einem 32-Bit-Windows 7, und Sie können nicht alles verwenden. Der virtuelle Adressraum für Prozesse hat nichts mit dieser Begrenzung zu tun
Pete
"32-Bit-Windows XP, Vista und 7 können jedoch nicht mehr als 4 GB physischen Adressraum verwenden." Ja, das stimmt. Eine ausführliche Erklärung finden Sie unter codinghorror.com/blog/2007/03/… . Die GPU verbraucht definitiv einen Teil des 4-GB-Speicherplatzes. Ich wollte nur das verbreitete Missverständnis korrigieren, dass der Adressraum für den Zugriff auf den GPU-RAM benötigt wird, was in der Tat nicht der Fall ist. Die Beschreibung in superuser.com/questions/242562/… ist in dieser Hinsicht korrekt.
Suma
-1

Ich habe 32-Bit und 64-Bit auf zwei separaten identischen Lenovo x100e-Notebooks installiert. 32-Bit hatte 2G-RAM und 64-Bit hatte 4G-RAM und das 32-Bit lief immer noch schneller, flüssiger, reaktionsschneller mit viel weniger Verzögerung als 64-Bit, was verzögert und träge war. Die CPU ist eine 64-Bit-CPU. Dieselben Treiber installiert und Windows-Updates auf beiden durchgeführt. Ich denke, 64-Bit ist für High-End-Maschinen, nicht für Einsteiger, selbst mit x64-CPUs.

Charles
quelle
Dies ist falsch. Die "Benutzererfahrung" mit x64-Computern ist manchmal ziemlich schlecht, da fast 90% x86-Apps darauf ausgeführt werden.
Francisco Tapia