컴퓨터를 꺼도 날짜와 시간이 유지되는 이유, RTC와 CMOS 배터리의 원리

컴퓨터 전원 버튼을 끄고 콘센트까지 뽑아 놓았는데 며칠 뒤 다시 켜 보면 날짜와 시간은 그대로 이어져 있습니다. 처음 생각해 보면 조금 이상합니다. 전기가 공급되지 않는데 컴퓨터 안에서는 누가 시간을 계속 세고 있는 걸까요? 컴퓨터 날짜와 시간이 유지되는 원리를 알고 보면 메인보드 안에 우리가 평소에는 거의 신경 쓰지 않는 작은 시계가 숨어 있습니다. 여기에 작은 배터리와 인터넷 시간 동기화까지 더해져 우리가 보는 컴퓨터 시간이 만들어집니다.


1. 컴퓨터 안에도 시계가 있다

컴퓨터를 사용하면서 시간은 윈도우가 알아서 표시해 주는 기능이라고만 생각하기 쉽습니다. 저도 예전에는 화면 오른쪽 아래에 표시되는 시간이 인터넷에서 바로 받아 오는 것이라고 생각했습니다. 그런데 인터넷 연결을 끊은 상태에서도 컴퓨터 시간은 계속 움직이는 것을 보면 이야기가 조금 달라집니다.

컴퓨터 메인보드에는 RTC(Real-Time Clock)라고 부르는 작은 하드웨어 시계가 들어 있습니다. RTC는 말 그대로 현재 날짜와 시간을 계속 계산해 주는 장치입니다. 컴퓨터의 CPU나 운영체제가 꺼져 있어도 필요한 전원만 공급된다면 시간 계산을 계속할 수 있습니다.

그래서 컴퓨터가 꺼졌다고 해서 내부의 모든 기능이 완전히 멈추는 것은 아닙니다. 아주 적은 전력만 사용하는 RTC는 주전원이 끊긴 뒤에도 별도의 전원을 이용해 계속 움직입니다. 이 작은 시계의 존재를 알면 컴퓨터 날짜와 시간이 유지되는 원리가 훨씬 이해하기 쉬워집니다.


2. RTC는 어떤 역할을 할까

컴퓨터 날짜와 시간이 유지되는 원리에서 가장 중요한 장치를 하나만 고른다면 RTC라고 할 수 있습니다. RTC는 현재 몇 시인지뿐 아니라 날짜까지 계속 추적하는 역할을 합니다. 금요일 밤에 컴퓨터를 끄고 월요일 아침에 켜도 월요일 날짜가 표시되는 이유도 여기에 있습니다.

Intel의 RTC 기술 자료를 보면 RTC는 시간을 추적하고, 시스템 전원이 내려간 상태에서도 RTC용 전원이 살아 있으면 관련 정보를 유지하도록 설계되어 있습니다. 일부 시스템에서는 32.768kHz의 진동원을 이용해 시간을 계산하는 구조를 사용합니다. 이 숫자가 익숙하게 느껴진다면 쿼츠 시계에서 사용하는 시간 측정 방식과 비슷하기 때문입니다.

중요한 점은 컴퓨터가 종료될 때 시간을 저장했다가 부팅하면서 며칠이 지났는지 계산하는 것이 아니라는 것입니다. RTC 자체가 컴퓨터가 꺼져 있는 동안에도 계속 시간을 세고 있습니다. 우리가 잠든 사이 벽시계가 계속 움직이는 것과 비슷하게 생각하면 이해하기 쉽습니다.


3. CMOS 배터리가 필요한 이유

컴퓨터 날짜와 시간이 유지되는 원리를 찾아보다 보면 RTC와 함께 반드시 등장하는 것이 CMOS 배터리입니다. 데스크톱 본체를 열어 본 적이 있다면 메인보드에 동전처럼 생긴 은색 배터리가 꽂혀 있는 모습을 본 적이 있을 겁니다. 많은 데스크톱에서는 이런 코인셀 배터리가 주전원이 끊겼을 때 RTC와 관련 회로에 필요한 전원을 공급합니다.

RTC는 전기를 거의 사용하지 않지만 아무런 전원 없이 작동할 수 있는 것은 아닙니다. 컴퓨터가 켜져 있을 때는 시스템으로부터 전원을 받을 수 있지만 전원 코드까지 뽑으면 별도의 전원이 필요합니다. 그 역할을 담당하는 것이 흔히 CMOS 배터리라고 부르는 작은 배터리입니다.

그래서 컴퓨터를 몇 달 동안 사용하지 않고 보관해 두어도 배터리가 정상이라면 날짜와 시간이 계속 이어질 수 있습니다. Dell에서도 메인보드의 코인셀 배터리가 컴퓨터가 꺼져 있을 때 BIOS 또는 UEFI 관련 설정과 시스템 시간을 유지하는 데 사용된다고 설명합니다. 작은 배터리 하나가 생각보다 중요한 일을 하고 있는 셈입니다.

