On 8/9/2006 at 5:03 PM Dave McGuire wrote:
Scott Quinn wrote:
The second part was the general question, which I
guess was a bit too
specific. What computers have you come across that are
really neat and why. OK.- System/3{60,70,90,z} is
neat for it's
processor instruction set, PERQs for the user-microcode.
SGI Origin 2000's are neat for their
CRAYlink/NUMAlink interconnect
system, AXPs for the PALcode idea (sort of a takeoff
of the PERQ).
I had a blast with the CDC STAR-100. Instructions to do almost any thing
you could conceive of an instruction to do. A single instruction to do a
character substring search, with both masks and "near miss" operands. BCD
arithmetic up to 64K digits. Sparse vectors, 256 64-bit registers...a
veritable smorgasbord of instructions, some of which I didn't have the
faintest idea of what they might be good for. Did I mention
bit-addressability in the case of bit vectors?
I once wrote a line editor for use over slow-speed comm lines whose innards
consisted of mostly vector instructions. Input and output files were
mapped into the 64-bit address space (that's right--other than the file
open and close, there are no system I/O calls). Much to my surprise, I
found the same editor being used by the ETA personnel 10 years later. I
didn't know whether to be pleased or depressed that nothing better had been
developed.
Given the very slow speed of scalar instructions, you had to be pretty
clever to vectorize as much of the code as you could. Serquential vector
searches were fastest for most small (< 1000) lists, as was selection sort.
The 100A killed off a lot of the more esoteric instructions, sadly--and it
was much less fun.
Cheers,
Chuck