From: "Paul G. Allen" <[EMAIL PROTECTED]>

This reminds me of the Ti 99 series of CPUs. They were stackless and had
a memory-to-memory architecture. They only had three hardware registers
- program counter, status register, and workspace pointer. With these
chips, a context switch was up to 4 times faster than on the x86 running
at the same clock speed. A complete context switch could be performed
with a single instruction, and the limiting factor on the number of
contexts was the amount of memory available.

There was no stack or heap to keep track of and operations involving
data in memory were faster than on other systems. It's a shame the CPU
never took off like Intel processors did.


Doesn't sound like this would be a win in today's world. The reason why MIPS and similar architectures are easier to program for and frequently have better compilers is that they have *lots* of registers. More registers is a good thing- your program speeds up the less you have to hit memory. For all of its faults, the best thing Itanium did was add a ton of registers. Yeah, it slows down your context switches, but it speeds up your instruction execute time. Unless you're running only 100-200 instructions between switches, you're better off with lots of registers.

On top of that- the cpu speed:memory speed ratio is increasing. Requiring all instructions to hit memory slows us down to the speed of the memory (in this case, L1 cache). Cache is still slow to read. You'd end up gaining on context switches, but losing on every instruction by being forced to read/write memory instead of registers.

Interesting idea,  but registers won for a reason.

Gabe

_________________________________________________________________
Who's that on the Red Carpet? Play & win glamorous prizes. http://club.live.com/red_carpet_reveal.aspx?icid=REDCARPET_hotmailtextlink3

--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to