Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!oakhill!marvin From: marvin@oakhill.sps.mot.com (Marvin Denman) Newsgroups: comp.sys.m88k Subject: Re: A question about Mitch Alsup's June 1990 article Keywords: M88k Message-ID: <1991Apr19.202828.18958@oakhill.sps.mot.com> Date: 19 Apr 91 20:28:28 GMT References: <1991Apr19.135732.27609@hubcap.clemson.edu> Reply-To: cs.utexas.edu!oakhill!marvin (Marvin Denman) Organization: Motorola Inc., Austin, Texas Lines: 36 In article <1991Apr19.135732.27609@hubcap.clemson.edu> johnnyw@hubcap.clemson.edu (johnny lee wood) writes: > >In the June 1990 IEEE Micro Mitch Alsup has an article entitled >Motorola's 88000 Family Architecture. On page 59 he discusses the >floating point multiply pipeline which performs integer and floating point >multiplication. The first stage multiplies one 32 bit operand by the >low-order 12 bits of the other operand. The second stage multiplies the >middle-order 10 bits and the third stage the high-order 10 bits. Then >he states Floating point multiplication continues with ..... This >implies to me that integer multiplication goes to the last stage, which the >multiply and arithmetic unit have in common, after the third stage. > >Now for the question. The MC88100 users manual has a diagram that shows >the integer multiply only going through the second stage of the multiply >pipe and then on to the last stage which the arithmetic and multiply >pipe have in common. Two stages in the multiply pipe is not enough to >perform the three operations listed above, though. Any help is greatly >appreciated. The reason for your confusion is that the multiply actually begins during the FP1 shared stage in the pipeline. Some control circuitry in this stage is shared between the floating point pipes, but execution datapaths are not shared. The multiplier does the first 12 bits of multiply during this stage if it is a multiply instruction, and if it is for the add pipeline, alignment shifting is done. The second and third stages of the multiply array are done during the next two clocks (Assuming the pipe does not stall). After the third stage of the multiplier array (MUL3 in the manual), integer multiplies take an early exit to the writeback stage (FPLAST in the manual). Floating point multiplies must continue on to be accumulated fully and rounded. -- Marvin Denman Motorola 88000 Design cs.utexas.edu!oakhill!marvin