PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

听说amd主板开启iommu有性能加成?

[复制链接]
跳转到指定楼层
1#
ChineseBoy 发表于 2015-2-13 11:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
点击数:15080|回复数:7
一般用户要不要开呢
2#
18cm 发表于 2015-2-13 17:51 | 只看该作者
抄袭度娘~

IOMMU:input/output memory management unit。
Device的IOMMU类似于CPU的MMU。
对IOMMU的支持主要有两个原因,一个是对老设备的支持,另外一个是对scatter/gather的支持。
要在64位系统上支持32位设备,比如说网卡,如果没有IOMMU,就需要在物理内存底端,也就是32位设备能够访问到的地方设置一个叫做"bounce buffers"的东西,如果设备要访问高端内存,操作系统就要在高端内存和"bounce buffers"之间做一个拷贝。带来的性能影响显而易见。如果有了IOMMU,这个问题就迎刃而解了。在设备驱动做DMA绑定的时候,系统返回给驱动的不再是物理地址,而是内核空间的某个地址(有的书上叫做总线地址),传输的时候,这个内核空间地址会经由IOMMU单元,IOMMU将这个地址转换为物理地址。
scatter/gather并不会带来性能上的好处,但是会简化设备驱动程序。例如网卡驱动在发送包的时候,DMA邦定后,系统可能会返回给设备驱动多个不连续的物理地址,Solaris叫做cookie。这样的话,每一个cookie都需要占用一个发送描述符。如果系统支持IOMMU的话,系统只会返回给设备驱动一个cookie。当然了有专家提醒,因为这个原因,如果设备驱动是在没有IOMMU的情况下开发的,在支持IOMMU的系统上是没有问题的。但反之不然。
IOMMU除了上述功能外还加入了对虚拟化的支持。简单来说有两个功能,一个DMA Remapping, 另外一个是Interrupt Remapping。
IOMMU在源于SUN公司的SPARC平台,现在Intel平台及AMD平台也支持这一技术。
3#
ChineseBoy  楼主| 发表于 2015-2-13 20:36 | 只看该作者
18cm 发表于 2015-2-13 17:51
抄袭度娘~

IOMMU:input/output memory management unit。

解释名词
4#
iFive 发表于 2015-2-13 23:10 发自PCEVA移动客户端 | 只看该作者
ChineseBoy 发表于 2015-2-13 20:36
解释名词

高端内存:即高位内存,指在不支持PAE(物理地址扩展)的操作系统环境下不可访问(为硬件保留的内存。
在32位系统使用高位内存需要Server系统或ReadyFor4GB等附加条件开启高位内存支持。(有性能衰减)
64位系统原生支持较大内存的寻址,高位内存区域不会发生性能衰减。
5#
ChineseBoy  楼主| 发表于 2015-2-14 20:21 | 只看该作者
iFive 发表于 2015-2-13 23:10
高端内存:即高位内存,指在不支持PAE(物理地址扩展)的操作系统环境下不可访问(为硬件保留的内存。
在 ...

那这个选项一般用户要不要开启呢
6#
iFive 发表于 2015-2-14 21:34 | 只看该作者
ChineseBoy 发表于 2015-2-14 20:21
那这个选项一般用户要不要开启呢

农企平台还折腾啥
你如果想试试就试试吧
7#
ChineseBoy  楼主| 发表于 2015-2-15 06:52 | 只看该作者
iFive 发表于 2015-2-14 21:34
农企平台还折腾啥
你如果想试试就试试吧

买农企不就是为了折腾吗 就像安卓
8#
18cm 发表于 2015-2-15 07:53 | 只看该作者

输出/输入记忆体(存储器)管理单元……写成英文B格就是高。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部