SWEV

임베디드란 무엇인가 본문

컴터

임베디드란 무엇인가

SWEV 2015.10.23 11:30

아는 동생 하나가 '임베디드(Embedded)'가 무엇인지 물어왔다. 인터넷을 뒤져봐도 명확하게 감이 오지 않는단다. 임베디드란 보통 '임베디드 시스템'의 줄임말로 쓰인다. 임베디드 컴퓨터, 임베디드 회로를 짧게 말할때도 '임베디드'라고 한다. 생각해 보면 별 것 아닌 내용을 가지고 뭘 그리 어렵게 생각하나 싶어서 임베디드로 구글을 뒤적거려 보니 내가 봐도 설명들이 어렵게 쓰여 있었다. 한 번에 딱 알아들을만한 설명을 바라던 후배를 위해 간단하게 통화로 설명을 해주고 나니 이건 따로 정리해서 글로 옮겨놓을만한 내용이라는 생각이 들었다. 그래서 쓴다.


△ 최초의 컴퓨터인 에니악(Eniac)

최초의 컴퓨터는 요즘의 PC처럼 속편하게 쓸 물건이 못되었다. 커다란 방 하나를 통째로 차지하는 덩치에 전기도 무지하게 많이 썼고 수시로 고장나기 일쑤였다. PC, 즉 'Personal Computer' 라는 개념 자체가 컴퓨터의 발전이 꽤나 이루어지고 나서야 생겨난 개념이고 그 이전까지 컴퓨터는 더럽게 비싼 기계였다. 살때도 비쌌고, 쓸때도 비쌌다. 도저히 '가볍게' 쓸만한 물건이 아니었단 이야기다.


그러다가 시대가 변했다. 반도체라는 물건이 튀어나오면서 예전처럼 집채만한 컴퓨터는 사라졌고 작은 반도체 안에 여러 기능들을 욱여[각주:1]넣는데 성공하면서 컴퓨터란 물건도 작아지기 시작한다. 기술이 발전하여 컴퓨터의 크기를 충분히 줄여놓고 나니, 사람들은 컴퓨터를 써서 조금 더 편하게 살아갈 방법들을 떠올려 낸다. 어떤 일을 여러 번 반복해서 해내거나, 혹은 특정한 조건이 만족될 때만 작동을 한다든가 하는 기계들을 만들고 싶었던 것이다. 그리고 그러한 목적으로 '성능은 보잘것 없지만 아주 작고 싸고 가벼운 컴퓨터'를 만들어서 기계들에 집어넣기 시작한다. 이게 바로 임베디드의 시작이다.


△ 흔히들 쓰는 선풍기

우리가 집에서 흔히 쓰는 선풍기를 생각해보자. 정지/미풍/강풍/약풍을 담당하는 버튼과 회전 스위치, 그리고 시간이 지나면 자동으로 꺼지게 만들고 싶을 때 쓰는 타이머가 붙어있다. 이 선풍기는 '스스로 판단해서' 무언가를 해내지 못한다. 강풍으로 켜면 센 바람이 나오고 태엽이 달린 타이머로 맞춰둔 시간이 지나면 꺼질 뿐이다. 이 모자란 기계를 조금 더 편리하게 쓰고 싶었던 사람들은 선풍기에 아주 조그마한 컴퓨터를 달아주었다. 그러니까, 상대적으로 구식인 '기계식 제어'에서 더 나은 방법인 '전자 제어'로 바뀌게 되었다는 뜻이다.


△ 임베디드 회로가 달린 '전자식' 선풍기의 버튼들

