PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Was bringen 64BIT???


Dj_Brubaker
2003-07-28, 08:36:35
servus,
nur um mal mitzukommen, was kann 64bit?
ich weiß, dass wir jetzt gerade mit 32bit systemen arbeiten, aber was bringt das für vorteile?

Schroeder
2003-07-28, 08:59:41
also zum einen bringt dir das den vorteil, das du mit "relativ gesehenen" möglichkeiten wesentlich mehr arbeitsspeicher addressieren kannst, und nicht über irgendwelche sehr interessanten verbiegungen. bei 32bit ist bei 4gb ram schluss, und da kommst du vielleicht noch nicht hin, aber etwas größere rechner kommen ohne probleme in diese bereiche, und mit 64bit kannst du äh ... moment ... *rechne* :grübel: 2097152 TERRABYTE (wenn ich mich nicht verrechnet habe, was aber wahrscheinlich ist) arbeitsspeicher in deinen rechner packen.
das ist mit sicherheit nicht der einzige vorteil, denn 64bit - breite register wirken sich logischweise auf die ganze programmierung bzw. compilierung aus, aber dazu hätte ich in Rechnerarchitekturen in meinem Studium etwas besser aufpassen sollen, um da jetzt was ordentliches dazu zu sagen.

tschö

Gast-o-mat
2003-07-28, 10:03:17
Wie schon richtig gesagt wirken sich die 64-bit breiten Register positiv auf die Performance aus, d.h. anstatt wie sonst üblich sehr genaue Fließkommazahlen mit Überlauf in zwei 32-bit Registern speichern zu müssen, kann man so bequem ein Register verwenden. 64-bit sollten vorerst genau genug sein, um nicht mit Überlauf arbeiten zu müssen.

Zool
2003-07-28, 12:47:36
Original geschrieben von Gast-o-mat
Wie schon richtig gesagt wirken sich die 64-bit breiten Register positiv auf die Performance aus, d.h. anstatt wie sonst üblich sehr genaue Fließkommazahlen mit Überlauf in zwei 32-bit Registern speichern zu müssen, kann man so bequem ein Register verwenden. 64-bit sollten vorerst genau genug sein, um nicht mit Überlauf arbeiten zu müssen.

@Schröder
Komme bei 2^64 auf eine Speichermenge von 1.84E+19 Bytes d.h. 16.7Mill Terrabytes = 16 Petabytes

Arbeiten die X86 FPUs nicht generell mit 80Bit Genauigkeit? Und haben die FPU Register nicht auch diese Breite?

Schroeder
2003-07-28, 12:59:56
Original geschrieben von Zool
@Schröder
Komme bei 2^64 auf eine Speichermenge von 1.84E+19 Bytes d.h. 16.7Mill Terrabytes = 16 Petabytes

Arbeiten die X86 FPUs nicht generell mit 80Bit Genauigkeit? Und haben die FPU Register nicht auch diese Breite?

ok, ich hab ja gesagt, das ich wahrscheinlich verrechnet habe, allerdings komme ich bei erneutem nachrechnen wieder auf mein ergebnis...

(2^64)
---------------------------------------------------
8 * 1024* 1024 * 1024 * 1024 * 1024

bit->byte->kilobyte->megabyte->gigabyte->terabyte

is das net richtig???

edit: was des zweite angeht, hab ich absolut keine ahnung

BlackBirdSR
2003-07-28, 13:04:30
Original geschrieben von Zool
@Schröder
Komme bei 2^64 auf eine Speichermenge von 1.84E+19 Bytes d.h. 16.7Mill Terrabytes = 16 Petabytes

Arbeiten die X86 FPUs nicht generell mit 80Bit Genauigkeit? Und haben die FPU Register nicht auch diese Breite?
ja die x87 Regitster sind 80Bit breit. Die wurden bei AMD64 auch nicht verändert.

@Adressraum: der K7 kann pysikalisch nur 40Bit = 1TB adressieren.

ShadowXX
2003-07-28, 13:19:13
Man sollte erst mal (wie BlackBirdSR auch schon indirekt erwähnte) unterscheiden zwischen intern/extern bei CPUs.

Intern ist der Athlon64 eine 64Bit CPU mit 64-Bit breiten Registern.
Extern hat er nur 40Bit Adressraum, kann also 1TB Adressieren.

Übriges haben die CPUs ab (ich glaube) Pentium 36Bit Adressräume, die allerdings tatsächlich nur über 'spezielle Befehle' angesprochen werden können (ist glaube ich nur in den Enterprise-Server-Kernels von Windows / vielleicht irgendwo bei Linux) implementiert.

Was 64-Bit wirklich bringt werden wir erst wissen wenn ein Programm/Spiel geschreiben wird, das zu 100% auf die 64-Bit setzt.
Wie schon erwähnt, ist es nicht dafür da grössere Fliesskommazahlen als bisher zu bearbeiten....
Das können die FPU's bzw. SSE/SSE2 besser und schneller...

