I general it means that it has a 64 bit address space. You can always do
non-32 bit operations on a 32 bit platform: load a single byte is one of
them (of course given that the CPU can do it).
> Now if i have say a 32 bit Os and the length of my data bus of PC is
> 64 bit, can i not run a 64 bit program on my PC.
The length of the data bus is independent of the CPU. For instance: the
80386SX processor was a 32 bit processor with a 16 bit databus so it could
be used with the cheaper 80286 compatible support chips. This was of
course slower because a single 32 bit load or store had to be divided into
two 16 bit load/stores.
> I mean if my compiler and CPU can undertand that instruction where
> does the OS come in between to prevent it.
The OS doesn't prevent you to do it. Unless... the OS only saves 32 of the
64 bits in a register during a context switch. No problem when you run
a single process using 64 bit registers, but as soon as you use two, they
will most likely be messed up.
> I think as far as i am not needing dynamic memory support from OS
> i can run say a simple program which transfers 64 bits from
> memory location to my 64 bit register.
As long as you use only one of those programs.
Hope this helps
Regards
Syed Khader Vali | The road to wisdom? |
sidcarter@usa.net | Well it's plain and simple to express:|
http://linuxindia.virtualave.net | Err and err and err again |
http://sidcarter.8m.com | but less and less and less. |
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/