1

How can 8086 processors (or real mode on later processors) access harddrives larger than 1 MB, when they can only access 1 MB (without expanded memory) of RAM?

Alpha_Pi
  • 383
  • 2
  • 13
  • Because hard drives aren't memory mapped. They don't need address space. – Dark Falcon Jan 05 '16 at 20:48
  • Have a look at the APIs and Interrupts used for accessing drives and you will see that they are addressed on sector level or head / cylinder – Marged Jan 05 '16 at 20:48

1 Answers1

3

Access is not linear (by byte) but by sector. Sector size may be for example 512 bytes. The computer reads sectors to memory as needed.

Cecilio Pardo
  • 1,717
  • 10
  • 13
  • How about flash drives then? Are they also divided in sectors? How would the CPU communicate to the hard drives what part it wants to access? – Alpha_Pi Jan 06 '16 at 00:05
  • 1
    This is unrelated to addressable memory. Even an 8086 processor could send a 32 or 64 bit offset to a device, whether it is a sector number or a linear index. – Cecilio Pardo Jan 06 '16 at 00:09