11-09-2013, 03:13 PM
Virtual Memory
Virtual Memory.docx (Size: 15.58 KB / Downloads: 18)
INTRODUCTION
The contemporary electronic devices, such as computers, for example, often include virtual images of certain real, physical resources. For example, virtual memory is a memory management technique involving configuring a local memory domain to appear larger than the physical resources in which it is embodied
In order to implement virtual memory, it is necessary for the computer system to have special memory management hardware. This hardware is often known as an MMU (Memory Management Unit). The virtual memory abstraction makes the physical memory available and accessible to running processes. It allows each process its own view of physical memory, called a virtual address space through a set of virtual to physical address mappings. The mappings are arranged or sorted in memory in a structure called the page table. Applications usually deal only with their own data, but an operating system additionally manages the application’s page table as well as its own.
Full Virtual Memory Support in the Hardware Accelerator (HA)
Hardware accelerator (HA) is the use of hardware to perform some function efficiently and faster than is possible in software running on the CPU. Examples of hardware acceleration include blitting acceleration functionality (putting an image from memory to the screen) in graphics processing units (GPUs) and instructions for complex operations in CPUs.
In the new Processor-Hardware Accelerator Shared Environment with Virtual Addressing (PHASE/V), the HA is integrated with the memory management unit (MMU)-based virtual memory system. In this case, not only does it maps just a window of the virtual address space in the form of a direct memory access (DMA) buffer, it also maps the complete virtual address space between HA and CPU. All virtual memory features, such as demand paging, swap space, copy-on-write, and file-backed memory mappings (MMAP), are thus supported both in hardware and software.
A memory map is a structure of data (which usually resides in memory itself) that indicates how memory is laid out. It contains the information about the size of entire memory, and may also provide other details specific to the architecture.
Virtual Memory.docx (Size: 15.58 KB / Downloads: 18)
INTRODUCTION
The contemporary electronic devices, such as computers, for example, often include virtual images of certain real, physical resources. For example, virtual memory is a memory management technique involving configuring a local memory domain to appear larger than the physical resources in which it is embodied
In order to implement virtual memory, it is necessary for the computer system to have special memory management hardware. This hardware is often known as an MMU (Memory Management Unit). The virtual memory abstraction makes the physical memory available and accessible to running processes. It allows each process its own view of physical memory, called a virtual address space through a set of virtual to physical address mappings. The mappings are arranged or sorted in memory in a structure called the page table. Applications usually deal only with their own data, but an operating system additionally manages the application’s page table as well as its own.
Full Virtual Memory Support in the Hardware Accelerator (HA)
Hardware accelerator (HA) is the use of hardware to perform some function efficiently and faster than is possible in software running on the CPU. Examples of hardware acceleration include blitting acceleration functionality (putting an image from memory to the screen) in graphics processing units (GPUs) and instructions for complex operations in CPUs.
In the new Processor-Hardware Accelerator Shared Environment with Virtual Addressing (PHASE/V), the HA is integrated with the memory management unit (MMU)-based virtual memory system. In this case, not only does it maps just a window of the virtual address space in the form of a direct memory access (DMA) buffer, it also maps the complete virtual address space between HA and CPU. All virtual memory features, such as demand paging, swap space, copy-on-write, and file-backed memory mappings (MMAP), are thus supported both in hardware and software.
A memory map is a structure of data (which usually resides in memory itself) that indicates how memory is laid out. It contains the information about the size of entire memory, and may also provide other details specific to the architecture.