PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum sind 64Bit schneller als 32?



Doh!
10-01-2004, 02:35
Auf den ersten Blick mutet die Frage etwas seltsam an, aber warum genau ist es denn eigentlich so, das ein Prozessor, der 64Bit lange Register hat, schneller arbeitet als ein Rechner mit 32Bit. Dass er mit 64Bit großen Bussen zu den Registern natürlich schneller ist, ist klar, während eines Zykluses können mehr Daten transportiert werden.

Warum ist es aber auch ein Vorteil, wenn die Rechenregister des Prozessors 64Bit lang sind?

Pingu
10-01-2004, 02:54
Prinzipiell muß ein 64-bit Prozessor nicht schneller sein als ein 32-bit Prozessor. Er ist es nur durch die Evolution, sozusagen automatisch. Ein 64-bit Prozessor hat nur den Vorteil, dass er genauer ist. Die Frage die siche jetzt hier stellt ist: Wer braucht das? Ich denke die meisten Anwender nicht.
Das eigentliche (oft verschwiegene) Problem ist, dass 64-bit Prozessoren mehr Speicher brauchen als 32-bit Prozessor, eigentlich logisch, denn es werden ja pro Operand und pro Befehl 32-bit mehr benötigt, also doppelt so viel. Konkret heißt dies ein System, welches bisher mit 1 GiB Speicher bisher ausreichend bis gut dimensioniert war, braucht bei einem 64-bit Prozessor, um die gleiche Leistungsfähigkeit zu erreichen, 2 GiB Speicher.

Deswegen habe ich bei mir in der Firma z.B. aktuell auch einen "alten" PowerMac G4 mit 1 GiB RAM bestellt anstatt eines PowerMac G5. Denn ersten ist der G4 billiger und zweitens wahrscheinlich mehr als ausreichend. Also wie bei Windows gilt auch bei Macs lieber mehr Speicher als besserer Prozessor, denn dies ist in der praktischen Anwendung mehr. (Ausnahme: rechenintensive Prozesse wie mathematische, physikalische, ... Berechnungen; aufwendige Filter; animated Movies)

Pingu

Lin728
10-01-2004, 09:19
...................

peschmae
10-01-2004, 09:21
Den Leistungsgewinn den z. B. der AMD Opteron erziehlt gibts ja auch im 32 Bit-Modus. Er ist vor allem auf das schnelle Bussystem (Hypertransport), die neuen SSE-Einheiten (gabs bei AMD vorher nicht), den in den Prozessor integrierten Speichercontroller (Northbridge? oder so ;)) und ähnliches zurückzuführen.

MfG Peschmä

Nuke
10-01-2004, 11:10
MacTV hat ein nettes Video mal dazu gemacht.

Solange keine Zahlen über 2^32 benutzt werden sind 64bit-Prozessoren kein Stück schneller als ihre 32bit-Kollegen, nur weil sie 64bit haben. Vielleicht sogar langsamer.

Sie sind nur schneller wenn Zahlen über 2^32 benutzt werden. 32bit-Prozessoren müssen hier die Zahl teilen usw. damit sie sie verarbeiten können. 64bit-Prozessoren können das in einem Rutsch.

Doh!
10-01-2004, 13:48
In einem Forum habe ich folgendes gefunden - ob es Quatsch ist oder nicht, keine Ahnung, hörte sich aber vernünftig an:



