Tag Bits vs. Spaces
Mark J. Dulcey
Thu, 21 May 1998 14:27:35 -0400 (EDT)
On Thu, 21 May 1998, David Gadbois wrote:
> I don't think it would be worthwhile to have a special parallel type
> extractor. After all, a trip out to memory is a trip out to memory,
> If there is to be an extra load pipe, it would be better to make it
> generally available rather than restrict it to a special use.
If you're doing a real LispM-type design, where there are no type
declarations (and the mindset is that Type Declarations are Considered
Harmful) and all operations are potentially polymorphic, I think that
a special load pipe (and even a special IU just for the type checking)
would be justified; after all, you would be doing one of these type checks
with EVERY memory reference, so it wouldn't go to waste. And if you used a
BiBoP design, you might even want to store the tags in a special on-chip
However, since it doesn't seem likely that anybody will be producing
Lisp-specific silicon anytime soon, the point is moot. The question is how
to best do things on conventional processors. And even L2 cache accesses
are expensive these days; the off-chip buses just don't have enough
bandwidth. Even in the extreme case of on-module L2 caches like the
Pentium II, the cache runs at half the speed of the processor or less.
> BTW, a book that has lots of good information about Lisp
> implementation is "Topics in Advanced Language Implementation", Peter
> Lee, ed., MIT Press 1991, ISBN: 0262121514). In particular, it has a
> paper that pretty much nails the tag bit issues to the floor.
I'll have to look for that. Around here, it should be easy to find; after
all, the MIT Press Bookstore is just across the river.
Mark J. Dulcey firstname.lastname@example.org
Visit my home page: http://www.ziplink.net/~mark/
Visit my house's home page: http://www.ziplink.net/~mark/buttery/