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.