시대에 맞는 TRW MPY12HJ 12\00d712 병렬 승산기 칩이 CPU로부터 MUL 명령어를 사용하지만, 코드 변경이 요구된다.

50년 된 하드웨어는 느리지만, 걱정할 필요 없습니다. 새로운 시대에 맞춘 가속기 카드를 직접 제작하며 속도를 개선하려는 취미가들이 존재하기 때문입니다. 대표적인 예가 X(구 트위터)의 @bradthx(Brad)입니다. 그는 컴퓨터 과학자이자 보트 애호가로서, Intel 8086 및 Intel 8088 PC 시스템용 하드웨어 곱셈 ISA 카드 가속기를 최근 공개했습니다.
"저는 8086용 하드웨어 곱셈 가속기를 제작했습니다. 이는 1980년대 TRW MPY12HJ 병렬 승산기를 기반으로 제작된 ISA 카드이며, CPU의 MUL(곱셈) 명령을 오프로드(offload)합니다. 실제로는 초기 x86 시스템에서 정수 곱셈을 약 2.5배 더 빠르게 만듭니다." (pic.twitter.com/jddU7Lheeb, 2026년 4월 2일)
프로젝트 제작자 브래드(Brad)는 "TRW MPY12HJ 병렬 승산기 칩이 장착된 자체 제작(homebrew) ISA 카드는 '초기 x86 시스템에서 정수 곱셈을 약 2.5배 더 빠르게 만듭니다'"라고 설명했습니다.
저희 조사에 따르면, 이 승산기 칩은 실제로 70년대 후반에서 80년대 초반에 이미 존재했습니다. 따라서 당시 엔지니어였다면, 상징적인 IBM PC Model 5150과 Intel 8088 CPU를 위해 이와 유사한 장치를 구현하는 것이 가능했을 것입니다. IBM의 이 오픈 아키텍처 컴퓨터는 PC를 정의하는 기종이 되었으며, 유명하게도 1981년에 ISA 슬롯을 처음 선보였습니다.
(관련 기사 제목: 오픈 소스 Intel 486 메인보드를 6개월 이내에 처음부터 제작 / 전자 기기 애호가가 이전 PC-XT 및 PC-AT 브레드보드 프로젝트보다 큰 발전을 이룬 Intel 386 시스템 구축 과정 공개)
브래드가 이 가속기를 제작하게 된 주요 계기는 초기 Intel x86 칩이 MUL 명령을 처리하는 방식에 있었습니다. 컴퓨터 과학자인 그는 "원래의 8088/8086에서 곱셈은 마이크로코드에 의해 제어되는 반복적인 쉬프트/덧셈(shift/add) 알고리즘으로 구현되었습니다. 이는 기본적으로 종이 위에서 이진법으로 문제를 푸는 방식과 동일합니다."라고 설명합니다. 즉, 구형 Intel CPU가 곱셈을 처리하는 것은 "상당히 오랜 시간이 걸리는" 과정이었던 것입니다.
브래드의 ISA 카드는 TRW MPY12HJ 칩의 기능을 활용합니다. 제작자는 이것이 "고속 산술 연산을 위해 특별히 설계된 12×12 병렬 승산기"라고 설명합니다. 이 칩은 클럭 없이 비동기식(asynchronous)으로 작동하며, 전자가 실리콘을 통해 전파되는 속도에 맞춰 동작합니다. 브래드는 이것이 "CPU의 마이크로코드 기반 곱셈 루프보다 몇 자릿수(orders of magnitude) 더 빠르다"고 강조했습니다.
TRW 승산기가 워낙 빠르기 때문에, 두 개의 연속적인 버스 사이클 사이에 가로챈(intercepted) MUL 명령을 계산할 수 있습니다. 따라서 컴퓨터 과학자가 언급했듯이, 이를 ISA 카드에 장착하더라도 치명적인 성능 저하를 유발하지 않습니다. 전반적으로 이 카드는 "CPU 내장 승산기보다 약 2.5배 더 빠른" 성능을 달성합니다.

(작동 사진 및 비디오 첨부 내용 요약)
이는 당연히 2026년에는 필요하지 않지만, 만들 가치가 충분했습니다. 작동 모습을 확인해 보십시오. 참고로, 시연을 위해 수학 계산 결과를 디스플레이에 출력하는 것이 성능을 저하시키는 주요 병목 현상입니다.
(추가 설명: 가속기가 작동하는 모습을 보려면 '더 보기'를 클릭하십시오.)
기존 컴파일된 코드는 가속되지 않습니다.
Intel 8086 ISA 가속기 카드가 매우 인상적인 프로젝트임에도 불구하고, 사용자가 이미 보유하고 있는 클래식하거나 오래된 애플리케이션에는 효과를 발휘하지 못할 수 있습니다. 단, 사용자가 직접 코딩했거나 소스 코드에 접근할 수 있는 경우는 제외입니다.
브래드는 X 사용자들에게 "제가 직접 제작하는 모든 프로그램에 대해서는 내부 x86 MUL 명령 대신 이 하드웨어 승산기를 사용하는 자체 서브루틴을 활용할 수 있습니다"라고 설명했습니다. 그러나 사용자가 인지하지 못하는 상태로 컴파일된 애플리케이션의 경우, ISA 가속기 카드의 기능을 활용할 수 없습니다.
(마지막 공지 및 출처 정보는 원문 스타일을 유지하며 처리함)