Es ist eine nicht ganz einfache Frage. Ein x Bit Prozessor wird allgemein als ein Prozessor verstanden der x Bit gleichzeitig bearbeiten kann. Leider gibt es drei Kriterien an denen man das festmachen kann, und da dies auch für die Performance wichtig ist sollen sie erklärt werden :
Die Breite der internen Register
Um Daten zu verarbeiten zu können und Zwischenergebnisse zu speichern, hat jeder Prozessor eine Anzahl an internen Speicherzellen, die sogenannten Register. Jedes Register hat eine feste Breite die angibt wie groß die Daten sein können die mit einem Befehl verarbeitet werden können. Ein 32 Bit Prozessor kann z.B. Zahlen von 0 bis über 4 Milliarden in einem Rutsch addieren, während ein 16 Bit Prozessor dies nur bis 65535 kann, d.h. größere Zahlen in zwei Schritten bearbeiten muss. Dies ist das zuverlässigste Kriterium mit den wenigsten Ausnahmen. Leider gibt es aber schon hier Ausnahmen, so verfügen 16 und 8 Bit Prozessoren über die Fähigkeit manche Register zusammenzuschalten und einige Befehle mit größeren Daten durchzuführen. Der Zilog Z8000 Prozessor war z.B. nominell ein 16 Bit Prozessor, konnte aber seine Register auch in 8 Bit teilen oder jeweils zwei oder vier zu 32 und 64 Bit zusammen fassen. Man hat in jedem Falle aber eine höhere Geschwindigkeit wenn die internen Register breiter sind, als wenn man kleinere Register kombiniert.
Der Datenbus
Jeder Prozessor muss die Daten in den Registern auch in den Speicher schreiben. Am besten ist es wenn der Datenbus daher die Breite der Register hat. Vor allem bei Intel Prozessoren findet man hier jedoch Ausnahmen. Entweder der Datenbus ist kleiner, weil Zusatzbausteine, die weniger breiten Datenpfade verarbeiten preiswerter sind. Dies geschah so beim 8088 (16 Bit Prozessor mit 8 Bit Datenbus) und 80386 SX (32 Bit Prozessor mit 16 Bit Datenbus), oder er ist breiter, so bei allen x86 Prozessoren ab dem Pentium. Diese haben einen 64 Bit Datenbus, damit man mehr Daten auf einmal vom Speicher abrufen kann.
Der Adressbus
Außer Daten muss auch dem Speicher gesagt werden, von wo man Daten haben will. Dazu wird eine Adresse angelegt, die von 0 hochgezählt wird. Da 8 Bitter normalerweise nur 256 Bytes über ein Register adressieren könnten hatten diese einen 16 Bit Adressbus. Der Adressbus war also doppelt so breit wie der Datenbus. Bei 16 Bittern gab es 20 oder 24 Bit Adressen und nur 32 Bitter haben in der Regel 32 Bit Adressen. Allerdings verfügen nur wenige 64 Bitter über 64 Bit Adressen, der Itanium z.B. nur über 44 Bit für den Adressraum. Der größere Adressraum ist für viele Anwendungen das entscheidende, denn vor allem Server mit Datenbankanwendungen können nie genug Speicher haben. 4 GByte wie sie mit 32 Bit möglich sind reichen da oft nicht aus.

