梦见老公回来了是什么征兆| 黑色素瘤是什么| 感冒有什么症状| 碳14阴性是什么意思| 拿什么东西不用手| 什么时候量血压最准确| 孕妇缺铁性贫血对胎儿有什么影响| 什么是996| 大肠炒什么菜好吃| 倾巢出动是什么意思| 红月亮是什么兆头| 71年属猪是什么命| 孩子不说话挂什么科| 权衡利弊是什么意思| 每天跑步对身体有什么好处| 山西人喜欢吃什么| 边界感是什么意思| 令人唏嘘是什么意思| 什么的石榴| 什么什么多彩| 天仙配是什么剧种| 招财进宝是什么意思| 老人大便失禁是什么原因| 益生菌和益生元有什么区别| 头麻是什么原因| 钱癣用什么药膏最好| 肌酐300多属于什么期| 为什么很多人不去庐山| 眼睛屈光不正什么意思| 频繁流鼻血是什么原因| 什么时候血压最高| 菱角什么时候上市| lucy是什么意思| 文定之喜是什么意思| 低热是什么症状| 生旦净末丑分别指什么| 孕妇血压低吃什么能补上来| 喘不上气吃什么药见效| 肌无力是什么症状| 什么是化学阉割| 空气净化器什么牌子好| 肾结石有什么症状| 气喘是什么原因| 肺结节吃什么中药| 女生安全期什么意思| 宝宝喜欢趴着睡觉是什么原因| 牙齿酸软是什么原因| 收缩压偏高是什么意思| vm是什么意思| 什么是佝偻病| 双性人什么意思| 咳嗽吃什么药效果好| f00d中文是什么意思| 每次睡觉都做梦为什么| 红色加蓝色是什么颜色| 八月二十二是什么星座| 吃了小龙虾不能吃什么| 阳历6月21日是什么星座| 怎么判断脸上是什么斑| 秦始皇什么星座| 中药为什么那么苦| 什么样的充电宝能带上飞机| 遇上方知有什么意思| 试管婴儿什么价格| 补气血吃什么最好最快| 什么血型不招蚊子| 见异思迁什么意思| 志趣相投是什么意思| 驻马店古代叫什么| 全会是什么意思| 什么防晒霜好用| vs什么意思| 梦见栽树是什么预兆| 肝内小钙化灶是什么意思| 胃炎吃什么药好使| 山宗读什么| 时柱比肩是什么意思| 孩子嗓子有痰吃什么药| lover是什么意思| 百花齐放是什么生肖| 廿年是什么意思| 立夏什么时候| 手指上的月牙代表什么| 客厅挂钟放在什么位置好| 昔字五行属什么| CRL是胎儿的什么意思| 结节有什么症状| 什么能让虱子卵脱落| 高血压吃什么| 烧伤的疤痕怎么去除用什么法最好| 手术后可以吃什么水果| 宝宝舌苔白厚是什么原因| 羁押是什么意思| 幽冥是什么意思| 高筋面粉是什么意思| 胆囊炎吃什么药效果最好| 经常喝柠檬水有什么好处和坏处| 东吴是现在的什么地方| 小腿灼热感是什么原因| 湿厕纸是干什么用的| 傲慢表情是什么意思| 雄激素是什么| 孕妇吃什么| 捌是什么数字| 唐塞是什么意思| 男孩子断掌有什么说法| 体内火气大吃什么降火| 昂热为什么认识路鸣泽| 孕妇梦到老公出轨什么意思| 字母圈是什么意思| 梦见舅舅是什么意思| 存货是什么| 杨桃什么季节成熟| 什么叫猥亵| 1014是什么星座| 喵喵喵是什么意思| 为什么老是掉头发特别厉害| 西洋菜是什么菜| 心动过缓是什么意思| 二氧化碳分压高说明什么| 儿童正常体温在什么范围| 婴儿黄疸高有什么影响| 芒果和什么相克| 一个鸟一个衣是什么字| 子宫内膜薄是什么原因| 颞下颌关节挂什么科| 儿童肚子痛挂什么科| 草莓是什么意思| 溶栓治疗是什么意思| 红红的什么| 货号是什么| 低血糖是什么原因引起的| 备孕检查挂什么科| 酒后喝什么饮料比较好| 5月15日什么星座| 狐狸的尾巴有什么作用| 腿上紫色血丝什么原因| 大学是什么学历| 孤僻的人给人什么感觉| 权衡利弊的意思是什么| 胃酸是什么颜色的| 拉夏贝尔属于什么档次| 吃什么油最健康| 窦性心律逆钟向转位是什么意思| 鲁蛇是什么意思| 4月7日什么星座| May什么意思| 什么食物含有维生素b| 弱阳性是什么原因| 副高相当于什么级别| 脂肪肝吃什么食物好| 去乙酰毛花苷又叫什么| 筱是什么意思| 生日送百合花代表什么| 伊朗是什么民族| 射手男喜欢什么样的女生| 金刚石是由什么构成的| 尿素氮是什么| 71年的猪是什么命| 乙肝第二针最晚什么时候打| ast是什么意思| pick是什么意思| 能力很强的动物是什么| 虚岁28岁属什么生肖| 什么叫应激反应| 拉肚子吃什么药好| 巴子是什么意思| 霉菌用什么药效果好| 乳腺导管扩张吃什么药| 小孩子流鼻血是什么原因引起的| 经常胃胀是什么原因| 什么叫活佛| 腹腔积水是什么原因造成的| 梦见下牙掉了是什么征兆| 多囊挂什么科| 去医院测血糖挂什么科| 胃疼是什么病| 15年是什么婚| 精液有血是什么原因| 梦见已故朋友什么预兆| 名字是什么意思| 陈皮是什么皮| 什么时候喝牛奶效果最佳| 1.17是什么星座| 黄色是什么意思| 中耳炎去药店买什么药| 什么学步| 属相兔和什么属相最佳| 蚕丝衣服用什么洗最好| 白兰地属于什么酒| 蜻蜓属于什么类动物| 海带属于什么植物| 治胃病吃什么药| 血糖高吃什么主食| 五行火生什么克什么| 16是什么生肖| 享受低保需要什么条件| 早上六点是什么时辰| 人为什么会发热| 单核细胞比率偏高是什么意思| 香菇吃多了有什么危害| 近亲为什么不能结婚| 胃烧灼吃什么立马缓解| 怀孕三个月吃什么对胎儿好| 嗔恨心是什么意思| 港澳通行证办理需要什么材料| 飞机上什么东西不能带| 膝关节疼痛吃什么药好| 豫字五行属什么| 掉头发吃什么好| 哪些动物的尾巴有什么作用| 心脏房颤吃什么药| 成功的反义词是什么| 黑匣子是什么意思| 哎呀是什么意思| 梦见梅花鹿是什么预兆| 缺铁有什么症状| 上市公司是什么意思| ag是什么意思| 六八年属什么生肖| 老人流口水是什么原因| 什么是真心| 龟头敏感吃什么药| 娇羞是什么意思| 督察是什么级别| 妊娠试验阴性是什么意思| 宋小宝得了什么病| spi是什么意思| 什么时候打耳洞最好| 小孩掉头发是什么原因| dhc是什么| 叶公好龙是什么生肖| 公务员属于什么行业| 济公叫什么名字| 修容是什么意思| 名分是什么意思| 口腔有异味是什么原因引起的| 汪字五行属什么| 系统性红斑狼疮不能吃什么| 屁股出血什么原因| 为什么养鱼双数是大忌| 脚气病缺什么维生素| 福兮祸兮是什么意思| 螃蟹和什么不能一起吃| 胃不好吃什么好消化又有营养| 口蘑不能和什么一起吃| 眼睛为什么会近视| burberry是什么牌子| 鹿下面一个几字读什么| 得了破伤风是什么症状| 维生素c阴性什么意思| 哮喘咳嗽吃什么药好得快| 杯弓蛇影告诉我们什么道理| 危日是什么意思| 第一次要注意什么| 喜面是什么意思| 什么是智齿| g代表什么单位| 淤青用什么药| 口腔疱疹用什么药| 回苏灵又叫什么| 布洛芬吃多了有什么副作用| 马后面是什么生肖| 皮革胃是什么意思| 百度Jump to content

