POPPUR爱换

标题: intel的指令集为何那么牛?? [打印本页]

作者: 自自在在    时间: 2007-5-23 13:19
标题: intel的指令集为何那么牛??
amd敢自己搞cpu接口,自己搞不同的cpu架构,但是指令集却乖乖跟着intel走!sse sse2 sse3到penryn 的sse4(估计amd还是要搞)
指令集为何物?为何能大幅提升cpu性能?不是很透彻啊:(



amd搞sse是否需要付款给intel?数额是否巨大:huh:


Intel SSE4指令集支持CPU-GPU交互
驱动之家[原创] 作者:Skyangeles 编辑:Skyangeles 2007-05-23 12:05:38 2238 人阅读
Intel近日在名为“微处理器论坛”的会议上介绍了即将到来的“Penryn”45nm处理器产品,主要其引入的新技术,包括“Deep Power Down”深层次休眠、“Dynamic Acceleration”单线程加速、“VTX”硬件虚拟支持以及“SSE4”多媒体指令集。
在SSE4指令集中,共引入了47条新的多媒体运算指令。其中一条“streaming load instruction”流加载指令引起了广泛的注意。该指令为16bit同步加载指令,但加载结果将会存储在高优先级的临时流缓冲中,绕过普通的CPU Cache。这一指令将有利于GPU从CPU中高速共享数据,加速图像处理。
Penryn处理器的首席架构师Stephen Fischer表示:“这是一条有趣的指令,它打开了CPU和GPU合作运算这一新领域的大门!”外界普遍认为,这是Intel对于AMD“Fusion”计划的强力回应。
Penryn处理器是Intel的首款45nm制程CPU,内建6MB二级缓存,支持SSE4指令集等新技术,将于今年年底推出。另外,之前还有消息Intel将于明年重回独立显卡市场。到时我们可以看看这一指令所说的CPU-GPU合作究竟会有怎样的效果,和AMD的“Fusion”计划相比,胜负又将如何。

作者: darkknight    时间: 2007-5-23 13:20
AMD也有自己指令集的
作者: 天边的浮云    时间: 2007-5-23 13:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: 自自在在    时间: 2007-5-23 13:26
原帖由 darkknight 于 2007-5-23 13:20 发表
AMD也有自己指令集的

当年很牛的3d now。貌似没有intel的cpu支持啊:unsure:
作者: 天边的浮云    时间: 2007-5-23 13:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: 自自在在    时间: 2007-5-23 13:31
标题: 回复 #5 天边的浮云 的帖子
指令集是否需要操作系统支持?难道微软也分一杯羹?:funk:
作者: cillin    时间: 2007-5-23 13:34
那是软件的问题,intel的cpu装机多这是不争的事实,软件包括游戏厂商都要为intel指令集做优化,amd的指令集支持的没有那么多,amd为了最好的兼容性不得不把intel的指令集集成进去。

这些是我自己胡编乱造的,没有事实根据,纯属臆测。
作者: 天边的浮云    时间: 2007-5-23 13:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: itany    时间: 2007-5-23 13:50
AMD与其说另开门户,不如兼容Intel的指令集
反正AMD也没有啥编译器,借着Intel的编译器提升性能
指令执行的时候反正都要译码,里边流水线怎么执行的两家是完全不同的
作者: tedsun    时间: 2007-5-23 14:24
在我的3600+上面跑mencoder压片,用了以下两个版本
1. 为athlon 编译的版本有MMX 和3dNow,没有SSE
2. 通用版本,以上三种指令集都有
不管哪种版本,FFT都是用MMX指令做的
但是IDCT 在版本1上是跑的3dNow, 在版本2上跑的是SSE
结果,版本2大概每秒快2帧。。。
作者: Ricepig    时间: 2007-5-23 14:48
都是SIMD指令集拉,以钱AMD有3D Now,后来不知道为啥也跟着Intel SSE了
作者: Ricepig    时间: 2007-5-23 14:49
原帖由 itany 于 2007-5-23 13:50 发表
AMD与其说另开门户,不如兼容Intel的指令集
反正AMD也没有啥编译器,借着Intel的编译器提升性能
指令执行的时候反正都要译码,里边流水线怎么执行的两家是完全不同的

流水线执行不一致的话,编译器优化也是不同的
所以我问过Intel的工程师,他们说用ICC编译的代码在amd上也能跑,但是提速多少不知道。
作者: ConroeXE    时间: 2007-5-23 15:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: zaarath    时间: 2007-5-23 15:55
原帖由 自自在在 于 2007-5-23 13:19 发表
amd敢自己搞cpu接口,自己搞不同的cpu架构,但是指令集却乖乖跟着intel走!sse sse2 sse3到penryn 的sse4(估计amd还是要搞)
指令集为何物?为何能大幅提升cpu性能?不是很透彻啊:(



amd搞sse是否需要 ...


AMD把SSE照单全收是一分钱也不用付的,这和AMD可以制造x86 cpu是一个道理。当年Intel并不想允许AMD使用MMX/SSE, 但是AMD告上法庭,法庭判决指令集并不受商标权的约束,所以AMD可以直接拿来用。
作者: tedsun    时间: 2007-5-23 15:59
原帖由 zaarath 于 2007-5-23 15:55 发表


AMD把SSE照单全收是一分钱也不用付的,这和AMD可以制造x86 cpu是一个道理。当年Intel并不想允许AMD使用MMX/SSE, 但是AMD告上法庭,法庭判决指令集并不受商标权的约束,所以AMD可以直接拿来用。

但是似乎有专利权的问题?
龙芯的报道里有提到,有几条指令是要付费的,因此他们并没有实现那几条指令
作者: acqwer    时间: 2007-5-23 16:04
原帖由 zaarath 于 2007-5-23 15:55 发表


AMD把SSE照单全收是一分钱也不用付的,这和AMD可以制造x86 cpu是一个道理。当年Intel并不想允许AMD使用MMX/SSE, 但是AMD告上法庭,法庭判决指令集并不受商标权的约束,所以AMD可以直接拿来用。

没这回事,Intel和AMD的专利官司95年完结了,指令集应该包括在当时的交叉授权协议中了。
作者: zaarath    时间: 2007-5-23 16:06
原帖由 tedsun 于 2007-5-23 15:59 发表

但是似乎有专利权的问题?
龙芯的报道里有提到,有几条指令是要付费的,因此他们并没有实现那几条指令


指令的实现方法是有专利权的,但是可以通过逆向工程绕过去,有的指令可能不适合自家cpu的架构所以没有实现。Intel逆向AMD64的时候也没有照单全收。
作者: acqwer    时间: 2007-5-23 16:07
原帖由 天边的浮云 于 2007-5-23 13:40 发表


基本就是这个样子了       3DNOW比SSE出现早都没用~  份额大就牛X~软件都为你优化  有什么办法       扩展3DNOW时候就加入了SSE指令

连自己的编译器都没有,怎能指望别人为你的指令集作很好的优化?如果当时不是微软在directx6中加入了3dnow!的支持,现在可能已经没3dnow!这个玩意了。
作者: tedsun    时间: 2007-5-23 16:08
原帖由 zaarath 于 2007-5-23 16:06 发表


指令的实现方法是有专利权的,但是可以通过逆向工程绕过去,有的指令可能不适合自家cpu的架构所以没有实现。Intel逆向AMD64的时候也没有照单全收。

这些实现方法。。。应该是商业秘密并非专利保护吧。。。
作者: zaarath    时间: 2007-5-23 16:14
原帖由 acqwer 于 2007-5-23 16:04 发表

没这回事,Intel和AMD的专利官司95年完结了,指令集应该包括在当时的交叉授权协议中了。


有这回事,我的记忆稍微出了点差错,实际是Intel告上法庭,结果败诉了。这是发生在97年的事。
Intel said Friday it filed suit against AMD and Cyrix Corp. in U.S. District Court in Delaware for infringement of the term MMX, which was originally an acronym for a multimedia extension set developed by Intel and licensed to others, and is now claimed by Intel as a proprietary technology label.

The suit alleges that "AMD and Cyrix have designed and begun implementing strategies to improperly leverage Intel's enormous investment in the MMX trademark which could result in confusion in the minds of consumers as they make buying decisions." The suit seeks preliminary and permanent injunctive relief along with unspecified damages and awards.

AMD said last week it believes the term MMX is a generic term for multimedia extensions. When the instruction set first came out, MMX was used as an acronym to explain the instruction set. Only later did Intel decide to claim trademark rights.

作者: Ricepig    时间: 2007-5-23 16:16
原帖由 ConroeXE 于 2007-5-23 15:42 发表


如果是跑ICC编译的程序,amd惨到吓死人。P4最得益于ICC,而扣肉表现和一般,似乎ICC对扣肉无用。

那是因为P4是长流水线,指令的先后关系及分支对执行效率影响很大。扣肉流水线短,影响就要小得多。所以加速效果不明显
作者: 自自在在    时间: 2007-5-23 16:39
这个帖子没发错,学到东西了:lol:
作者: 口口口乐    时间: 2007-5-23 17:16
一直以来依靠指令集提高cpu性能就从没明显过,更别提系统性能了。
作者: Ricepig    时间: 2007-5-23 17:30
原帖由 口口口乐 于 2007-5-23 17:16 发表
一直以来依靠指令集提高cpu性能就从没明显过,更别提系统性能了。

这是CISC的思路嘛
作者: demonpumpkin    时间: 2007-5-23 18:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: gazel    时间: 2007-5-23 20:41
原帖由 zaarath 于 2007-5-23 15:55 发表


AMD把SSE照单全收是一分钱也不用付的,这和AMD可以制造x86 cpu是一个道理。当年Intel并不想允许AMD使用MMX/SSE, 但是AMD告上法庭,法庭判决指令集并不受商标权的约束,所以AMD可以直接拿来用。

兄弟, 你确信么? 我晕
作者: gazel    时间: 2007-5-23 20:44
原帖由 ConroeXE 于 2007-5-23 15:42 发表


如果是跑ICC编译的程序,amd惨到吓死人。P4最得益于ICC,而扣肉表现和一般,似乎ICC对扣肉无用。


AMD不惨的, ICC的优化大多都是general的, CPU设计的思路一样的, 哪能有很大差距? 实际上AMD的很多benchmark数据是用ICC的结构
作者: acqwer    时间: 2007-5-23 20:44
原帖由 Ricepig 于 2007-5-23 17:30 发表

这是CISC的思路嘛

你先去查查VMX是什么吧。
作者: ConroeXE    时间: 2007-5-23 21:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: gazel    时间: 2007-5-23 21:43
原帖由 ConroeXE 于 2007-5-23 21:23 发表


你经常使用ICC编译的程序么?用过应该有体会.至少,我还没见过AMD跑ICC不惨的例子.

嗯, 我经常使用ICC的. 编译器的优化无非是通用优化 + uArch相关的优化, 通用的优化总归大家都有好处, A和I的CPUuArch在编译器这一级看来又很类似, 所以大多数情况下这种优化也能对两种U都有相同的作用.
作者: Ricepig    时间: 2007-5-23 23:14
原帖由 acqwer 于 2007-5-23 20:44 发表

你先去查查VMX是什么吧。

VMX是什么不知道

我不喜欢你说话的方式
作者: Ricepig    时间: 2007-5-23 23:16
原帖由 gazel 于 2007-5-23 21:43 发表

嗯, 我经常使用ICC的. 编译器的优化无非是通用优化 + uArch相关的优化, 通用的优化总归大家都有好处, A和I的CPUuArch在编译器这一级看来又很类似, 所以大多数情况下这种优化也能对两种U都有相同的作用.


通用优化GCC也做了,主要就是指令相关优化,I和A的U在这一点上还是有差别的,关于指令排列顺序的“惩罚”值A和I特别不同。ICC对AMD有提高,但是没有Intel那么大,Intel工程师这么说还是很中肯的
作者: ConroeXE    时间: 2007-5-23 23:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: Ricepig    时间: 2007-5-23 23:19
原帖由 ConroeXE 于 2007-5-23 23:17 发表


AMD不是因为Intel c++针对自己有“特殊待遇”起诉了Intel么?莫非阁下在amd上运用Intel编译器可以绕开这些“特殊待遇”?:)

对于AMD的U,提高多少还是有一点的拉,呵呵
比如像这样的计算(matrix里元素是int类型)
for(int i=1;i<10000;i++)
{
    matrix[1] = matrix2[1] * matrix3[1];
    matrix[2] = matrix2[2] * matrix3[2];
    matrix[3] = matrix2[3] * matrix3[3];
    matrix[4] = matrix2[4] * matrix3[4];
}

[ 本帖最后由 Ricepig 于 2007-5-23 23:20 编辑 ]
作者: ConroeXE    时间: 2007-5-23 23:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: acqwer    时间: 2007-5-23 23:33
原帖由 Ricepig 于 2007-5-23 23:14 发表

VMX是什么不知道

我不喜欢你说话的方式

Vector Multimedia eXtension,用于power的扩展指令集。
作者: w0017    时间: 2007-5-23 23:39
主要是多媒体方面的优化,当年p3年代,解mpeg4慢得要命
作者: Ricepig    时间: 2007-5-24 00:56
原帖由 acqwer 于 2007-5-23 23:33 发表

Vector Multimedia eXtension,用于power的扩展指令集。

还是SIMD,不符合RISC的思路啊
作者: Ricepig    时间: 2007-5-24 00:59
原帖由 ConroeXE 于 2007-5-23 23:32 发表


我只是对软件实际速度感兴趣,这个对我就没用了。

在用Intel C++编译的Vray测试的时候,有的运算4.5G的PD 955XE速度是X2 3800+的两倍。换句话说,3800+要超频整一倍才行,这对于X2是不可能的任务。Intel ...

主要原因就是指令顺序的优化,对于P4来说,什么指令放在一起执行,什么指令在什么指令后执行是很影响速度的。而这种优化和CPU相关性非常高,X2 3800+这种AMD的cpu,指令之间的关系肯定和P4不同,所以优化出来的结果,提高有限
作者: gazel    时间: 2007-5-24 08:58
原帖由 ConroeXE 于 2007-5-23 23:17 发表


AMD不是因为Intel c++针对自己有“特殊待遇”起诉了Intel么?莫非阁下在amd上运用Intel编译器可以绕开这些“特殊待遇”?:)

特殊待遇是没有的, 只不过ICC是Intel的产品, 编译优化的基础本来就是针对某种pattern进行的, 对某个uArch优化的代码序列, 对另一个可能不, 这个完全合理. ICC的工程师哪能那么闲故意写很多code去给AMD特殊待遇?

所以结论是: 既然没有特殊待遇, 当然不须绕开. 大多数情况下, 优化对两种U会都有好处的 (不过I U的好处一定大于A U的好处是一定的了).
作者: gazel    时间: 2007-5-24 09:02
原帖由 Ricepig 于 2007-5-24 00:59 发表

主要原因就是指令顺序的优化,对于P4来说,什么指令放在一起执行,什么指令在什么指令后执行是很影响速度的。而这种优化和CPU相关性非常高,X2 3800+这种AMD的cpu,指令之间的关系肯定和P4不同,所以优化出来 ...

这个叫做指令调度, 还有指令的选择也有关系的. 比如说尽量用SSE/SSE2做浮点操作, 不用X87




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4