游戏开发论坛

 找回密码
 立即注册
搜索
楼主: fromhell

跪求高手指导sse

[复制链接]

3

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2004-5-1 23:33:00 | 显示全部楼层

Re:跪求高手指导sse

昏死,下面是我的机器的测试数据,跟你们的差太远了
815ep+赛扬900, 384M SDRAM, win2K Advanced Server+sp4

你们谁知道如果合理编程利用L2 Cache?

Timesms) Copy memory use memcpy.
298ms   121ms   138ms
294ms   122ms   133ms
309ms   121ms   137ms
280ms   120ms   133ms
305ms   123ms   135ms
296ms   120ms   133ms
309ms   121ms   133ms
278ms   121ms   134ms
301ms   123ms   133ms
306ms   120ms   133ms
299ms   120ms   134ms
295ms   121ms   138ms
298ms   121ms   134ms
288ms   121ms   134ms
294ms   121ms   134ms
304ms   122ms   134ms
284ms   120ms   133ms
301ms   121ms   134ms
285ms   121ms   137ms
305ms   121ms   134ms
Data Size:629145600Bytes
Data Size:600MBytes
Past Time:5929ms        2421ms          2688ms

memcpy: 0106113000 Bytes/Second

_xmm_memcpy: 0259870000 Bytes/Second

Qmemcpy: 0234057000 Bytes/Second

30

主题

298

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
发表于 2004-5-1 23:47:00 | 显示全部楼层

Re:跪求高手指导sse

出现你的这个情况有几个原因:首先,赛扬的L2 CACHE很小,好像只有128K,而且你的内存是SDRAM,带宽只有DDR的一半,最后就是据说老赛扬是不支持SSE的,好像只有图拉丁以后的才行(这一点我不确定)。

3

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2004-5-2 00:24:00 | 显示全部楼层

Re:跪求高手指导sse

请问怎么合理利用L2 Cache,请看看我的一个问题,有源码:

http://expert.csdn.net/Expert/topic/3027/3027142.xml?temp=.6248438

30

主题

298

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
发表于 2004-5-2 00:48:00 | 显示全部楼层

Re:跪求高手指导sse

    下载了你的程序,但是我的机器只有128M内存,所以输入大数时,就非法操作了。无法得知所需时间。
    怎么合理利用L2 Cache?这个问题我也不是很有研究,我提一点自己的看法吧。基本上我认为要合理利用L2 cache就要求把函数中迫切需要的数据在使用前就尽可能的载入cache,这样减少了内存访问,mem latency的影响降至较低的水平的话,就算是比较合理的利用了。(个人观点)

3

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2004-5-2 01:09:00 | 显示全部楼层

Re:跪求高手指导sse

找到一个L2 Cache的好文章:
http://www.pcguide.com/ref/mbsys/cache/func.htm

里面说L2 Cache是256bits即32Bytes字节对齐的,
因为:
The data store is 256 bits wide because memory is accessed in four-read bursts, and 4 times 64 is 256.

看了以后对L2 Cache了解加深了不少,相信对大家都有点用处。

6

主题

444

帖子

457

积分

中级会员

Rank: 3Rank: 3

积分
457
发表于 2004-5-2 03:01:00 | 显示全部楼层

Re: Re:跪求高手指导sse

dandyboy: Re:跪求高手指导sse

请问怎么合理利用L2 Cache,请看看我的一个问题,有源码:

http://expert.csdn.net/Expert/topic/3027/3...

25 s……
等我明天看看源程序能否有可以改进的地方。

6

主题

444

帖子

457

积分

中级会员

Rank: 3Rank: 3

积分
457
发表于 2004-5-2 03:09:00 | 显示全部楼层

Re: Re:跪求高手指导sse

hmhm: Re:跪求高手指导sse

    下载了你的程序,但是我的机器只有128M内存,所以输入大数时,就非法操作了。无法得知所需时间。
    ...

我迫切想知道如何能够将一段内存载入到cache中。似乎只用
mov eax,[xxx]
mov eax,[xxx+xxxx]
不一定能够达到目的。

3

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2004-5-2 10:54:00 | 显示全部楼层

Re:跪求高手指导sse

楼上,hourousha,你的CPU和内存是多少的?什么系统,怎么你的好像也利用了L2 Cache,为什么有的人又不行?

内存是否载入Cache是看它是否频繁使用,如果频繁访问这段内存,Cache会做缓冲的,但它的缓冲机制是否是不可控制的,全由CPU决定,看文章里说了几种Cache(3种)方法,可并没有说在什么情况下使用何种方法,Cache的机制比我们想象的要复杂一些

6

主题

444

帖子

457

积分

中级会员

Rank: 3Rank: 3

积分
457
发表于 2004-5-2 12:44:00 | 显示全部楼层

Re: Re:跪求高手指导sse

dandyboy: Re:跪求高手指导sse

楼上,hourousha,你的CPU和内存是多少的?什么系统,怎么你的好像也利用了L2 Cache,为什么有的人又不行?...

我的配置:P4B 2.53+E7205+Dual-Channel DDR266 256M x 2 win2k
其??在P4和P4M中除了asm Prefetch和preload(也就是mov eax,[xxx]的方式)以外还有hardware prefetch这一功能,就是自动查找下一时刻的数据提前载入缓存,这是NetBurst架构的功能之一。

3

主题

90

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2004-5-3 14:06:00 | 显示全部楼层

Re:跪求高手指导sse

我自己优化了一下,速度快了一点

http://www.77studio.net/files/PrimeLab_Src_New.zip

更多的测试结果还是看CSDN的贴:

http://expert.csdn.net/Expert/topic/3027/3027142.xml?temp=.9367182
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-30 19:31

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表