# How memory address decoders works?

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.

https://i.imgur.com/7HI34dU.jpg

• (How many address bus reads off - how wide an address is more like it.) Nov 19, 2020 at 9:14
• 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. Nov 19, 2020 at 9:18
• (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.) Nov 19, 2020 at 9:21