Unidad de gestión de memoria de entrada/salida

Comparación de la unidad de gestión de memoria de E/S (IOMMU) con la unidad de gestión de memoria (MMU).

En informática, una unidad de gestión de memoria de entrada y salida (input–output memory management unit, acrónimo IOMMU) es una unidad de gestión de memoria (MMU) que conecta un bus de E/S con capacidad de acceso directo a memoria (compatible con DMA) a la memoria principal. Al igual que una MMU tradicional, que traduce direcciones virtuales visibles de CPU a direcciones físicas, IOMMU correlaciona direcciones virtuales visibles de dispositivo (también llamadas direcciones de dispositivo o direcciones de E/S en este contexto) a direcciones físicas. Algunas unidades también brindan protección de memoria contra dispositivos defectuosos o maliciosos.

AGP y PCI Express en Intel Architecture y las computadoras AMD.Un ejemplo de IOMMU es la tabla de reasignación de direcciones gráficas (GART) utilizada por las tarjetas gráficas

En la arquitectura x86, antes de dividir la funcionalidad de northbridge y southbridge entre la CPU y Platform Controller Hub (PCH), la virtualización de E/S no fue realizada por la CPU, sino por el conjunto de chips.[1][2]


La IOMMU permite varias mejoras significativas a nivel de sistema:

  • Compatibilidad con dispositivos de E/S heredados de 32 bits en sistemas de 64 bits (generalmente sin necesidad de bufferes de rebote ni costosas copias de memoria).
  • Acceso más seguro de las aplicaciones a nivel de usuario a los dispositivos de E/S seleccionados.
  • Acceso más seguro del sistema operativo invitado de la máquina virtual a los dispositivos de E/S seleccionados.


Además, la IOMMU puede utilizarse para:

  • Reemplazar el mecanismo existente de Tabla de Reasignación de Direcciones Gráficas (GART).
  • Reasignar las direcciones por encima de 4GB para los dispositivos de E/S que no soportan el direccionamiento de 64 bits.
  • Permitir que un sistema operativo invitado que se ejecute en una máquina virtual tenga un control directo y asignado de un dispositivo.
  • Proporcionar un control de granularidad de página del acceso del dispositivo a la memoria del sistema.
  • Permitir el acceso directo de un dispositivo a la E/S del espacio de usuario.
  • Permitir la entrega directa de interrupciones a un sistema operativo invitado.
  • Filtrar y reasignar las interrupciones.
  • Compartir el espacio de direcciones virtuales del proceso con dispositivos periféricos seleccionados.
  • Aislar los dispositivos para evitar que el DMA malintencionado acceda a datos de usuario y del sistema operativo sensibles a la seguridad en la memoria.
  • Aplicar las políticas de seguridad del sistema operativo para el acceso a los datos.[3]

Ventajas

Las ventajas de tener una IOMMU, en comparación con el direccionamiento físico directo de la memoria (DMA), incluyen:

  • Se pueden asignar grandes regiones de memoria sin la necesidad de que sean contiguas en la memoria física: el IOMMU asigna direcciones virtuales contiguas a las direcciones físicas fragmentadas subyacentes. Por lo tanto, a veces se puede evitar el uso de E/S vectorizadas.
  • Los dispositivos que no admiten direcciones de memoria lo suficientemente largas como para direccionar toda la memoria física aún pueden direccionar toda la memoria a través de la IOMMU, evitando los gastos indirectos asociados con la copia de almacenamientos intermedios hacia y desde el espacio de memoria direccionable del periférico.
    • Por ejemplo, las computadoras x86 pueden administrar más de 4 gigabytes de memoria con la función Extensión de dirección física (PAE) en un procesador x86. Aun así, un dispositivo PCI ordinario de 32 bits simplemente no puede direccionar la memoria por encima del límite 4 GiB, y por lo tanto no puede acceder directamente a él. Sin una IOMMU, el sistema operativo tendría que implementar bounce buffers que consumen tiempo (también conocidos como búfers dobles[4]​).
  • La memoria está protegida contra los dispositivos maliciosos que intentan ataques DMA y dispositivos defectuosos que intentan transferencias de memoria erróneas porque un dispositivo no puede leer o escribir en la memoria que no se ha asignado (mapeado) explícitamente. La protección de memoria se basa en el hecho de que el SO que se ejecuta en la CPU (ver figura) controla exclusivamente tanto la MMU como la IOMMU. Los dispositivos son físicamente incapaces de eludir o dañar las tablas configuradas de administración de memoria.
    • En virtualización, los sistemas operativos invitados pueden usar hardware que no está específicamente diseñado para la virtualización. El hardware de mayor rendimiento, como las tarjetas gráficas, usa DMA para acceder directamente a la memoria; en un entorno virtual, todas las direcciones de memoria son reasignadas por el software de la máquina virtual, lo que hace que los dispositivos DMA fallen. IOMMU maneja esta reasignación, permitiendo que los controladores de dispositivos nativos se usen en un sistema operativo invitado.
  • En algunas arquitecturas, IOMMU también realiza reasignaciones de interrupciones de hardware, de forma similar a la reasignación de direcciones de memoria estándar.
  • La paginación de la memoria periférica puede ser apoyada por un IOMMU. Un periférico que usa la extensión PCI-SIG PCIe Address Translation Services (ATS) Page Request Interface (PRI) puede detectar y señalar la necesidad de servicios de gestión de memoria.

