Popular Searches

download information for Search Optimization  Search Optimization
download information for Search Engine  Search Engine
download information for Adsense  Adsense
download information for RSS  RSS
download information for Blog  Blog
download information for Compression  Compression
download information for Audio  Audio
download information for Video  Video
download information for XML  XML
download information for Screensaver  Screensaver
download information for CSS  CSS
download information for Backup  Backup
download information for Software  Software
download information for Spyware  Spyware



Tags

comparison memory management computing connects capable translates visible virtual addresses physical mapping device called context provide protection devices example graphics



Web Matches

IOMMU - Wikipedia, the free encycloped..
... the I/O memory management unit (IOMMU) to the memory management unit (MMU) ... An example IOMMU is the Graphics Address Remapping Table (GART) used by AGP and ...

IOMMU
IOMMU stands for I/O Memory Management Unit and works very similar to a ... If done without IOMMU, our experience has been that it is very fragile, slow and ...

Advanced Micro Devices
IOMMU Architectural Specification. 1. Advanced Micro Devices, Inc. AMD I/O Virtualization Technology (IOMMU. Specification License Agreement ...

I/O Virtualiza..
AMD's IOMMU design eliminates both of these constraints by providing DMA address ... With an IOMMU, an unmodified driver in a guest OS can directly access its target ...

The Price of Safety: Evaluating IOMMU Performanc..
Without an IOMMU a pe- ripheral device could be programmed to over ... mance degradation depends on the IOMMU. design, its caching architecture, the way it is ...

OpenSolari..
notable exception is SPARC CPUs and SPARC Solaris for which IOMMU has been ... Using an IOMMU provides several benefits including ...



A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z

Search Articles e.g. mp4
 

IOMMU
Comparison of the I/O memory management unit (IOMMU) to the memory management unit (MMU).

In computing, an input/output memory management unit (IOMMU) is a memory management unit (MMU) that connects a DMA-capable I/O bus to the main memory. Like a traditional MMU, that deciphers CPU-visible virtual addresses to physical addresses, the IOMMU takes care of mapping device-visible virtual addresses (also called device addresses or I/O addresses in this context) to physical addresses. Some units also provide memory protection from misbehaving devices.

An example IOMMU is the Graphics Address Remapping Table (GART) used by AGP and PCI Express graphics cards.

AMD has published a specification for IOMMU technology in the HyperTransport architecture. Intel has published a specification for IOMMU technology as Virtualization Technology for Directed I/O, abbreviated VT-d. Information about the Sun IOMMU has been published in the Device Virtual Memory Access (DVMA) section of the Solaris Developer Connection. The IBM Translation Control Entry (TCE) has been described in a document entitled Logical Partition Security in the IBM eServer pSeries 690. The PCI-SIG has relevant work under the terms I/O Virtualization (IOV) and Address Translation Services (ATS).

Advantages

The advantages of having an IOMMU, compared to direct physical addressing of the memory, include:

Large regions of memory can be allocated without the need to be contiguous in physical memory - the IOMMU will take care of mapping contiguous virtual addresses to fragmented physical addresses.Therefore, the use of vectored I/O (scatter-gather lists) can sometimes be avoided.

For devices that do not support memory addresses long enough to address the entire physical memory, the device can still address the entire memory through the IOMMU. This avoids overhead associated with copying buffers to and from the memory space the peripheral can address.

For example, on contemporary x86 computers, more than 4 GiB of memory can be used, enabled by PAE processor's feature. Still, a 32-bit PCI device simply can't address the memory above the 4 GiB boundary, andthereforeit can't perform DMA to it. Without IOMMU, operating system is forced to implement time consuming double buffering (Windows nomenclature) also known as bounce buffers (Linux).

Memory protection from malicious or misbehaving devices: a device can't read or write to memory that hasn't been explicitly allocated (mapped) for it. The memory protection is based on the fact that OS running on the CPU (see figure) exclusively controls both the MMU and the IOMMU. The devices are physically unable to circumvent or corrupt configured memory management tables.

With virtualization, guest operating systems can use hardware that is not specifically made for virtualization. Higher performance hardware such as graphics cards use DMA to access memory directly; in a virtual environment all the memory addresses are remapped by the virtual machine software, which causes DMA devices to fail. The IOMMU handles this remapping, allowing for the native device drivers to be used in a guest operating system.

In some architectures IOMMU performs also hardware interrupt remapping, in a manner similar to standard memory address remapping.

IOMMU is not used if CPU communicates with devices via I/O ports, as opposed to DMA.

Disadvantages

The disadvantages of having an IOMMU, compared to direct physical addressing of the memory, include:

Some degradation of performance from translation and management overhead (e.g., page table walks).

Consumption of physical memory for the added I/O page (translation) tables. This can be mitigated if the tables can be shared with the processor.

IOMMU in relation to virtualization

When an operating system is running inside a virtual machine, including systems that use paravirtualization, such as Xen, it does not typically know the physical addresses of memory that it accesses. This makes providing direct access to the computer hardware difficult, because if the OS tried to instruct the hardware to perform a direct memory access (DMA), it would likely corrupt the memory, as the hardware does not know about the mapping between the virtual real addresses used by the virtualized guest system. The corruption is avoided because the hypervisor or OS intervenes in the I/O operation to apply the translations; unfortunately, this delays the I/O operation.

An IOMMU can solve this problem by re-mapping the addresses accessed by the hardware according to the same (or a compatible) translation table used by the virtual machine guest.



Related Ads





Add to Google Add to Yahoo Add to Furl  Add to del.icio.us  Add to DIGG

Resource: Part or all of the information provided in this section is brought to you via wikipedia and other similar sites. Please repsect their licenses and for more information visit the homepages of these sites.

Links
Freeware Downloads Download Information
RGB Hex Converter Web Colors
Home  Link to Us
Copyright © iFreeware Downloads 2005-2008
All rights reserved