GALS 칩 설계
요즘 반도체 칩 설계, 정말 복잡해졌죠? 수많은 코어와 기능이 한데 엉켜 돌아가는데, 혹시 이 모든 부품들이 한 박자에 맞춰 움직여야 한다는 생각에 머리가 지끈거리신 적 없나요? 놀랍게도, 현대의 초고성능 칩들은 더 이상 '모두 함께' 움직이지 않는답니다! 오늘은 바로 이 혁신적인 설계 방식, GALS(Globally Asynchronous, Locally Synchronous)에 대해 쉽고 재미있게 파헤쳐 볼게요.
GALS가 정확히 무엇인지 궁금하시죠? 쉽게 말해, 칩 전체를 하나의 거대한 오케스트라처럼 보지 않고, 여러 개의 작은 음악가 그룹(동기 섬)이 각자 자기만의 리듬으로 연주하다가, 필요할 때만 약속된 신호로 정보를 교환하는 방식이랍니다. 칩 내부의 각 블록은 자신의 최적 속도(로컬 클럭)로 작동하고, 부품 간 통신은 비동기 신호를 이용해 이루어지는 거죠.
옛날에는 칩의 한쪽에서 생성된 클럭 신호가 마치 쓰나미처럼 칩 전체에 퍼져나갔어요. 하지만 칩 규모가 커지고, AI 작업 부하가 늘어나면서 이 단일 전역 클럭 방식은 더 이상 감당할 수 없는 지경에 이르렀답니다. 신호 지연이나 전력 소모 문제로 골머리를 앓던 설계자들에게 GALS는 마치 족쇄를 풀어준 것과 같아요. 각 부품이 최선의 속도로 독립적으로 움직이게 하면서도 효율적인 소통을 보장하는 거죠.
이러한 유연성 덕분에 GALS는 현대 반도체 설계의 세 마리 토끼, 즉 고성능, 저전력, 설계 유연성을 동시에 잡을 수 있게 되었어요. 특히 AI 가속기처럼 GPU, NPU, RISC-V 코어 등 요구 클럭이 천차만별인 복잡한 시스템에서는 GALS가 필수적입니다. 각자의 최적 속도로 일하면 성능은 올라가고 전력은 아낄 수 있으니까요!
서로 다른 속도로 달리는 부품들이 데이터를 주고받을 때, 데이터가 꼬이면 안 되겠죠? 그래서 GALS에서는 '중재자' 역할을 하는 특별한 인터페이스 블록이 꼭 필요합니다. 이 블록을 Asynchronous Wrapper 또는 GALS Interface라고 부르며, 이곳에서 클럭 도메인 간의 안전한 데이터 전송(CDC 처리)이 철저하게 이루어진답니다. 이 인터페이스 덕분에 시스템 전체는 비동기지만, 각 구역은 완벽한 동기 상태를 유지할 수 있는 거예요!
GALS 칩설계 SoC 비동기 클럭 반도체 AI가속기 전력효율