ATtiny : 곱셈을 지원하지 않습니까?


10

ATtiny AVR이 곱셈을위한 하드웨어를 지원하지 않는다는 것이 사실입니까? 코드에서 곱셈을 수행하면 제대로 작동하는 것 같습니다. 또한 math.h를 포함 시켰으며 sin () 및 cos () 계산이 몇 개 있습니다. 이 계산에 대해 800 사이클의 벌금이 부과됩니까?


더 나은 해상도를 원할 경우 trig에 대한 조회 테이블 및 선형 보간을 사용하십시오 (허용 가능한 오류 포함)
vicatcu

답변:


14

ATtiny에는 하드웨어 멀티 플라이어가 없지만 소프트웨어 곱셈은 당신이 암시하는 것만 큼 비싸지 않습니다. 최적화 된 곱셈과 나눗셈 루틴에 대해서는 AVR200 애플리케이션 노트관련 코드 를 참조하십시오 .

조회 테이블을 사용하여 사인 및 코사인 계산을 가속화하여 프로세서주기를위한 메모리 공간을 효과적으로 교환 할 수 있습니다. 그러나 @DaveTweed가 올바르게 지적했듯이 소프트웨어에서 사인 및 코사인을 알고리즘으로 근사하면 사이클 범위가 걱정되는 범위 가까이로 올라갑니다.


6
다항식 근사를 위해 sin()그리고 cos()통상 여러 개의 (3-5) 승산을 수반 플러스 multiprecision은 / 그래서 함수 호출마다 800 개 클럭 비현실적없는 등 감산 범위 폴딩을 추가한다.
Dave Tweed

@DaveTweed : 감사합니다. 좋은 지적입니다. 명확히하기 위해 편집했습니다.
Scott Winder
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.