A multiplier is a rather wide or complex unit, which only makes sense if you want a high IPC (Instructions Per Clock) or want to do DSP/GPU work (MAD).
If you want to go the many parallel execution units path, you're better off using simple instructions and lots of registers (RISC). ADDC and shift instructions are all that is needed to multiply, and you can simply split the load over multiple execution units.
The more interesting question would be: do you want the program to directly control the execution units, or are you going to create a lot of control logic that makes it transparent to the program? In the first case, the memory bandwidth is almost certainly your bottleneck, in the second it is probably simpler to make some dedicated multiply units.
Btw, you don't actually need branch or conditional instructions, as long as you can use the PC and flags as regular registers. But it's a lot easier.