컴퓨터 하드웨어의 스펙과 성능

PhiLoSci Wiki
둘러보기로 가기 검색하러 가기

21세기와 컴퓨터 : 2012년 2학기

주요 개념

  • 플로피 디스크 : Floppy Disk
  • 하드 디스크 드라이브 : Hard Disk Drive (HDD).
  • RAM : Random Access Memory
  • CPU : Central Processor Unit
  • POST : power-on self-test
  • 마더보드(Motherboard)
  • 캐쉬(Cache) : CPU에서 자주 접근하게 되는 데이터를 빠르게 접근하기 위해 부착한 아주 작은 용량의 초고속 저장장치
  • 헤르츠(Hz) : 1초에 일어나는 횟수.
  • RPM : 1분에 회전하는 횟수.
  • SSD : Solid State Drive. 반도체 칩을 이용한 영구기억장치.
  • ATA/IDE : Advanced Technology Attachment. 컴퓨터 장치들 사이의 연결의 한 유형으로, 특히 하드디스크 등의 데이터 통신에 사용되는 연결 규격이다. IDE라고도 불렸으며, 지금은 잘 사용되지 않는다.
  • SATA :Serial ATA. 최근에 사용되는 데이터 통신 연결 규격으로, ATA보다 작다.
  • ODD :CD-ROM, DVD-ROM 등을 플레이할 수 있는 장치
  • 팬 :컴퓨터에서 발생하는 열을 식히기 위한 장치로, 일종의 작은 선풍기이다.
  • L1 캐시 : CPU 안에 있는 매우 빠른 메모리. 보통 16KB, 32KB 등의 용량을 가진다. CPU가 상대적으로 느린 RAM 대신에 빨리 명령들을 추출하게 해준다.
  • L2 캐시 : 보통 CPU 안에 있는 상당히 빠른 메모리. L1 캐시보다 크다. 1MB, 2MB 등의 용량을 가진다.
  • 가상 메모리 : 메모리가 부족할 때 메모리처럼 사용하는 하드디스크의 공간.
  • 메모리 누수 : 프로그램을 사용할수록 메모리 사용량이 계속 늘어나는 현상.
  • USB : Universal Serial Bus. 꽤 최근부터 거의 모든 주변 장치들을 연결하는 데 표준처럼 사용되고 있는 꽤 빠른 통신 포트.
  • PS/2 : personal system/2. IBM이 1987년에 발매한 개인용 컴퓨터인 PS/2 시리즈에서부터 사용되기 시작하여 표준화된 접속 단자 규격의 하나. 자주색은 키보드용, 초록색은 마우스용.
  • DVI : Digital Video Interface. 디지털 영상 연결 규격의 하나.
  • HDMI : High Definition Multimedia Interface. 디지털 영상 연결 규격의 하나.
  • 코어프로세서 : 안에 연산장치가 여럿 있을 때, 각각을 코어라고 한다.
  • 스레드
  • DIMM : Dual Inline Memory Module. 최근 컴퓨터들의 RAM 규격. 168핀을 가진다.
  • het sink : 프로세서에서 발생하는 엄청난 열을 흡수하도록 설계된 금속 제품

데이터의 저장

하드디스크의 작동 원리

가장 널리 사용되는 저장 장치는 하드디스크이다. 과거에는 플로피디스크였다. 하드디스크나 플로피디스크의 저장/읽기 방법은 마그네틱카드나 카세트테이프와 같은 원리이다. 기본적으로 이러한 저장 매체는 얇은 판 위에 자성체(쇳가루)가 코팅되어 있다. 이 판이 움직일 때, 그 위에 전류가 흐르는 전자석이 있으면, 판에 있던 자성체들이 그 전자석의 방향대로 자화되어 정렬되어, 1 또는 0의 데이터를 저장하게 된다. 반대로 이 판이 움직일 때 그 위에 전류가 흐르지 않는 코일(전자석)이 있으면, 그 판의 자화 방향에 의해 코일에 전류가 유도되어 데이터를 읽게 된다.

