I put these values of multiplication/division at "eye" , with-out calculation. Keeping in mind that multiplication should enough slow to allow to do old-school optimizations tricks like do 1 or 2 shift + addition for quick multiplications. Also, keeping in mind that the CPU not have a real multiplication unit, only reuses the ALU and internal registers to do the multiplication, so not have special carry-save adders. In this case a 32x32 bit multiplication, using the Booth's algorithm should take :

+ 2 shift operations + 1 NEG operation to form A, S and P in internal 64 bit registers (form Booth's matrix)

+ Do 32 iterations of the add + shift loop

= 2 + 1 + 32*2 = 67 uses of the ALU

This qucik calculation could be interpreted that I did too quick the multiplication operation.

But comparing against real word examples of the 8086/80286/80386 that are of the same time frame period :

- Code: Select all
` Clocks Size`

Operands 808x 286 386 486 Bytes

reg8 80-98 13 9-14 13-18 2

reg16 128-154 21 9-22 13-26 2

reg32 - - 9-38 12-42 2

mem8 86-104 16 12-17 13-18 2-4

mem16 134-160 24 12-25 13-26 2-4

mem32 - - 12-41 13-42 2-4

reg16,reg16 - - 9-22 13-26 3-5

reg32,reg32 - - 9-38 13-42 3-5

reg16,mem16 - - 12-25 13-26 3-5

reg32,mem32 - - 12-41 13-42 3-5

reg16,immed - 21 9-22 13-26 3

reg32,immed - 21 9-38 13-42 3-6

reg16,reg16,immed - 2 9-22 13-26 3-6

reg32,reg32,immed - 21 9-38 13-42 3-6

reg16,mem16,immed - 24 12-25 13-26 3-6

reg32,mem32,immed - 24 12-41

In the 80386 the 32x32 bit multiplication (with registers) are in the range of 8-38 cycles