Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote