It was thus said that the Great Liam Proven once stated:
On 22 May 2016 at 04:52, Guy Sotomayor Jr <ggs at
shiresoft.com> wrote:
Because the 808x was a 16-bit processor with 1MB
physical addressing. I
would argue that for the time 808x was brilliant in that most other 16-bit
micros only allowed for 64KB physical.
Er, hang on. I'm not sure if my knowledge isn't good enough or if that's a
typo.
AFAIK most *8* bits only supported 64 kB physical. Most *16* bits
(e.g. 68000, 65816, 80286, 80386SX) supported 16MB physical RAM.
Am I missing something here?
It really depends on how you view a CPU, from a hardware or software
perspective. From a software perspective, a 68000 was a 32-bit
architecture. From a hardware perspective, the 68000 had a 16-bit bus and
24 physical address lines and I'm sure at the time (1979) that those
hardware limits were more due to costs and manufactoring ability (a 68-pin
chip was *huge* at the time) (furthermore, the 68008 was still ineternally a
32-bit architecture but only had an 8-bit external data bus---does this mean
it's an 8bit CPU?). The 68020 (I'm not sure about the 68010) had a 32-bit
physical address bus.
You are right in that most 8-bit CPUs supported only 16 bits for a
physical address but there were various methods to extend that [1] but
limited to 64k at a time.
I always considered the 8088/8086 as a sort of hybrid
8/16-bit processor.
Again, internally, the 8088 was a 16-bit archtecture but with an 8-bit
external data bus (and a 20-bit physical address space). The 8086 had a
full 16-bit external data bus (and still 20-bit address space) and thus, was
a bit more expensive (not in CPU cost but more in external support with the
motherboard and memory bus). The 80286 still had an external 16-bit bus but
had 24-physical address lines (16MB).
The 8088/8086 could address 1MB of memory. The reason for the 640k limit
was due to IBM's implementation of the PC, chopping off the upper 384K for
ROM and video memory. MS-DOS could easily use more, but it had to be a
consecutive block. Some PCs in the early days of the clones did allow as
much as 700-800K of RAM for MS-DOS, but they weren't 100% IBM PC compatible
(BIOS yeah, but not hardware wise) and thus, were dead ends at the time.
-spc
[1] Bank switching was one---a special hardware register (either I/O
mapped or memory mapped, depends upon the CPU) to enable/disable
banks of memory.