인텔 8087 부동소수점 칩의 마이크로코드: 스케일 명령어

“인텔이 1980년 출시한 8087 부동소수점 코프로세서는 IBM PC에 탑재되어 스프레드시트부터 CAD까지 응용 분야에서 부동소수점 연산을 최대 100배 빠르게 만들었고, 오늘날 대부분 컴퓨터의 부동소수점 표준이 되었다. 8087은 1648개의 마이크로 명령어를 담은 마이크로코드 ROM으로 명령어를 구현했는데, FSCALE 명령어는 단순해 보이지만 140개 이상의 마이크로 명령어와 3단계 서브루틴 호출로 여러 특수 케이스를 처리한다.”

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)의 뿌리로서 컴퓨터 아키텍처 연구에 계속 기여할 전망이다.
Share

이것도 읽어보세요

댓글

이 소식에 대한 의견을 자유롭게 남겨주세요.

댓글 (0)

불러오는 중...