Intel 8087의 FSCALE 명령, 단순해 보였지만 140개 마이크로 명령이 필요했다

Microcode in Intel's 8087 floating-point chip: the scale instruction

Intel 8087의 FSCALE 명령, 단순해 보였지만 140개 마이크로 명령이 필요했다

1980년 Intel이 출시한 8087 부동소수점 코프로세서는 오늘날 부동소수점 표준의 기반이 됐다. Opcode Collective의 일원인 저자는 현미경으로 8087 다이를 촬영해 1648개의 마이크로 명령을 리버스 엔지니어링하던 중, FSCALE 명령의 마이크로코드를 분석한다. 2의 거듭제곱으로 수를 빠르게 스케일링하는 단순한 기능일 줄 알았지만, 실제로는 140개가 넘는 마이크로 명령과 3단계 서브루틴 호출로 수많은 특수 케이스를 처리한다. 이 과정에서 시프터, 가산기, 지수 변환기 같은 8087의 핵심 부품과 숨겨진 기능까지 드러난다.

FSCALE이 단순하고 거의 사소한 명령일 거라고 생각했다. 스포일러: 단순하지 않다.

이 날의 다른 글

2026-09-12