기존의 기계식/전기식 선풍기는 반드시 누군가는 가까이 가서 스위치를 물리적으로 조작해야 한다. 그러나 임베디드 시스템이 달려있는 '전자식' 선풍기는 온도에 따라 자동으로 바람의 세기를 조절하거나 지나치게 센 바람이 잠을 방해하지 않도록 아주 약한 바람을 틀수도 있고, 리모콘으로 멀리서 켜고 끌 수도 있다. 이 모든 일들이 선풍기안에 달려있는 임베디드 시스템들이 해내는 일이다. 임베디드라는 말을 사전에서 찾아보면 '내장된' 혹은 '안에 달려있는' 정도의 뜻이라고 나온다. 자, 이게 임베디드의 정의이다. 어떤 기계 안에 '제어'를 목적으로 하는 아주 작은 컴퓨터가 달려있다면 그게 바로 임베디드 시스템이다.


딱 잘라 말해서, 임베디드 시스템은 특별한 물건이 아니다. 우리가 살면서 만지고 쓰는 숱한 기계들에 거의 다 들어가있다. 선풍기, 전기밥솥, 전자시계, 인터넷 공유기, 전화기, 세탁기, 냉장고, TV, 에어컨 등등 전기로 작동하는 물건 치고 임베디드 시스템이 달려있지 않은 기계를 찾기가 더 어려울 정도다. 에어컨을 예로 들어 설명해보자. 온도가 높으면 실외기를 작동시켜 차가운 바람을 뿜어내고, 목표로 했던 온도만큼 충분히 낮아지면 실외기를 꺼서 전기를 아낀다. 전기밥솥은 취사시간에 맞춰서 안에 달린 열판을 가열시켰다가 밥이 다 지어지고 나면 자동으로 보온모드로 바뀌며 밥을 따뜻하게 유지시킨다. 나름대로의 '논리'와 '기준'을 가지고 일하는 거의 모든 기계엔 임베디드 시스템이 달려있다. 이런 일들은 기계적인 구조로 처리하는 것보다 임베디드 시스템을 집어넣어서 전자적으로 처리하는 쪽이 만들기도 쓰기도 훨씬 편하다. 구조가 간단해져서 값이 싸지고, 고장도 잘 나지 않으니까.


△ 임베디드 시스템의 기구한 운명

임베디드가 '내장된'이라는 뜻인걸 아까 짚고 넘어갔는데 결국 상대적인 비교이다. 시사경제 사전에서 임베디드를 찾아보면 'PC 이외의 기계에 들어가는 칩' 정도로 설명되어 있는데 사실 PC 내부에도 임베디드 회로가 여럿 달려있다. 컴퓨터에 달려있는 전원 공급장치만 해도 그렇다. 전원 공급 장치 안에 들어있는 임베디드 시스템이 사용량에 따라 전압을 조절하고, 또 온도에 따라서 냉각팬의 속도도 조절해준다. 결국 '기계의 다른 부분을 위해 일하는 모든 컴퓨터'는 임베디드 시스템이라고 보아도 좋다. 세탁기의 임베디드 시스템은 정해진 시간에 모터를 돌리고 밸브를 열어 물을 받거나 물을 빼낸다.


극단적으로 이야기 하자면, 임베디드 시스템은 '쩌리'이다. 절대로 자신이 주인공이 되지 않는다. 만약 스스로 주인공이 되었다면 그건 더 이상 임베디드 컴퓨터가 아니다. 그냥 컴퓨터일 뿐이다. 컴퓨터란 이름을 굳이 한글로 풀어쓰면 '계산하는 기계"이니 계산이 목적인 장치는 임베디드 컴퓨터가 될 수 없다. 임베디드는 컴퓨터의 일종이지만, 일반적인 컴퓨터랑은 약간 다르다. 보통의 컴퓨터는 윈도나 리눅스 혹은 맥OS 같은 운영체제를 설치하여 작동시키고, 그 운영체제 위에 사용자가 손쉽게 이런저런 프로그램을 추가해서 자신의 필요대로 조작할 수 있다. 그러나 임베디드 컴퓨터는 작게, 간단하게 만드는 것을 목표로 하기 때문에 저런식으로 사용자 입맛에 맞게 무언가를 추가하거나 빼는 일이 상대적으로 어렵다. 극단적으로 단순한 임베디드 시스템의 경우 운영체제가 아예 없으며 이 경우에도 하드웨어를 제어해주기 위한 소프트웨어는 필요한데, 이 소프트웨어를 보통 '펌웨어(Firmware)'라고 부른다. 운영체제가 없거나 기능이 제한적인 경우가 많은 임베디드 시스템을 보고 이런걸 컴퓨터라고 부르기는 뭣하지 않냐는 사람들이 가끔 있다. 먹고 자고 싸는 것 밖에 못하는 신생아도 사람이듯이 그 구조가 간단하고 할 줄 아는게 많지 않은 컴퓨터도 컴퓨터로 쳐줘야 옳다.


