Re: 64 bit OS [Q]

Erik Mouw (J.A.K.Mouw@its.tudelft.nl)
Fri, 10 Sep 99 21:16:33 +0200


On Fri, 10 Sep 1999 11:06:53 +0530, Sachin Tilloo wrote:
> I have heard about 16/32 bit OS. As far as i know a 32 bit Os means
> that the instructions that are used to code OS knew only 32 bit
> operations. Am i right !!!

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.

Which CPU/OS combination do you have in mind?

Erik

-- 
J.A.K. (Erik) Mouw, Information and Communication Theory Group, Department
of Electrical Engineering, Faculty of Information Technology and Systems,
Delft University of Technology, PO BOX 5031,  2600 GA Delft, The Netherlands
Phone: +31-15-2785859  Fax: +31-15-2781843  Email J.A.K.Mouw@its.tudelft.nl
WWW: http://www-ict.its.tudelft.nl/~erik/

- 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/