Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!linus!philabs!pwa-b!mmintl!franka From: franka@mmintl.UUCP (Frank Adams) Newsgroups: comp.arch Subject: Re: Horizontal pipelining Message-ID: <2553@mmintl.UUCP> Date: Fri, 6-Nov-87 10:15:11 EST Article-I.D.: mmintl.2553 Posted: Fri Nov 6 10:15:11 1987 Date-Received: Tue, 10-Nov-87 07:26:54 EST References: <201@PT.CS.CMU.EDU> <8801@utzoo.UUCP> <8758@shemp.UCLA.EDU> <2525@mmintl.UUCP> <9398@pyramid.pyramid.com> Reply-To: franka@mmintl.UUCP (Frank Adams) Organization: Multimate International, E. Hartford, CT. Lines: 29 Keywords: multiple users In article <9398@pyramid.pyramid.com> csg@pyramid.UUCP (Carl S. Gutekunst) writes: |In article <2525@mmintl.UUCP> franka@mmintl.UUCP (Frank Adams) writes: |>Instead, why not have four different execution threads being performed |>simultaneously? This eliminates the dependency checks and latency delays |>inherent in "vertical" pipelining. | |The early UNIVAC 1100-series processors did this. There certainly were depen- |dancy troubles; you could not have any thread manipulating the same operands |as any other thread. I don't see how you could avoid this. There is a fairly standard programming model these days that says that code is always in read-protected memory, and read-write memory is not shared between processes. Some machines more or less require this. If this model is used, there are no dependency problems. |I don't know specifically why Sperry dropped the four-stage parallel |pipeline, although I can guess: it was a lot of iron that was difficult |to use effectively. It doesn't seem like it would be that hard to use effectively in a multi-user environment. A bit of sophistication is required by the operating system, but user programs should be unaffected. My own guess is that this kind of design suffers in the market because it does poorly on standard performance measurements. -- Frank Adams ihnp4!philabs!pwa-b!mmintl!franka Ashton-Tate 52 Oakland Ave North E. Hartford, CT 06108