사실 명확히 구분하는 것이 좀 어려운 일이긴 하다. 마트나 편의점 계산대에 붙은 POS 장비를 '컴퓨터'라고 부르지는 않듯이 말이다. POS 장비 안에는 임베디드 시스템이 달려있지만 예전과 다르게 요즘의 POS 장비들은 윈도가 깔려 나온다. 꼭 윈도가 아니더라도 요즘엔 임베디드용 칩들이 워낙 성능이 좋아져서 PC와 성능차이가 거의 없어지는 지경에 이르렀다. 그리고 당연하게도 PC의 부품이 그대로 임베디드 시스템에 쓰이는 경우도 얼마든지 있다.


△ 괴상하게 생겼지만 윈도와 스타크래프트를 설치할 수 있는 PC이다.

커다란 공장이나 반도체 제조 시설 같은 곳에서는 임베디드 시스템의 성능이 좋아야 하기에 PC의 부품을 그대로 쓴 물건들이 들어가곤 했다. 요즘엔 특히 PC 부품들이 워낙 전기를 적게 먹고 열도 적게 나서 예전보다 PC 기반의 임베디드 시스템이 더 많이 쓰이는 추세이다. 당장 위의 사진에 있는 물건도 냉각팬 없이 순전히 방열판만 가지고 작동하도록 되어있다. 아마도 먼지가 많은 환경에서 쓰일 것이라고 생각하고 만든 물건이지 싶다. 요즘 임베디드 시스템들이 고성능화 되면서 사물 인터넷(IoT, Internet of Things) 같은 개념도 자주 이야기가 나온다 있다. 특별할 건 없고, 그냥 예전에 쓰이던 임베디드 시스템에 인터넷 기능을 더한 것 뿐이다. 인터넷에 연결이 되어있는 한, 어디에서나 스마트폰 같은 장치로 쉽게 조종하거나 제어할 수 있으니까.


어릴적에 아파트에서 곰국을 우려내다가 가스렌지 불을 끄는 것을 깜빡하고 외출했던 아줌마 덕분에 소방차가 출동했던 일이 있었는데, 사물 인터넷 기능이 있는 가스렌지라면 스마트폰으로 가스 불을 끌 수 있었을 것이다. 실제로 요즘엔 저런 비슷한 기능들이 새로 지어지는 아파트에 흔히 달리곤 한다. 아는 후배는 스마트폰으로 뜬금없는 타이밍에 안방의 전등을 꺼서 어머님을 놀래킨다. 여러모로 기계 좋아하는 사람들은 쓸데없는 장난질하기 좋은 세상이다. 의식의 흐름 기법 마냥 별 목표도 없이 임베디드란 단어를 가지고 이리저리 써보았다. 이 글을 쓰게 만들어준 파괴신 호갱에게 감사인사를 전하며 글을 마친다


마더보드? 도터보드? 메인보드?

△ 우리는 메인보드라는 표현을 더 자주 쓰지만, 제조사는 마더보드라는 표현을 주로 쓴다.

