4.03.2009

increase SD performance

MS 的 SDMemory Driver (DLL),最常用的 Read 大小是 0x10000 bytes。

在 SDLIB\sddebug.c 的 SDPerformSafeCopy( )。
這個SDPerformSafeCopy() 只是在memcpy()包上 Try - Catch。防止不正常的memory exception .所以可以照著作一個 assembly版的。
(或者乾脆不管 >< )
所以可以 optimize 這個。

用ldmia, stria。可以用的register 有:
r0, r1,r2 要作 argument,sp 不行,所以剩下..


要先看看call 這個function (以0x10000 size call) 時,是 Synchronize 還是 none-synchronize。
synchronize的話,才會有效 (否則只是降低 cpu useage)。

OK, 已經確認是Synchroniz,,

沒有留言: