Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!ukc!mucs!mshute From: mshute@cs.man.ac.uk (Malcolm Shute) Newsgroups: comp.arch Subject: Re: speculative execution Message-ID: <1776@m1.cs.man.ac.uk> Date: 10 Oct 90 15:19:31 GMT References: <1990Oct9.162639.23516@rice.edu> <3431@bnr-rsc.UUCP> <1990Oct9.224312.2031@rice.edu> Sender: news@cs.man.ac.uk Reply-To: mshute@cs.man.ac.uk (Malcolm Shute) Organization: Department of Computer Science, University of Manchester UK Lines: 37 >In article <3431@bnr-rsc.UUCP> bcarh185!schow@bnr-rsc.UUCP (Stanley T.H. Chow) writes: >>There are some occasions when multiple copies of h/w can do better than >>compiler. I believe speculative execution is one. In article <1990Oct9.224312.2031@rice.edu> preston@titan.rice.edu (Preston Briggs) writes: >Given the same number of functional units, with same latencies, >same number of registers, ... >I believe I can write a compiler that will make code run >faster than hardware that does speculative execution. On the face of it, since we are all using Turing Machines with a nifty user interface, we can all do the same thing. If I can do 'X' in a lot of hardware, then you can also do the same 'X' with a little bit of hardware, but with a software simulation of my hardware for your machine. However, the hardware-ish (execution-time) solution has a major advantage over the software-ish (compile-time) solution: it can make all of its scheduling decisions dynamically, as the needs arise. A batch system can schedule its work load optimally before embarking upon the run; but a real-time system can do almost as good a job on the fly, and be far more flexible with it. Speculative execution surely is just an extension of scheduling. When the scheduler has handled every job which it has been asked to schedule, and finds that there are still processors lieing idle, it looks around for jobs which aren't yet scheduled but which might be needed in the near future. (It's a bit like thinking of a scheduler working down from the jobs with really high positive priorities, all the way down to those with low (zero) priority, and finding that there are still processing resources to spare, going on the schedule those with the least negative of priorities!) -- Malcolm SHUTE. (The AM Mollusc: v_@_ ) Disclaimer: all