공산주의 Apple II와, 14년 동안 자신이 무엇을 테스트하는지 몰랐던 이야기
핵심 내용
Pravetz와 ISCAS-85를 통해 reverse engineering의 가치를 보여준다.
자세히 보기
금요일의 주제로 reverse engineering을 다시 꺼내 들며, 기술을 앞에서 만드는 것과 뒤에서 이해하는 것이 어떻게 같은 문제인지 연결한다.
불가리아의 Правец(Pravetz) 컴퓨터 이야기는 그 출발점이다. IMKO-1은 Apple II를 사실상 그대로 복제한 기종이었고, 6502 CPU, ROM, 스키마까지 거의 동일했다. 대신 Cyrillic 문자, 금속 케이스, 무거운 전원부 같은 현지화가 붙었다.
저자는 이를 단순한 복제가 아니라, 제한된 환경에서의 기술 전파와 학습으로 본다. 불가리아는 이런 방식으로 학교와 연구기관에 컴퓨터를 보급했고, 한 세대의 엔지니어가 설계도를 읽고 재구성하는 방식으로 컴퓨팅을 배웠다고 말한다.
이어 ISCAS-85 benchmarks로 넘어간다. 이 회로들은 1985년에 공개된 표준 테스트 넷리스트였지만, 연구자들은 14년 동안 그 회로가 실제로 무엇을 계산하는지 모른 채 테스트를 수행했다.
그 공백을 1999년에 Mark Hansen, Hakan Yalcin, John P. Hayes가 메웠다. 각 넷리스트를 RTL block 단위로 분해하고 기능을 복원해, 다음과 같은 실제 목적을 밝혀냈다.
- c432: 27-channel interrupt controller
- c880: 8-bit ALU
- c6288: 16×16 multiplier
- c7552: 32-bit adder/comparator
- c499 / c1355: 32-bit single-error-correcting circuits
핵심은, 이 작업이 단순한 역사 복원이 아니라 diagnosis, synthesis, reverse engineering이 같은 형식적 문제의 서로 다른 방향이라는 점을 보여준다는 것이다. 회로를 보고 기능을 복원하는 일과, 원하는 기능을 만족하는 회로를 만들어내는 일은 결국 같은 ∃∀ 구조를 공유한다.
마지막으로 저자는 자신이 하는 LyDiA와 qbf-designer 작업도 이 연장선에 놓인다. 과거의 회로와 벤치마크를 이해하는 일은, 오늘날의 EDA와 AI가 놓치기 쉬운 ‘설명 가능한 이해’의 가치를 다시 드러낸다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.