Para las arquitecturas de sistema en las que los puertos E/S es un espacio de direcciones distinto del espacio de direcciones de memoria, no se utiliza una IOMMU cuando la CPU se comunica con dispositivos a través de puertos E/S. En las arquitecturas de sistema en las que los puertos E/S y la memoria se asignan en un espacio de direcciones adecuado, una IOMMU puede traducir las direcciones de puerto E/S.

Desventajas

Las desventajas de tener una IOMMU, en comparación con el direccionamiento físico directo de memoria, incluyen:[5]

  • Degradación del rendimiento por sobrecarga de traducción y administración (por ejemplo, paseos de tablas de paginación).
  • Consumo de memoria física para las tablas página E/S añadidas. Esto puede mitigarse si las tablas se pueden compartir con el procesador.

Virtualización

Cuando un sistema operativo se ejecuta dentro de una máquina virtual, incluidos los sistemas que utilizan paravirtualización, como Xen, por lo general no conocen las direcciones físico-host de la memoria a las que accede. Esto dificulta el acceso directo al hardware, ya que si el sistema operativo invitado intenta instruir al hardware para que realice un acceso directo a la memoria (DMA) usando direcciones físicas de invitado, es probable que corrompa la memoria, ya que el hardware no lo sabe. la asignación entre las direcciones físico-huésped y física del host para la máquina virtual dada. La corrupción se evita porque el hipervisor o el sistema operativo host interviene en la operación de E/S para aplicar las traducciones, lo que provoca un retraso en la operación de E/S.

Un IOMMU puede resolver este problema reasignando las direcciones a las que accedió el hardware de acuerdo con la misma tabla de traducción (o una compatible) que se utiliza para asignar la dirección física del invitado a las direcciones físicas del host.[6]

Los dispositivos de E/S cuyos accesos a la memoria son traducidos por la IOMMU sólo pueden acceder a las páginas que están expresamente mapeadas por las tablas de páginas de E/S asociadas, según lo concedido por el hipervisor y el sistema operativo. Por lo tanto, el acceso de los dispositivos de E/S puede limitarse sólo a las páginas a las que los procesos de nivel de usuario tienen legítimamente acceso cuando el dispositivo suministra la información. Esto significa que las operaciones de E/S pueden iniciarse sin la intervención del hipervisor o del sistema operativo.

Además de la traducción de direcciones, habilitar el acceso a dispositivos de E/S a nivel de usuario implica otras consideraciones de diseño, como la reasignación de interrupciones. El software del sistema debe evaluar la necesidad de bloquear en memoria todas las páginas a las que podría acceder un dispositivo de E/S controlado por un proceso de nivel de usuario.


Si un periférico tiene soporte para el protocolo PCI Express ATS e implementa un IOTLB, y además implementa soporte para el protocolo opcional de Solicitud de Página de Periféricos (PRI/PPR), entonces el software del sistema (Sistema Operativo o Hipervisor) es capaz de soportar el acceso a la memoria paginable para los dispositivos de E/S controlados por el nivel de usuario.[3]