플로피디스크는 같은 크기에 대해 상대적으로 적은 용량의 데이터만 저장할 수 있었지만, 현재의 하드디스크는 그보다 훨씬 많은 용량의 데이터를 저장할 수 있다. 어떻게 그럴 수 있을까? 헤더의 크기를 줄이고(물론 오류가 나지 않도록 정밀하게 만들어야. 이를 위해 헤더는 플래터에 매우 근접해야 하지만 플래터에 닿으면 안된다!), 플래터의 수를 늘림으로써. 한편 용량이 늘어나면 데이터를 찾기 어려울 수 있다. 이를 해결하기 위해 용량이 늘어날수록 플래터의 회전속도도 같이 빨라져야 한다. 최근에는 5400 RPM이니 하는 속도로 회전한다.

CD, DVD, 블루레이 디스크 등은 빛을 이용해 데이터를 읽는 장치이다. 표면의 상태를 아주 가는 빛을 투과시켜 검사하는 것이다. CD와 DVD와 블루레이는 거의 똑같이 생겼다. 어떻게 용량을 늘릴 수 있을까? 표면의 상태를 읽는 빛의 종류를 바꿈으로써 가능하다. 높은 주파수의 레이저를 사용할수록 한 번에 검사하는 면적이 좁아진다.

하드디스크

컴퓨터에서 실제로 움직이는 몇 안 되는 부품. 하드디스크 외에 그런 부품은 팬 정도밖에 없다. 하드디스크는 엄청난 속도(5600 RPM, 7200 RPM 등)로 회전하는 부분을 가지고 있기 때문에, 그 수명이 몇 년 정도밖에 안 된다. 따라서 하드 디스크의 자료는 자주 백업해 두어야 한다. 만약 하드디스크가 망가지면, 제조사와 보증기간을 확인해서 수리를 맡길 수 있다.

하드디스크는 떨어뜨리면 왜 쉽게 고장나는가? 헤드와 플래터는 백지장 만큼 떨어져 있다. 충격에 그 거리가 멀어지거나 붙어버리면 하드는 제대로 작동할 수 없다. 붙어버리면, 헤드는 플래터에 저장된 자료를 망가트릴 것이고, 멀어지면, 헤드는 플래터의 정확한 위치에 자료를 읽거나 쓸 수 없을 것이다.

하드디스크는 한 번 열면 다시 사용할 수 없다. 왜? 조립 당시, 정교하게 완벽하게 작동하도록 각 부품이 매우 타이트하게 묶이도록 조립되었음. 따라서 한번 조립을 풀면, 다시 조립하더라도 제대로 작동하기 어려움.

최근에 회전하는 부품이 없는 하드도 출시됨. SSD(solid-state drive)라고 함. USB 메모리 드라이브와 흡사한 장치로 칩에 직접 자료 저장. 작고 충격에 강하기 때문에 노트북 등의 이동식 컴퓨터에 장착되어 사용. 물론 일반적인 하드보다 비쌈. 따라서 같은 가격으로 훨씬 큰 용량의 일반적인 하드를 구입할 수 있음.

컴퓨터의 구성 요소

컴퓨터에는 하드디스크 말고도 다른 종류의 저장장치가 있는데, 이 저장장치는 아주 작은 트랜지스터를 통해 0과 1을 표현한다. 이 저장장치는 컴퓨터를 켤 때마다 검사되고 초기화된다. 이 저장장치는 바로 RAM이다. 실제로 컴퓨터를 켜면 가장 먼저 나오는 화면이 있다. 이 화면에는 어떤 숫자들이 빠르게 올라가면서 RAM의 모든 비트가 제대로 작동하는지를 확인한다(이를 POST, 또는 power-on self test라고 한다). 이것이 확인되고 나면, 컴퓨터는 하드디스크에 저장된 일부 데이터(컴퓨터를 사용하기 위해 필수적인 부분)를 RAM에 옮겨 담는다.

이때 데이터는 하드디스크에서 RAM으로 이동한다. 이 외에도 RAM에서 모니터로, RAM과 CPU, RAM과 CD 드라이브 등, 컴퓨터 내에서는 서로 다른 장치들 사이의 데이터 이동이 잦다. 이러한 데이터 이동 및 각 부품의 작동을 통제하는 장치를 마더보드, 또는 메인보드라고 한다. 컴퓨터의 부품들 사이를 통과하는 거의 모든 신호는 이 마더보드를 통해 이동한다. 하드디스크, RAM을 비롯해 컴퓨터의 뇌라고도 할 수 있는 CPU까지 컴퓨터의 모든 부품들은 마더보드에 부착되어 있다. 오직 CPU만이 컴퓨터에서 0과 1을 “이해(?)”할 수 있는 장치이다.

