1,329 views
3 votes
3 votes
A $3\times 8$ decoder with $2$ enable inputs is used to  address $8$ block of memory. What will be the size of each memory block when addressed from a $16$ bit bus with $2$ MSB’s used to enable the decoder?

2 Answers

0 votes
0 votes

It is given that decoder is 3x8 with 2 enable inputs. Now, input lines must be split such that two of them act as enable and only 1 act as input line. As shown in below diagram :

Please note here that 1x8 DEMUX requires 3 select lines. Hence we need to use input line as 3rd select line.

Now we have 16 bits address having 2 bits for ENABLE inputs (A,B) and another bit C I will take for Input line.

So overall I am taking first three bits of address as DEMUX select lines so that it activates one of the 8 output lines at a time, which will select one of the 8 RAM blocks.

A B C                          

First two bits (AB) of the address will act as enable of decoder (because it is as mentioned in question), third bit C will act as input line, and combination of ABC together will activate the respective output line. A is MSB here and C will be LSB.

Now we have 13 bits that can be the maximum possible address bits which can be used for memory. So size of each memory block will be $2^{13}$ bits or $2^{10}$ Bytes or $1KB$

If you want to calculate the address Range :

Block 1 will get selected when ABC=000 and address range will be from 0000000000000000 to 0001111111111111  $[0000-1FFF]$ in Hex

Block 2 will get selected when ABC=001 and address range will be from 0010000000000000 to 0011111111111111 $[2000-3FFF]$ in Hex

Block 3 will get selected when ABC=010 and address range will be from 0100000000000000 to 0101111111111111 $[4000-5FFF]$ in Hex

And so on.... Hope its correct.

0 votes
0 votes

it is given that one 3*8 decoder with 2 enable input used for addressing 8 memory block

in a 16 bit bus 2 msb bits are used for enabling decoder after it we need 3 bits for selecting 1 memory  out of 8 memory block represented by 1 selected decoder

remaining no of bits = 16-2-3=11

these 11 remaining bits are used as byte/word offset of block

so size of 1 block = 2^11Byte = 2KB

 

Note:- here i by default assumed that memory is byte addressable because nothing is mentioned.

pls correct me if i am wrong

Related questions

1 votes
1 votes
1 answer
2
sunita24 asked Dec 28, 2017
897 views
please explain how to start solving such circuital questions..I always get confused..plzz help someone asap.What will be the final output?
0 votes
0 votes
0 answers
3