ATtiny: Çarpma desteği yok mu?


10

ATtiny AVR'ların çarpma için donanım desteği olmadığı doğru mu? Kodumda çarpma yaptığım gibi iyi çalışıyor gibi görünüyor. Ayrıca math.h ve birkaç sin () ve cos () hesaplamaları var. Bu hesaplamalar için 800 devir cezaya çarptırıyor muyum, bilen var mı?


daha iyi çözünürlük istiyorsanız (tolere edilebilir hatayla) trig için arama tablolarını ve doğrusal enterpolasyonu kullanın
vicatcu

Yanıtlar:


14

ATtiny'de bir donanım çarpanı yoktur, ancak yazılım çarpımı sizin ima ettiğiniz kadar pahalı değildir. Bazı optimize edilmiş çarpma ve bölme rutinleri için AVR200 uygulama notuna ve ilgili koda bakınız .

Sinüs ve kosinüs hesaplamaları, arama tabloları kullanılarak hızlandırılabilir ve işlemci döngüleri için bellek alanı etkili bir şekilde değiştirilir. Bununla birlikte, @DaveTweed'in doğru bir şekilde işaret ettiği gibi, yazılımda sinüs ve kosinüsü algoritmik olarak tahmin etmek, döngü sayısını korktuğunuz aralığa yaklaştıracaktır.


6
Polinom yaklaşımı sin()ve cos()tipik olarak birkaç (3-5) çarpma, artı çok duyarlıklı toplama / çıkarma, aralık katlama vb.
Dave Tweed

@DaveTweed: Teşekkür ederim, iyi bir nokta. Açıklığa kavuşturmak için düzenlendi.
Scott Winder
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.