CPU

CPU의 성능은 보통 그 속도에 의해 묘사된다. 2GHz CPU 등의 말을 들어보았을 것이다. 이 말은 그 CPU가 1초에 대략 20억 번의 (기초)연산을 수행할 수 있다는 뜻이다. 이러한 일이 가능한 것은 그 안에 매우 빠르게 일정한 간격으로 진동하는 수정이 있기 때문이다(보통의 손목시계와 같은 원리). 한 번에 수행할 수 있는 기초연산으로는 덧셈, 뺄셈 같은 작업을 들 수 있다. 곱셈 같은 작업은 보통 시간이 좀더 걸린다.

대부분 백그라운드에 있는 프로그램은 CPU를 점유하지 않지만, 일부 프로그램은 백그라운드에서도 CPU를 사용하기도 한다. 웹브라우저가 그 대표적인 사례로, 웹브라우저는 일정한 시간간격으로 웹페이지를 업데이트한다.

CPU의 사용률은 보통 일반적인 사용에서는 많이 높아지지 않지만, Adobe Flash software와 같은 프로그램은 CPU를 엄청나게 사용한다. YouTube에 접속하면 이를 확인할 수 있다. 그곳에 접속하여 동영상을 보기 시작하면 CPU 사용량이 갑자기 뛰어오르게 된다(멀티코어 프로세서의 경우, 사용량이 100%를 넘을 수도 있다).

RAM

일반적으로, 컴퓨터에는 두 종류의 기억장치가 있다. 하드디스크와 RAM. 하드의 용량은 몇백 기가, 몇 테라 바이트에 달하는 반면, RAM의 용량은 몇 기가, 커봐야 몇십 기가밖에 안 된다. RAM은 임시 기억장치로, 전원을 끄면 자료가 사라지는 반면, 하드는 영구 기억장치로, 전원을 꺼도 자료가 사라지지 않는다. RAM은 보통 하드보다 빠르지만 그만큼 비싸다. 그러나 컴퓨터에서 데이터를 이용해 어떤 작업을 하기 위해서, 그 데이터는 무조건 RAM에 옮겨져야(load up) 한다. 예를 들어, 한글 문서가 하드에 저장되어 있다고 해도, 그 문서를 보기 위해서는 그 문서를 일단 RAM에 업로드해 놓아야 한다. 또한 한글2010과 같은 프로그램도 RAM에 업로드되어 있어야 한다. 궁극적으로, RAM에 업로드된 것만이 CPU를 통해 읽혀지고 처리될 수 있다.

사실, 더 정확히 말하자면, RAM와 CPU 사이에는 L2 캐쉬(몇백 KB~몇 MB)와 L1 캐쉬(몇십~백몇십KB)라는 작은 저장장치에도 저장된다. 이 캐쉬는 RAM과 비슷한 기능을 하지만, RAM보다 더 빠르고, 더 작고, 더 비싸다. 이 캐쉬에는 CPU가 매우 자주 접근할 것 같은 자료들을 저장한다.

RAM이나 캐쉬가 필요한 이유는 무엇일까? 프로그램을 시작할 때 시간이 오래 걸리는 이유는 무엇인가?

무슨 프로그램이든 실행되기 위해서는 RAM에 저장되어 있어야 한다. 프로그램을 더 많이 열수록, 더 많은 RAM이 사용된다. 만약 RAM을 다 쓰고 나면, 일부 프로그램은 가상메모리(virtual memory)에 저장된다. 그런데 이 가상메모리는 하드에 있는 공간이다. CPU가 이 가상메모리에 있는 프로그램에 접근하기 위해서는 그 프로그램이 결국엔 실제 RAM에 있어야 한다. 그럼 어떤 일이 벌어지는가? RAM에 있던 다른 프로그램을 하드의 가상메모리 공간으로 옮기고, 지금 접근하는 프로그램을 RAM에 옮긴다. 이러한 스와핑은 시간이 매우 오래 걸린다. 이러한 일이 벌어지고 있다는 것은 언제 알 수 있을까? 새 프로그램을 실행시키거나 백그라운드에 있던 프로그램을 실제 작업 가능한 상태로 전환할 때 컴퓨터가 무척 버벅거린다면, 컴퓨터가 가상메모리를 사용하고 있을 확률이 매우 높다.

