edited by
24,595 views
33 votes
33 votes

A micro program control unit is required to generate a total of $25$ control signals. Assume that during any micro instruction, at most two control signals are active. Minimum number of bits required in the control word to generate the required control signals will be:

  1. $2$
  2. $2.5$
  3. $10$
  4. $12$
edited by

6 Answers

Best answer
38 votes
38 votes

The best sense I can make of this question is that you want to transmit up to $2$ simultaneous signals out of a choice of $25$, and ask how many bits you need for that.
 
One solution would be to have $2$ groups of  $5-bits$, each can send one of $31$ signals (or the absence of signal). But it is not optimal.  The number of different states is

$1 \text{(no signal)} + 25 \text{(one signal)} + (25\times 24/2) \text{(two signals)} = 326\text{ states}.$  

You can transmit any of these states over $9 -bits$.  But it is more complex to encode/ decode, adding an extra bit would probably cost less.
Hence C is correct option.

Reference: https://www.ocf.berkeley.edu/~wwu/cgi-bin/yabb/YaBB.cgi?board=riddles_cs;action=display;num=1354778770

edited by
55 votes
55 votes
To generate 25 different control signals 5 bits are required....at any time atmost 2 signals are active..so control word length=5+5=10 bits
15 votes
15 votes
since the question is talking about the minimum bits for control signals, it is only possible if we assume vertical microprogrammed. Now in vertical we take a decoder and with the help of decoder in order to generate 25 signal we require at least 5 bits, but with this we can generate only 1 signal to generate 2 signals we have to have other 5 bits thus all the combination of 2 signal can be generated.
5 votes
5 votes

The question says 

A micro program control unit is required to generate a total of 25 control signals. Assume that during any micro instruction, at most two control signals are active

 Here at most means the number of signals that can be active at a time can be 1 or 2 and we also have to consider the case when no signals are active.

As minimum number of bits is asked so we will go for vertical micro programming. There are 25 control signals any 2 at most can be active so no. of ways this can happen =

$^nC_0\ +\ ^nC_1\ +\ ^nC_2 $ here n = 5 so we get the value as 326 ways.

Now, 9 0s will represent no signal Let us try to divide the rest 325 ways on the basis of number of signals active (1 or 2) at a time.

Let's say we are using first and second bit to represent 1 active and 2 active signal.

CASE 1: Let us consider the first 2 bits as 10 represent "1 signal is active at a time" and 11 represents "2 signals are active at a time ".  Now we can see that we are left with 7 bits so no. of control signals in which 1 signal is active is $2^7 = 128$. Similarly, no. of control signals with 2 signals active at a time is also $128$. But the number of control signals we get for "2 signals are active at a time " is 300. so, we cannot use this process.

CASE 2: Let us consider 01XXXXXXX for "1 signal is active at a time" and 1XXXXXXXX for "2 signals are active at a time ". Even in this case we are getting the number of control signals for which 2 signals are active as $2^8 = 256$. So, we can see that we need to add an extra bit in order to differentiate between the two types (1 and 2) of control signals. 

 

So, answer is (C) 10 bits

 

Answer:

Related questions

36 votes
36 votes
5 answers
2
Kathleen asked Oct 9, 2014
14,924 views
A computer system has a three-level memory hierarchy, with access time and hit ratios as shown below:$$\overset{ \text {Level $1$ (Cache memory)} \\ \text{Access time = ...