A forum for people who enjoy electronics as a hobby.
How does a 16-bit processor reference megabytes of memory? A processor with a 16 bit address can only reference 65,536 addresses of memory. How do we specify upper address bits to get to mega-bytes of memory? Memory management chips. Just as an example we will take the upper four address lines and use them to specify one of sixteen 12-bit registers. We load these registers with a value that will become the upper address lines to memory.
We start from reset with memory management turned off. Set up memory management registers as we want, then turn on memory management. In our example we would reference memory in banks of 4K (0 to 0xFFF) with a maximum address of 0xFF FFFF, 16 mega-bytes.
We might assign a block or more of memory to a certain user or program. Since the processor can only do one thing at a time the kernel might spend so many seconds on each user or program. System resources must be built to accommodate multiple tasks or users. We need not share this time equally. We can give one user more time than another.