Publicaciones específicas

  • AMD ha publicado una especificación para la tecnología IOMMU.[7][3]
  • Intel ha publicado una especificación para tecnología IOMMU como Virtualization Technology for Directed I/O (VT-d).[8]
  • Se ha publicado información sobre el IOMMU de Sun IOMMU en la sección Acceso a la memoria virtual del dispositivo (DVMA) de Solaris Developer Connection.[9]
  • IBM Translation Control Entry (TCE) se ha descrito en un documento titulado Seguridad de partición lógica en IBM eServer pSeries 690.[10]
  • El PCI-SIG tiene un trabajo relevante bajo los términos I/O Virtualization (IOV)[11]​ y Address Translation Services (ATS).
  • ARM define su versión de IOMMU como System Memory Management Unit (SMMU)[12]​ para complementar su arquitectura de virtualización[13]

Véase también

Referencias

  1. «Intel platform hardware support for I/O virtualization». intel.com. 10 de agosto de 2006. Archivado desde el original el 20 de enero de 2007. Consultado el 7 de junio de 2014. 
  2. «Desktop Boards: Compatibility with Intel Virtualization Technology (Intel VT)». intel.com. 14 de febrero de 2014. Consultado el 7 de junio de 2014. 
  3. a b c «AMD I/O Virtualization Technology (IOMMU) Specification Revision 2.62» (PDF). amd.com. 2 de marzo de 2015. Consultado el 5 de enero de 2016. 
  4. «Physical Address Extension — PAE Memory and Windows». Microsoft Windows Hardware Development Central. 2005. Consultado el 7 de abril de 2008. 
  5. Referencia vacía (ayuda) 
  6. «Xen FAQ: In DomU, how can I use 3D graphics». Archivado desde el original el 2 de octubre de 2008. Consultado el 12 de diciembre de 2006. 
  7. «AMD I/O Virtualization Technology (IOMMU) Specification Revision 2.0» (PDF). amd.com. 24 de marzo de 2011. Consultado el 11 de enero de 2014. 
  8. «Intel Virtualization Technology for Directed I/O (VT-d) Architecture Specification» (PDF). Consultado el 17 de febrero de 2016. 
  9. «DVMA Resources and IOMMU Translations». Consultado el 30 de abril de 2007. 
  10. «Logical Partition Security in the IBM eServer pSeries 690». Consultado el 30 de abril de 2007. 
  11. «I/O Virtualization specifications». Consultado el 1 de mayo de 2007. 
  12. «ARM SMMU». Consultado el 13 de mayo de 2013. 
  13. «ARM Virtualization Extensions». Archivado desde el original el 3 de mayo de 2013. Consultado el 13 de mayo de 2013. 

Enlaces externos

Read other articles:

Volkswagen rally car built for competition in the World Rally Championship Volkswagen Polo R WRCSébastien Ogier and co-driver Julien Ingrassia at the 2016 Rally de Portugal.CategoryWorld Rally CarConstructorVolkswagen MotorsportDesigner(s)Heinz-Jakob Neußer (Technical Director)[1]SuccessorVolkswagen Polo WRC (cancelled)Volkswagen Polo GTI R5Technical specifications[2]ChassisReinforced body with welded, multi-point roll cage built to FIA specificationsSuspensionMacPherson-typ...

 

Tumpukan aluminium hasil ekstrusi sebelum diproses lebih lanjut di pabrik. Logam aluminium (atau aluminum) sangat langka dalam bentuk alaminya, dan proses untuk memurnikannya dari batuan sangat kompleks, sehingga keterlibatannya dalam sejarah manusia sebagian besar tidak diketahui. Namun, senyawa tawas (alum) telah dikenal sejak abad ke-5 SM dan digunakan secara luas untuk pewarnaan. Selama Abad Pertengahan, tawas digunakan sebagai zat pewarna yang menjadikannya komoditas perdagangan internas...

 