임베디드라는 단어 자체가 하나의 기계 안에서 상대적인 위치나 역할을 기준으로 정해졌다는 것을 설명했다. 설명하다 보니 이런식으로 상대적인 위치에 따라 이름이 정해지는 다른 사례가 생각나서 말이 나온 김에 같이 써둔다.


우리가 컴퓨터를 조립할 때 '메인보드(Mainboard)'라고 부르는 부품은 마더보드(Motherboard)라고 부르는 것이 조금 더 정확한 표현이 된다. 마더보드라는 이름 자체가 '다른 기판을 꽂을 수 있는 기판'을 의미하기 때문이다. 모성으로 자식을 품는 엄마처럼, 마더보드는 다른 기판을 품어줄 수 있다. 그리고 메인보드는 원래 확장성이 없는 기판을 이야기 할 때 쓰는 표현이다. 사실 Main 기판이라는 것 자체가 이미 다른 기판이 있다는 느낌으로 들리지만.


△ 도터보드와 마더보드는 크기가 아니라 역할로 구분한다.

그리고 위의 사진에서처럼 마더보드 위에 달린 기판은 '도터보드(Daughterboard)'가 된다. PC를 기준으로 하면 그래픽카드와 RAM 같은 것이 도터보드라고 볼 수 있을 것이다. 딸이 자라면 엄마보다 클 수 있듯이 도터보드가 마더보드보다 클 수도 있다. 당장 위의 사진만 보아도 도터보드와 마더보드의 크기가 거의 같다. 그러나 아무리 큰 도터보드도 마더보드 없이 일할 순 없다. 도터보드 없는 마더보드는 있을 수 있지만, 마더보드 없는 도터보드는 존재할 수 없다.


△ 지금은 사라진 Canopus의 지포스 그래픽카드

지금은 사라진 회사 중에 Canopus라는 곳이 있었다. 그래픽카드와 방송용 편집 카드 같은걸 만들던 회사였는데, 그래픽카드 라인업중 지포스 칩셋을 쓴 물건들은 Spectra라는 브랜드로 팔았다. 이 Spectra는 출력 품질을 높이기 위해서 그래픽카드 위에 조그마한 필터가 달린 기판을 하나 더 달고 그 기판을 통해 화면을 출력했는데 이 조그만 기판이 그래픽카드 입장에서 보면 도터보드가 된다. 그래픽카드도 마더보드 입장에서 보면 도터보드인데, 그 도터보드 위에 도터보드가 또 달려있다. 물론 그렇다고 해서 CPU가 달려있는 마더보드를 그랜드마더보드라고 부르진 않는다-_-.


그리고 뜬금없이 한국에서 유독 메인보드라는 표현이 더 자주 쓰이는 이유가 뭔지 되게 궁금해졌다. 당장 ASUS나 기가바이트, MSI 같은 주요 제조사들도 박스에 모두 마더보드라고 쓰는데 주변 사람들하고 컴퓨터 이야기를 하다가 마더보드라는 표현을 들은 기억이 손에 꼽는다. 가끔 애교섞인 표현으로 엄마보드라고 쓰거나 아예 짧게 줄여서 보드라고만 쓰는 경우는 봤어도 마더보드라고 쓰는 사람은 정말 드물다. 이유가 뭘까 궁금해 하다가 다나와에 들어갔더니 다나와가 이유였다-_-.



  1. 흔히들 '우겨넣다'가 표준어인줄 알지만 '욱여넣다'가 표준어이다. 이걸 처음 알았을 때 정말 놀랐었다-_- [본문으로]
