요약
1972년부터 2024년까지 프로세서 다이 사진 356장을 한곳에 모은 갤러리가 나왔습니다.
데이터 시각화 사이트 sheets.works가 누구나 쓸 수 있게 공개된 프로세서 다이(칩 패키지 속 실리콘 조각) 사진을 모았습니다. 다이를 보려면 패키지를 갈아내거나 녹여 없앤 뒤 현미경으로 찍어야 합니다. 그래서 이런 사진은 몇몇 촬영자가 공들여 남긴 결과물입니다.
왜 중요한가
- 여러 사이트에 흩어져 있던 자유 라이선스 사진을 연대, 제조사, 라이선스별로 한 번에 찾아볼 수 있게 됐습니다.
- 크기를 아는 칩을 같은 축척으로 늘어놓아 반세기 동안 다이가 어떻게 달라졌는지 눈으로 비교할 수 있습니다.
핵심 내용
- 가장 오래된 칩은 1972년 Intel 8008이고, 가장 최근 칩은 2024년 AMD Zen 5 CCD입니다.
- 크기를 아는 114개는 실제 비율로 보여 주며, 가장 큰 다이는 Intel Skylake-SP XCC(31.8×21.3mm)입니다.
- 사진의 절반 가까이(162장)는 파울리 라우타코르피가 찍었고, 프리츠헨스 프리츠와 존 맥매스터가 뒤를 잇습니다.
- 사진마다 원래 라이선스를 표시하고 Wikimedia Commons, Flickr 같은 원본 출처로 연결합니다.
- 목록에 없는 칩은 아직 아무도 무료 사진을 공개하지 않은 경우라고 설명합니다.
HN 반응
- 제조사 목록이 정렬되지 않고 중복된 회사가 있으며 빠진 칩도 있다는 지적이 나왔고, 안내 문구를 AI로 대충 썼다는 비판도 있었습니다.
- 사진으로 회로를 읽어 낼 수 있느냐는 질문에는 금속 배선층이 여러 겹이라 어렵다는 반론이 나왔습니다. 층을 하나씩 벗겨 가며 찍거나 정밀한 단층 촬영으로 해낸 사례도 소개됐습니다.
트랜지스터가 수천 개 수준인 초기 다이에서는 논리 게이트가 정말로 눈에 보입니다. 수백만 개가 되면 구조가 최소화되고 반복 배치된 모습이 보이고요. 그런데 최신 다이처럼 수십억 개가 되면 너무 작고 추상적이라서, 그 안에 담긴 세부를 담아낼 수 있는 이미지가 과연 있을지 궁금합니다.
이걸 고급 도서로 만든다면 돈 내고 사겠어요. 프로세서마다 정보와 설명도 곁들여서요. 저만 그런가요?
저는 진 바일린스키(Gene Bylinsky)의 "High Tech: Window to the Future"를 갖고 있습니다. 앞표지에 Am8052 다이가 실제로 박혀 있어요. 1986년에 나왔으니 아주 오래된 책이지만, 트랜지스터가 눈으로 볼 수 있을 만큼 컸던 마이크로프로세서 개발의 전성기를 다룹니다. "깊이 있는" 책은 아니지만 멋진 사진이 많습니다.
https://openlibrary.org/works/OL6322148W/High_Tech?edition=key%3A/books/OL14277500M#editions-list
https://www.ebay.com.au/itm/334312859146
https://arenamag.com/silicon
그 제조사 목록은 쓸 수가 없어요. 정렬도 안 돼 있고, 중복도 있고(MOS Technology와 Commodore CSG는 같은 회사입니다), 브랜드별로 다시 정리하면 훨씬 나아질 거예요. 예를 들어 닌텐도 CPU는 한곳에 모으는 식으로요.
켄 시리프(Ken Shirriff)의 블로그도 한번 보세요. 다이 사진과 함께 동작 원리를 자세히 설명해 줍니다.
https://www.righto.com/
https://news.ycombinator.com/from?site=righto.com
x86이 반세기나 됐는데 아직도 쓰고 있다니 믿기지 않네요.
지금 우리가 x86이라고 부르는 건 1985년 무렵의 386에서 시작됐다고 생각합니다. 완전히 다른 아키텍처이자 ISA인 8008이 아니라요.
요즘 PC는 AMD x64로 돌아가는데, x86-64라고 부르는 사람도 있습니다. 하지만 이것도 옛날 x86과는 완전히 다른 물건입니다. 인텔의 64비트 아키텍처 제안이 처참하게 실패한 뒤인 2000년에 나왔고요.
8008의 명령어 대부분은 최신 인텔·AMD CPU에서도 여전히 구현되어 있습니다. 대부분은 쓸 이유가 없지만요. 특히 8비트 레지스터를 쓰는 연산은 64비트 프로그램에서 피해야 합니다.
인텔 8080은 일부 명령어 인코딩을 바꾸고 몇몇 명령어를 교체했지만, 8008 명령어 집합의 거의 전부를 부분집합으로 유지했습니다. 인텔 8086은 명령어 인코딩을 완전히 바꿨지만, 이번에도 8080 명령어 집합의 거의 전부를 부분집합으로 유지했습니다. 8086 명령어 집합은 지금도 최신 인텔·AMD CPU가 완전히 구현하고 있어서, 8080은 물론 8008 어셈블리 코드 상당수와도 어셈블리 수준에서 호환됩니다.
64비트 모드에서는 8086 명령어 몇 개가 빠졌고, 나머지는 메모리를 참조할 때 16비트 주소 지정 방식 대신 64비트 주소 지정 방식을 씁니다. 그 밖에는 8086처럼, 해당 부분집합에 속하면 8080이나 8008처럼도 그대로 동작합니다.
8비트 레지스터 연산 지원이 부족한 건 64비트 CPU에서도 병목입니다.
예를 들어 for 루프가 있다고 해 봅시다. uint8 값 8개를 uint64 하나에 묶어서 상수를 더하면 8개를 한꺼번에 갱신할 수 있습니다. 그런데 그 8바이트를 인덱스로 쓰려고 풀어내는 데 CPU 사이클이 많이 들어서, 덧셈 8번을 따로 하지 않아 얻은 이점이 사라집니다.
할 수 있는 건 AH, AL(또는
SIL,DIL,BPL,SPL등)에 접근하는 정도인데, 이것도 1사이클로 끝나지 않습니다. 여러 사이클이 걸리고, 접근할 수 있는 것도 가장 낮은 바이트뿐입니다. 큰 레지스터 안의 작은 레지스터를 제대로 지원하지 않아서 놓치는 성능이 상당합니다.ISA에 모듈성이 없으니 그 명령어들이 계속 이어진 건 이해가 갑니다.
그런데 옛날 동작 모드까지 전부요? 요즘 x86 CPU에는 모드가 딱 두 개만 있으면 됩니다.
완전한 64비트 모드. 낡은 잔재는 최대한 걷어낸 것
Win2k/XP 같은 32비트 보호 모드 OS용으로 작성된 애플리케이션 코드를 돌리는 호환 모드
그 마지막 모드도 선택 사항이어도 됩니다. 그 밖의 레거시 지원은 (아무리 '얼마 안 된다'고 해도) 트랜지스터 낭비라고 봅니다.
인텔이 몇 년 전에 그 방향으로 움직이긴 했습니다(X86S). 안타깝게도 흐지부지됐지만요.
비슷한 명령어를 실행할 수 있다고 해서 같은 건 아닙니다. 8008은 공통 버스 설계에 어큐뮬레이터 중심 ISA에서 출발했는데, 오늘날의 x64와는 거리가 한참 멉니다.
게다가 ISA는 CPU의 프런트엔드일 뿐이고 마이크로아키텍처를 반영하지 않습니다. 프런트엔드의 오퍼코드나 펌웨어 테이블 몇 개만 바꾸면 Ryzen이 ARM이나 MIPS 코드를 실행하게 만들 수도 있을 겁니다.
뭐, 컴퓨터도 80년 됐는데 아직 쓰고 있잖아요.
이런 사진을 코드로 해독하도록 모델을 훈련시켜 본 사람 있나요?
실리콘 기판 위에 금속 배선층이 60겹쯤 덮여 있는데 그걸 어떻게 하실 건가요?
맞는 말이네요. 베수비오 챌린지처럼 CT 스캔을 해야겠죠.
일반적인 단층 촬영이 통할지는 모르겠지만, 더 정교한 기법(타이코그래피)으로 충분히 높은 해상도에서 이미 해낸 적이 있습니다. https://www.nature.com/articles/s41586-024-07615-6
칩 설계를 리버스 엔지니어링하거나 불량 분석을 하는 사람들에게는 꽤 관심이 갈 만한 주제일 테니, 실제로 대규모로 시도하는 사람이 있을 수도 있겠네요.
다이를 파괴적으로 디프로세싱(deprocessing)할 수 있습니다. 한 번에 한 층씩 벗겨 내면서 층마다 촬영하는 거죠. 20년쯤 전에는 연마 휠과 고운 슬러리로 이 작업을 할 수 있었는데, 지금도 가능한지는 모르겠네요.
컴퓨터, 확대해!
확대하려면 키보드 앞에 두 명이 동시에 앉아야 해요.
전에 통하는 걸 본 적이 있어요. https://youtu.be/kl6rsi7BEtk?si=mXLk7yJwgTfn09as&t=12
누구 집 사진을 찍어서 그 사람의 현재 병명을 알아내겠다는 거나 마찬가지예요.
쓰레기를 넣으면 나오는 건 헤르페스죠.
배관이 어디 있는지 알아낸다고만 해도 됐을 텐데, 뭐, 헤르페스까지 가셔도 되겠네요... :)
https://github.com/giulioz/mmo-chip 이 프로젝트는 이 강연에서 설명합니다. https://youtu.be/5211iYEqnzo?t=44m30s
흥미롭네요.
사이트에서 원본 사진으로 연결되는데, 폰에서 훨씬 더 크게 확대할 수 있어서 세부가 더 많이 보입니다.
이런 사이트를 보면 이해가 안 되는 게 있어요. 바이브로 만든 사람은 글을 읽어 보고 "간단한 것 몇 개만 고치면 더 좋아지겠는데" 하는 생각이 한 번도 안 드는 걸까요?
"칩을 클릭하면 크게 볼 수 있습니다. 실제 크기 보기는 크기를 아는 114개를 같은 축척으로 그려, 1970년대 칩은 최신 칩 옆에서 먼지 한 톨이 됩니다."
"칩을 클릭하면 더 큰 이미지를 볼 수 있습니다. '실제 크기'를 누르면 크기를 아는 모든 칩이 서로 비례하는 크기로 나타납니다. 그러면 해가 갈수록 크기가 어떻게 달라졌는지 한눈에 보이는데, 예를 들어 1970년대 칩 중에는 최신 칩에 비해 아주 작은 것도 있습니다."
(다른 칩과 비교해서 "먼지 한 톨"인 칩은 하나도 없으니, AI가 쓴 문장은 사실조차 아니에요...)
저도 이런 슬롭을 가져다가 슬롭 같은 규칙을 슬롭슬롭하게 얹어서 슬롭을 디슬롭하는 AI 교정기나 바이브로 만들어 볼까 봐요.
대단한 사이트네요. 유화를 배우는 친구가 있어서 방금 이 링크를 보냈습니다. 결과물이 벌써 기대돼요!
전부는 아니에요. 적어도 존 맥마스터(John McMaster)의 사이트 siliconprawn.org에 있는 DMG-CPU-A가 빠져 있습니다.
자유롭게 쓸 수 있는데도 빠진 게 몇 개 있다는 걸 알고 있어요. 그쪽에 알릴 방법을 찾은 분 계신가요?
유료 벽 뒤에 숨겨 놨을 수도 있어요.
한 달에 고작 10달러 내면 만든 사람이 남의 이미지로 돈을 벌 수 있다니!