加大通报力度 西安纪委对340余责任人追责问责

From Wikipedia, the free encyclopedia
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) connecting a direct-memory-access–capable (DMA-capable) I/O bus to the main memory. Like a traditional MMU, which translates CPU-visible virtual addresses to physical addresses, the IOMMU maps device-visible virtual addresses (also called device addresses or memory mapped I/O addresses in this context) to physical addresses. Some units also provide memory protection from faulty or malicious devices.

An example IOMMU is the graphics address remapping table (GART) used by AGP and PCI Express graphics cards on Intel Architecture and AMD computers.

On the x86 architecture, prior to splitting the functionality of northbridge and southbridge between the CPU and Platform Controller Hub (PCH), I/O virtualization was not performed by the CPU but instead by the chipset.[1][2]

Advantages

[edit]

The advantages of having an IOMMU, compared to direct physical addressing of the memory (DMA), include[citation needed]:

  • Large regions of memory can be allocated without the need to be contiguous in physical memory – the IOMMU maps contiguous virtual addresses to the underlying fragmented physical addresses. Thus, the use of vectored I/O (scatter-gather lists) can sometimes be avoided.
  • Devices that do not support memory addresses long enough to address the entire physical memory can still address the entire memory through the IOMMU, avoiding overheads associated with copying buffers to and from the peripheral's addressable memory space.
    • For example, x86 computers can address more than 4 gigabytes of memory with the Physical Address Extension (PAE) feature in an x86 processor. Still, an ordinary 32-bit PCI device simply cannot address the memory above the 4 GiB boundary, and thus it cannot directly access it. Without an IOMMU, the operating system would have to implement time-consuming bounce buffers (also known as double buffers[3]).
  • Memory is protected from malicious devices that are attempting DMA attacks and faulty devices that are attempting errant memory transfers because a device cannot read or write to memory that has not 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.
    • In 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 memory addresses are re-mapped by the virtual machine software, which causes DMA devices to fail. The IOMMU handles this re-mapping, allowing the native device drivers to be used in a guest operating system.
  • In some architectures IOMMU also performs hardware interrupt re-mapping, in a manner similar to standard memory address re-mapping.
  • Peripheral memory paging can be supported by an IOMMU. A peripheral using the PCI-SIG PCIe Address Translation Services (ATS) Page Request Interface (PRI) extension can detect and signal the need for memory manager services.