27 Comments
  • paradogs 2016.01.05 19:46 신고 잘 읽고 갑니다.ㅎㅎ
  • 2016.09.21 16:19 비밀댓글입니다
  • Favicon of http://swev.net SWEV 2016.09.22 08:10 신고 감사합니다. 열심히 쓰겠습니다.
  • Jay 2016.10.10 20:26 신고 재밋게 잘 읽고 갑니다 ^^
  • Favicon of http://swev.net SWEV 2016.10.11 05:23 신고 감사합니다. 앞으로도 열심히 쓰겠습니다.
  • 멋있다 2016.10.13 11:42 신고 잘 읽었습니다. !! 이해가 쏙쏙 되네요
  • Favicon of http://swev.net SWEV 2016.10.20 12:59 신고 의외로 이 글을 보고 들어오시는 분들이 꽤 되시네요. 이런식으로 개념정립 글을 좀 많이 쓰려고 준비중입니다. 감사합니다.
  • 질문 2016.10.24 08:45 신고 POS가 뭐죠 ㅠㅠ 혹시 따로 연락좀 할 수 있을까요
  • Favicon of http://swev.net SWEV 2016.10.26 01:53 신고 POS 장비는 별거 없고 계산대에 있는 바코드 찍는 기계를 이야기 합니다. ultrazet@gmail.com 으로 연락 주세요:D
  • 재밌습니다! 2017.01.14 17:39 신고 잘 읽었습니다! 궁금하던 부분이 이해가 잘됐어요!
  • Favicon of http://swev.net SWEV 2017.01.15 15:23 신고 희대의 효자 포스팅이네요. 검색에도 잘 걸리고 많은 분들이 호응해주십니다. 감사합니다 ㅎㅎ.
  • Pyo 2017.02.08 08:02 신고 잘 썼슈.. 잘봤슈! 고맙슈!
  • Favicon of http://swev.net SWEV 2017.02.08 23:19 신고 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ?
  • yoons 2017.03.27 11:50 신고 궁금증을 잘 풀어주셔서 너무 감사하네요. 잘 읽고 갑니다.
  • Favicon of http://swev.net SWEV 2017.03.27 12:27 신고 개념을 따지고 보면 별 내용이 아닌데, 이상하게 잘 받아들여지지 않죠 ㅎㅎ.
    저도 이렇게 정리해서 쓰기까지 시간이 좀 걸렸습니다.
  • 란잉 2017.03.27 17:01 신고 설명도 잘해주시고 가독성도 있어 재미있게 보았습니다. 좋은 글 감사드립니다~!!
  • Favicon of http://swev.net SWEV 2017.03.28 23:40 신고 감사합니다.
    글을 쓰는 사람에게 큰 힘이 됩니다.
    재미 없는 이야긴데 다행히도 지루하진 않게 쓴 것 같아 마음이 놓이네요.
  • 민섭 2017.03.27 20:09 신고 좋은글 잘 읽었습니다
  • Favicon of http://swev.net SWEV 2017.03.28 23:41 신고 감사합니다:D
  • MS 2018.02.28 13:28 신고 재밌게 잘 읽었어요. 커피레이크 임베디드 보드가 유출됐다길래 임베디드 보드가 뭔가 했는데 대략 이해할 수 있겠네요
  • Favicon of http://swev.net SWEV 2018.03.01 06:40 신고 기왕 관심 가지신 김에 설명충 한 번 더 등판하자면, 임베디드 PC는 본문에 나와있듯 어떤 장비를 구성하는 하나의 부품으로 들어가는 물건이기에 관리 용이성이 생각보다 큰 변수가 됩니다. 그리고 이 관리 용이성은 보통 원격제어가 가능하느냐 마느냐에 의해 크게 갈립니다. 장비 업체가 납품하고 나서 수시로 출장 올 수는 없기도 하고 현장에서 운용하는 엔지니어들도 원격작업이 되면 편할테니까요.

    결론적으로, 임베디드 보드로서의 필요조건은 인텔의 vPro같은 기술을 지원하느냐 마느냐를 기준으로 생각하심 됩니다. 보통 OS 부팅만 되고 나면 원격제어로 뭐든 가능한 시대지만, 바이오스단까지 완벽하게 원격PC에서 조정 가능한 기능은 인텔의 vPro 기술을 써야 가능하거든요.(서버쪽은 약간 다른 기술을 씁니다) 그리고 이 vPro 기술을 지원하는 칩셋이 인텔의 Q시리즈인데 이제 나올 거 다 나온 커피레이크에서 뭔가가 유출되었다는건 Q360 칩셋 마더보드들 중 하나의 사진이 떴다는 의미이지 싶네요.

    마지막으로, 재밌게 보아주셔서 감사합니다. 좋은 하루 되십셔.
  • 햄매 2018.06.16 16:40 신고 덕분에 이해가 잘되네용
  • Favicon of http://swev.net SWEV 2018.06.17 11:13 신고 다행히도 망한 글은 아닌가봅니다. 꾸준히들 오시네요.
  • 찬찬 2018.08.10 10:45 신고 재치있는 풀이로 재밌게 포스팅 하셨내요,
    잘 읽고 갑니다 .
  • Favicon of http://swev.net SWEV 2018.08.16 08:16 신고 참 별 거 아닌 포스팅인데 꾸준히 찾아들 주시네요.
    감사할 따름입니다.
  • 코독 2018.09.16 17:18 신고 임베디드 에다가 인공지능기능을 결합하기에는 그것은 더이상 임베디드가 아닌것이 되는건가요? 제가 생각하기에 특정한 기능을 하도록 설계된것이 임베디드 같은데 인공지능을 결합하면 주어진 상황마다 다른 특정한 기능을 할 수 있어 더 좋을 거같아서요
  • Favicon of http://swev.net SWEV 2018.09.19 03:49 신고 인공지능도 두 종류가 있습니다.
    그간 LG나 삼성 같은 가전 제품 제조사에서 마케팅용으로 써왔던 인공지능은 요즘 기준으로 '약인공지능'이라고 부릅니다. 빨래 양의 무게에 따라 세탁기 물의 양을 스스로 조절하거나, 실내 온도에 따라 에어컨의 실외기 작동 빈도를 스스로 조절하는 등의 '간단하지만 나름대로의 자체적인 작동 논리'를 가진 가전제품들은 모두 '약인공지능'을 달고 있다고 생각하시면 됩니다. 그리고 그 약인공지능도 크게 보면 컴퓨터의 범주에 들어가기 때문에 2018년 현재의 기준에서도 임베디드에 인공지능이 들어가 있다는 말은 표현 자체가 틀렸다고 보기가 어렵습니다. 약인공지능을 간단하게 표현하자면 제 기준에서는 '반응하는 기계' 정도가 될 듯 합니다.

    요즘 흔히 말하는 자체 학습 기능이 있다거나 딥러닝등을 통해 대량의 데이터를 학습한 상태로 나온다거나 하는 류의 기계들은 '강인공지능'으로 분류됩니다. 주어진 상황에 대한 능동적인 판단이 가능한 기계라면 강인공지능이 될텐데, 생활가전에 그런 강인공지능이 임베디드 되었을 때 소비자가 어떻게 편해질지 저는 아직 잘 모르겠습니다.(부정적인 뉘앙스가 아니라 정말 겪어본 적이 없어서 아직 생각해본 적도 없단겁니다. 에어컨이나 세탁기가 저에게 뭘 제안할지 상상해본 적이 없어요) 흔하게 생각해볼만한 건 자율주행 자동차 정도일텐데 대충 이미 말씀하시는 부분들은 시장에 서서히 녹아들어가는 중이라고 생각하셔도 됩니다. 강인공지능을 누가 저에게 물으면 저는 보통 '생각하는 기계'정도로 표현합니다.

    반응과 생각의 뉘앙스 차이를 고려해보면 그럭저럭 이해가 되시리라 믿습니다. 정리하자면, 시장엔 이미 반응하는 기계류의 약인공지는 임베디드가 널리 퍼져있으며 생각하는 기계 정도의 강인공지능은 삶을 어떻게 바꿔놓을지 저도 잘 모르겠다는겁니다.
댓글쓰기 폼