johnnyw@hubcap.clemson.edu (johnny lee wood) (04/19/91)
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. John Wood johnnyw@hubcap.clemson.edu
marvin@oakhill.sps.mot.com (Marvin Denman) (04/20/91)
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