| [ 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 - |