For example, Intel 8086 has 20-bit address bus. The maximum number of addresses which can be accessed by the processor is 2^20 ~ 1MB. So is 1MB the maximum size of RAM or harddisk? If 1MB is RAM then how is the secondary memory accessed by the processor?
Asked
Active
Viewed 111 times
0
-
2disk is accessed by sending commands to the hard-drive controller; disk space isn't memory-mapped into physical address space by hardware. – Peter Cordes Feb 03 '20 at 16:19
-
Also, some hardware and architectures have banking/windowing support. You could selectively map a block from a larger memory into the cpu address space. See for example [PAE](https://en.wikipedia.org/wiki/Physical_Address_Extension) – Jester Feb 03 '20 at 16:21
-
3The limit is placed on the size of the address space, not on the size of memory! For example, even with a 20 bit address bus, 8086 based computers were able to access a lot more RAM through bank-switching methods such as [EMS](https://en.wikipedia.org/wiki/Expanded_memory). – fuz Feb 03 '20 at 16:24
-
@Barath The 8086 processor has no limit in this regard. The actual maximal disk size depends on the controller, BIOS, and operating system used. For example, here are some [disk size limits](https://www.tldp.org/HOWTO/Large-Disk-HOWTO-4.html) for different configurations of PC-compatibles. – fuz Feb 03 '20 at 16:26
-
Thanks! I started learning about 8086 recently and was confused a bit. Cool! Now I got some idea. – Barath Feb 03 '20 at 16:45
-
1@barath 8086 is particularly weird in this regard as there have been many different techniques in the past to surpass the limits of the architecture. Due to the multitude of possibilities, the general answer to most “can xyz be done” questions is “it depends.” – fuz Feb 03 '20 at 16:49