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?
Asked
Active
Viewed 139 times
1
-
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 Answers
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
-
1This 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