Hab mal da ne Frage...



  • ich habe mit SuSE ungefähr seit 1 jahr nix mehr zu tun. ich würde mich umbenennen, wenn mir was einfallen würde.

  • Zitat von gandro


    Wir reden hier allerdings von Kilobytes.

    Das einzige, was grösser wird, sind Pointer, die anstatt von 4 dann 8 Bytes belegen. Und massiv (im Sinne der Menge) zur Anwendung kommen Pointer eh nur in objektorientierten Sprachen, und dort hat man in der Regel auch sonst einen gewissen Overhead.

    Nachtrag: Gut, Integer werden je nach dem auch grösser, aber massiv zum Einsatz kommen die nirgendwo.



    Hinzukommt dass du auch immer 64bit lesen tust, auch wenn nur 32 nötig wären. Bei vielen kleinen Operatoren (Kleinvieh macht auch Mist) könnte das evtl schon ins Gesicht fallen. Mit Betohnung auf könnte, ich möchte mich hier nicht festlegen. Man hört unterschiedliche Aussagen (allerdings selten qualifizierte) und letztendlich kommt es auf den Einsatzzweck an. Wenn ich mir ein Embeddedsystem zusammenstelle, kann es schon einen Unterschied darstellen, ob nun der Kernel ein paar MB grösser oder kleiner ist und jede Applikation ein paar KB mehr oder weniger frisst. (OK, schlechtes Beispiel, für ein Embeddedsystem benutzt man nicht unbedingt eine 64bit CPU, aber ich glaube es sollte klar sein was ich hinnaus will: Grundsätzliche Aussagen sind grundsätzlich falsch.)

  • Was bisher vergessen wurde: Die neue 64bit-Architektur bringt mehr, als nur 64bit und damit mehr Speicher:

    Standardmässiges SSE, mehr Register, keine Speichersegmentierung mehr. Das NX-Bit kommt auch dazu, wobei das meines Wissens im 32bit-Modus auch verfügbar ist.

    Das sind alles Features, die im 32bit-Modus nicht vorhanden sind, auch wenn man einen 64bit-Prozessor verwendet. Gerade wenn der Compiler SSE vorraussetzen kann (was 32bit-Programme selten tun, weil ein Pentium III oder ein Athlon-XP dann als Mindestanforderung zählt), kann er viele Dinge spürbar optimieren.

    Die zusätzlichen Register und die weggefallene Segmentierung bringen ebenfalls spürbare Vorteile, auch wenn mir da das Fachwissen fehlt, um das jetzt genauer zu erkären.

    Im Überigen: Zwar benötigt ein 64bit-Integer 4Byte mehr Speicher, kann dafür vom Prozessor schneller verarbeitet werden, als ein gleichwertiger long-Wert im 32bit-Modus.

    Nachtrag: "Hinzukommt dass du auch immer 64bit lesen tust, auch wenn nur 32 nötig wären. Bei vielen kleinen Operatoren (Kleinvieh macht auch Mist) könnte das evtl schon ins Gesicht fallen." - Warum sollten 32bit-Operatoren schneller sein, wenn die Anbindung eh 64bit ist? Ein 64bit-Prozessor kann eine 64bit-Anweisung genau so schnell aufnehmen wie ein 32bit-Prozessor seine 32bitige Anweisung.

    Einmal editiert, zuletzt von gandro (24. Juni 2009 um 14:19)

  • Wenn aber alle Zugriffe eh mit doppelter Breite stattfinden, selbst wenn bei den Daten auch 32 Bit ausreichend breit wäre, nutzen aber x MB Cache nur noch die Hälfte, sodaß die Missrate steigt, was performance kostet.

    "I think that computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We've created life in our own image."
    (Stephen William Hawking)
    (Igor bevölkert das Winhistory-Forum seit dem 21.09.2006)
    (In the rpg commonly known as rl, Igor got an extra life on March 28, 2009)

  • Naaajaa. Weniger Speicher frisst ja nur dann (messbar) Performance, wenn zuwenig Speicher vorhanden ist, und da glaube ich reichen die 12 MB moderner Prozessoren dann doch aus. Wobei das wieder ein Bereich ist, wo ich leider zu wenig Fachwissen verfüge - da vertraue ich dann allerdings wieder den Herstellern, schliesslich ist der x86er nicht der erste Prozessor, der erfolgreich seine Bitzahl verdoppelt hat.

    Einmal editiert, zuletzt von gandro (24. Juni 2009 um 15:32)

  • Zitat von gandro

    ... schliesslich ist der x86er nicht der erste Prozessor, der erfolgreich seine Bitzahl verdoppelt hat.



    Das 64bit schlecht ist sagt auch niemand. (Bei der SPARC-Archidektur wird ja seit Uhrzeit 64bit verwendet.) Ich frag mich einfach ob es nicht gewissen Szenarien 32bit der 64bit-Archidektur performancemässig überlegen ist.

  • Zitat von chessboi

    Ich frag mich einfach ob es nicht gewissen Szenarien 32bit der 64bit-Archidektur performancemässig überlegen ist.


    Ja, das ist schon eine berechtigte Frage, die ich auch grad nicht zu beantworten weiss (Prozessorkunde gehört zu den Dingen, die ich mir unbedingt noch aneignen will).

    Zumindest gibt es Szenarien, wo 64bit wegen der Breite Vorteile bietet: So ein 32bit-Integer ist schon seit Jahren zu klein, damit kann man nur Zahlen bis 4 Milliarden bzw. 4 Gigabyte ansprechen, mit intelligenten Design geht zwar die Adressierung von mehr als 4GB durchaus (wobei man bei Festplatten die 4GB meistens einfach multipliziert, und dann jeweils bei 8, 32 und 128 GB Probleme bekommen hat (demnächst bei 2TB bei Systemfestplatten)), aber Rechnen lässt sich mit solchen Zahlen auf einem 32bit einfach nicht effizient.

  • Zitat von Världer

    Hat man im Jahr 2000 noch wirklich 16 bit unterstüzt? ne!

    Aber ja, WIN-Me (ein 16/32-Bit-Hybrid) kam in 2000 heraus, und solange die aktuell verfügbaren 32-Bit-Windowsen noch das 16-Bit-Subsystem sogar incl. DOS-Emulation haben, kann man wohl noch von Unterstützung sprechen. Erst in den 64-Bit-Versionen wurden die 16-Bit-Subsysteme (sowohl WIN16 als auch DOS) ersatzlos entfernt.

    "I think that computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We've created life in our own image."
    (Stephen William Hawking)
    (Igor bevölkert das Winhistory-Forum seit dem 21.09.2006)
    (In the rpg commonly known as rl, Igor got an extra life on March 28, 2009)

  • hmmm. also wegen dem betriebssystem, da werd ich erst mal mein gutes win xp mce 2005 weiterverwenden. ich meinte ja von der zusammenstellung her. will mir ja sowieso win 7 (oder wie auch immer das final heißen wird) holen.
    wegen der grafikkarte, die hab ich ja geschrieben, die will ich bei bedarf nachrüsten. bis dahin muss es ne 30 euro karte tun, außerdem brauch ich bei meinen bildschirm sowieso nen vga-anschluß dran. hab noch nen steinzeit-flachmann, der noch kein dvi dran hat. Außerdem, wenn mal spielen, dann sowieso nix aufwendiges.

  • ich glaube, es wird doch windows 7 heissen? zumindest habe ich nicht davon gehört, dass es ein codename sei

  • Zitat von Igor Todeshure

    Wenn aber alle Zugriffe eh mit doppelter Breite stattfinden, selbst wenn bei den Daten auch 32 Bit ausreichend breit wäre, nutzen aber x MB Cache nur noch die Hälfte, sodaß die Missrate steigt, was performance kostet.


    Haut mich, dass ich den Thread nochmals ausgrabe, aber bei Nachforschungen für den IA-64-Thread bin ich auf dieses PDF hier gestossen: http://www.fefe.de/itanic-hammer.pdf

    Ich versteh davon zwar wie gesagt nicht die Hälfte, aber es geht auf Seite 8-15 um AMD64 (aka. Hammer). Unter anderem auch um 64bit-Adressierung: Man übergibt dem Prozessor bei AMD64 nicht die vollen 64bit-breiten Adressen zusammen mit den Instruktionen, sondern kurze, aber relative (32bit Breite) Adressen (auch ein Feature von AMD64 was x86 nicht hat). Man bläht also den Code nicht auf.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!