컴퓨터 날짜와 시간이 유지되는 원리를 보여주는 메인보드 RTC와 CMOS 배터리 이미지


4. 전원을 꺼도 시간이 가는 원리

처음 컴퓨터 날짜와 시간이 유지되는 원리를 접했을 때 가장 궁금했던 부분도 바로 이것입니다. 컴퓨터의 전원 공급 장치까지 완전히 꺼졌는데 시간이 계속 간다는 것이 쉽게 와닿지 않습니다. 하지만 주전원과 RTC가 사용하는 보조 전원을 따로 생각하면 의외로 간단합니다.

컴퓨터를 종료하면 CPU와 그래픽카드, 메모리처럼 많은 전력을 사용하는 부품은 작동을 멈춥니다. 반면 RTC는 매우 작은 전력만 사용하기 때문에 메인보드의 보조 배터리나 시스템 배터리로 계속 동작할 수 있습니다. Intel의 최신 RTC 자료에서도 설계에 따라 별도의 배터리 또는 시스템 배터리를 RTC 전원으로 사용할 수 있다고 설명합니다.

따라서 전원을 끈 순간의 날짜와 시간을 단순히 메모리에 저장해 놓는 방식이라고 생각하면 조금 다릅니다. 컴퓨터가 꺼져 있는 10시간 동안에도 RTC에는 실제로 10시간이 흐르고 있습니다. 다시 컴퓨터를 켰을 때 그때까지 계속 계산된 날짜와 시간을 읽어 오는 구조입니다.


5. 컴퓨터를 켜면 시간은 어떻게 맞을까

컴퓨터 날짜와 시간이 유지되는 원리는 전원을 다시 켜는 순간에도 이어집니다. 전원 버튼을 누르면 BIOS 또는 UEFI가 하드웨어를 초기화하고 운영체제가 실행될 준비를 합니다. 이 과정에서 컴퓨터가 가지고 있던 RTC의 날짜와 시간도 활용됩니다.

Microsoft의 설명에 따르면 Windows는 시스템이 처음 시작될 때 컴퓨터의 Real-Time Clock을 기준으로 시스템 시간을 설정합니다. 즉, 바탕화면 오른쪽 아래에 나타나는 시간이 처음부터 인터넷에서 내려오는 것은 아닙니다. 우선 컴퓨터 내부 시계가 가지고 있던 시간을 바탕으로 시작합니다.

그래서 인터넷이 전혀 연결되지 않은 PC에서도 날짜와 시간이 계속 표시될 수 있습니다. 다만 RTC 역시 완벽한 시계는 아니기 때문에 오랫동안 사용하면 아주 작은 오차가 생길 수 있습니다. 이 오차를 다시 잡아 주는 역할을 인터넷 시간 동기화가 담당합니다.


6. 인터넷 시간 동기화는 왜 필요할까

컴퓨터 날짜와 시간이 유지되는 원리에는 내부 시계만 있는 것이 아니라 외부 시간과 맞추는 과정도 포함됩니다. 컴퓨터를 며칠 사용하다 보면 사용자는 거의 느끼지 못하지만 내부 시계에도 미세한 시간 오차가 생길 수 있습니다. 그래서 Windows에서는 네트워크를 이용해 더 정확한 기준 시간과 시스템 시간을 맞춥니다.

Windows에는 Windows Time Service라는 시간 동기화 기능이 있습니다. 이 서비스는 NTP(Network Time Protocol)를 이용해 외부의 시간 공급원과 컴퓨터 시계를 동기화할 수 있습니다.일반적인 독립형 Windows PC는 기본적으로 네트워크 시간 공급원을 이용하도록 구성될 수 있습니다.

이 때문에 컴퓨터 시간이 몇 초 정도 틀어져 있어도 인터넷에 연결한 뒤 다시 정확해지는 경우가 있습니다. 결국 RTC는 컴퓨터가 꺼진 동안 시간을 이어 주고, Windows 시간 동기화는 작은 오차를 다시 보정하는 역할을 합니다. 두 장치가 서로 다른 일을 하면서 우리가 보는 시간을 자연스럽게 유지해 주는 것입니다.


7. CMOS 배터리가 방전되면 생기는 증상

컴퓨터 날짜와 시간이 유지되는 원리를 가장 쉽게 체감하는 순간은 아이러니하게도 CMOS 배터리에 문제가 생겼을 때입니다. 오래된 데스크톱을 켰는데 날짜가 전혀 엉뚱한 시점으로 바뀌어 있으면 처음에는 Windows 오류라고 생각하기 쉽습니다. 하지만 컴퓨터 전원을 끌 때마다 같은 증상이 반복된다면 메인보드 배터리를 확인해 볼 필요가 있습니다.

