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.
On
This is anecdotal (I wasn't involved), and because I wasn't involved, my memory is doubly foggy, BUT: Dave Patterson
That would be Dave Ungar :-)
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.
Oddly enough none of the sparc tag stuff turned out to help us with that particular code generator; and the register windows stuff caused so much hassle I think it was ignored as much as possible. It's so long ago now I can barely even recall any details. I do remember a chip step that changed the cache clearing instruction from closed interval to semi-closed so that we had a terrifyingly tricky to debug case where just occasionally the i-cache flush (after generating machine code for a method) didn't flush out the last word any more and so the generated code was wrong *on reload*. I think several weeks of brain-banging resulted.
tim -- tim Rowledge; tim@rowledge.org; http://www.rowledge.org/tim Useful random insult:- One flower short of an arrangement.
Here is what Dave Ungar says he did on the project (among other things): http://www.linkedin.com/in/davidungar
His thesis is online at ftp://sunsite.berkeley.edu/pub/techreps/CSD-86-287.html
It also got turned into a book: http://www.amazon.com/Evaluation-Performance-Smalltalk-Distinguished-Dissert...
Here is some criticism of his results: http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/txt/garbage/...
I like his thesis very much, but there is certainly room to argue with the conclusions, if for nothing else than that the world has changed in the last 20 years.
-Ralph
squeak-dev@lists.squeakfoundation.org