@Hammer
True, it normaly does, however, CPUs are described as having certain data paths. This refers to how many bits of information can travel in parallel at one time.
I was commenting on the article misrepresenting this. It is not 16 bit that addresses 1MB of memory at all.
For example, a 16-bit data path is a 16 wire path on which 16 bits of information can travel at any time.
This results in roughly 2 bytes of information processed at a time or 2 x 8 bits = 16 wires or even 2x2 bytes because 1 byte = 8 bits.
Therefore, such a CPU is said to be a 16-bit CPU. Today's CPU's can handle much more traffic mainly because they are 32 bit or 64.
However the address bus is different than the above data bus.
The address bus is the wire path that carries addressing information that says where in the computer's memory to look for certain data.
Each wire can carry one bit of information.
Since computers think in binary (0's and 1's), a 2-bit address bus would provide four addresses (00, 01, 10, 11). A 3-bit bus would provide 8 addresses, and so on. The point of all this is that the address bus built into the CPU dictates how much memory the computer can have.
A 286 has a 24-bit address bus, thus providing 16,777,216 addresses. This means the 286 CPU can only address 16 MB of memory. The 386 and 486 both have 32-bit address buses which provide 4,294,967,296 addresses. These processors can address 4,096 MB of memory, even though no motherboards have enough slots to hold this much memory.
SO if we want to find out how much addressing we need for 1 MB of memory, it's quite simple really
2^20 = 1048576 bits
So if we go by your train of thought, being the internal path/width of memory addressing, the 8088 is actually a 20 bit CPU

Providing we are still talking in bits of information that can be accessed here.