오늘날의 운영체제들은 대부분 가상메모리로 사용가능한 하드의 공간을 직접 변경할 수 있도록 해두었다. 만약 이를 0으로 설정하면, 여러 프로그램을 실행시키다 memory overload error가 발생할 수 있다.

간단한 질문 : RAM을 추가하면 무엇이 좋은가? 컴퓨터의 “스피드”를 올릴 수 있다. 어떤 의미에서? 동시에 더 많은 프로그램을 버벅임 없이 실행시킬 수 있다는 의미에서. 또한 메모리를 엄청나게 잡아먹는 큰 프로그램(포토샵 등)을 수월하게 작동시킬 수 있다는 의미에서.

메모리 사용 현황은 작업관리자(Mac의 경우엔 Activity Monitor)를 통해서 확인할 수 있다. 할당된 메모리 순서대로 프로그램을 정렬해 보는 게 유용하다.

프로그램 중에는 ‘메모리 누수(memory leaking)’의 문제를 가진 프로그램들이 있다. 이 문제는 프로그램이 더 이상 사용하지 않는 메모리를 풀어주지 않아서 발생한다. 프로그램이 사용하던 메모리를 재사용하기 위해서, 그 프로그램은 그 메모리를 풀어주어야 한다. 더 어렵게 말하면, 운영체제에게 자신은 더 이상 그 메모리를 필요로 하지 않으니 맘대로 사용하라고 알려주어야 한다. 일부 프로그램은 프로그래밍 실수를 통해 필요 없는 메모리를 풀어주지 않다보면, 그 프로그램은 프로그램 사용 중에 점점 메모리를 많이 잡아먹게 되어, 컴퓨터를 느리게 만드는 원인이 된다.

웹브라우저들은 (프로그래밍 실수 때문은 아니지만) 비슷한 ‘메모리 누수’의 문제를 가지고 있다. 즉 오랫동안 열어두고 사용하면 메모리 사용량이 점점 많아진다. 왜냐하면 웹브라우저는 여러 이유에서 이전에 방문했던 웹페이지의 정보를 계속 저장하고 있는데, 오랫동안 웹브라우저를 사용하면 그런 저장된 정보가 계속 늘어나기 때문이다. 작업관리자에서도 이를 확인할 수 있다. 이 문제를 막는 가장 고전적인 방법은, 프로그램을 닫고 다시 실행시키는 것이다.

주변 장치

컴퓨터의 뒷면에는 주변장치를 연결할 수 있는 다양한 포트가 있다. 직접 끼워보도록 하자.

  • USB(universal serial bus) 포트 : 거의 모든 장치를 꽂을 수 있다. 지금까지 여러 번의 개량이 있었다. USB 1.0은 11 Mbps (초당 약 1.5MB), USB 2.0은 480 Mbps(초당 약 60MB).
  • 다양한 외부기억 장치 : CD(700MB), DVD(4.7GB), 블루레이 디스크(30GB)
  • 적외선 포트(IEEE1394, 혹은 I.LINK) : 카메라, 핸드폰 등의 장치
  • 블루투스 포트 : 카메라, 핸드폰 등의 장치
  • 디스플레이 연결 포트 : VGA, DVI, HDMI
  • 이더넷 포트, PS/2 포트(키보드), PS/2 포트(마우스)
  • 프린터 포트(병렬 포트)
  • 직렬 포트(serial port)
  • 사운드 연결 단자 : 스피커, 라인인, 마이크
  • 모니터의 성능은? color depth, refresh rate, resolution

스펙과 성능

