AMD Hammer 64bit processor on existing 32Bit progs?

JeremiahTheGreat

Senior member
Oct 19, 2001
552
0
0
I know that the hammer can run 32 bit programs faster than any existing mainstream CPUs, but i was wondering, if Microsoft (a big IF) was to release a 64bit OS compatible with the hammer, would there be any technical issues in having a 64bit OS running 32Bit programs?
eg. 64bit WinXP runing 32bit games or maybe 32bit office or something..
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
Question kinda misses the point ... not only must the 64-bit CPU understand the "old" 32-bit CPU's instruction set, but also must the 64-bit operating system provide an extra application program interface (API) compatibility layer that offers the "old", 32-bitty operating system environment so that the old 32-bit programs have all the operating system features they're used to. That's exactly what DOS and 16-bit Windows compatibility sandboxes in Windows NT/2K/XP do.

regards, Peter
 

snorks

Junior Member
Apr 12, 2002
2
0
0
I was at an AMD training seminar last week and although they didn't mention MS by name. They did imply that there would indeed (if there isn't already, and I suspect there is) be a 64bit Windows, and that it would happily run 32bit programs faster than "anything we have seen to date". That was the quote!
 

aka1nas

Diamond Member
Aug 30, 2001
4,335
1
0
Is the currently available 64-bit version of Windows XP only optimized for the Itanium then? The MS guys didn't know when I went to the XP retail seminar last fall.
 

CTho9305

Elite Member
Jul 26, 2000
9,214
1
81


<< Is the currently available 64-bit version of Windows XP only optimized for the Itanium then? The MS guys didn't know when I went to the XP retail seminar last fall. >>


no, it isn't really "optimized" for the itanium... it is written in a COMPLETELY different language: IA64. 100% incompatible with 80386 x86 / IA32. They have special stuff to handle 32-bit code. The hammer will run x86-64 which is backwards compatible.
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
it is written in a COMPLETELY different language: IA64

Actually it's not rewritten at all (well for the most part), it's just recompiled for that target because the OS is written in a higher language like C. They may have to recode parts of it to deal with things like endian changes (not sure if IA32 and IA64 are the same or not) and just plain 64-bit'dness vs 32-bit'dness, but most of it will work fine.
 
Mar 14, 2002
54
0
0
First, my 2 cents: I'd imagine that any os compiled for the 64 bit chips (itanium or hammer) would feature a 32bit application layer (much as win98, win95, and win3.1 all featured application layers to their predecesors). This slows down things not running in 64 bit mode, but it's still compatible, which is a vast improvement.


Secondly, while I agree with

<< Actually it's not rewritten at all (well for the most part), it's just recompiled for that target because the OS is written in a higher language like C. They may have to recode parts of it to deal with things like endian changes (not sure if IA32 and IA64 are the same or not) and just plain 64-bit'dness vs 32-bit'dness, but most of it will work fine. >>

, I'll point out thatmore likely than not, the "endianess" of the chips have not changed (intel/amd has always been notoriously backwards in this, I doubt they would have modified this in their latest processors), but other small porting issues such as variable types, memory reads, etc, have to be modified. (Endianness, for those who aren't familiar, is the order of bytes in memory: most significant first is termed 'big endian' while least significan first is termed 'little endian' - the importance of this is typically seen in network communications - sending a short across the wire in little endian form usually causes problems if the host on the other side expects it in big endian form - ie: sending to a non-x86 machine - thus, there is a standard form for all network communcation. Realistically, since the OS changes everything to this standard form before sending it, even IF the byte order changed on the chip, all that would be modified is a simple include/header file that modifies the conversion from host-order to network order).
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
First, my 2 cents: I'd imagine that any os compiled for the 64 bit chips (itanium or hammer) would feature a 32bit application layer (much as win98, win95, and win3.1 all featured application layers to their predecesors). This slows down things not running in 64 bit mode, but it's still compatible, which is a vast improvement.

I believe that's hammer's big feature, it can run in both 32-bit and 64-bit modes at the same time with virtually no slow down. One of the demos AMD presented (I believe TomsHardware had a review as well as Anand) was Linux running on IA64 with 2 bouncing balls, one 64-bit binary one 32-bit binary.

but other small porting issues such as variable types, memory reads, etc, have to be modified.

Yes because if the hardware requires memory access on page boundaries (which would be 8k on IA64 as opposed to 4k on IA32) the OS has to either enforce alignment or kill the process doing the illegal access. I see enough of these on my Alpha to know they're pretty common when you don't know you might be programming on a 64-bit arch =)
 

CTho9305

Elite Member
Jul 26, 2000
9,214
1
81


<< it is written in a COMPLETELY different language: IA64

Actually it's not rewritten at all (well for the most part), it's just recompiled for that target because the OS is written in a higher language like C. They may have to recode parts of it to deal with things like endian changes (not sure if IA32 and IA64 are the same or not) and just plain 64-bit'dness vs 32-bit'dness, but most of it will work fine.
>>



thats what i meant :eek:
 

Locutus4657

Senior member
Oct 9, 2001
209
0
0
You're confusing me with your constant referals to IA64... What chip are you talking about? AMD Hammer or Intel Itanium? AMD Hammer has an x86-64 ISA, which is NOT even remotly similar to IA64.



<< First, my 2 cents: I'd imagine that any os compiled for the 64 bit chips (itanium or hammer) would feature a 32bit application layer (much as win98, win95, and win3.1 all featured application layers to their predecesors). This slows down things not running in 64 bit mode, but it's still compatible, which is a vast improvement.

I believe that's hammer's big feature, it can run in both 32-bit and 64-bit modes at the same time with virtually no slow down. One of the demos AMD presented (I believe TomsHardware had a review as well as Anand) was Linux running on IA64 with 2 bouncing balls, one 64-bit binary one 32-bit binary.

but other small porting issues such as variable types, memory reads, etc, have to be modified.

Yes because if the hardware requires memory access on page boundaries (which would be 8k on IA64 as opposed to 4k on IA32) the OS has to either enforce alignment or kill the process doing the illegal access. I see enough of these on my Alpha to know they're pretty common when you don't know you might be programming on a 64-bit arch =)
>>

 

CTho9305

Elite Member
Jul 26, 2000
9,214
1
81


<< You're confusing me with your constant referals to IA64... What chip are you talking about? AMD Hammer or Intel Itanium? AMD Hammer has an x86-64 ISA, which is NOT even remotly similar to IA64. >>



you have it correct. hammer = x86-64, itanium = IA64. the bouncing balls were x86-64 and IA32 (which is usually called "x86")
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
You're confusing me with your constant referals to IA64... What chip are you talking about? AMD Hammer or Intel Itanium? AMD Hammer has an x86-64 ISA, which is NOT even remotly similar to IA64.

Sorry, when I say IA64 I do mean Intel's Itanic. The main reason I'm mentioning it at all is because MS never announced a version of Win64 for Hammer, only for IA64, and people keep mentioning 64-bit XP which AFAIK will only run in 32-bit mode on Hammer right now.