IT Study

컴퓨터 주요 부품들의 역할

masoume 2016. 2. 7. 14:52

1. CPU

CPU(중앙처리리장치)는 사람으로 치면 두뇌에 해당하는 부품이다.

산술 연산(덧셈, 뺄셈, 곱셈, 나눗셈)과 논리 연산(검사기능, 조건 분기기능, 반복기능)이 가능하여 컴퓨터 프로그램의 명령어를 해석하고 실행한다. 프로그램 명령어를 해석하고 실행하는 과정에서 메모리에 있는 데이터를 읽거나 쓰기도 한다. 메모리뿐만 아니라 본체의 여러 하드웨어와 데이터를 주고 받으며 컴퓨터 시스템을 제어한다.

CPU

CPU는 이렇게 생겼고, 핀셋에 둘러싸인 저 초록부분(CPU 다이)를 들여다보면 아래와 같다.

CPU 내부

Intel Core i7 Nehalem 다이맵 (쿼드 코어에 캐시 메모리가 레벨 3까지 있군!)CPU의 성능은 클럭주파수(클럭속도)가 높을 수록, 캐시메모리가 높을 수록, 코어가 많을 수록 좋다고 한다.

클럭주파수란?

CPU가 동작하기 위해선 메인보드에 있는 수정(Crystal)이 보내는 클럭신호(Clock Tick)가 필요하다. CPU는 이 신호 한 번에 한 가지 일을 수행하게 된다. 1초동안 CPU가 받는 클럭신호를 Hz단위의 주파수로 표현한 것이 클럭주파수이다. 초당 주파수가 높을 수록 CPU는 더 많은 일을 하게 되므로 클럭주파수는 높은 성능의 지표가 된다.

코어란?

CPU가 수행하는 각종 연산은 CPU 내부의 코어가 담당한다. 그만큼 코어는 CPU의 핵심부품인데 예전에는 CPU 내부에 코어가 하나뿐이라 "CPU = 코어"처럼 여겨졌다. 하지만 멀티코어가 등장하면서 CPU 내부에는 여러 개의 코어가 존재하게 되었고 "CPU = n개의 코어 + 기타 기능을 가진 부품들"이 되었다. 핵심 부품인 코어가 많아지면 더 많은 연산을 할 수 있게 되어 성능이 높아진다.(멀티 코어 연산을 지원하는 프로그램을 사용하고 멀티태스킹을 한다는 가정 하에!)

캐시 메모리란?

CPU 내부에 있는 메모리다. CPU가 RAM에 저장된 데이터를 읽어오면서 자주 사용하는 데이터는 캐시 메모리에 저장한다. 캐시 메모리에서 데이터를 불러오는 것이 RAM에서 불러오는 것보다 빠르기 때문에 캐시 메모리의 용량이 클수록 CPU의 성능이 좋다고 하는 것이다.(그러나 비싸다.)

+내부클럭과 외부클럭

내부클럭은 CPU가 일하는 속도이며 외부클럭은 CPU와 다른 하드웨어 사이에 전달되는 데이터의 속도이다. CPU의 클럭주파수(내부클럭)가 아무리 높아도 외부클럭이 낮으면 CPU는 데이터 전송이 완료될 때까지 대기상태로 있어야 한다. CPU와 다른 하드웨어의 속도 차이로 데이터 병목현상이 발생하는데 중간에서 이를 조절하는 것이 캐시 메모리이다.

2. RAM

램은 Random Access Memory의 약자다. 데이터가 어느 위치에 있건 그 데이터를 읽고 쓰는데 걸리는 시간이 동일하여 Random이란 단어가 붙었다. 다른 말로 주기억 장치라고도 한다.

램은 반도체 회로로 구성되어 있어 하드 디스크나 플로피 디스크 같은 다른 저장 장치보다 빠른 속도로 데이터에 접근할 수 있다.

램은 컴퓨터가 켜지면 하드 디스크로부터 일정량의 데이터를 복사해 임시 저장한 후 CPU에 빠르게 전달한다. CPU는 속도가 느린 하드 디스크 대신 램과 데이터를 주고받음으로서 작업을 빠르게 마칠 수 있다. 그래서 램의 용량이 크고 처리 속도가 빠를수록 컴퓨터 성능이 좋아진다.

그렇다면 하드 디스크가 왜 필요하지? 란 생각이 드는데, 램에 저장된 데이터들은 컴퓨터 전원이 꺼지면 모두 날아가 버리는 단점이 있다. 데이터나 운영체제 정보를 간직하기 위해선 하드 디스크 같은 보조 기억장치가 꼭 있어야 한다.

프로그램을 실행하면 램에 데이터들이 저장되는데, 이 데이터들은 종류에 따라 각기 다른 영역에 저장된다.

Code

말 그대로 코드 그 자체. 컴파일 시 영역이 잡힌다. 컴파일 된 후니까 기계어로 된 명령어들이 자리잡고 있겠지.

Data

