When 64bit processors will be in average desktop PC?
Are we going to rewrite all our asm program to suit them since asm is not portable language?
Posted on 2003-09-16 19:35:54 by Mikky
IA-64 emulates IA-32 opcodes. Intel has 'redesigned' it's processor, but keeps somewhat of a support for the elder architecture, at least in emulation. This pretty much affects all software written for IA-32 machines... However AMD's 64 bit processor fully supports the 32 bit architecture natively. So I guess the programs still work on both machines, probably better on the AMD processor....

Anyone correct me if I'm mistaken about anything
Posted on 2003-09-16 21:16:21 by FearHQ
When running the AMD64 CPUs in "pure 64 bit mode" (long mode) then you must make some changes, but if you run the CPU in compability mode then it's just rock 'n' roll :)

(IMO asm is portable, "add eax, 3" <=> add the value 3 to a 32-bit register (or equivalent). ;))
Posted on 2003-09-16 23:48:35 by scientica
Ok well the probelm I had in mind is that our win32 programs would not be as fast as other programs compiled for 64bit processors.

Eg. if you have program in C you can recompile it when 64bit processors comes, so it requires no additional work from your side, but if you have asm programs you can't just recompile them, you would have to rewrite them from scratch in order to use 64bit registers
like
mov eax,4
you would have to type
mov eeax,4 (assuming "eeax" is 64bit register where eeax = extended extended ax :D)
Posted on 2003-09-18 07:57:55 by Mikky
I am using a 64bit Sun UltraSparc system as my primary desktop ... runs fine and I love it ;)
Posted on 2003-09-18 10:39:33 by bazik
Originally posted by Mikky
Ok well the probelm I had in mind is that our win32 programs would not be as fast as other programs compiled for 64bit processors.

Depends on if you need to use 64-bit aritmetric. If you can do double processing using 64-bit in stead of 32-bit (e.g. process two (32bit) pixels in stead of one), then the "pure" 64 bit version will be faster.
you would have to type
mov eeax,4 (assuming "eeax" is 64bit register where eeax = extended extended ax :D)

it's rax:
mov rax, 4 ; :)

Will the c++ code be faster than hand written/optimized asm code? And you'd probably need to make somve changes in your code - new OS (even if M$ decides to support AMD64, I'm sure they'll change a few things), a few new APIs.
Posted on 2003-09-18 10:42:39 by scientica
Maybe you can find usefull this link,... or maybe not, have some time a go ;), also there you can see that nix plataform have suport for 64 bits i think more than 4 years a go?? (go to linuxiso for see diferent distros), and win is planing.... ;)


http://www.microsoft.com/msj/0798/hood0798.aspx


But there cover some interesting things about the sizes, a word is by the procesor (32, 64, etc), but in the language of programmers a word aparently and like I understand a word always will be a gruop of 16 bit or 2 called bytes.

Nice day.
Posted on 2003-09-20 22:55:25 by rea

Maybe you can find usefull this link,... or maybe not, have some time a go ;), also there you can see that nix plataform have suport for 64 bits i think more than 4 years a go?? (go to linuxiso for see diferent distros), and win is planing.... ;)


http://www.microsoft.com/msj/0798/hood0798.aspx


But there cover some interesting things about the sizes, a word is by the procesor (32, 64, etc), but in the language of programmers a word aparently and like I understand a word always will be a gruop of 16 bit or 2 called bytes.

Nice day.

Even if M$ makes some AMD64 compatible OS - I would probably choose linux over that (and maybe run w2k in 32-bit mode), the reason, WinXP - the worst OS I've ever seen - I don't know how 2003 is but I'm sure it has teh same repelling GUI/Wizzard H3ll as XP.

Linux has had kernels with AMD64 more or less directly after the docs on it came, they had kernels that would (probably) run in Long mode before Opteron was released!