Mehr Geschwindigkeit durch 64 Bit ?
In der Vergangenheit war es immer so, das 16 Bitter schneller als 8 Bit waren oder 32 schneller als 16. Sind nun 64 schneller als 32 ? So einfach ist das nicht. Zum einen resultieren die höheren Geschwindigkeiten dadurch das die Prozessorhersteller ihre alten Prozessoren mit weniger Bits nicht weiterentwickelten. Natürlich waren dadurch die neuen Prozessoren schneller. Das ist bei der derzeitigen Architektur nicht so : Intel wird die x86 Linie noch mindestens 5 Jahre weiter entwickeln und diese 32 Bit Prozessoren haben ähnliche Leistungsbereiche wie 64 Bit Prozessoren. Zum anderen kommt es darauf an welche Daten verarbeitet wird. Es gibt folgende Arten von Daten :
Zahlen : Zum einen Koordinaten (Bildschirm), Rohdaten (Pixeln in 8, 16 oder 24 Bit) oder zum Berechnen : Hier haben wir den Fall das 8 Bit fast immer zu wenig sind - Man kann bei Berechnungen schon 200+200 nicht zusammenzählen. 16 Bit reichen aus für viele Berechnungen, Schleifen und auch für Koordinaten von Bildschirm oder High Color Bilder. 32 Bit reichen heute für fast alles aus was man mit Integer Zahlen machen kann. Sicher es gibt einige wenige Fälle wo man mit sehr großen integer Werten rechnen muss, doch dann weicht man oft auf Fliesskommazahlen aus.
Zeichen : Textverarbeitung, Das Extrahieren von Daten aus Datenbanken, Sortieren, Suchen - Das alles geschieht bei den heutigen Systemen in der Regel auf Basis von Zeichensätzen, in der Regel byteweise. Systeme auf Unicode Basis verwenden 16 Bit Codierung - Doch schon hier ist klar das ein 32 Bit Prozessor dies nicht wird schneller machen können.
Adressen : Adressen liegen immer in der Breite vor die der Prozessor als Register hat.
Multiple Daten : Viele Prozessorhersteller suchten nach Wegen die breiten Prozessorregister effektiver zu nutzen, indem sie zwei oder vier kleinere Zahlen auf einmal mit der selben Instruktion bearbeiteten. Das findet z.B. Anwendung beim Streamen von Audio und Video, bei entsprechenden Befehlen könnten aber auch Texte schneller durchsucht oder kopiert werden. Dieses Konzept wird als SIMD bezeichnet.
Nun klar ist das zuerst einmal 64 Bit nicht viel mehr bringt als 32 Bit wenn die meisten Daten nicht 64 bittig vorliegen. Allenfalls die SIMD Operationen profitieren von einer größeren Verarbeitungsbreite.
Ein anderes Kapitel ist das der Fliesskommaberechnung. Standardisiert sind hier 32 und 64 Bit, ein weiteres Format sind 80 Bit. Für 32 Bit Prozessoren bedeuten 64 und 80 Bit, dass der Prozessor die Daten in zwei oder drei Zyklen einholen muss. Ein 64 Bit Prozessor kann das wichtige 64 Bit Format (15 Stellen Genauigkeit) nativ berechnen und ist so schneller - Ein Grund warum bei Fliesskommabenchmarks 64 Bit Prozessoren führend sind. Dies ist wichtig für Simulationen, Computergrafik oder wissenschaftliche Anwendungen - weniger für den normalen Desktop Benutzer. Aus diesem Grund waren Supercomputer von Cray schon immer 64 Bit Maschinen, und aus dem gleichen Grund gibt es heute keine 128 Bit Rechner.

Für Finanzmathematische Dinge - die heute allerdings nicht mehr die Rolle spielen wie vor 20 Jahren - wäre noch interessant, das man in 64 Bit Zahlen alle Währungen der Welt verlustfrei umrechnen kann. Das Problem bei Finanziellen Programmen ist dass sie gar keine Rundungsfehler haben dürfen. Dazu eignen sich Fliesskomazahlen nicht und 32 Bit Integers auf der Basis von 1 Cent machen bei ca 21 Millionen schlapp wegen des Überlaufes. Daher verwenden ältere Programmiersprachen wie COBOL BCD Zahlen, dabei werden die Zahlen wie im Dezimalsystem stellenweise gespeichert und jeweils nach Rechnungen konvertiert. Das dauert und mit 64 Bit Zahlen kann man einen Zahlenbereich von 19 Stellen ausschöpfen - genug um die Verschuldung der USA in Yen auszudrücken und noch ein paar Potenzen Sicherheit zu haben.

