I keep seeing 3 X 8, 4 X 16, etc. kind of decoders explained on youtube

4 is the input (address bus) and 16 is the output. 4 X 16 can only access 16 unique addresses.

What if I have thousands of memory address like 4096, 65,536, etc.

How many address bus and output is required in these decoders?

. . . .

If I put 12 bits address in a "12 x 12 encoder" it will need to output the same value to able to access it in 4,096 unique addresses.

But I if reduce the number of the input (address bus) e.g 8 x 12, then I have limited the possible addresses I can access since 8 bits can only output 256 unique values.

Which is what 3x8, 4x16 decoders I'm seeing are like. So why the need of decoder?

. . . . . .

Let's say I have a memory with 4,096 addressable location, doesn't matter how wide those memory addresses are (8 bit wide, or 16, or 64) I only care about their location.

To be able to locate all the addresses specifically, I will need 12 address bus for the address encoder since 12 bit can have 4,096 unique values. Right?

Same if I have 65,536 memory addresses, I'm gonna need 16 address bus since 16 bits can have 65,536 values.

So 2 billion (2,147,483,647 or 2 GB) memory address needs 32 address bus?

So the address encoder will look something like this for 4,096 memory addresses? Still unsure how many output needed though.


  • $\begingroup$ (How many address bus reads off - how wide an address is more like it.) $\endgroup$
    – greybeard
    Nov 19, 2020 at 9:14
  • 1
    $\begingroup$ This is more of a digital circuitry question than a computer science one.(Signal) Bus used to be used for a group of signals with more than one destination, if not sources. An address decoder would take (part of) an address and generate signals to enable at most one (output/signal) driver (of, e.g, a memory component) to drive the level of a (data) bus. (Memory) Arrays needed address decoders not as wide: one each row and column decoders to enable just one component. With many columns, data selectors were/are preferred over enabling one of many drivers to a single line. $\endgroup$
    – greybeard
    Nov 19, 2020 at 9:18
  • $\begingroup$ (I keep seeing 3 X 8, 4 X 16, etc. kind of decoders explained on youtube make a conscious decision how to spend your time.) $\endgroup$
    – greybeard
    Nov 19, 2020 at 9:21


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.