컴퓨터는 워낙 많은 부품들을 조립하여 만들어지기 때문에, 수많은 조합이 가능하다. 그렇기 때문에 컴퓨터를 사는 일은 엄청나게 많은 선택지 중에서 선택을 해야 하는 고통이 따르게 된다. 역설적으로, 애플과 같은 제조사에서 소비자에게 제공하는 보다 적은 선택지가 우리의 선택에 도움을 줄 수 있다. (http://store.apple.com/kr)

우리가 노트북을 산다고 해보자. 무엇부터 골라야 할까? 우선 화면 크기와 무게부터 고르는 것이 좋다. 이는 온라인에서 고르기 어렵다. 일단 매장에서 확인하는 것이 좋다. 일단 자신에게 맞는 화면 크기와 무게를 고르고 나면(애플스토어 사이트는 크기와 무게를 가장 먼저 선택한 후 다음 선택지로 넘어가게 설계되어 있다), 그 다음에 프로세서의 성능과 하드디스크 용량을 고려하는 것이 좋다. (보통 프로세서와 운영체제가 정해지면, 적절한 램의 용량도 정해진다. 무게가 정해지면 여러 가지 제한도 생긴다.)

이 모든 결정은 용도에 대한 고려 속에서 재평가 되어야 한다. 집에 묵혀둘 것인지, 자주 들고 다닐 것인지. 게임을 하려고 하는지, 문서 작업을 주로 하려고 하는지, 동영상 편집을 하려고 하는지 등에 따라 좋은 선택지는 달라질 것이다. 실제로 게임이나 동영상 편집을 많이 하겠다고 하면 프로세서와 램은 고사양의 부품을 사용하는 것이 좋다. 비디오카드도 좋은 것을 사용하는 것이 좋다.

간단한 질문 : 64-bit 프로세서의 장점은? 32-bit 프로세서에 비해 한 번에 두 배의 데이터를 가져와 처리할 수 있으므로, 빨리 작업할 수 있고, 또한 한 번에 더 큰 수에 대한 계산을 할 수 있다. 그러나 이러한 장점은 64-bit 프로세서에 최적화된 프로그램이 있을 때 제대로 나타난다. 그러나 많은 프로그램들은 여전히 32-bit 프로세서에 최적화된 채, 64-bit 프로세서에서 작동할 때에는 그에 맞게 번역되어 실행될 뿐이다. 그래서 64-bit 프로세서의 성능은 그렇게 많이 향상되지 않는다. 여전히 32-bit 프로세서도 별 단점 없이 사용 가능하다.

주의할 점 : 멀티프로세서와 멀티코어. 애플의 Mac Pro 사양을 살펴보면, 프로세서의 사양에서 12-core와 Quad-core가 제시된다. 12-core를 자세히 보면, 2.4GHz 6-core 프로세서 2개라는 것을 알 수 있다. Intel의 제품을 사용하고 있다. 또한 L3 캐시는 처음 보게 되었는데, 이것이 필요한 이유는? 하나의 프로세서 안에 6개의 코어가 있다 보니, 캐시가 더 필요하게 되는데 이를 해결하기 위해 공유용 캐시를 크게 하나 더 만든 것이다. Hyper-Threading 기술이란 마치 하나의 코어를 소프트웨어적으로 두 개인 것처럼 흉내내는 기술을 말한다. 총 코어 수가 많을수록 좋긴 하지만, 개수에 비례해서 성능이 좋아지는 것은 아니다.

질문 : 스레드란 무엇인가? 어떤 프로그램은 자신을 여러 개의 스레드로 나누어 실행시키는 능력을 가기도 있다. 예를 들어 구글 크롬은 열려 있는 탭마다 다른 스레드를 사용한다. 그래서 하나의 탭이 열리는 데 오래 걸리더라도, 다른 탭까지 마비시키진 않는다. 보통 멀티 스레딩을 지원하는 프로그램은 멀티코어 프로세서를 효과적으로 사용할 수 있도록 도와준다. 즉 한 프로그램이 분리된 스레드를 만들 수 있으며, 각 스레드는 동시에 병렬적으로 작업할 수 있는 분리된 코어로 보내질 수 있다. 멀티 스레드가 존재하지 않았던 시절, CPU도 하나밖에 없었고, 만약 그 CPU가 프린터 작업에 묶여 있는 동안에는, 다른 작업을 아무 것도 할 수 없었다. 지금은 프린터에 문서를 보내고서 다른 일을 할 수 있다.

주의할 점 : 애플 외의 다른 컴퓨터들을 살펴보면, AMD 등의 다른 브랜드의 프로세서도 확인할 수 있다. 서로 다른 브랜드의 프로세서들을 처리속도로 비교하는 것은 무의미하다. AMD 3GHz 프로세서가 Intel 2GHz 프로세서보다 빠르다는 보장은 없다. 왜 그럴까? 프로세서의 설계가 완전히 다르기 때문이다. 예를 들어, 만약 어떤 동일한 일을 Intel은 한 번에 처리하는 반면, AMD가 두 번에 걸쳐 처리한다면, Intel이 더 빨리 일을 한 것이 된다.

최근에 DVD 사양은 그다지 중요하지 않지만, 이것은 알아두는 것이 좋다. DVD를 읽기만 할 수 있는지, 쓸 수도 있는지는 나름 중요한 선택지가 된다.

주의할 점 : 맥을 살 것인가? 윈도우 PC를 살 것인가? 무슨 프로그램을 주로 사용할 것인지가 가장 중요한 기준이 될 것이다. 그래픽 편집이나 몇몇 프로그램에서 맥은 매우 좋은 사용 환경을 제공한다. 그러나 그 외의 프로그램들은 윈도우 PC에서만 호환되는 프로그램이 훨씬 많다. 예를 들어, 한글2010은 윈도우에서만 사용가능하며, 맥에서는 뷰어만 제공된다.

주의할 점 : 판매업자는 필요 이상으로 램과 하드를 사도록 부추길 수 있다. 물론 추가 메모리를 별도로 구매할 경우 더 비쌀 것이며, 게다가 노트북에 메모리를 직접 추가하는 것은 데스크탑보다 조금 어렵다는 점도 고려해야 한다.

주의할 점 : 만약 스스로 컴퓨터를 조립하거나, 부품을 추가할 경우, 상당한 조사를 해야 할 것이다. 왜냐하면 호환가능한 부품을 고르는 것이 어렵기 때문이다. 이는 어쩌면 상당한 시간 낭비가 될 위험이 있다. 그럼에도 만약 그런 일을 스스로 해내고 나면, 약간의 돈을 절약하는 한편, 많은 것을 배우게 될 것이다.

본체 열어보기

  • 전원공급장치(PSU), HDD, ODD, 마더보드, 데이터케이블(SATA vs. IDE/ATA)
  • 마더보드에 꽂혀 있는 것들 : 전원케이블, 데이터케이블, RAM, CPU, 확장카드, 수은전지
  • HDD나 ODD에 꽂아야 하는 것 : 전원케이블, 데이터케이블
  • CPU : heat sink, 팬. 이러한 쿨러 왜 필요? 엄청나게 빠르게 진동하면서 엄청난 열 발생. 컴퓨터 업그레이드를 하고 싶더라도 CPU는 바꾸지 않는 것이 좋다. 왜? CPU를 바꾸려면 보통 나머지 대부분도 바꿔야 함.
  • RAM : 보통 CPU 근처에 있음. 뒷면 가까이에 있는 확장슬롯과 헷갈리지 말 것. RAM 추가 또는 교체는 컴퓨터의 성능을 업그레이드하는 가장 쉽고 간편한 방법임. 간단한 조사를 통해 적절한 종류를 확인한 후, RAM을 추가하거나 교체하면 끝.
  • 유의점 : 보드나 카드의 끝부분을 잡을 것. 카페트 같은 곳에서 하면 정전기 발생 위험이 있음.
  • 컴퓨터를 열면 무엇이 좋은가? 잘 하면 돈을 절약할 수도 있음. 간단하게 진단 및 교체 가능.
  • 간단한 질문 : RAM을 추가하면 무엇이 좋은가? 컴퓨터의 “스피드”를 올릴 수 있다. 어떤 의미에서? 동시에 더 많은 프로그램을 끊김 없이 실행시킬 수 있다는 의미에서. 만약 RAM이 소진되면, 새로운 프로그램을 실행시킬 때 컴퓨터는 그 프로그램을 하드디스크에 있는 공간인 “버추얼 메모리”에 올려두게 된다. 이렇게 되면 프로그램을 전환할 때마다 시간이 오래 걸리게 된다.
  • 컴퓨터 뒷면의 단자들과 케이블 연결.

관련 항목