For system architectures in which port I/O is a distinct address space from the memory address space, an IOMMU is not used when the CPU communicates with devices via I/O ports. In system architectures in which port I/O and memory are mapped into a suitable address space, an IOMMU can translate port I/O accesses.

Disadvantages

[edit]

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

  • 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.
  • In order to decrease the page table size the granularity of many IOMMUs is equal to the memory paging (often 4096 bytes), and hence each small buffer that needs protection against DMA attack has to be page aligned and zeroed before making visible to the device. Due to OS memory allocation complexity this means that the device driver needs to use bounce buffers for the sensitive data structures and hence decreasing overall performance.

Virtualization

[edit]

When an operating system is running inside a virtual machine, including systems that use paravirtualization, such as Xen and KVM, it does not usually know the host-physical addresses of memory that it accesses. This makes providing direct access to the computer hardware difficult, because if the guest OS tried to instruct the hardware to perform a direct memory access (DMA) using guest-physical addresses, it would likely corrupt the memory, as the hardware does not know about the mapping between the guest-physical and host-physical addresses for the given virtual machine. The corruption can be avoided if the hypervisor or host OS intervenes in the I/O operation to apply the translations. However, this approach incurs a delay in the I/O operation.

An IOMMU solves this problem by re-mapping the addresses accessed by the hardware according to the same (or a compatible) translation table that is used to map guest-physical address to host-physical addresses.[5]

Published specifications

[edit]
  • AMD has published a specification for IOMMU technology, called AMD-Vi.[6][7]
  • IBM offered Extended Control Program Support: Virtual Storage Extended (ECPS:VSE) mode[8] on its 43xx line; channel programs used virtual addresses.
  • Intel has published a specification for IOMMU technology as Virtualization Technology for Directed I/O, abbreviated VT-d.[9]
  • Information about the Sun IOMMU has been published in the Device Virtual Memory Access (DVMA) section of the Solaris Developer Connection.[10]
  • The IBM Translation Control Entry (TCE) has been described in a document entitled Logical Partition Security in the IBM eServer pSeries 690.[11]
  • The PCI-SIG has relevant work under the terms Single Root I/O Virtualization (SR-IOV) and Address Translation Services (ATS). These were formerly covered in distinct specifications, but as of PCI Express 5.0 have been moved to the PCI Express Base Specification.[12]
  • ARM defines its version of IOMMU as System Memory Management Unit (SMMU)[13] to complement its Virtualization architecture.[14]

