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

Intel이 공개한 디바이스 모델링 언어(DML), 가상 플랫폼 개발의 새 도구

Hacker News 원문 보기
Intel이 공개한 디바이스 모델링 언어(DML), 가상 플랫폼 개발의 새 도구

가상 플랫폼이 뭔데, 왜 필요한 걸까요?

칩을 설계하거나 시스템 소프트웨어를 개발할 때, 실제 하드웨어가 나오기 전에 소프트웨어를 먼저 테스트해야 하는 상황이 꽤 자주 생겨요. 반도체 하나 만드는 데 수개월에서 수년이 걸리는데, 그동안 손 놓고 기다릴 수는 없잖아요. 이럴 때 쓰는 게 바로 가상 플랫폼(Virtual Platform)이에요. 실제 하드웨어의 동작을 소프트웨어로 흉내 내서, 마치 진짜 칩 위에서 돌리는 것처럼 펌웨어나 드라이버를 개발하고 테스트할 수 있게 해주는 거죠.

그런데 이 가상 플랫폼 안에 들어가는 각각의 하드웨어 장치들—예를 들어 네트워크 컨트롤러, USB 컨트롤러, 타이머 같은 것들—을 소프트웨어로 모델링하는 작업이 꽤 복잡하고 반복적이에요. Intel이 이 문제를 해결하기 위해 만든 게 바로 DML(Device Modeling Language)이고, 이걸 최근 GitHub에 오픈소스로 공개했어요.

DML은 어떤 언어인가요?

DML은 하드웨어 디바이스의 동작을 기술하기 위해 만들어진 도메인 특화 언어(DSL)예요. DSL이라는 건, 범용 프로그래밍 언어(Python이나 C 같은)와 달리 특정 분야의 문제를 풀기 위해 최적화된 언어를 말해요. SQL이 데이터베이스 질의를 위한 DSL인 것처럼, DML은 디바이스 모델링을 위한 DSL인 거죠.

DML로 작성한 디바이스 모델은 Simics라는 Intel의 가상 플랫폼 시뮬레이터 위에서 돌아가요. Simics는 업계에서 꽤 오랫동안 사용되어 온 전체 시스템 시뮬레이터인데요, 칩 설계 회사나 임베디드 소프트웨어 팀에서 하드웨어 없이도 전체 시스템을 부팅하고 테스트하는 용도로 써왔어요.

DML의 핵심 특징을 살펴보면, 우선 레지스터와 필드를 선언적으로 기술할 수 있어요. 하드웨어 장치라는 게 결국 특정 메모리 주소(레지스터)에 값을 읽고 쓰면서 동작하는 건데, DML에서는 이 레지스터 구조를 마치 설계 문서처럼 깔끔하게 선언할 수 있거든요. C로 같은 걸 구현하려면 비트 마스킹이나 오프셋 계산 같은 보일러플레이트 코드가 잔뜩 필요한데, DML은 이걸 언어 차원에서 깔끔하게 처리해줘요.

또 하나 재미있는 건 이벤트 기반 프로그래밍 모델을 기본 지원한다는 점이에요. 하드웨어라는 게 "이 레지스터에 값을 쓰면 100클럭 뒤에 인터럽트가 발생한다" 같은 시간 기반 동작이 많은데, DML은 이런 타이밍 이벤트를 언어 자체에서 자연스럽게 표현할 수 있도록 설계되어 있어요.

업계에서 비슷한 도구들은 뭐가 있을까요?

가상 플랫폼과 디바이스 모델링 분야에는 몇 가지 접근 방식이 있어요. 가장 널리 쓰이는 건 SystemC/TLM(Transaction-Level Modeling)이에요. SystemC는 C++ 기반의 하드웨어 모델링 라이브러리로, IEEE 표준이기도 하고 Synopsys, Cadence 같은 EDA 업체들이 폭넓게 지원하고 있죠. QEMU도 가상 플랫폼으로 많이 쓰이는데, QEMU의 디바이스 모델은 순수 C로 작성해요.

DML이 이들과 다른 점은 추상화 수준이에요. SystemC나 QEMU C 모델은 범용 언어 위에 라이브러리를 올린 형태라서 자유도는 높지만 코드량이 많아지고 실수하기 쉬워요. 반면 DML은 디바이스 모델링에 특화된 문법을 제공하기 때문에 같은 기능을 훨씬 적은 코드로 표현할 수 있고, 구조적인 실수를 줄여줘요. 다만 Simics라는 특정 플랫폼에 종속된다는 건 단점이기도 해요.

최근 RISC-V 생태계가 확장되면서 가상 플랫폼에 대한 관심도 다시 높아지고 있는데요, Intel이 이 시점에 DML을 오픈소스로 공개한 건 자사의 시뮬레이션 생태계를 넓히려는 전략적 움직임으로 볼 수 있어요.

한국 개발자에게는 어떤 의미가 있을까요?

솔직히 말하면, DML은 대부분의 웹/앱 개발자에게는 직접적으로 와닿지 않는 도구예요. 하지만 임베디드 시스템, 반도체, 시스템 소프트웨어 쪽에서 일하는 분들에게는 살펴볼 가치가 있어요. 특히 한국은 삼성전자, SK하이닉스 등 반도체 강국이고, 이런 회사들의 펌웨어·드라이버 팀에서는 가상 플랫폼을 실제로 활용하고 있거든요.

시스템 프로그래밍에 관심이 있는 분이라면, DML의 소스를 들여다보는 것만으로도 "DSL을 어떻게 설계하는가"에 대한 좋은 사례 학습이 될 수 있어요. 특히 컴파일러가 DML 코드를 C로 변환하는 구조인데, 이런 소스-투-소스 컴파일 패턴은 다른 도메인에서도 유용하게 쓸 수 있는 기법이에요.

정리하자면

Intel DML은 가상 플랫폼 위에서 하드웨어 장치를 모델링하기 위한 특화 언어로, 복잡한 디바이스 모델링 작업의 생산성을 높여주는 도구예요. 범용적인 도구는 아니지만, 하드웨어-소프트웨어 경계에서 일하는 개발자에게는 의미 있는 공개이고, DSL 설계에 관심 있는 분들에게도 참고할 만한 프로젝트예요.

혹시 임베디드나 시스템 소프트웨어 쪽에서 가상 플랫폼을 써본 경험이 있으신 분 계신가요? 어떤 도구를 쓰셨고, 어떤 점이 불편하셨는지 궁금해요.


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

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

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

파이썬 강의 보기

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

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

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

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

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