Wenn man gut Programmiert, bisher viele int64 Zahlen benutzt hat und auch den grösseren Adressraum nutzen kann ist durchaus eine Steigerung von durchschnittlich 10% drin (IMHO).
Aber man sollte sich nicht zu viel von den 64-Bit erhoffen.....


J.S.Shadow

Schroeder
2003-07-28, 13:52:12
zumal doch auch rein physikalisch "dem vorteil 64BIT" irgendwo tribut gezollt werden muss. also ich würde da zum einen an höhere Transistorzahlen denken, ergo eine höhere elektrische Verlustleistung (aufwendigere Spannungsversorgung, Kühlung etc...). Desweiteren bilde ich mir ein, sollten doch bestimmte 64Bit-Operationen "zeitaufwendiger" sein, als im 32Bit-Pendant, also nicht unbedingt so "einfache" Sachen wie Rollen um 1 Bit, aber eine Multiplikation, Division oder auch eine Speicheradressierung bei 64Bit doch tendenziell länger dauert, also auch auf "den Takt" Einfluss nimmt. Mir schwirrte gerade etwas im Kopf herum, aber das ist schon wieder weg ... :grübel: . Nunja vielleicht kommts ja wieder.

Tschö

Gil-galad
2003-07-28, 15:58:29
Original geschrieben von Schroeder
ok, ich hab ja gesagt, das ich wahrscheinlich verrechnet habe, allerdings komme ich bei erneutem nachrechnen wieder auf mein ergebnis...

(2^64)
---------------------------------------------------
8 * 1024* 1024 * 1024 * 1024 * 1024

bit->byte->kilobyte->megabyte->gigabyte->terabyte

is das net richtig???

edit: was des zweite angeht, hab ich absolut keine ahnung

Ja Du hast vollkommen Recht. Zool hat vergessen das ganze durch 8 zu teilen. 2^64Bit und nicht 2^64Byte !

