AI 요약
인텔의 8087 부동소수점 코프로세서(1980년 출시)는 오늘날 대부분의 컴퓨터가 사용하는 부동소수점 표준의 기원이 되었다. 저자는 Opcode Collective의 일원으로 8087의 마이크로코드를 리버스 엔지니어링하고 있으며, 이 글에서는 FSCALE(Floating-point Scale) 명령어의 마이크로코드를 분석한다. FSCALE은 단순해 보이지만 실제로는 140개 이상의 마이크로 명령어와 3단계 서브루틴 호출로 구성되어 있으며, 시프터·가산기·지수 변환기 등 8087의 핵심 구성요소와 숨겨진 기능을 보여준다.
핵심 포인트
- 8087은 1980년 인텔이 출시한 부동소수점 코프로세서로, IBM PC에 탑재되어 스프레드시트·CAD 등에서 최대 100배 빠른 연산을 제공했다.
- 8087의 마이크로코드 ROM은 1,648개의 마이크로 명령어를 저장하고 있으며, 칩은 지수용 16비트 데이터패스와 유효숫자용 64비트 데이터패스로 분할되어 있다.
- FSCALE 명령어는 2의 거듭제곱으로 수를 스케일링하는 기능으로, 곱셈보다 빠르지만 140개 이상의 마이크로 명령어와 3단계 서브루틴 호출이 필요하다.
- 분석에는 8087 칩을 개방해 현미경으로 고해상도 이미지를 촬영하는 방식이 사용되었다.
향후 전망
- Opcode Collective의 리버스 엔지니어링 작업이 계속되면 8087 마이크로코드의 다른 명령어들도 추가로 해독될 것으로 보인다.
- 8087의 설계 원리는 현대 부동소수점 표준(IEEE 754)의 뿌리로서 컴퓨터 아키텍처 연구에 계속 기여할 전망이다.
