개발자의 도구, 컴퓨터

junhyeong·2022년 6월 24일

'나는 컴퓨터에서 프로그래밍 하니까, 컴퓨터를 정확하게 아셔야 해요! 여러분은'
-아샬

개발자가 되기로 결심한 뒤, 코딩 공부를 열심히 해야겠다고만 생각했지.. 내가 사용해야하는 도구(컴퓨터)에 대해선 공부할 생각을 하지 못했다.
사용하는 도구도 모르면서 어떻게 희소가치 있는 개발자라고 할 수 있을까..

공부하다보니 알게 되었다.. 개발자가 될 생각도 없는 주변친구들에 비해서도 컴퓨터에 대해 알고 있는 정보가 없다는 걸
이제부터라도 컴퓨터에 대해 이해해보고, 컴퓨터 구조에 대해 공부한 내용을 작성해보겠다.

아날로그와 디지털

-디지털

자료를 불연속적으로 나타내는 방식(0과 1로 된 신호)

0과 1 두가지로만 표시하기 때문에 정보를 저장하거나 가공하기 쉽다.

-아날로그

자료를 연속적으로 나타내는 방식

신호가 연속적이며, 시간에 따라 연속적으로 변화한다.


아날로그 시계와 디지털 시계로 예를들자면, 아날로그 시계는 시곗바늘을 통해 시간을 읽는다. 시간의 흐름이 연속적이듯이 시곗바늘도 연속적으로 움직인다. 그러나 디지털 시계는 숫자로 시간의 흐름을 나타낸다. 숫자로 나타내다보니 시간의 흐름이 불연속적으로 끊겨서 나타난다.

컴퓨터 구조

프로그램들은 수많은 명령어들로 구성되어 있다. 간단한 덧셈, 뺄셈, 곱셈 등의 명령어들이 모여서 복잡한 프로그램을 구성하게 되는 것이다.

CPU(중앙처리장치)는 이러한 명령어들을 직접 처리하는 장치이다. 다음으로 메인 메모리(main memory)는 CPU가 명령어들을 처리할 때 필요한 자료들을 저장하는 곳이다. 반면 HDD/SSD는 컴퓨터에서 사용되는 모든 정보를 저장하는 곳이다. 메인 메모리와 HDD/SSD의 차이를 설명할 때 책상과 책꽂이의 비유를 많이 사용한다. CPU를 명령어를 수행하는 작업자라고 한다면, 작업에 필요한 책들을 올려놓는 책상이 메인 메모리, 모든 책을 꽂아 놓는 책꽂이가 HDD/SSD에 해당한다는 것이다.


각 부품들에 대해선 밑에서 좀 더 자세하게 얘기해보도록 하겠다.

- CPU(Central Processing Unit) 중앙처리장치

: CPU는 컴퓨터에서 뇌를 담당하며, 정보를 처리하는 역할을 수행한다.

PC의 여러 장치들의 연산과 제어를 관장하기 때문에
CPU의 성능이 PC의 속도와 성능을 결정한다.

코어는 CPU 장치 내에서 가장 핵심이 되는 부품이다.(하나의 코어=하나의 작업)
코어의 속도는 연산을 얼마나 빨리 할 수 있는지로 나타나는데, 해당 속도는 클럭으로 표시한다.(Ghz)

- 메인 보드(Mother Board)

 : 컴퓨터 중요 부품 중 하나로 사람의 신체 중 신경과 뼈대 역할로 마더보드라고도 불린다. 엄마 역할로 그만큼 모든 것을 관장한다는 것을 의미한다.

CPU, RAM, VGA(그래픽카드) 등의 장치들이 존재하는데

이런 부품들을 하나로 연결해주는 회로와 출력 포트를 가지고 있는 장치가 바로 '메인 보드'이다.


- RAM(Random Access Memory)

: 주기억장치라 불리며, 데이터를 저장하고 처리하는 역할을 한다.(일상적인 여러 작업을 수행하는데에도 필요하다)

[장단점]

RAM은 처리가 매우 빠르지만, 휘발성이 있기 때문에

컴퓨터 전원을 종료하면 메모리에 저장되어 있던 데이터들은 다 사라진다.


[필요성]

HDD(하드디스크)는 데이터가 그대로 남아있는데, 왜 RAM 메모리를 쓰는걸까?

바로, 컴퓨터 CPU의 성능을 최대한 이용하기 위해서이다.

CPU는 컴퓨터에서 속도가 가장 빠른 장치인데 HDD는 따라가기 힘들기 때문에

컴퓨터 성능저하가 발생하게 되는 것이다.

이러한 성능저하를 잡아주기 위해서 주기억장치인 RAM이 필요하다.


[용량]

RAM은 용량이 높을수록 좋다.

용량이 높을수록 응용프로그램이 더 많은 데이터를 저장할 수 있다.