Città metropolitana di Veneziacittà metropolitana Città metropolitana di Venezia – Veduta LocalizzazioneStato Italia Regione Veneto AmministrazioneCapoluogoVenezia Sindaco metropolitanoLuigi Brugnaro (CI) dal 31-8-2015 Data di istituzione8 aprile 2014 TerritorioCoordinatedel capoluogo45°26′23″N 12°19′55″E / 45.439722°N 12.331944°E45.439722; 12.331944 (Città metropolitana di Venezia)Coordinate: 45°26′23″N 12°19′55″E / ...

Santa Elena Santa Elena (Ecuador) Santa Elena Santa Elena auf der Karte von Ecuador Koordinaten 2° 13′ 35″ S, 80° 51′ 28″ W-2.22645-80.857940Koordinaten: 2° 13′ 35″ S, 80° 51′ 28″ W Basisdaten Staat Ecuador Provinz Santa Elena Kanton Santa Elena Stadtgründung 1531 Einwohner 39.681 (2010) Stadtinsignien Detaildaten Fläche 12 km2 Bevölkerungsdichte 3.307 Ew./km2 Höhe 40 m Stadtgliederung 2 Pa...

 

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يوليو 2023)   ميّز عن إرجاع (إدارة بيانات). أزرار شريط الأدوات في واجهة جنوم: زر إلغاء (باللون الأصفر) وزر الإعادة (باللون الأخضر) شريط المُحرِّر المرئيِّ، يُظهر أزرار

 

Bendera Frisia (rasio 9:13; de facto 2:3) Bendera Frisia (Belanda: Friese vlag atau vlag van Friesland), adalah bendera resmi provinsi Friesland di Belanda. Terdiri dari empat garis biru dan tiga garis putih miring; di garis putih terdapat tujuh pompeblêden merah, berbentuk daun hati lili air kuning. Baju klub sepak bola sc Heerenveen dan Blauhúster Dakkapel didesain mengikuti bendera ini. Simbol Tujuh pompeblêden merah berarti negara laut Frisia pada Abad Pertengahan: daerah independe...

Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: James W. Morrison – berita · surat kabar · buku · cendekiawan · JSTOR James W. MorrisonMorrison pada 1921LahirJames Woods Morrison(1888-11-15)15 November 1888Mattoon, Illinois, Amerika SerikatMeninggal15...

 

Joseph Haydn The Symphony No. 71 in B flat major, Hoboken I/71, is a symphony by Joseph Haydn. It was composed by 1780. Movements The symphony is scored for flute, two oboes, bassoon, two horns and strings. Adagio, 44 – Allegro con brio, 34 Adagio F major, 24 Menuetto & Trio, 34 Finale: Vivace, 44 After dark string sonorities reminiscent of Sturm und Drang in the slow introduction, the Allegro begins with a very light galante theme which is interrupted periodically by more darkly colore...

 

Esta página ou seção foi marcada para revisão devido a incoerências ou dados de confiabilidade duvidosa. Se tem algum conhecimento sobre o tema, por favor, verifique e melhore a coerência e o rigor deste artigo.Considere colocar uma explicação mais detalhada na discussão. Esta página cita fontes, mas que não cobrem todo o conteúdo. Ajude a inserir referências. Conteúdo não verificável pode ser removido.—Encontre fontes: ABW  • CAPES  • Google ...

Coordenadas: 43° 15' 48 N 2° 56' 53 O Esta página cita fontes, mas que não cobrem todo o conteúdo. Ajude a inserir referências. Conteúdo não verificável pode ser removido.—Encontre fontes: ABW  • CAPES  • Google (N • L • A) (Dezembro de 2021) San Mamés Barria Características Local Bilbau, País Basco, Espanha Gramado Grama natural (105 x 68 m) Capacidade 53 289 espectadores Inauguração Data 16 de sete...

 

1990 Indian filmPrathapPosterDirected byV. SomashekharWritten byV. SomashekharProduced byS. Prathibha DeviStarringArjun Sarja Malashri Sudharani DevarajCinematographySundarnath SuvarnaEdited byVictor YadavMusic byHamsalekhaProductioncompanyPrathibhe FilmsRelease date 25 September 1990 (1990-09-25) Running time163 minutesCountryIndiaLanguageKannada Prathap is a 1990 Indian Kannada-language action film written and directed by V. Somashekhar. It stars Arjun Sarja, Malashri and Sud...

 

