Re: Infinity (to the nearest integer)
"Jonathan S. Shapiro" <[email protected]>
| Newsgroups | gmane.comp.lang.e.general |
|---|---|
| Message-ID | <[email protected]> |
It's noteworthy that the tag bits in AS/400 were ultimately removed. The initial conversion of the hardware to PowerPC used a variant processor with tagged registers, but dropped tags on the memory. A later iteration shifted to the conventional PowerPC implementation, eliminating the need for a non-commodity processor. I'm not aware of any performance loss resulting from this. Frank Soltis could be asked and would probably be willing to comment. This was possible because the AS/400 architecture is, in effect, a low-level language-style virtual machine specification, where compilation is performed at segment load time. The case for tags in the integer unit is much weaker than the case in the floating point unit. The side computations necessary to maintain the tags are relatively more straightforward and can be performed in the ALU if the architecture has suitable conditional move instructions (most importantly conditional move if register is [not] zero) and/or multiple condition codes. Andy Glew (and others) have observed that tag bits can be implemented using commodity DRAMs if the memory controller is tweaked. Basically, the bits can be stored in a side bank. The caches still need to be modified to add the extra bit, but caches tend to be full-custom logic anyway, so concerns about commodity-based design aren't as intensive there. shap _______________________________________________ e-lang mailing list [email protected] http://www.eros-os.org/mailman/listinfo/e-lang