CMOS 배터리가 약해지면 BIOS에서 시스템 날짜와 시간이 틀리게 표시되거나 일부 BIOS 설정이 유지되지 않을 수 있습니다. 컴퓨터를 켤 때 날짜와 시간을 다시 설정하라는 메시지가 나타나는 경우도 있습니다. Dell에서도 이러한 현상을 CMOS 배터리 이상에서 나타날 수 있는 대표적인 증상으로 안내하고 있습니다.

확인할 때는 Windows 바탕화면의 시간만 보는 것보다 BIOS 또는 UEFI의 시간을 살펴보는 것이 좋습니다. 인터넷에 연결된 Windows에서는 시간이 자동으로 다시 맞춰져 배터리 문제를 눈치채지 못할 수도 있기 때문입니다. 전원을 오래 차단한 뒤 BIOS 날짜까지 계속 초기화된다면 배터리 상태를 의심해 볼 만합니다.


8. RTC와 CMOS의 차이

컴퓨터 날짜와 시간이 유지되는 원리를 설명할 때 RTC와 CMOS가 같은 의미처럼 사용되는 경우가 많습니다. ‘CMOS가 시간을 기억한다’거나 ‘CMOS 시계가 돌아간다’는 표현도 자주 볼 수 있습니다. 생활에서는 크게 문제가 없지만 원리를 정확하게 알고 싶다면 두 개를 구분하는 편이 좋습니다.

RTC는 현재 날짜와 시간을 추적하는 실시간 시계 기능입니다. 반면 CMOS는 원래 전자회로를 만드는 반도체 기술을 의미하며, PC에서는 오랫동안 RTC의 배터리 백업 영역이나 관련 설정을 가리키는 표현으로도 사용되어 왔습니다. Intel 자료에서도 RTC 문맥에서 CMOS라는 표현이 RTC RAM과 혼용되는 경우가 있다고 설명합니다.

따라서 쉽게 기억하려면 RTC는 시간을 세는 시계, CMOS 배터리는 전원이 꺼졌을 때 그 기능을 유지하도록 돕는 전원 정도로 이해하면 충분합니다. 둘은 밀접하게 연결되어 있지만 정확히 같은 것은 아닙니다. 이 차이를 알고 나면 ‘CMOS 배터리가 시간을 만든다’는 표현보다 실제 구조를 조금 더 정확하게 이해할 수 있습니다.


9. 최신 노트북은 구조가 어떻게 다를까

마지막으로 컴퓨터 날짜와 시간이 유지되는 원리를 모든 컴퓨터에 똑같이 적용해서는 안 됩니다. 예전 데스크톱을 기준으로 생각하면 메인보드에 CR2032처럼 동그란 코인셀 배터리가 반드시 있을 것 같지만 최신 제품은 구조가 다양합니다. 특히 노트북은 공간과 전력 설계가 달라 별도의 RTC 배터리가 없는 제품도 있습니다.

일부 컴퓨터는 별도의 코인셀 배터리를 사용하지만, 설계에 따라 노트북의 주 배터리나 다른 시스템 전원을 RTC 유지에 활용할 수도 있습니다. Intel의 최신 RTC 자료 역시 RTC 전원원이 별도의 배터리 또는 시스템 배터리로 구성될 수 있음을 보여 줍니다. 따라서 노트북을 열어 동그란 배터리가 보이지 않는다고 해서 RTC가 없는 것은 아닙니다.

오래된 데스크톱이라면 CMOS 코인셀 배터리를 비교적 쉽게 확인할 수 있지만 노트북은 제품별 서비스 설명서를 먼저 확인하는 것이 안전합니다. 특히 배터리가 내장된 제품은 단순히 시간 문제 때문에 임의로 분해하는 것보다 제조사의 교체 방법을 확인하는 편이 좋습니다. 구조는 달라도 컴퓨터가 꺼진 동안 RTC에 필요한 전원을 공급해 날짜와 시간을 이어 간다는 기본 개념은 같습니다.

결국 컴퓨터 날짜와 시간이 유지되는 원리는 생각보다 단순하면서도 꽤 흥미롭습니다. 컴퓨터 안의 RTC가 전원이 꺼진 동안에도 작은 배터리의 도움을 받아 시간을 계속 세고, 부팅한 Windows가 그 시간을 받아 사용합니다. 인터넷에 연결된 뒤에는 NTP 기반의 시간 동기화까지 더해지면서 우리가 거의 신경 쓰지 않아도 비교적 정확한 시간이 계속 유지되는 것입니다.


벽시계 시간이 어긋나는 이유, 오래 쓸수록 조금씩 느려지는 원인

참고 자료 및 출처