Mehr Speicher !
Die meisten 32 Bit Prozessoren können 4 Gigabyte direkt adressieren. Das ist nicht mehr arg weit von dem entfernt was heute ein normaler Desktop PC an Speicher hat. (Unter Windows sind übrigens nur max. 2 GB für Anwendungen verfügbar. Der Rest wird von Windows belegt). Für Server die Daten von Datenbanken puffern müssen, und mehrere Clients bedienen müssen, ist es aber nicht so viel. Daher ist auch heute schon die Domäne von 64 Bit Systemen der Betrieb als Server. Dies ist der eigentliche Vorteil von 64 Bit Systemen. Der Adressbereich von 64 Bit reicht bei einer Verdopplung alle 18 Monate für mindestens 48 Jahre aus. Ein Sun 15K Rechner z.B. wird standardmäßig mit 288 GByte Speicher ausgeliefert.



Was mich mal interessieren würde, wären ein paar Assemblercodebeispiele, die auf 32 und 64 Bit praktisch gleichschnell laufen und einige, die unterschiedlich schnell laufen.

peschmae
10-01-2004, 14:22
Für was für 64/32 bitter denn?
Da gibts jede Menge verschiedener Architekturen, deren Assembler sich unterschiedet, die verschieden schnell laufen, etc

Ausserdem kannst du sowas kaum fair vergleichen - denn immer spielen auch noch externe Komponenten eine Rolle (Chipsatz, Speicher, Bussystem) - du kannst halt einfach nie die reine Prozessorgeschwindigkeit messen - das einzige System wo einigermassen ein Vergleich 32/64bit möglich wäre ist derzeit der AMD Opteron. Aber sowas hab ich bisher noch nirgends gefunden.

MfG Peschmä

Lin728
10-01-2004, 20:01
das Linux-Magazin hat einmal MySQL einmal in 32Bit kompiliert und getestet und einmal in 64bit.
In 64Bit war der Code so zwischen 10 und 30% schneller.

Pingu
10-01-2004, 21:18
Original geschrieben von ceisserer
das Linux-Magazin hat einmal MySQL einmal in 32Bit kompiliert und getestet und einmal in 64bit.
In 64Bit war der Code so zwischen 10 und 30% schneller.
Und was für ein Prozessor wurde verwendet? EIn CISC oder ein RISC?
Denn wie in dem oben genannten Artikel und ich auch schon beschrieben habe, hat 32-bit und 64-bit prinzipiell nichts mit der Schnelligkeit sondern nur mit der Genauigkeit zu tun. Am besten ist dies bei einem reinen RISC Prozessor zu sehen. Bei einem CISC Prozessor gibt es in der 64-bit Variante meistens neue Befehle die in einem Taktzyklus abgearbeitet werden, wohingegen der 32-bit Variante mehrere Zyklen benötigt.
Ein anderer Grund ist auch, dass SIMD Operationen bei 64-bit Prozessoren schneller sind als bei 32-bit Prozessoren, weil während bei einem 32-bit Prozessor vielleicht 2 Befehle in einem Takt ausgeführt werden, kann die 64-bit Variante in einem Takt 4 Befehle ausführen.

Deswegen prinzipiell ist ein 64-bitter nicht schneller als ein 32-bitter. Er ist nur genauer. Praktisch bitten heutige 64-bitter Möglichkeiten wie die SIMD Techniken, neue Befehle die in einem Zyklus ausgeführt werden können und natürlich optimiertere Layouts (Datenpfade) innerhalb des Chips. Was auch nicht zu unterschätzen ist, ist die Tatsache, dass 64-bit Prozessoren mit kleineren Strukturgrößen hergestellt werden als, 32-bit Prozessoren. Damit werden die Wege verkürzt was schnellere Abarbeitungsgeschwindigkeiten erlaubt (höhere Taktfrequenzen).

Es sind also viele Punkte/Eigenschaften die zusammengenommen einen 64-bit Prozessor schneller erscheinen lassen. Bestes Beispiel ist der G5. MacOS X ist auf einem G5 wesentlich schneller als auf einem G4, obwohl MacOS X aktuell ein reines 32-bit System ist.

Pingu

Doh!
10-01-2004, 21:32
Habe mal einem Prof für Informatik (Institut Prozessor-Löterei) aus Stuttgart geschrieben, der hat auch prompt geantwortet. Werde ihm noch einige Fragen stellen und die Konversation - so er es erlaubt - hier posten.

