Path: utzoo!attcan!uunet!husc6!uwvax!rutgers!mcnc!ecsvax!urjlew From: urjlew@ecsvax.uncecs.edu (Rostyk Lewyckyj) Newsgroups: comp.arch Subject: Re: Superoptimiser. Message-ID: <5346@ecsvax.uncecs.edu> Date: 5 Jul 88 14:06:44 GMT References: <28200172@urbsdc> <13157@apple.Apple.COM> Organization: UNC Educational Computing Service Lines: 27 In article <13157@apple.Apple.COM>, baum@Apple.COM (Allen J. Baum) writes: > >>Gosh! You guys aren't thinking big enough. How about multiple > >>parallel pipelines to compute all the various instruction threads > >>in parallel and just keep the results of the one that is actually > >>taken? > > > >The IBM 360 model 97 (I always get the model number wrong; > >anyway, one of the early 360s) did this. > > I don't believe that any model of IBM 360 or 370 (including /91, /92, or /195) > ever executed multiple threads and threw away the unused one. The did have If I remember correctly, the machine would decode the addresses of the instructions on both sides of the branch, and then decode the addresses of their operands, and begin fetching these. As soon as the decision on which side of the branch would be taken was decided the machine would abort, throw away, the fetching for that thread. No actual instruction executions were done in parallel. i.e. if one side of the branch was a multiply and the other an add, neither the multiplication nor the addition would be started, just the operands would be sent for if possible. ----------------------------------------------- Reply-To: Rostyslaw Jarema Lewyckyj urjlew@ecsvax.UUCP , urjlew@tucc.bitnet or urjlew@tucc.tucc.edu (ARPA,SURA,NSF etc. internet) tel. (919)-962-9107