.| Autor | Beitrag |
|---|---|
|
000 12.12.2002, 19:24 Diablo_bth |
Hi Luetz, Ich nehme mal spontan an, dass eine 64-Bit CPU Basisregister zu 64-Bit besitzt. Meine Fragen dazu: wäre cool wenn da jemand Info's hätte... --Dieser Beitrag wurde am 12.12.2002 um 19:26 von Diablo_bth bearbeitet. |
|
Profil || Suche |
|
001 12.12.2002, 19:44 Tron |
google ist dein freund: x86-64 bzw. AA-64 heisst die 64bit architektur von intel 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
002 12.12.2002, 19:58 dp Administrator |
zum ia64 (intel) gibts auf developer.intel.com irgendwo tech files wo du entsprechende infos findest -- |
|
Profil || Suche |
|
003 12.12.2002, 21:34 Diablo_bth |
hey cool die Nomeklatur is bei x86-64 mal wesentlich logischer aufgebaut! |
|
Profil || Suche |
|
004 13.12.2002, 14:45 Prefect |
Nein, das war wohl ein Typo. Die 64-Bit-Architektur von Intel heißt IA-64, entsprechend der 32-Bit-Architektur (die heißt IA-32). Von Intel gibt's ja auch schon 64-Bit-Prozessoren (Itanium), die aber im Desktop praktisch ignoriert werden. Deine Antworten lassen sich logischerweise nicht pauschal für _alle_ 64-Bit-Architekturen beantworten, denn jede Architektur ist anders, genau wie ja auch alle 32-Bit-Architekturen irgendwie anders sind. Es gibt noch viel mehr als nur IA-32-Prozessoren... Aber ich will trotzdem mal mein Bestes versuchen:
Der Bus hat nichts, aber auch gar nichts mit der Prozessorarchitektur zu tun. Es gab z.B. lange Zeit 32-Bit x86-CPUs mit einem 16-Bit-Bus (die SX-Varianten). Heutzutage sind AFAIK alle Busse schon 64 Bit breit. Das sagt aber sowieso nicht sooo wahnsinnig viel aus, denn das Memoryinterface arbeitet im allgemeinen mit Cachelines (die internen Caches sind in Cachelines aufgebaut), und diese sind inzwischen 32 _Byte_ (also 256 Bit) breit.
Weiß ich nicht, ist aber auch egal. Oder?
Es gibt nur "native"-Anwendungen und nicht-"native"-Anwendungen. Auf 64-Bit-Prozessoren sind native Anwendungen logischerweise 64-Bit-Anwendungen. Sowohl x86-64 als auch IA-64-Prozessoren sehen allerdings Backwardskompatibilität zu alten 32-Bit-Anwendungen vor. Prinzipiell schneller werden diese Anwendungen sicher nicht laufen - allerdings wirken sich schneller Taktzahlen und mehr Pipelines zumindest prinzipiell auch positiv auf alte Anwendungen aus.
Das ist richtig. Wenn du gut programmierst dann beziehst du solche Überlegungen aber sowieso immer in dein Programmdesign mit ein.
Die FPU ist schon lange keine getrennte Einheit mehr sondern zentraler Bestandteil aller Prozessoren. Damit erübrigt sich die Frage wohl.
Träum weiter. Es hat noch nie einen einheitlichen Assemblerstandard bei Prozessoren gegeben. Nur weil du noch nie Assembler für einen Z-80, PPC, ARM oder sonstigen Prozessor geschrieben hast heißt das noch lange nicht daß es solche Prozessoren nicht gab. Der Prozessormarkt war schon immer fragmentiert. Und es gibt ja auch einheitliche Standards. C ist ein solcher einheitlicher Standard - um genau zu sein wurde C entwickelt, damit UNIX auf mehr als nur einem Prozessortyp lauffähig ist. Der Markt für GPUs ist im Prinzip genau gleich. Auch hier gibt es keinen einheitlichen Assemblerstandard. Aber es gibt eben Standards wie OpenGL - besonders wenn OpenGL 2.0 dann endlich durch ist. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |
|
005 13.12.2002, 15:15 Kriz |
Ich denke mal, daß es bei den Standards bleiben wird und einfach nur die Quasi-neuerungen standardisiert werden: short = 16 Bit, Zum Bleistift emuliert Java auf Win den Datentyp long (64 bit) mit zwei ints usw., während auf Tux echte 64 Bit genommen werden. xeax oder eaxx ? Eaxx läßt sich schneller tippen ;) --K:R-I)Z++ |
|
Profil || Suche |
|
006 15.12.2002, 00:30 CN |
in der iX - januar 2003 sind auch noch infos darüber -- |
|
Profil || Suche |
|
007 15.12.2002, 00:59 Tron |
wohl kaum, die native wortlaenge auf 64bit prozessoren ist ja wohl 64bit, also auch int mit 64 bit. evtl. hat dann short 32bit und es wird dann als compiler-erweiterung ein short short eingefuehrt mit 16bit
mein MinGW hat keine probleme mit 64bit (long long) iirc hat sogar der vc++ nen 64bit datentyp
das zeigst du mir mal, wie dein pinguin _echte_ 64bit auf nem _echten_ 32bit prozessor benutzt.
die korrekte antwort ist auf sandpile nachzulesen -- 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
008 15.12.2002, 01:47 theDon |
__int64 :P -- \o tanz den naziprau! o/ And more than ever, I hope to never fall, |
|
Profil || Suche |
|
009 16.12.2002, 09:45 Kriz |
Hehehe, mit "echten" 64 Bit meine ich keinen zusammengeschusterten Datentyp, sondern einen für den Gebrauch einheitlichen 64 Bit Datentyp. Daß Tux unter einem PC auch nur mit 32 Bit Wasser köchelt, is doch klar =) __int64 o_O - Weiche Satan, weiche! --K:R-I)Z++ |
|
Profil || Suche |
|
010 16.12.2002, 11:34 King of Darkness |
lol, was soll denn aber jetz schon die entwicklung von programmen bringen die 64 bit usen ? bis jeder user son prozessort hat wird sicherlich noch ein oder zwei jahre dauern mal so ne frage wie soll man den an 64 bit ran kommen ohne "zusammengeschusterten" Datentyps ? --Coding Center --- Tutorials über Programmierung und andere Themen |
|
Profil || Suche |
|
011 16.12.2002, 15:12 Kriz |
Tja, das ist ja die Frage bei "nieder-bittigen" Prozessoren. Das geht garnicht als nativer Datentyp. So muß jeder Compiler / Interpreter sich bei bedarf mit seinen Sprachmitteln selber was... zusammenschustern :P --K:R-I)Z++ |
|
Profil || Suche |
|
012 16.12.2002, 20:06 Diablo_bth |
Meine Sorge bei dieser Sache ist, dass es bei 64-Bit Compilern für den 64er Neulinge ein heilloses Durcheinander bei den Datebtypen gibt. Man müsste ja schließlich sich mental (und alte Codes die man wiederverwenden will) komplett umstellen. Mir würde es da schon genügen, wenn dann wenigstens die Compiler sich einigen, welcher Datentyp wie viel Bit hat. Im Bezug auf Datentypen drängt sich allerdings eine Frage auf: byte = 8 Bit Warum ist dann auf 32-Bit Systemen nicht konsequent vorgangen ? - also etwa so: [denn beim jetzigen Standart is 'long' überflüssig!] byte = 8 Bit etwa aus Kompatibilitätsgründen zu altem Quellcode ? mein Vorschlag/Wunschtraum für 64-Bit wäre [long long halt ich net für sinnvoll] short = 32 also 3 Integer-Datentypen ( natürlich noch byte und short short oder so) Wahrscheinlich wird man aber so vorgehen [bisherige Entwicklungen verfolgend]: short = 16 @v|->Tron: da wär ich mir nicht so sicher.... - Du hast keine Ahnung was diese wuseligen Gnome bei M$M sich so alles einfallen lassen (man denke nur an TCPA etc.. ) --Dieser Beitrag wurde am 16.12.2002 um 20:14 von Diablo_bth bearbeitet. |
|
Profil || Suche |
|
013 16.12.2002, 20:08 Tron |
ganz sicher nicht! 'KEINE PANIK' - aus der Triologie in fuenf Baenden von Douglas Adams 'FÜR DEINN FERD' - aus 'Gevatter Tod' von Terry Pratchett |
|
Profil || Suche |
|
014 20.12.2002, 13:36 Prefect |
Es gibt keinen Standard der besagt, wieviele Bits ein Datentyp haben muß. Es ist lediglich vorgegeben, daß sizeof(char)<=sizeof(short)<=sizeof(int)<=sizeof(long)<=sizeof(long long). Und jeder der meint, die Datentypen wären heutzutage einheitlich hat ganz offensichtlich noch nie einen anderen Prozessor als einen x86er gesehen. Und selbst wer x86-Prozessoren gesehen hat dürfte eigentlich wissen, daß bei den 16-Bit-Varianten die Datentypen üblicherweise auch anders festgelegt werden. Es gibt einfach keine Garantie dafür, daß ein Datentyp eine bestimmte Größe hat. Sobald man portablen Code und damit für mehrere Prozessortypen schreibt muß man solche Probleme einfach im Hinterkopf behalten. cu, Widelands - Gemütliche Aufbaustrategie, Free Software |
|
Profil || Suche |

