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

4비트 단위로 동작하는 CPU를 직접 설계해 만든 공학용 계산기 - Verilog로 하드웨어 만들기

Hacker News 원문 보기
4비트 단위로 동작하는 CPU를 직접 설계해 만든 공학용 계산기 - Verilog로 하드웨어 만들기

계산기 하나 만들려고 CPU를 새로 설계했다고?

한 개발자가 GitHub에 "FPGA-Calculator"라는 프로젝트를 올렸어요. 그냥 계산기인 줄 알았는데, 들여다보니 어마어마하더라고요. 공학용 계산기를 만들기 위해 "니블(nibble) 지향" CPU를 Verilog로 처음부터 설계하고, 그걸 FPGA에 올려서 실제로 돌리는 프로젝트예요. 보통 사람이라면 "라즈베리파이에 파이썬 한 줄로 끝나잖아" 싶은 일을, 굳이 하드웨어 레벨에서 처음부터 만든 거죠.

이런 프로젝트가 왜 의미 있냐면, 컴퓨터가 "진짜로" 어떻게 동작하는지 이해하는 데 이만한 학습 방법이 없거든요.

니블 지향 CPU가 뭔가요?

조금 풀어드릴게요. 컴퓨터가 데이터를 다루는 기본 단위를 보통 워드(word) 라고 해요. 우리가 흔히 쓰는 PC는 64비트 워드, 즉 한 번에 64개의 0/1을 묶어서 처리해요. 임베디드 마이크로컨트롤러는 보통 8비트, 16비트, 32비트가 많죠.

그런데 이 프로젝트는 4비트, 즉 "니블(nibble)" 단위로 CPU를 만들었어요. 4비트면 0부터 15까지밖에 표현 못 해요. 왜 굳이 이렇게 만들었을까요? 답은 "계산기에는 4비트가 딱 맞다" 는 거예요. 계산기는 십진수(0~9)를 표시하잖아요. 0~9를 표현하려면 4비트면 충분하거든요(2^4=16). 이걸 BCD(Binary-Coded Decimal)라고 해요. 십진 숫자 하나를 4비트로 직접 인코딩하는 방식이에요. 1970~80년대 휴렛팩커드(HP)의 전설적인 공학용 계산기들도 비슷한 철학으로 만들어졌어요.

니블 단위로 가면 회로가 단순해지고, 곱셈/나눗셈 같은 십진 연산을 자연스럽게 처리할 수 있어요. 또 메모리도 작게 쓸 수 있고, 명령어 인코딩도 효율적이에요. 대신 큰 수를 한 번에 처리하지는 못하니까, 자릿수만큼 반복 연산하는 마이크로코드를 짜야 해요.

Verilog와 FPGA, 이게 또 뭐예요

Verilog는 하드웨어 설명 언어(HDL)예요. 우리가 C나 파이썬으로 "이 동작을 해라"라고 소프트웨어를 짜듯이, Verilog로는 "이런 회로 구조를 만들어라"라고 하드웨어를 짜는 거예요. AND 게이트, 플립플롭, 레지스터 같은 디지털 회로의 부품들을 코드로 기술해요.

FPGA(Field-Programmable Gate Array) 는 그 코드로 기술한 회로를 "실제로" 구현할 수 있는 칩이에요. 안에 수만 개의 작은 논리 블록들이 들어 있고, 우리가 짠 Verilog 코드대로 이 블록들을 연결해서 원하는 회로를 만들어내요. ASIC(맞춤 칩)을 만들면 수십억 원이 들지만, FPGA는 몇만 원짜리 보드에서 직접 "내 칩"을 만들어 돌려볼 수 있다는 게 매력이에요.

이 프로젝트의 저자는 ALU(산술 논리 장치), 레지스터 파일, 명령어 디코더, 메모리 컨트롤러, 키패드 입력 처리, 디스플레이 출력 회로까지 전부 직접 설계했어요. 그 위에 공학용 계산기에 필요한 사인/코사인, 로그, 지수 같은 함수를 CORDIC 알고리즘 같은 기법으로 구현해 올렸을 거예요. CORDIC이 뭐냐면, 곱셈기 없이 시프트와 덧셈만으로 삼각함수를 계산하는 고전적인 알고리즘이에요. 1959년에 나왔는데, 지금도 FPGA나 작은 마이크로컨트롤러에서 자주 쓰여요.

업계 흐름에서 이 프로젝트의 의미

요즘 "바닥부터 만들기(from scratch)" 흐름이 작은 부흥기를 맞고 있어요. 벤 이터(Ben Eater)의 브레드보드 8비트 컴퓨터 시리즈가 유튜브에서 큰 인기를 끌었고, RISC-V 같은 오픈 ISA(명령어 집합)이 등장하면서 개인이 CPU를 설계하는 진입장벽이 많이 낮아졌어요. nand2tetris 같은 교육 과정도 비슷한 결이고요.

이 프로젝트는 그 흐름 위에 있으면서, "기성 RISC-V를 가져다 쓰는 게 아니라 도메인에 맞는 ISA를 직접 만든다" 는 점이 좀 더 도전적이에요. 도메인 특화 아키텍처(DSA, Domain-Specific Architecture)는 구글 TPU나 애플 뉴럴 엔진처럼 거대 기업의 영역으로만 보이지만, 사실 작은 스케일에서 개인도 충분히 실험해볼 수 있다는 걸 보여주는 사례예요.

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

반도체와 AI 가속기 시대에 하드웨어를 이해하는 소프트웨어 엔지니어의 가치가 점점 커지고 있어요. 한국은 메모리 반도체 강국이고, 최근 NPU, 자율주행 SoC, AI 가속기 스타트업들이 많이 생기고 있죠. 이런 회사에 가지 않더라도, "내 코드가 실리콘 위에서 어떻게 도는지"를 감각적으로 아는 건 큰 자산이에요. 예를 들어 임베디드 펌웨어를 짤 때, 게임 엔진의 성능을 튜닝할 때, GPU 셰이더를 최적화할 때, 하드웨어 레벨의 직관은 결정적인 차이를 만들어요.

FPGA 입문이 어렵게 느껴진다면 Tang Nano, iCEBreaker, ULX3S 같은 저렴한 보드(2~10만 원대)부터 시작해보세요. 오픈소스 툴체인인 Yosys + nextpnr 도 점점 좋아지고 있어서, 굳이 Xilinx/Intel의 비싼 IDE 없이도 시작할 수 있어요. "불 켜는 LED 회로 → 7세그먼트 카운터 → 작은 CPU" 순서로 가면 자연스럽게 이런 계산기 프로젝트 수준까지 갈 수 있어요.

마무리

계산기 하나를 위해 CPU를 새로 설계한다는 건 비효율적인 듯 보이지만, "왜 이 도메인엔 이 아키텍처가 맞는가" 를 몸으로 익히는 가장 좋은 방법이에요. 추상화 너머의 세계를 한 번 들여다본 개발자는 그 경험을 잊지 못해요.

여러분은 "바닥부터 만들기" 프로젝트 중에 가장 해보고 싶은 게 뭐예요? 컴파일러? OS? 데이터베이스? 아니면 이 프로젝트처럼 CPU?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

파이썬으로 자동화를 시작해보세요

파이썬 기초부터 자동화까지 실전 강의.

파이썬 강의 보기

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

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

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

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

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