Path: utzoo!yunexus!geac!geaclib!daveb From: daveb@geaclib.UUCP (David Collier-Brown) Newsgroups: comp.arch Subject: Lisp "future" instruction in 88k hardware. Message-ID: <3385@geaclib.UUCP> Date: 5 Nov 88 15:37:07 GMT Article-I.D.: geaclib.3385 References: <7472@winchester.mips.COM> Organization: GEAC Computers, Toronto, CANADA Lines: 41 From article <7472@winchester.mips.COM>, by cprice@mips.COM (Charlie Price): > From the architecture spec: > > Multiply and divide operations are performed by a separate, > autonomous execution unit. After a multiply or divide operation > is started, execution of other instructions may continue in parallel. > The multiply/divide unit continues to operate during cache miss and > other delaying cycles in which no instructions are executed. > > The number of cycles required for multiply/divide operations is > implementation-dependent. The MFHI and MFLO instructions are > interlocked so that any attempt to read them before operations > have completed will cause execution of instructions to be delayed > until the operations finishes. Some of you may recognize this set of behavior as substantially identical to the "future" function in experimental lisp(s): Future takes a computation and returns a function which, when called later will do one of: 1) return the result immediately, because it has been computed concurrently and the computation has completed, or 2) block until the concurrent computation is finished, or 3) compute it itself if it could do it concurrently. The significance of this should be apparent: here is a RISC instruction which can be decomposed into two, independently useful instructions: 1) floating accumulator move (of course) 2) wait for concurrent computation to complete... If the manufacturers see fit to write a generalized MFHI/MFLO instruction, they have a compiler-visible "hook" for not just special-purpose coprocessors, but general-purpose parallellism. Shall we call it MAHI/MALO? Or FUTU? --dave (them 88k guys is smart, harold) c-b -- David Collier-Brown. | yunexus!lethe!dave Interleaf Canada Inc. | 1550 Enterprise Rd. | HE's so smart he's dumb. Mississauga, Ontario | --Joyce C-B