wraith
10-01-2004, 22:13
Für Finanzmathematische Dinge - die heute allerdings nicht mehr die Rolle spielen wie vor 20 Jahren - wäre noch interessant, das man in 64 Bit Zahlen alle Währungen der Welt verlustfrei umrechnen kann. Das Problem bei Finanziellen Programmen ist dass sie gar keine Rundungsfehler haben dürfen. Dazu eignen sich Fliesskomazahlen nicht und 32 Bit Integers auf der Basis von 1 Cent machen bei ca 21 Millionen schlapp wegen des Überlaufes.

Na zum Glück gibt es unter 32 Bit Systemen keine 64 bit Integer Datentypen,von Librarys mit Datentypen beliebiger Genauigkeit garnicht zu reden.
Das scheint mir wirklich die Hauptdomäne für 64 bit Systeme zu sein.

@Pingu


Ein 64-bit Prozessor hat nur den Vorteil, dass er genauer ist.
...
Deswegen prinzipiell ist ein 64-bitter nicht schneller als ein 32-bitter. Er ist nur genauer

Wenn du das schon mehrmals erwähnst,wird es dir sicherlich nicht schwerfallen zu erklären,was du damit eigentlich meinst.

peschmae
11-01-2004, 00:36
Original geschrieben von wraith
Na zum Glück gibt es unter 32 Bit Systemen keine 64 bit Integer Datentypen,von Librarys mit Datentypen beliebiger Genauigkeit garnicht zu reden.


Was macht man denn, wenn man mit Zahlen grösser als 2^32 rechnen will? Matematica, Maple und Co kriegen das doch irgendwie hin. Oder ist das riesenkompliziert?

MfG Peschmä

wraith
11-01-2004, 00:56
Original geschrieben von peschmae
Was macht man denn, wenn man mit Zahlen grösser als 2^32 rechnen will? Matematica, Maple und Co kriegen das doch irgendwie hin. Oder ist das riesenkompliziert?

Meine Aussage war eigentlich ironisch gemeint (dachte das merkt man).

In C gibt es den Datentyp long long (64 Bit Integer),und in anderen Sprachen wird es ähnliches geben.
Ob der nun intern in 2 Registern gehalten wird,ist dabei ja egal.
Und für noch höhere Genauigkeiten (mehr Stellenanzahl) gibt es ja genug Librarys.

Darum,das Argument mit der höheren Genauigkeit bei 64 Bit Prozessoren hab' ich nicht verstanden.

Nuke
11-01-2004, 11:58
Genauigkeit im Integer-Bereich würde mich auch mal Interessieren. "1" ist meiner Meinung nach "1". Ob nun bei einem 64bitter oder einem 8bitter.

peschmae
11-01-2004, 12:36
Original geschrieben von wraith
Meine Aussage war eigentlich ironisch gemeint (dachte das merkt man).

In C gibt es den Datentyp long long (64 Bit Integer),und in anderen Sprachen wird es ähnliches geben.
Ob der nun intern in 2 Registern gehalten wird,ist dabei ja egal.
Und für noch höhere Genauigkeiten (mehr Stellenanzahl) gibt es ja genug Librarys.


ok, vom 64 bit longlong wusste ich noch nix. Das sind immerhin 19 Stellen :)

Dass es dazu libs gibt hatte ich mir schon fast gedacht, aber die Frage ist eher: Wie machen die das?



Darum,das Argument mit der höheren Genauigkeit bei 64 Bit Prozessoren hab' ich nicht verstanden.

Ich auch nicht. Wenn schon im Bezug auf Fliesskommazahlen falls sich da was ändert - aber davon war ja nicht die Rede.

MfG Peschmä

Nuke
11-01-2004, 12:51
Original geschrieben von peschmae