전역변수와 정적 변수, 배열, 구조체들이 저장되는 곳이고 세분화 하자면 초기값이 있는 전역변수와 초기값이 없는 전역변수로 나뉜다.

Heap

동적할당한 메모리가 위치하는 공간. malloc(C언어), new(C++, java)로 메모리를 할당하고 free 와 delete로 메모리를 해제해 주어야 한다.(java는 자동 해제됨) 그렇지 않으면 메모리 누수가 일어나게 된다.

Stack

위에서 언급한 것 외의 것들이 저장된다. 지역변수와 매개변수들. 함수가 끝나면 시스템에 반환되기 때문에 유동적이라 높은 주소 번지에서 낮은 번지로 저장된다.

+ ROM(Read-only memory)

고정 기억 장치라고도 하며 메인보드에 장착되어 있는 작은 메모리다. 컴퓨터 부팅에 관한 프로그램이 저장되어 있다. 컴퓨터 전원이 꺼져도 데이터가 지워지지 않는다. Read-Only라고는 하지만 읽고 쓰는 것이 다 가능하다.

3. HDD

하드디스크(혹은 하드디스크 드라이브)는 보조 기억장치라고도 한다. 데이터가 휘발되어버리는 램과 다르게 데이터나 작업결과가 휘발되지 않는다. 하지만 반도체로 만들어진 램에 비해 자성체의 하드디스크는 속도가 많이 느리다.

HDD

플래터(Platter)

데이터가 기록되는 부분이다. 알루미늄 원판에 산화철 등의 자성체로 코팅되어 있다. 만약 여기에 자석을 갖다대면 이미 기록된 정보가 흐트러져 사용할 수 없게 될 수 있다.

하드디스크 내에 플래터 수가 많으면 더 큰 용량을 저장할 수 있지만 안정성의 문제가 있다.

헤드(Head)

플래터가 회전하면 아주 작은 간격을 두고 떠올라 데이터를 읽고 쓴다. 이 간격은 매우 좁아서 머리카락 두께의 작은 이물질이 끼어도 플래터 표면에 손상을 주어 데이터에 문제가 발생할 수 있다.

헤드는 자기장의 밀도 변화를 이용해 데이터를 기록한다. 자기장의 극성이 변하면 1, 그렇지 않으면 0으로 인식한다.

하드디스크의 성능을 결정하는 요인에는 플래터의 회전수(RPM), 하드디스크의 용량, 버퍼 메모리의 용량이 있다.

안그래도 하드디스크는 CPU와 RAM에 비해 속도가 느린데 RPM마저 느린 하드디스크를 사용한다면 컴퓨터의 성능이 많이 저하될 것이다.

버퍼 메모리란 하드디스크에 있는 반도체 재질의 임시 저장장치이다. 자주 사용하거나 접근하는 데이터가 이곳에 저장되고 속도가 빠르기 때문에 속도가 느린 플래터에서 데이터를 찾지 않아도 된다. 버퍼 메모리의 용량이 크다면 하드디스크의 속도 저하를 줄일 수 있다.

4. 파워서플라이

파워서플라이는 컴퓨터에 전기를 공급해주는 부품이다. 일반 가정용 전류는 220v의 교류인데 컴퓨터 하드웨어들은은 12v(CPU, 메인보드, 그래픽카드), 5v(CD-ROM 이나 저장장치), 3.3v(USB 같은 곳) 등의 직류를 필요로 한다. 파워서플라이는 교류를 직류로 바꿔주는 역할을 하며 전류가 일정하게 흐를 수 있도록 조절한다. 전류량이 들쭉날쭉할 경우 하드디스크가 터지거나 파워서플라이가 터지거나... 기타 등등의 문제가 발생할 수 있다.

파워서플라이

파워서플라이를 구매할 때 규격이 맞는지, 정격 출력은 얼마인지, 내 컴퓨터가 쓰는 전력량은 얼마인지 등을 살펴봐야 한다.

규격

컴퓨터 본체 케이스에 따라 지원하는 파워서플라이의 규격이 다르기 때문에 자신의 케이스가 어떤 규격을 지원하는지 미리 알아두어야 한다.

정격 출력

정격 출력은 파워서플라이가 평상시에 안정적으로 공급하는 실질적 출력이다. 제품에 표기되어 있는 출력은 파워서플라이가 순간적으로 낼 수 있는 최대 출력이므로 표기 출력을 믿고 사기보단 정격 출력을 알아보는 것이 좋다.

소비 전력량

현재 내 컴퓨터의 소비전력이 얼마지인지를 알아야 파워서플라이로부터 공급받아야 할 정격 출력 크기를 정할 수 있다. 공급받는 정격 출력이 소비전력보다 많을 경우 오히려 효율이 떨어지고, 적을 경우 하드웨어에 문제가 생길 수 있다.

그 외

필요한 커넥터들이 있는지, 케이블 수는 몇 개인지 살펴보는 것도 필요하다.