此條目目前正依照es:Reino de Italia (Sacro Imperio Romano)上的内容进行翻译。 (2020年11月18日)如果您擅长翻译,並清楚本條目的領域,欢迎协助翻譯、改善或校对本條目。此外,长期闲置、未翻譯或影響閱讀的内容可能会被移除。目前的翻译进度为: 20% 意大利王国拉丁語:Regnum Italiae德语:Reichsitaliene義大利語:Reino de Italiae951年—1801年 神圣罗马帝国旗 伦巴第铁王冠 地位神圣罗马...

قرية ال عبيد  - قرية -  تقسيم إداري البلد  اليمن[1] المحافظة محافظة البيضاء المديرية مديرية الملاجم العزلة عزلة الرشدة إحداثيات 14°16′37″N 45°21′54″E / 14.276944444444°N 45.365°E / 14.276944444444; 45.365  السكان التعداد السكاني 2004 السكان 171   • الذكور 86   • الإناث 8...

 

Swedish female curler Anneli BurmanCurler ♀Born (1963-03-13) 13 March 1963 (age 60)TeamCurling clubFalu CC, Falun[1]Curling career Member Association SwedenWorld Championshipappearances1 (1983) Medal record Curling Swedish Women's Championship 1983 Anneli Burman[2] (born 13 March 1963) is a Swedish curler.[3] She is a 1983 Swedish women's champion and three-time Swedish mixed champion (1987, 1989, 1990). Teams Women's Season Skip Third Second Lead ...

 

Z-2 «Георг Тиле» Z-2 Georg Thiele Эсминец «Георг Тиле» Служба  Нацистская Германия Назван в честь Георг Тиле[d] Класс и тип судна Эскадренный миноносец Организация Кригсмарине Изготовитель Deutsche Werke AG, Киль Строительство начато 25 октября 1934 Спущен на воду 18 августа 1935 Введён в эк...

This article is about the American actor. For the rock band named after him, see Kane Hodder (band). American actor, stuntman, and author This biography of a living person needs additional citations for verification. Please help by adding reliable sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately from the article and its talk page, especially if potentially libelous.Find sources: Kane Hodder – news · newsp...

 

Nepali runner Gopi Chandra ParkiPersonal informationBorn (1989-07-07) July 7, 1989 (age 34)[1]EmployerArmed Police ForceHeight1.65 m (5 ft 5 in)Weight60 kg (132 lb)SportCountryNepalSportRunningAchievements and titlesNational finals13th South Asian Games Gopi Chandra Parki (Nepali: गोपी चन्द्र पार्की; born 7 July 1989) is a Nepalese long-distance runner.[2][3] He won a gold medal in the 13th South Asian Games...

 

Anglo-Irish explorer This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (December 2020) (Learn how and when to remove this template message) This article possibly contains original research. Please improve it by...

1969 album concocted by Rolling Stone editors The Masked MaraudersStudio album by The Masked MaraudersReleasedNovember 1969RecordedOctober 1969GenreRockLength33:39LabelReprise/Deity (Original) Rhino (Re-release)ProducerDeity RecordsSingles from The Masked Marauders Cow Pie / I Can't Get No NookieReleased: November 1969 Professional ratingsReview scoresSourceRatingAllmusic[1] The Masked Marauders is a record album released on the Warner Bros./Reprise/Deity label in the fall of 1969...

 

Pelukis MicaliBajak laut yang melompat ke laut berubah menjadi lumba-lumba. Rincian hydria yang dilukis dengan teknik pola hitam oleh Pelukis Micali, k. 510–500 SM.Lahirabad ke-6 SMMeninggalabad ke-5 SMDikenal atasPelukis tembikarGayaPola sosok hitam Pelukis Micali adalah pelukis tembikar Yunani kuno yang melukis tembikar berpola hitam. Dia aktif di Etruria bagian selatan selama periode arkais sekitar tahun 530–500 SM. Nama asli pelukisnya tidak diketahui.[1][2] Nama yang...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!