CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): terzeron (microkid)
날 짜 (Date): 2003년 4월 25일 금요일 오후 01시 38분 59초
제 목(Title): Re: 계산 코드 옵티마이즈..


논의가 오래가길래 저도 관심이 생겨서 테스트를 해봤습니다.
성능 테스트 말고 RISC에서 어떻게 assembly가 생기는지 말입니다.

Sparc칩에서는 정수 곱셈을 하는 assembly 명령이 없으니
sll(shift left logic)과 add/sub만을 가지고 장난을 치는군요.

예를 들면, a * 3인 경우 a를 sll로 1비트 shift시켜 2배로
만든 다음에 다시 a를 더하는 식으로 바꿉니다.
a * 3 ==> a * 2^1 + a

a * 7 ==> a * 2^3 - a

a * 11 ==> ((a * 2^1 + a) * 2^2) - a
로 됩니다. 

다들 알고 계시겠지만, 제가 잘 몰라서요. ^^
---
어떤 성취가, 어떤 조롱이, 또는 어떤 고뇌가 나를 기다리고 있을지 나는 모른다. 
나는 아무 것도 모른다. 그러나 나는 아직 과거의 경이로운 기적의 시대가 영원히 
과거의 것이 되어 버리지는 않았다는 사실을 굳게 믿고 있다.  - Stanislaw Lem -
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.