View Single Post
  #3  
Old 09-04-2011, 05:33 PM
Igo kyu's Avatar
Igo kyu Igo kyu is offline
Approved Member
 
Join Date: Sep 2008
Posts: 703
Default

Quote:
Originally Posted by ZaltysZ View Post
Quote:
Originally Posted by louisv
Remember the days of 16bit ? The 286, 386 ?

Programs were quite a bit smaller then, with an address space of 2 to the 16th power being 64K on the 8088, the first PCs. The 286 and 386 had a bigger space of 1MB, or 20bit of address space.
8088 had 16-bit registers, so only 16-bit long addresses were possible, what gave those 64KB. However, there were also possible to use segmented memory access, which combined segment selector and offset to allow access more memory than 64KB. Hardware had means to use 20-bit address space (1MB), which could be accessible by software via segmented access. Usually 640KB were available to user, and upper region were used by BIOS.

268 and 386 added 24-bit and 32-bit protected modes respectively, whose extended available address spaces to 16MB and 4GB.
That's almost right, but probably due to language differences, it doesn't read quite correctly to me.

Segmented memory addressing was standard on the early IBM compatible PCs.

The Intel 8086 (16 bit) started segmented addressing which gave it one megabyte of address space, then Intel made the 8088 (which was in some ways an 8 bit chip though it used 16 bit registers, as the 8086 and the earlier "8 bit" chips had). Because the 8088 was sort of 8 bit, though it had a one megabyte address space like the 8086, it used cheaper 8 bit support chips, and IBM chose the 8088 for their PC, presumably because the support chips (which wouldn't necessarily come from Intel in the case of either CPU) for the 16 bit 8086 were more expensive.

Segmented memory addressing was such a mess, it gave Intel a legitimate six month lead over the Motorola 68000, but that mess kept running for five or ten years due to "IBM compatibility".
Reply With Quote