L1和L2容量

    首先要进行的测试是L1和L2的容量测试。其原理很简单:L1比L2快,而L2比内存快。所以,对一个指定大小的数据集进行操作,当其大小不超过L1大小的时候,速度将是最快的;而其大小大于L1的大小又不超过L2的大小的时候,速度将显著下降;当大小超过L2大小的时候,速度将降到非常低的程度。我们在测试中采用顺序读的方式,测试数据集大小从4KB~1MB变化。为了减少测试次数,内存大小采取指数增加的方式。下面是得到的测试数据:

CacheSize_01.gif (6218 bytes)

将其绘制成曲线图如下:

CacheSize_01.gif (3847 bytes)

3条曲线的趋势非常明显。从中可以判断出L1 D-Cache的大小应该是16KB,而L2的大小在256~512KB之间。之所以L2的大小现在还不能确定,是因为AMD的Athlon系列的L2比较特殊:在L1中的数据将不在L2中存储(其原理会在其它文章介绍)。所以在这样的CPU中,L2的有效容量将是实际的L2容量和L1容量之和。这将导致有效的L2容量不是2的指数的形式。所以我们在后面还增加了一步测试数据集大小在256KB~512KB之间时的情况。其数据如下:

CacheSize_Tb02.gif (4621 bytes)

绘制成曲线图:

CacheSize_02.gif (3829 bytes)

可见只要数据集大小超过256KB,速度就将下降很大,说明L2的容量只有256KB。AMD的Athlon应该给出不同的结果。不过我没有那样的平台,就不知道具体情况了。另外由于这里测试出的只是有效的L2容量,而不是实际集成的L2容量,所以在测试中把结果叫做“Efficient L2 Size”。


Leading Cloud Surveillance, Recording and Storage service; IP camera live viewing

Leading Enterprise Cloud IT Service; cloud file server, FTP Hosting, Online Storage, Backup and Sharing

Powered by FirstCloudIT.com, a division of DriveHQ, the leading Cloud IT and Cloud Surveillance Service provider since 2003.