Ich auch nicht. Wenn schon im Bezug auf Fliesskommazahlen falls sich da was ändert - aber davon war ja nicht die Rede.

MfG Peschmä

Da ändert sich nix. Es ändert sich nur der Integer-Bereich von 32bit auf 64bit. Fliesskomma bleibt beim alten.

Pingu
11-01-2004, 13:31
Warum sich die Genauigkeit ändert ist ganz einfach erklärt.

Ein 32-bit Prozessor kann native nur 32-bit Rechenoperationen ausführen. Für 64-bit Rechenoperationen braucht man eben z.B. Bibliotheken, die eine 64-bit Rechenoperation in mehrere 32-bit Rechenoperationen zerlegt. Konkret heißt dies, dass ein 32-bit Prozessor Rechenoperationen mit größerer Genauigkeit emulieren muß.
Ein 64-bit Prozessor kann native auch 64-bit Rechenoperationen ausführen und ist damit innerhalb eines Takzykluses genauer.


Denn generell kann man auch mit einem 4-bit Prozessor hohe Genauigkeiten erzielen. Dies wurde früher auch gemacht in den großen Rechenzentren der Welt.

Das Ding ist nur die meisten Anwender brauchen diese Rechenpower nicht. Diese Rechenpower braucht man nur wenn man mathamatische Modelle berechenen möchte, sei es in der Physik, Chemie, Mathematik (z.B. Kryptohgraphie), usw. Ich denke, wahrscheinlich noch nicht einmal für das Seti-Projekt braucht man solche Rechenpower. Hier würden wahrscheinlich hochentwickelte 32-bit Prozessoren ausreichen, da hier keine 64-bit Operationen ausgeführt werden.

Übrigens auch Float-Berechnungen profitieren von 64-bit Prozessoren. Nämlich wenn mit Float64/Real64 gerechnet wird, statt mit Float32/Real32.

Games werden wahrscheinlich von 64-bit nicht groß profitieren. Da die Berechnungen hier nicht der Prozessor sondern der Grafikprozessor übernimmt. Bestes Beispiel sind hier die Spielekonsolen, die einen relativ "schwachen" Prozessor verwenden, dagegen einen sehr hoch performen Grafikprozessor verwenden. Denn im eigentlich Spielprozess ist relativ wenig zu berechnen. Die Grafik dagegen ist sehr aufwendig.

Pingu

Nuke
11-01-2004, 14:04
Original geschrieben von Pingu

Ein 64-bit Prozessor kann native auch 64-bit Rechenoperationen ausführen und ist damit innerhalb eines Takzykluses genauer.


Genauer nicht! Aber schneller.


Original geschrieben von Pingu

Übrigens auch Float-Berechnungen profitieren von 64-bit Prozessoren. Nämlich wenn mit Float64/Real64 gerechnet wird, statt mit Float32/Real32.

Pingu

Kannst du das mal erläutern? FPUs sind doch schon seit ewigkeiten größer als 32bit. 80-128bit. Was hat da die Integer-Größe zu suchen?

peschmae
11-01-2004, 16:33
Original geschrieben von Nuke
Genauer nicht! Aber schneller.

Genau! Die Bezeichnung genau in Bezug auf Int-Werte ist n bisschen daneben imo. Schliesslich wird ein int wohl kaum ungenau sein...
Sonst ist dann was falsch gelaufen :eek:

MfG Peschmä

Nuke
11-01-2004, 18:19
Um es mal zu verdeutlichen:

Bei Integer:

1+1=2

Wie gesagt, da ist nix genau oder ungenau.


Anders kann man es bei Float-Werten verstehen:

Wurzel(2)

Je nach Bit-Zahl kann die CPU das Ergebnis "genauer" darstellen. Besonders bei "Unendlich-Werten".

Pingu
12-01-2004, 13:45
Hi,

ich glaube wir reden aneinander vorbei und dies komplett.

