On Tue, May 22, 2007 at 03:29:52PM -0700, Brad Fuller wrote:
Along those lines, is there any contemporary non-Von Neuman processor architecture that would be better suited for Smalltalk? Perhaps to reduce power and to streamline OO architectures. I remember reading Dan and Alan mentioning the handy use of microcoding processors at Xerox to help their work. I also recall a processor that was built for OO but I can't find my notes. Anyone?
Then Matthew Fulmer wrote:
Jecel is the local expert in processors. You should check out his site: http://www.merlintec.com:8080/hardware
He and I will probably be working collaboratively on implementing one of those designs (we are both starting a Master's degree at the same time, and we are planning to work together on the same project)
This is anecdotal (I wasn't involved), and because I wasn't involved, my memory is doubly foggy, BUT: Dave Patterson at Berkeley ran a project for several years called SOAR: Smalltalk On A RISC. For openers, he ported Smalltalk to the VAX under Berkeley UNIX by writing his own VM out of the Blue Book and running a Xerox image on it. He did this in order to instrument the VM so he could figure out how to help it along in hardware. Then he ported it to Suns when they came along, using SunView.
I was working at Rand and we had a Smalltalk license, so I grabbed the code and put it up on an early Sun. Doing so taught me a valuable lesson on the dangers of too much error recovery in code (ask me about this one: it's a pip!), but gave me a very nice Smalltalk on a UNIX.
Dave built the SOAR, and to his surprise found that very little of the additional hardware he contemplated did very much good: Smalltalk ran about as well on a regular RISC as it did on his "optimized" hardware, at least in emulation. So the SOAR chip he and his students ended up building was a simple RISC with, perhaps, one additional tag bit to help with garbage collection, or something like that.
Years later, Sun came by and said, "We're sick to death of the 68000 architecture. We need a RISC. Got anything handy?"
"Well," says Dave, "It just so happens..." ...and pulled the masks for the SOAR off the shelf.
This turned into the SPARC architecture.
So, if you ever wondered why ParcPlace/Objectworks Smalltalk, and other Smalltalks that do JIT compiling of methods into native code, do so well on SPARC machines, now you know.
Mike O'Brien
P.S. I take no responsibility for the truth of any of this, but this is my recollection.