우리는 모바일의 기기와 함께 살고 있습니다. 어딜 가도 스마트폰과 함께합니다. 하지만 정작 이들 시스템이 어떻게 동작하는지에 대해서는 관심이 없습니다. 물론 응용 앱만을 잘 다루어도 큰 문제는 없을 것입니다. 하지만 그 원리를 알아둔다면 이를 이용한 범죄나 사기에서 조금은 자유로울 수 있을 것입니다. 스마트폰은 PC의 축소판입니다. 생김새는 다르지만, 작동하는 원리는 정확히 동일합니다. IT기술의 기본이라고 할 수 있는 PC의 구성부터 작동 원리를 우리가 친근한 스마트폰과 비교해 가며 차근차근 알아보도록 하겠습니다.
1. PC 시스템 개요와 구조
PC는 하드웨어와 OS(Operation System)과 응용프로그램으로 작동합니다. 하드웨어는 물리적으로 데이터들을 처리하고 이동시키는 통로를 통틀어 일컫습니다. PC는 케이스 안에 부품이 들어가 있고 그 부품들이 서로 데이터를 공유하며 처리합니다. 스마트폰도 마찬가지입니다. 스마트폰을 해체해 보면 여러 케이블이 부품들에 복잡하게 연결되어 있습니다. 그 부품들은 CPU, RAM, 메인보드, 저장장치, 전원공급기 등이고 PC도 스마트폰도 모두 이것을 가지고 있습니다. 아이폰을 예로 들면 A14, A15 라는 문구를 광고에서 봤을 것입니다. 이것이 CPU입니다. 그밖에 6GB, 8GB 등으로 소개하는 램이 있고 512GB, 1TB 등 저장장치도 소개합니다. 이것은 PC에도 똑같이 있는 부품들이고 다만 규격이 다를 뿐입니다.
이런 부품들이 연결된 상황에서 필요한 데이터를 읽어내서 처리하고 저장하는 것이 PC, 스마트폰의 사용인 것입니다. 무엇보다 기기의 성능을 가장 잘 나타내는 것은 CPU입니다. CPU는 프로그램 실행과 데이터 처리를 담당합니다. 프로그램을 실행하면 이 프로그램이 머물러 있을 공간이 필요한데 이것이 주기억장치, 즉 램입니다. 스마트폰의 저장공간은 512GB, 1TB 등으로 큰 데 반해 왜 램은 8GB 등으로 작을까요? 램은 속도가 무척 빠릅니다. CPU가 데이터 처리를 빨리할 수 있도록 CPU에 붙어서 빨리빨리 데이터를 주고받습니다. 이렇게 빠른 만큼 가격이 비싸서 큰 용량을 넣을 수 없습니다. 스마트폰이 느려지면 재부팅을 하라는 말들을 합니다. 전원을 끄게 되면 램에 들어있던 데이터가 사라져, 사용하지 않고 있던 것들도 다 정리할 수 있기 때문입니다. 그러나 실제 데이터가 지워질 걱정은 하지 않아도 됩니다. 일반적으로 저장이라고 부르는 것은 주기억장치가 아니라 보조기억장치에 저장되기 때문입니다. 스마트폰으로 사진을 찍거나 동영상을 찍으면 보조기억장치라고 부르는 반도체 칩에 저장됩니다. 이것은 전원을 꺼도 삭제되지 않습니다. 상대적으로 저렴해서 1TB처럼 대용량 저장소를 사용할 수 있습니다. 그리고 입출력을 담당하는 I/O장치가 있습니다. 주변장치와 연결을 담당합니다. 어느 PC나 스마트폰, 태블릿 PC도 이 요소들을 가지고 있습니다.
2. 데이터
디지털의 상징인 2진법은 0과 1로 이루어집니다. 이렇게 0과 1로 프로그램과 데이터가 만들어집니다. 프로그램은 코드로 만드는데 사람은 0과 1로 만들어진 명령을 할 수 없습니다. 그래서 C, java, python 등의 영어단어로 만든 프로그램 언어로 코드를 만듭니다. 그러면 컴파일러라는 프로그램이 기계가 알 수 있는 0과 1의 명령으로 번역해 줍니다. 그저 스마트폰을 터치하고 스와이프하는 것만으로 실행과 저장을 자연스레 해온 과정 뒤에는 짜인 코드를 읽어서 프로그램을 실행하고 이를 0과 1로 표시한 데이터로 저장하는 과정이 있습니다.
3. PC 시스템의 구성
CPU나 주기억장치(RAM), 보조기억장치(DISK), I/O장치 등은 서로 데이터를 주고받을 수 있는 길이 필요합니다. 메인보드에는 버스(Bus)라고 부르는 데이터 통로들이 있어 이것이 부품을 서로 연결합니다. PC의 메인보드나 스마트폰의 메인보드를 실제로 보면 PCB 기판에 연결된 길이 보입니다. 당연히도 이런 부분이 손상되면 데이터가 오갈 수 없어서 PC나 스마트폰은 작동하지 못하게 됩니다. 복잡하게 얽혀있어서 상대적으로 파손이나 고장의 위험이 큰 것이 메인보드입니다. CPU와 다른 요소 간의 데이터 통로를 시스템 버스(System Bus)라고 부릅니다. 시스템 버스에는 주소 버스(Address Bus), 데이터 버스(Data Bus), 제어 버스(Control Bus)로 총 3가지가 있습니다. CPU는 가장 중요하고 고급 자원이기 때문에 그와 대화할 수 있는 것은 주기억장치(RAM)입니다. DISK에서 RAM으로 불러온 데이터는 주소(위치)를 가지고 있는데 CPU는 주기억장치에게 주소 버스로 주소를 말합니다. 그러면 주기억장치의 해당 주소에 있는 데이터를 데이터 버스를 통해 CPU로 보내는 식으로 작동합니다. 보조기억장치도 CPU보다는 너무 느리므로 직접 대화할 수 있는 상대가 아닙니다. 느린 장치에 명령을 내리는 I/O장치에게 CPU는 명령을 내립니다. DISK를 담당하는 I/O에게 실행할 프로그램 주소를 불러주면 DISK의 해당 주소에 있는 프로그램 실행파일이 데이터 버스를 타고 주기억장치로 이동합니다. 그런 다음에 CPU는 주기억장치와 소통하는 것입니다. 따라서 가장 중요한 것은 CPU와 주기억장치입니다. 이들의 성능과 크기가 기기의 성능이 되는 것입니다.