S3C6410 IDE硬盘接口性能测试(续)

        之前做了S3C6410 ATA接口的性能测试 ,发现在UDMA66模式下,FLX6410的2.5寸机械硬盘的读写速度大概在 36MB/S左右,离UDMA66的最大理论传输66MB/S还有一定的差距,为了验证这个是否跟CPU的IO处理能力有关,这次把原来800MHz的FLX6410超频到1GHz,如果真的是和CPU的IO处理能力有关的话,随着CPU主频的提高,硬盘的传输速度也会跟着有明显幅度的提高,结果到底如何呢?

        要测试,先超频。为了使FLX6410能在1GHz频率下稳定可靠的运行,需要提高CPU的核心电压,由于板上设有PMIC,提高核电压就是通过I2C修改个PMIC寄存器的值就可以了,这个可以直接在uboot下面操作,免去改代码的麻烦;超频到1GHz同样也可以在uboot中通过命令修改S3C6410的相关寄存器实现。 在原来bootcmd的环境变量前加入“imw 0x16 0x10 0xff;mw 0x7e00f00c 0xc1f40301;”就可以在uboot启动内核前把CPU的核心电压提高到1.35V,主频超到1GHz了。启动内核,查看输出信息:

S3C6410 IDE硬盘接口性能测试(续)_第1张图片

确认FLX6410已经运行在1GHz的主频上了。板子启动后通过ssh登录,再确认一下板子运行的频率:

S3C6410 IDE硬盘接口性能测试(续)_第2张图片

OK,测试可以正式开始了,结果如下:

S3C6410 IDE硬盘接口性能测试(续)_第3张图片

对比之前800MHz时的36MB/S的速度,这个42MB/S的速度整整提高了16.7%,已经排除了测试误差造成的了。由此基本可以说明S3C6410的ATA接口在UDMA66模式下的最大传输速率最终受限于CPU本身的IO处理能力。在1GHz的主频,512MB mDDR333,2.6.38.2的linux内核的条件下,S3C6410的ATA接口的最大吞吐量是42MB/S,是UDMA66理论极限的63.6%,这个对于S3C6410这种主要针对手持设备的嵌入式SOC来说,应该是个很不错的结果了,该速度完全可以把6410的其他外设接口给秒了。而对6410来说,这么个高性能的接口竟然被当成了摆设,除了可惜还能说啥呢。


你可能感兴趣的:(S3C6410 IDE硬盘接口性能测试(续))