Design a virtual memory system for a 16 bit virtual space, to accommodate 1G of
ID: 3564099 • Letter: D
Question
Design a virtual memory system for a 16 bit virtual space, to accommodate 1G of physical memory, maximum, and 16G of swap space, maximum. Use 512 byte pages, and a single level page table.
1) Show a diagram, showing the bit path widths, of the VA to PA translation logic.
2) How large are the PTE's so the page table fills a single page?
3) Show the format of your PTE which should contain:
- the physical page frame (if valid)
- the swap slot (if valid)
- a valid bit, signifying the page frame data is valid
- a swaped bit, signifying the swap slot data is valid
- an accessed bit (touched) to help with LRU eviction
- a dirty bit which is set on write to the page
- a read-only bit, which when set will fault on write
- a copy-on-write bit, which when set will fault on write
Explanation / Answer
Virtual Memory is a computer concept where the main memory is broken up into a series of individual pages. Those pages can be moved in memory as a unit, or they can even be moved to secondary storage to make room in main memory for new data. In essence, virtual memory allows a computer to use more RAM then it has available.
If a simple virtual physical address path is adequate for your CPU, you don't need virtual memory.
Most processors have a very simple address path -- address bits come from the PC or some other programmer-visible register, or directly from some instruction, and they are directly applied to the address bus.
Many general-purpose processors have a more complex address path: user-level programs run as if they have a simple address path, but the physical address applied to the address bus is significantly different than the programmer-visible address. This enables virtual memory, memory protection, and other desirable features.
If your CPU needs to do this, then you need something to translate user-visible addresses to physical address -- either design the CPU to connect to some off-chip bank register or MMU (such as the 8722 MMU or the 68851 MMU) or design in an on-chip bank register or MMU.
Have a llok at this:http://www.cs.utah.edu/~rajeev/cs6810/pres/07-6810-13.pdf
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.