I am running 32bit ubuntu on 64bit x86 processor (intel). I know that the word size is 64bits in this case but I am little confused about the 32bit OS.
So while I calculate the memory bandwidth, shall I assume that the data bus width of 64 lines will be used and it will exhibit the same performance as the 64bit OS? IOW, I want to better understand the relation between OS width on the architecture width.

For instance, a 64bit operand can be read in single shot with a 64bit wide memory bus. Does this need the support of 64bit OS? With a 32bit OS, will it make two reads (32bits each time) to read the 64bit operand?

2 Answers
2

You shouldn't worry about this.
OS 32-bit vs. 64 bit is deffer only on memory addressing. IN 64-bit you may addres more.

Data loading from memory is independent from OS - it depends on processor architecture.
Better processor may load 128, 256 bits at one memory load.

It is shortest explanation and should be true in 99,9% of programs running on this OS.
0,1% if reserved for programs, that doesn't care about memory aligment when accessing data. But this problem may be addressed in next 99,9% by processor cache.

Summarizing - you shouldn't worry if your OS has enough memory to run all programs.

Applications compiled for a 32 bit OS don't even know that the bus is 64bits large, they will always use the first 32bits only.

Because the processor is NOT running in 64bits mode, your 64bits data will be stored in two distinct registers (say EAX:EDX), reading two distinct parts of the same number, using the first 32bits of the bus.