A word is 16-bit, a dword is 32 and a qword is 64-bit -- will not change, and esp. M$ will (or I will not let them) not change it. An int, long or what-ever HLL name is the HLL monkeys head ace, we who work with "real" data types don't get head aces, because, a word is 16-bit is two byte is a word, an (ASCII) char is 8 bit (unless it's 7-bit ASCII), and Unicode char is 16-bit. I see fig 2, poor M$ they given them selves a head ace, they should have defined DWORD as __int32 (an 32-bit interger, not more not less) :grin:
Posted on 2003-09-21 02:15:57 by scientica
Originally posted by scientica
it's rax

First it was A, then AX, EAX, and now RAX.
I wonder what will our beloved accumulator be called when we reach 128-bit GPR width... :)

I think AMD has said the new processors will be at least as fast as the older ones, also in the legacy (and compatibility) mode, but I'll wait to see some comprehensive test results from the soon to be released Athlon64...

I'm also gonna wait for AMD to rise the speed of their CPU's FSBs, and to see what kind of motherboards will be available for Athlon64.
Meanwhile, my choice would probably be P4 x,x GHz (yes, I know of Intel's crappy means of rising the freq by stretching the pipeline, but the bus speed is also important, so...) with 800 MHz FSB, and matching mb supporting dual-channel DDR + xxxx MB of 400 MHz DDR RAM.

Things about AMD64 I don't like, are the facts that you can't turn off the paging and there is no support for hw multitasking (in long mode).

We're heading for long mode,
and still we stand tall,
cause maybe they've seen us,
and welcome us all.
With so many lines to code,
and triple faults to debug,
I'm sure that we all miss her (x86) so.
It's the final countdown...

:grin:
Ok, not quite final, yet... will be long time before the x86 support/emulation will completely disappear from CPUs.

-Stealth
Posted on 2003-09-21 14:42:18 by Stealth
rax ?? :grin: :grin: :grin: :grin: Rot Accumulate register ? :grin:
Posted on 2003-09-21 23:35:23 by dreamweaver

I'm also gonna wait for AMD to rise the speed of their CPU's FSBs, and to see what kind of motherboards will be available for Athlon64.

The last Opteron is X86 (2.0GHz)
For Opteron (Socket940) I've seen among others thes two mobos:
AUSU SK8N: http://www.asus.com/products/mb/socket940/sk8n/overview.htm (specs: http://www.asus.com/prog/spec.asp?m=SK8N&langs=01)
MSI: K8T Master2 FAR: http://www.msicomputer.com/product/detail_spec/product_detail.asp?model=K8T_Master2_FAR (800MHz FSB)
Posted on 2003-09-21 23:47:17 by scientica
Athlon64 has just been released...
The estimated prices seem quite reasonable (if you can say so).
Have to wait until we actually get some shipments here in cold northlands, and see what the prices will actually be...

But... Now there's no slightest dought what processor I'm going to buy next (pretty soon) :grin:
(gotta hurry to get my 64-bit OS running before that ;))

-Stealth

P.S. Thanks for links, Scientica. Pretty nice looking boards...
Posted on 2003-09-23 15:50:31 by Stealth
Hi

I bought an ASUS SK8N with a single Opteron 240 CPU (1.4 GHz only because of the price :grin: )

Win98 works as before, I recompiled a project under Masm32 as before... nice !
Long mode is optional, use RAX if u want.

For performance : it hits what I intend. I write an AI/game program. It runs a little faster than on a P4 2600,
just like it is. Knowing that I can use 15 MMX registers, 15 SSE registers, 15 64-bit GPR registers, a 64K L1 code cache, a 64K L1 data cache, a 1Mb L2 cache... :) :) :) yes I expect some improvements.

I subscribed socket940.com forum too.

Did anybody write 64-bit inline opcodes before I do it myself ?!
Posted on 2003-09-24 05:57:05 by valy
A byte is always 8 bit, but a char can be "whatever" - like 16 or 32 bits. C data types are dependent on the hardware you run it on. And so is the quantity "word"! - in technical manuals, a word is the machine-size word, just like an int in C.

Oh and btw, microsoft has had 64-bit NT since at least NT4, on alpha etc... so it shouldn't be too hard for them to do an XP and/or win2003 version for the AMD64 stuff. How is SSE2 performance on those Opteron thingies anyway?
Posted on 2003-09-24 06:25:15 by f0dder