Damit man zwei Sachen vergleichen kann, muß man alle anderen Parameter möglichst konstant halt.

Im Vergleich eines 64-bit6 Prozessors mit einem 32-bit Prozessor, heißt dass, dass alle Parameter bezogen auf Zugriffstechniken, Geschwindigkeit (im Sinne von Frequenz - ein Takt ist ein Takt) usw. Denn das einzigste objektive Vergleichskriterium ist die "Bit-Breite".

Dann kommt man zu dem Ergebnis. Dass man innerhalb eines Taktes (oder mit einem Takt) mit einem 32-bit Prozessor folgende Werte komplett berechnen:
1-bit Werte (logische Verknüpfungen)
4-bit Werte
8-bit Werte
16-bit Werte
32-bit Werte

Damit man mit einem 32-bit Prozessor auch 64-bit Werte, 128-bit Werte usw. berechnenen kann, benötigt man mehr als 1 Takt. D.h. ein 32-bit Prozessor kann innerhalb eines Taktes nur 32-bit Werte berechnen.

Ein 64-bit Prozessor kann innerhalb eines Taktes folgende Werte komplett berechnen:
1-bit Werte (logische Verknüpfungen)
4-bit Werte
8-bit Werte
16-bit Werte
32-bit Werte
64-bit Werte


D.h. ein 64-bit Prozessor kann innerhalb eines Taktes (eigentlich richtig: mit einem Takt) maximal einen 64-bit Wert berechnen, wohingegen ein 32-bit Prozessor maximal einen 32-bit Wert berechnen kann. Mit einem 64-bit Wert kann man eine Zahl genauer darstellen als mit einem 32-bit Wert. Ergo ist ein 64-bit Prozessor genauer.
Dagegen, wenn man mit dem 64-bit Prozessor einen 32-bit Wert berechnet, braucht man ebenso einen Takt. D.h. er ist nicht schneller als der 32-bit Prozessor. qed.

Sicherlich könnte man jetzt sagen, mit einem 32-bit Prozessor kann man auch einen 64-bit Wert berechnen. Nur braucht dieser dazu halt z.B. 2 Takte, d.h. er ist langsamer.
Dann könnte man aber auch sagen man hat einen 64-bit Prozessor mit 1GHz und einen 32-bit Prozessor mit 2 GHz. D.h. beide Prozessor sind für die Berechnung eines 64-bit Wertes gleich schnell aber für die Berechnung eines 32-bit Wertes ist der 32-bit Prozessor doppelt so schnell. Ergo wäre der 32-bit Prozessor schneller. Deswegen immer möglichst alle Parameter gleich halten und nur denn verändern, den man vergleichen will. So habe ich dass zumindest mal in der Schule und später ebenso im Studium gelernt. Anders macht es auch keinen Sinn.

Pingu

Doh!
12-01-2004, 14:08
Oder anders ausgedrückt: Ein 32Bit Prozessor benötigt mehr Taktzyklen, um gleich genau zu sein wie ein 64Bit, wenn Zahlen > 32Bit berechnet werden sollen

HEMIcuda
12-01-2004, 14:12
Genau

peschmae
12-01-2004, 20:15
Original geschrieben von Pingu
D.h. ein 64-bit Prozessor kann innerhalb eines Taktes (eigentlich richtig: mit einem Takt) maximal einen 64-bit Wert berechnen, wohingegen ein 32-bit Prozessor maximal einen 32-bit Wert berechnen kann. Mit einem 64-bit Wert kann man eine Zahl genauer darstellen als mit einem 32-bit Wert. Ergo ist ein 64-bit Prozessor genauer.

Genau da hakts bei mir. Ich finde genauer ist an dieser Stelle einfach falsch. Wir sprechen ja von Int-Werten (zumindest war davon die ganze Zeit die Rede) - und da ist eine 64bit-Zahl kein bisschen genauer - sie hat nur einen grösseren Wertbereich.

MfG Peschmä