CPU Dasher产品介绍

CPU Dasher是一款难得的性能测试工具应用。目前仅支持iOS系统。


1.1版本新增特性:


1、支持iOS 6.0

2、支持iPhone 5的4英寸屏幕显示

3、移除了总线频率(由于系统调用将返回0)

4、将CPU频率改为运行时动态计算得出(由于系统调用将返回0),因此用户在测试设备前先看此频率是否有异常,由于较新版本的iOS设备都采用了变频技术,因此一开始所获得的频率可能不是最准确的固有频率。此时,可以先将应用退到后台,然后再重新打开,这将会重新计算当前CPU的频率。

5、移除了用户模式下是否可使用监视器。由于此协处理器指令在ARMv7S下也属于特权指令,在用户模式下执行会出异常。

6、增加了分页机制的存储器页大小(通常为4KB)

7、增加了存储器访问测试

8、增加了存储器访问与算术操作相结合的测试

9、矩阵乘法板块中增加了纯ARMv6指令集的测试

另外,ARMv7S仍然不支持VFPv4,FMA等新增指令尚未支持。

------------------------------------------------


CPU Dasher具有三大板块:

1、设备概述:设备概述囊括了当前iOS设备的系统版本号、设备类型、可用的存储器大小、是否支持视网膜显示、MAC地址和IP地址。如果在没连接网络的情况下,IP地址显示0.0.0.0。然后,后面就是比较精彩的部分了,CPU信息。这个是目前App Store中鲜有的,里面包括了CPU类型(ARM、Intel、MIPS等,当然我们这边肯定都是ARM了,哈哈~)、CPU架构(ARMv7、ARMv7F等)、核心个数、字节序(肯定是小端的)、Cache行大小(有些设备是32字节,有些设备是64字节)、L1指令Cache大小、L1数据Cache大小、L2 Cache大小、L3 Cache大小,然后是CPU主频、总线频率,是否在用户模式下支持性能监视器(一般是不会开放的,呵呵~)。


2、指令周期:指令周期板块用于实时测量每条指令的执行周期。这里面包含了绝大多数的ARM指令,当然不包括访存指令以及系统指令,因为访存操作有太多的外因,不易于衡量;而系统指令对高性能计算没任何帮助。由于当前的iOS设备所使用的ARM核具有超标量流水线,使得一些基本的算数逻辑操作指令可以在0.5个周期内执行完毕。由于某些设备,如iPhone 4S,它可能使用了变频技术,使得在某些情况下最小周期数可能会大于最大周期数,在这种情况下,用户认为最大周期数和最小周期数是等同的。


3、通过矩阵乘法来测试当前设备CPU的计算性能。这里的矩阵规格有5种,分别为:64x64、128x128、256x256、512x512、1024x1024。计算形式有4种,分别是:未优化、存储器访问优化、NEON优化、双核优化。其中,NEON优化基于存储器访问优化,而双核优化基于NEON优化。因此双核优化即为最快的计算形式。当然,如果你的iOS设备只有一个核心,那么将没有双核优化模式。在性能测试时请耐心等待,不要触摸屏幕,否则对结果可能会有所影响。计算结束后会出结果。最后,最重要的一点是:一般情况下,请不要轻易用Naive和存储器优化来测1024x1024的矩阵计算,否则可能要等数分钟

 

下面贴出计算64x64矩阵乘法的C代码,其它优化方式的计算结果与此相同,这些都经过严格测试的。

static void NaiveInteger64(const void *pIn1, const void *pIn2, void *pOut)
{
    const int *p1 = (const int*)pIn1;
    const int *p2 = (const int*)pIn2;
    int *p3 = (int*)pOut;
    
    for(int row = 0; row < 64; row++)
    {
        for(int col = 0; col < 64; col++)
        {
            int sum = 0;
            
            for(int i = 0; i < 64; i++)
                sum += p1[i] * p2[64 * i + col];
            
            p3[row * 64 + col] = sum;
        }
        
        p1 += 64;
    }
}

 
App Store下载链接:http://itunes.apple.com/us/app/cpu-dasher/id561909183?ls=1&mt=8

(Version 1.1)

posted @ 2012-09-13 17:50  zenny_chen  Views(16804)  Comments(6Edit  收藏  举报