처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.06.23 37

현미경으로 들여다본 40년 전 칩: 8087의 비트 시프터 회로

Hacker News 원문 보기
현미경으로 들여다본 40년 전 칩: 8087의 비트 시프터 회로

칩을 갈아서 회로를 읽는 사람들

요즘은 부동소수점 연산(소수점이 들어간 숫자 계산)이 CPU 안에 당연히 들어있죠. 그런데 1980년대 초만 해도 그렇지 않았어요. 인텔의 8086/8088 CPU는 정수 계산은 잘했지만 소수 계산은 느렸고, 그래서 8087이라는 별도의 칩(수학 보조 프로세서, math coprocessor)을 따로 꽂아 써야 했어요. 이번에 소개할 글은 이 40년도 더 된 8087 칩을 현미경으로 들여다보면서, 그 안의 ‘빠른 비트 시프터(fast bit shifter)’ 회로가 어떻게 생겼고 어떻게 동작하는지를 하나하나 뜯어본 분석이에요.

이게 왜 재밌냐면요. 우리가 평소에 쓰는 칩은 검은 플라스틱 안에 봉인돼 있어서 안이 안 보이잖아요. 그걸 화학 약품으로 녹이고 표면을 갈아내서, 실제 트랜지스터들이 어떻게 배치돼 있는지 사진으로 찍어 분석하는 거예요. 일종의 하드웨어 고고학인 셈이죠.

비트 시프터가 뭐길래

이게 뭐냐면, 컴퓨터에서 숫자를 왼쪽이나 오른쪽으로 ‘밀어주는’ 작업을 하는 회로예요. 예를 들어 이진수 0010을 왼쪽으로 한 칸 밀면 0100이 되는데, 이런 시프트 연산은 부동소수점 계산에서 엄청 자주 쓰여요. 소수를 정규화(normalize)할 때, 그러니까 0.0001 x 2^5 같은 걸 1.0 x 2^1처럼 깔끔한 형태로 맞출 때 비트를 여러 칸씩 밀어야 하거든요.

문제는 속도예요. 가장 단순한 방법은 한 클럭(clock, 컴퓨터의 박자)에 한 칸씩 미는 건데, 32칸을 밀려면 32번의 박자가 필요해요. 너무 느리죠. 그래서 나온 게 배럴 시프터(barrel shifter)예요. 이게 뭐냐면, 트랜지스터를 격자(crossbar) 모양으로 잔뜩 깔아놓고, 한 번에 원하는 만큼 휙 밀어버리는 회로예요. 비유하자면 계단을 한 칸씩 올라가는 게 아니라, 엘리베이터 버튼 누르듯 “5층!” 하면 바로 그 위치로 데이터가 점프하는 거죠. 그래서 ‘빠른(fast)’ 시프터라고 부르는 거예요.

실리콘 위에 그려진 설계

분석 글의 핵심은, 이 배럴 시프터가 실제 실리콘 위에서 어떤 모양으로 구현됐는지를 보여주는 거예요. 격자처럼 규칙적으로 늘어선 트랜지스터들이 사진에 또렷하게 보이는데, 이 규칙적인 패턴 자체가 배럴 시프터의 특징이에요. 각 가로줄과 세로줄의 교차점에 트랜지스터가 있고, 어느 줄을 켜느냐에 따라 데이터가 몇 칸 밀릴지가 정해지는 구조죠. 이걸 보면 “아, 회로 설계라는 게 결국 이런 물리적인 배치구나” 하는 게 눈에 들어와요.

특히 인상적인 건, 요즘처럼 자동화 도구가 칩을 설계해주는 시대가 아니라 당시엔 엔지니어들이 손으로 이 레이아웃을 일일이 그렸다는 점이에요. 한정된 면적 안에 최대한 효율적으로 트랜지스터를 욱여넣어야 했으니, 이런 규칙적인 구조가 면적 절약에도 유리했던 거죠.

업계 맥락: 옛날 칩을 왜 뜯어보나

이런 다이(die, 칩의 알맹이) 분석은 단순한 호기심을 넘는 가치가 있어요. 우선 교육적으로 최고예요. 트랜지스터 몇만 개 수준의 옛날 칩은 사람이 눈으로 따라가며 이해할 수 있는 마지막 세대거든요. 요즘 수십억 개 트랜지스터가 든 칩은 사실상 사람이 분석하기 불가능하니까요. 그래서 컴퓨터가 가장 밑바닥에서 어떻게 동작하는지 배우고 싶은 사람한테는 이런 옛날 칩 분석이 훌륭한 교과서예요.

비슷한 작업을 하는 프로젝트로는 6502 CPU를 트랜지스터 단위로 시뮬레이션한 Visual6502 같은 게 유명하고, 옛날 칩을 복원하고 보존하려는 레트로 컴퓨팅 커뮤니티도 활발해요.

한국 개발자에게 주는 시사점

당장 실무에서 배럴 시프터를 직접 설계할 일은 거의 없겠죠. 하지만 이런 글을 읽어두면 좋은 이유가 있어요. 우리가 코드에서 무심코 쓰는 <<(왼쪽 시프트), >>(오른쪽 시프트) 연산이 하드웨어에서 왜 그렇게 빠른지, 부동소수점 계산이 내부에서 어떻게 돌아가는지를 몸으로 이해하게 되거든요. 추상화 아래에 뭐가 있는지 아는 개발자와 모르는 개발자는, 성능 최적화나 버그 추적에서 결국 차이가 나요.

마무리

40년 전 엔지니어가 손으로 그린 회로가 지금 우리 CPU 속 연산의 뿌리라는 게 새삼 놀랍죠. 여러분은 평소 코드를 짤 때 하드웨어 레벨까지 상상하면서 작업하시나요, 아니면 그건 그냥 잘 돌아가는 블랙박스로 두시나요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

TTJ 코딩클래스 정규반

월급 외 수입,
코딩으로 만들 수 있습니다

17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.

144+실전 강의
17개수익 모델
4.9수강생 평점
정규반 자세히 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.