Benarkah AVR ATtiny tidak memiliki dukungan perangkat keras untuk perkalian? Tampaknya berfungsi dengan baik karena saya melakukan perkalian dalam kode saya. Saya juga memasukkan math.h dan memiliki beberapa perhitungan sin () dan cos (). Apakah saya mengalami penalti 800 siklus besar untuk perhitungan ini, apakah ada yang tahu?
9
Jawaban:
ATtiny tidak memiliki pengganda perangkat keras, tetapi penggandaan perangkat lunak tidak semahal yang Anda maksudkan. Lihat catatan aplikasi AVR200 dan kode terkait untuk beberapa rutinitas perkalian dan divisi yang dioptimalkan.
Perhitungan sinus dan kosinus dapat dipercepat menggunakan tabel pencarian, secara efektif memperdagangkan ruang memori untuk siklus prosesor. Namun, seperti yang @DaveTweed tunjukkan dengan benar, algoritme yang mendekati sinus dan kosinus dalam perangkat lunak akan mendorong penghitungan siklus mendekati kisaran yang Anda takuti.
sumber
sin()
dancos()
biasanya melibatkan beberapa (3-5) perkalian, ditambah penambahan / pengurangan multiprecision, rentang lipat, dll., Sehingga 800 jam per panggilan fungsi tidak realistis.