기타 Hacker News · 2026-09-27

현미경으로 뜯어본 40년 전 인텔 8087의 기막힌 탄젠트 연산 비결

핵심 요약
  • 한 하드웨어 분석가가 1980년 출시된 인텔 8087 부동소수점 보조 프로세서의 탄젠트(FPTAN) 계산 알고리즘을 칩을 직접 뜯어내 역공학했습니다.
  • 8087은 CORDIC 알고리즘과 다항식 근사를 결합해 8086 대비 탄젠트 연산 시간을 13,000μs에서 90μs로 대폭 단축시켰습니다.
  • 단순한 시프트와 덧셈만으로 초월함수를 빠르게 처리하는 CORDIC의 하드웨어 구조가 칩 내부 다이 분석을 통해 상세히 규명되었습니다.
요약 1980년 인텔이 출시한 부동소수점 보조 프로세서 '8087'의 탄젠트 계산(FPTAN) 알고리즘을 칩 회로와 마이크로코드 수준에서 역공학(리버스 엔지니어링)해 분석한 내용이 공개되었습니다. 당시 8087 칩은 IBM PC 등에서 부동소수점 연산 속도를 획기적으로 개선했는데, 기존 8086 마이크로프로세서가 탄젠트 연산에 13,000마이크로초(μs)를 소모했던 반면 8087은 단 90마이크로초 만에 연산을 끝내며 파격적인 속도 향상을 이루어냈습니다. 작성자는 실제 칩 뚜껑을 끌로 따낸 뒤 현미경으로 촬영해 내부 다이와 회로를 분석했습니다. 분석에 따르면 삼각함수 연산에서 널리 쓰이는 CORDIC 알고리즘과 다항식 근사(polynomial approximation) 방식을 결합해 높은 정확도와 성능을 동시에 달성한 것으로 나타났습니다. CORDIC은 복잡한 곱셈이나 나눗셈 없이 비트 시프트(이동)와 덧셈, 뺄셈, 테이블 룩업만으로 초월함수를 계산할 수 있어 하드웨어가 단순했던 1950년대(초음속 폭격기 B-58 Hustler의 디지털 항법 컴퓨터용)에 고안된 알고리즘입니다. 8087 내부에는 이러한 CORDIC 상수들이 저장된 ROM과 함께 임의 비트 시프트가 가능한 대형 시프터, 덧셈기, 그리고 1,648개의 마이크로 인스트럭션이 담긴 ROM 등이 긴밀하게 결합되어 초고속 연산을 지원하도록 설계되어 있었습니다.
Sponsored · 광고