Hi,
Dex4u wrote:@Dex4u - IMHO one of the main benefits of long mode is the extra general registers, which can improve performance a lot for some code. The fact is that by the time most of our OSs are actually useful, single-CPU 32 bit stuff will probably be obsolete.
As a asm programmer the extra registers will come in handy, but the advantage's are out way-ed by the disadvantage's.
For most OS designs, the only disadvantage that I'm aware of is slightly larger binaries - something that is mostly irrelevant considering modern RAM and cache sizes.
Dex4u wrote:I think multicore, will make a bigger difference.
I know no one will agrees with me, but multitasking as we know it will be dead,in years to come, we will give each task its own CPU (may be low end CPU).
As i said a long time ago and was flamed for it.
Multitasking is a invention from when CPU were $3000 a peace.
And as 64bit chips are backward compatable with 32bit, it will be as obsolete as 16bit, but people used too 32bit OS, will not see the big difference they did between 16 &32 bit OS.
I just did "ps -A" as root on the dual-CPU computer I'm using and got a list of 108 processes, but almost all of these processes spend almost all of the time waiting. If this computer had over 100 CPUs, then almost all CPUs would be doing nothing almost all of the time. For this computer, what matters is that when something happens (some network activity, a keypress, etc) any processing that needs to be done is done quickly. Unfortunately, for any one "event" I doubt that more than one of the CPUs is normally used to process it. In fact I'd be surprised if having a second CPU helps with much on this computer except compiling (and then only if "make -j" is used).
The problem, as I see it, is that programmers have been taught to write linear code since the beginning of computers. Multi-tasking helped, but allowed programmers to continue writing their linear code. Multi-threading helps, but unfortunately a relatively large number of programs/programmers ignore it or break their code into a few large threads rather than a lot of small threads, and continue to program without too much change since single-tasking systems.
In the next few years manufacturers will roll out a whole pile of multi-processing hardware, and I wouldn't be surprised if 4 or more CPUs is common in 5 years time, but it's going to take a decade or more for programmers to write code that is designed to get the best performance from these multi-processor systems.
Because of this, for CPU manufacturers it makes much more sense to produce single core, dual core and possibly quad core chips with fast cores than it does to produce chips with lots more cores and reduced "per core" performance. I don't think this will change until programmers and OSs start doing things differently.
Cheers,
Brendan