Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!gatech!hubcap!jps From: jps@cat.cmu.edu (James Salsman) Newsgroups: comp.parallel Subject: SIMD Extentions Summary: What We Really Need is a more powerful Processing Element Message-ID: <5886@hubcap.clemson.edu> Date: 30 Jun 89 15:44:39 GMT Sender: fpst@hubcap.clemson.edu Lines: 46 Approved: parallel@hubcap.clemson.edu I really hate having to deal with indirect addressing on most SIMD machines. I wish someone would build a SIMD array using PE's with address buffers. Just one tiny address buffer per processor is all I want... nothing fancy. As long as *ALL* the memory addresses have to come over the global instruction stream and thus are the *SAME* for each element, a lot of potential processing power is going to waste! For example, on the Connection Machine in *Lisp, indirect aref!!'s take FOR EVER. This is SERIOUSLY slowing down the Production System that I wrote in *Lisp (regardless, it's faster than CMU/Soar's Production System Machine or any other implementation of a production system that I've heard about.) TMC has added somthing called "sideways arrays" to help indirect addressing, but the *Lisp manual is totally obscure (so what else is new) and from what I can tell, it looks like "sideways" means "spread out over several physical processors." Ack/Pft! The way I would hack an address buffer in to the CM is by employing a shift register added to each PE. (1) Add a new nanoinstruction pin [or two] that selects memory input to the ALU between "Address A [or B]" from the instruction pins and the contents of the indirection register. (2) Add a new nanoinstruction pin that causes the output from the ALU to be shifted into the indirection register. That's all there is to it. Two or three new pins, a shift register, and PE memory indirection takes 13 nanocycles instead of a zillion. I am sure that a similar thing could be done to other SIMD architectures. If anybody thinks that indirect addressing is not worth a register and a couple of new nanopins. :James P.S. If anyone wants to use this idea :-) it's free -- I think patents are morally wrong. -- :James P. Salsman (jps@CAT.CMU.EDU)