See also

[edit]

References

[edit]
  1. ^ "Intel platform hardware support for I/O virtualization". intel.com. 2025-08-06. Archived from the original on 2025-08-06. Retrieved 2025-08-06.
  2. ^ "Desktop Boards: Compatibility with Intel Virtualization Technology (Intel VT)". intel.com. 2025-08-06. Retrieved 2025-08-06.
  3. ^ "Physical Address Extension — PAE Memory and Windows". Microsoft Windows Hardware Development Central. 2005. Retrieved 2025-08-06.
  4. ^ Muli Ben-Yehuda; Jimi Xenidis; Michal Ostrowski (2025-08-06). "Price of Safety: Evaluating IOMMU Performance" (PDF). Proceedings of the Linux Symposium 2007. Ottawa, Ontario, Canada: IBM Research. Retrieved 2025-08-06.
  5. ^ "Xen FAQ: In DomU, how can I use 3D graphics". Archived from the original on 2025-08-06. Retrieved 2025-08-06.
  6. ^ "AMD I/O Virtualization Technology (IOMMU) Specification Revision 2.0" (PDF). amd.com. 2025-08-06. Retrieved 2025-08-06.
  7. ^ "AMD I/O Virtualization Technology (IOMMU) Specification" (PDF). amd.com. Retrieved 2025-08-06.
  8. ^ IBM 4300 Processors Principles of Operation for ECPS:VSE Mode (PDF) (First ed.). IBM. January 1979. SA22-7070-0. Archived from the original (PDF) on 2025-08-06. Retrieved 2025-08-06.
  9. ^ "Intel Virtualization Technology for Directed I/O (VT-d) Architecture Specification" (PDF). Retrieved 2025-08-06.
  10. ^ "DVMA Resources and IOMMU Translations". Retrieved 2025-08-06.
  11. ^ "Logical Partition Security in the IBM eServer pSeries 690". Archived from the original on March 10, 2007. Retrieved 2025-08-06.
  12. ^ "PCI Express Base Specification". Retrieved 2025-08-06.
  13. ^ "ARM SMMU". Retrieved 2025-08-06.
  14. ^ "ARM Virtualization Extensions". Archived from the original on 2025-08-06. Retrieved 2025-08-06.
[edit]
画龙点晴是什么生肖 九层塔是什么 广州和广东有什么区别 猫哭了代表什么预兆 孕妇拉的屎是黑色的是因为什么
耳朵疼痛吃什么药 天珠到底是什么 核桃和什么一起打豆浆 真露酒属于什么酒 北字五行属什么
计提工资是什么意思 洁身自爱是什么意思 7月31日是什么星座 六月五号是什么星座 什么检查需要空腹
鼻屎有臭味是什么原因 喝红茶有什么好处和坏处 拍手腕中间有什么好处 戴笠什么军衔 二维是什么意思
低gi食物是什么意思ff14chat.com 一什么村庄hcv9jop3ns6r.cn 红顶商人是什么意思hcv9jop3ns7r.cn 脚趾缝脱皮是什么原因tiangongnft.com a1微球蛋白偏高说明什么意思hcv9jop0ns7r.cn
狮子座女和什么星座最配hcv8jop4ns9r.cn 做爱时间短吃什么药hcv8jop6ns8r.cn 闺蜜是什么意思hcv9jop0ns1r.cn 什么是鸡冠油hcv8jop6ns2r.cn 成人补锌吃什么药hcv8jop0ns4r.cn
王维有什么之称hcv8jop1ns3r.cn 日字旁跟什么有关hcv8jop4ns6r.cn 咳嗽可以吃什么hcv9jop4ns5r.cn 梦见下大雪是什么预兆hcv9jop7ns2r.cn 扁平足是什么样子图片hcv9jop4ns7r.cn
什么叫正盐hcv9jop3ns3r.cn 右是什么结构hcv7jop6ns3r.cn 2019年什么生肖hcv9jop6ns2r.cn 去香港澳门旅游需要准备什么hcv9jop6ns9r.cn 紫烟是什么意思hcv9jop0ns8r.cn
百度