Max Memory CPU confusion

closed account (9wqjE3v7)
Lets assume we have a 4 bit microprocessor (4 bit ALUs, 4 bit registers) and an address bus also 4 bits wide. Everywhere I read says that it can access 16 bits (2^4) of memory. Maybe I'm reading it incorrectly though isn't that completely incorrect?

**ASCII Machine Code Interpretation**

ADDR INST

0000 0000
0001 0000
0010 0000
0011 0000
0100 0000
0101 0000
0110 0000
0111 0000
1000 0000
1001 0000
1010 0000
1011 0000
1100 0000
1101 0000
1110 0000
1111 0000

It can access 16 memory addresses, though 64 bits of memory ultimately ((2^4)*4). Am I right?

Last edited on
That is assuming you have a segment register storing the current segment you are in, and that might not even help.
Most likely you are right, though it depends on processor implementation.
It can access 16 memory addresses
Absolutely correct.

though 64 bits of memory ultimately ((2^4)*4).
This is the maximum, yes. More than this would involve such silliness as reading into more than one register. You really don't want the smallest addressable datum to be larger than the largest register.
closed account (9wqjE3v7)
Thank you very much for the answers and clarification guys!
Topic archived. No new replies allowed.