打印

znFAT在各种工作模式下的速率表现

[复制链接]
1949|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
znmcu|  楼主 | 2012-8-12 19:09 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
coody| | 2012-8-13 10:18 | 只看该作者
LZ,如果用在STC12C5A60S2系列,会有多快?

使用特权

评论回复
板凳
znmcu|  楼主 | 2012-8-13 10:48 | 只看该作者
这里使用的8051芯片就是 STC12C5A60S2
以下是 znFAT在 STC12C 、STM32以及 COLDFIRE CPU上的速率:

使用特权

评论回复
地板
znmcu|  楼主 | 2012-8-13 10:49 | 只看该作者
从上表中的数据可以看到,FATFS 与znFAT 在速率上基本持平,znFAT 略有优胜。在
RAM 的占用量上,二者也差不多。在51 上,znFAT 比FATFS 还要少用近500 字节的RAM。
相比之下,EFSL 则要逊色一些,而且它还不支持多扇区读写的驱动。另外,我们还会发现
这些方案的文件层数据写入速率已经比较接近物理层的速率,甚至是逼近。这说明文件系统
方案的执行效率已经很高,基本上已经上已经达到了极限(文件层速率再高也不可能超过物
理层)。可能你对这里我所说的执行效率没有什么形象的认识,那么我可以告诉你,在同样
的测试实验中,某些表现一般或者较差的文件系统方案速率只有2~6KB/s,这足以说明问
题了吧!
    可能还有些人会有这样的疑问:“在你的测试实验中,物理层的速率怎么只有几十KB/s,
51 上还说得过去,在ARM 等高端的CPU 上未免有点太慢了吧?”确实比较慢,这是因为
我使用的是IO 模拟SPI 的方式来驱动SD 卡。如果用硬件SPI,则可以提高到上MB/s 的速
率。一方面是因为IO 模拟SPI 更容易实现,对于一种陌生的CPU,只要掌握了它的IO 操
作方法,基本上就可以完成SD 卡的读写了。另一方面,使用速率较低的物理层驱动,更能
体现文件系统方案的执行效率。我们来举一个例子:假定在某一平台上,写一个物理扇区需
要1ms,方案A 实现某项功能需要进行100 次物理扇区写入操作,而方案B 只需要50 次就
可以完成(比如通过一些缓冲算法减少了物理层的操作次数)。这样,它们之间就差出了
50ms,可能我们对这种差异感觉还不明显。但如果写一个物理扇区的时间为100ms,那么
它们就差出了5s 的时间,这对于我们来说就很明显了。说白了,测试的时候尽量不要用物
理层的高效去弥补文件系统方案运行效率上的低下,而应该用一个比较差功的物理层,这样
反而会让文件系统方案的执行效率暴露无遗,让我们对文件系统有一个更为客观的评价。当
然,在实际应用的过程中,我们当然是希望速度越快越好,这种时候用硬件SPI 则是比较好
的选择,它的执行效率会更高,可以说会直逼极限!

使用特权

评论回复
5
znmcu|  楼主 | 2012-8-13 10:51 | 只看该作者
2# coody

如果把znFAT加速机制全开,你物理层有多快,它文件层就有多快!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:振南的znFAT -- 单片机上上的FAT32文件系统 www.znmcu.cn

4474

主题

5195

帖子

33

粉丝