## 3 Answers

A ROM cannot be written. So, to implement a $4$-bit multiplier we must store all the possible combinations of $2^4 \times 2^4$ inputs and their corresponding $8$ output bits giving a total of $ 2^4 \times 2^4 \times 8$ bits $= 2048$ bits. So, (**D**) is the answer.

PS: We are not storing the input bits explicitly -- those are considered in order while accessing the output $8$ bits. In this way, by storing all the possible outputs in order we can avoid storing the input combinations.

### 13 Comments

http://www.cs.uiuc.edu/class/fa05/cs231/lectures/review(11-4).ppt

Arjun that page you mentioned does not exist

please can you provide any similar link to clear this concept!

Thanks

buddy

https://cs.illinois.edu/class/fa05/cs231/lectures/review(11-4).ppt

ROM is Read-Only Memory. We can just read from it, not write to it. Hence, all the possible results need to be already stored in the ROM.

A 4-bit multiplier multiplies two 4-bit numbers.

There can be $2^{4}$ such numbers.

So, total possible multiplication pairs could be $2^{4} * 2^{4}=2^{8}$

The result would be max: $(1111)_{2}*(1111)_{2}$

$=> (15)_{10}*(15)_{10}$

$=> (225)_{10}$

And 225 requires 8 bits.

Hence, we potentially need 8 bits for the $2^{8}$ possible combinations.

$=> 2^{8} * 8 bits$

$=> 2^{11} bits$

So, **Option D**

### Edit: Alternatively,

We know that multiplying an $n$ bit number with and $m$ bit number results in a number which is of at most $(m+n)$ bits.

Hence, maximum result size: $8$ bits.

Total combinations: $2^8$

Memory required: $2^{11} bits$

PS: Addition of two $n$ bit numbers results in a max $n+1$ bit number