여러 개의 프로그램을 실행시키면 각각의 데이터가 모두 RAM에서 대기를 하게 되는데 램의 용량이 적으면 동시에 작업할 수 있는 프로그램의 수가 제한적이다.

이외에도 프레임 속도 향상과 부팅 시간을 비롯한 시스템 성능의 다른 영역도 향상시킬 수 있다.

컴퓨터 단기 기억 담당 저장소로 CPU가 무엇인가 명령을 내릴때 저장 장치 하드디스크로 부터 자료가 전달되는데 그 자료를 기억 판독 전달 등 역할을 하기 위해 꼭 필요한 부품이다. 그러나 하드디스크와 다른 점으로 램은 컴퓨터 전원이 꺼지는 순간 기억을 지운다.

- 저장장치 (HDD / SSD)  

: 이 두가지는 데이터를 저장하고 읽고 쓰는 역할을 한다. 기능적인 방식이 다를 뿐 용도는 같다. 흔히 문서를 작성해서 저장하고, 불러오고, 편집할 때 사용하는 게 바로 이 저장 장치이다.

간단하게 표현하자면 비휘발성이라는 점에서 같지만, HDD는 물리적으로 정보를 저장하고 SSD는 전자적으로 정보를 저장한다.

HDD
장점: 가격이 저렴하다, 장기 보존이 가능하다
단점: 읽기/쓰기가 느리다, 충격에 약하다, 전력소비가 크다, 소음과 발열이 있다

SSD
장점: 읽기/쓰기가 매우 빠르다, 충격에 강하다, 전력소비가 적다, 소음이 적다
단점: 가격이 비싸다, 자연적인 방전으로 인한 데이터 손실 위험이 있다

이처럼 SSD는 HDD에 비해 좋은 점이 매우 많다. 그렇지만 여전히 HDD를 선택하는 사람들이 있는데, 그 이유는 몇 가지 단점 때문이다. SSD는 매우 빠르며 튼튼하지만, 용량 대비 단가가 높고 수명은 HDD보다 짧다. 또, 방전 현상으로 인해 데이터가 날아갈 위험이 있다. HDD는 물리적인 레코드에 기록하는 것이기 때문에 데이터 장기 보존에 훨씬 더 적합히다. 무엇보다 가격 면에서 HDD의 저렴함을 이기기는 매우 어렵다.

그렇다면 무엇을 사는 게 좋을까?

가장 필요한 것이 테라바이트 수준의 일반 대용량 스토리지(예: 사진, 영화, 또는 자주 접근하지 않는 모든 데이터)라면, 기존 HDD를 선택하는 것이 가장 좋다. 하지만 성능과 속도가 중요하다면 SSD를 선택하는 것이 훨씬 낫다. 예전에는 SSD가 HDD보다 훨씬 가격이 높았으나, 그 동안 SSD 생산 및 드라이브 용량이 증가하면서 가격 차이는 감소했다.

- 그래픽 카드

: 그래픽카드는 그래픽 연산을 주로 하는 장치이다.

수학 문제를 풀 때 문제해석, 수학 법칙을 생각해내는 복잡한 과정은 CPU가 하고 계산은 그래픽카드가 한다.

요즘에는 CPU에 내장되에 있는 경우도 있으며, 일부 별도로 장착해야하는 그래픽을 사용가능한 경우도 있다.

고퀄리티 게임과 딥러닝 모델을 학습시키기 위해서 내장 그래픽이 아닌 외장 그래픽을 사용하게 된다. 연산처리를 함에 있어 큰 프로그램을 구동할 때 진행되는 연산만으로도 CPU가 충분히 버겁기 때문이다.

시간이 지나면서 각종 프로그램들과 연산 작용은 점점 고도화 되고,
그래픽과 연산처리 모두를 다루는 CPU에 의존하기엔 한계가 있는 것이다.

그래픽카드에는 연산장치인 GPU가 있다.
CPU는 고차원적인 연산이 가능한 대신 단순한 반복작업에는 최적화되어 있지 않다. 반면에 GPU는 고차원적인 연산은 못하지만 단순한 반복작업에 최적화되어 있다.(GPU는 코어 개수가 압도적으로 많다)

- 파워서플라이 (전원공급장치)

 : 전원을 공급해주는 장치, 사람의 심장과도 같다.

컴퓨터는 기계적인 부품이기에 전원 공급으로 모든 부품이 작동한다. 그래서 없으면 아무것도 못한다.

220V 가정용 전원을 12V, 5V 등으로 컴퓨터에 사용되는 전압으로 변환하여 전원을 공급한다.

- 케이스

: 컴퓨터 부품들을 고정하고 보호하는 껍데기. 이것 없이 사용하면 합선이나 이물질로 인한 고장의 위험이 크다. 겉으로 드러나는 부분이라 디자인에 많이 신경쓰게 된다.

profile
매일매일이 성장하는 하루가 될 수 있도록!

0개의 댓글