GloomY
2003-07-28, 16:52:53
Ich verweise mal auf diesen Thread (http://www.forum-3dcenter.net/vbulletin/showthread.php?postid=1037944#post1037944) aus dem Tech-Forum.

BlackBirdSR
2003-07-28, 18:08:52
Original geschrieben von GloomY
Ich verweise mal auf diesen Thread (http://www.forum-3dcenter.net/vbulletin/showthread.php?postid=1037944#post1037944) aus dem Tech-Forum.

64Bit ist schon cool.
Ich weiss zwar nicht warum, aber es denken eine Menge Leute so :)
Irgendwas muss dann ja dran sein *g*

Irgendwie ist es falsch, Ports von Spielen als 64Bit Spiele zu bezeichnen. Ich verwette meinen letzten Cyrix darauf, dass fast ausschließlich die Register für mehr Performance zuständig sind.

In der Hinsicht könnte man auch sagen: AMD war so clever, einen Bruch mit IA32 in ein 64Bit Kleid zu packen. Schade nur, dass man nur so relativ wenig geändert/verändert hat.

Matrix316
2003-07-28, 20:07:53
Original geschrieben von AiS|Gil-galad
Ja Du hast vollkommen Recht. Zool hat vergessen das ganze durch 8 zu teilen. 2^64Bit und nicht 2^64Byte !

Wenn man aber 2^32 rechnet, sind das 4.294.967.296 Bit oder Byte?

Das wäre nämlich die Frage. Wenns 4 GigaByte sind, dann Byte. Dann gilts aber auch für 2^64.

StevenB
2003-07-28, 23:03:21
Was bringt 64bit ?

Einen größeren Puller *G*

Stone2001
2003-07-28, 23:10:38
Original geschrieben von Matrix316
Wenn man aber 2^32 rechnet, sind das 4.294.967.296 Bit oder Byte?

Das wäre nämlich die Frage. Wenns 4 GigaByte sind, dann Byte. Dann gilts aber auch für 2^64.
Wenn man 40 Adressleitungen hat, dann kann man 2^40 unterschiedliche Adressen addressieren. Und da die heutigen Prozessoren eine Byte-Adressierung (d.h. sie können nur auf Bytes zugreifen nicht auf einzelne Bits) haben, können sie 2^40 Bytes adressieren.

Magnum
2003-07-28, 23:19:44
Original geschrieben von Schroeder
ok, ich hab ja gesagt, das ich wahrscheinlich verrechnet habe, allerdings komme ich bei erneutem nachrechnen wieder auf mein ergebnis...

(2^64)
---------------------------------------------------
8 * 1024* 1024 * 1024 * 1024 * 1024

bit->byte->kilobyte->megabyte->gigabyte->terabyte

is das net richtig???

edit: was des zweite angeht, hab ich absolut keine ahnung
2^64 = 2^4 * 2^(10*6) = 16 * 1024^6
= 16 Peta (irgendwas) Adressen

Und da Stone2001 schon gesagt hat, dass heutige Prozessoren eine Byteadressierung haben, hat ein 64 Bit Prozessor, sofern er wirklich alle Leitungen ausschöpft, einen Adressraum von 16 Petabyte!

GloomY
2003-07-28, 23:22:33
Original geschrieben von Stone2001
Wenn man 40 Adressleitungen hat, dann kann man 2^40 unterschiedliche Adressen addressieren. Und da die heutigen Prozessoren eine Byte-Adressierung (d.h. sie können nur auf Bytes zugreifen nicht auf einzelne Bits) haben, können sie 2^40 Bytes adressieren. Virtuell sind es 48, real aber nur 40 Bits. Das heisst, dass jeder Thread auf maximal 2^40 Bytes beschränkt ist, die einzelnen Threads aber im Speicher verteilt liegen, der die Größe von 2^48 Bytes haben kann.

Interessant ist in dem Zusammenhang, dass das Hypertransport Protokoll nur 40 Bits für Adressen zur Verfügung stellt. Klar, dass das für heutige Zwecke locker ausreicht, aber man kann daher nicht einfach im Prozessor die Anzahl der Adressbits erhöhen, sondern muss sich auch ein neues oder zumindest modifiziertes Protokoll besorgen, wenn man dies mal ändern will. Aber bis dahin gibt es vielleicht ja auch was neues...

Zool
2003-07-29, 07:48:12
Original geschrieben von GloomY
Virtuell sind es 48, real aber nur 40 Bits. Das heisst, dass jeder Thread auf maximal 2^40 Bytes beschränkt ist, die einzelnen Threads aber im Speicher verteilt liegen, der die Größe von 2^48 Bytes haben kann.

Interessant ist in dem Zusammenhang, dass das Hypertransport Protokoll nur 40 Bits für Adressen zur Verfügung stellt. Klar, dass das für heutige Zwecke locker ausreicht, aber man kann daher nicht einfach im Prozessor die Anzahl der Adressbits erhöhen, sondern muss sich auch ein neues oder zumindest modifiziertes Protokoll besorgen, wenn man dies mal ändern will. Aber bis dahin gibt es vielleicht ja auch was neues...

Hört sich gar nicht so toll an nur 2^40 bytes also 256GB für ein einzelnen Thread. Das ist doch fast der Standard für die dicken SQL-Datenbankserver.
Wenn ein Programm mehr Speicher als 256gb bei Ahtlon 64 / Opteron benötigt, müssen dann die einzelnen Threads dann gegenseitig sich die Bytes hin und her werfen ala EMS bei 386er?

Das gleiche passiert ja schon bei den speziellen Xeons mit mehr als 4GB Speicher. Wo dann auch nur auf die unteren 4GB direkt zu gegriffen werden kann und der Rest über langsame Paging-Methoden umhergeschaufelt wird.


Wieviele Adressleitungen haben eigentlich Itantium und Co?

Schroeder
2003-07-29, 08:18:05
mmh ok, das hätte mir eigentlich auch dämmern sollen, das bytes adressiert werden, schließlich hat uns unser dozent lange genug mit speicheradressierung "verdroschen".

trotz allem sollte der vorteil des größeren arbeitsspeichers ja nicht alles sein, zumal das ja wie man sieht, einen offensichtlich höheren organisationsaufwand (siehe hypertransport-protokoll) bedarf.

tschö

Magnum
2003-07-29, 09:01:58
Original geschrieben von Zool
Hört sich gar nicht so toll an nur 2^40 bytes also 256GB für ein einzelnen Thread. Das ist doch fast der Standard für die dicken SQL-Datenbankserver.
2^40 Byte sind 1 Terabyte. Und jeder Opteron hat ja seinen eigenen Speichercontroller und damit seinen eigenen Speicher. Für jeden angeschlossenen Prozessor müsste also wieder ein Terabyte an Arbeitsspeicher hinzukommen können!

Gast
2003-07-29, 17:37:23
Glaub ich nicht. Sollte nicht Prozessor 1 auch Speicher am Prozessor 2 adressieren können? Sonst könnte man ja gleich einen Cluster bauen.

Bokill
2003-07-29, 19:34:49
Glaub ich nicht. Sollte nicht Prozessor 1 auch Speicher am Prozessor 2 adressieren können? Sonst könnte man ja gleich einen Cluster bauen.

Wie schön, dass wir wieder bei Glaubenssachen sind.

Quizfrage:
Weswegen kann ein Dual Opterongespann selbst bei einem 32Bit OS mit NUMA Unterstützung ohne Geschwindigkeitsverlust auf bis zu 8GB zugreifen!?