본문 바로가기

TIL

지피지기 백전불태?

  나를 알고 적을 알면 백번겨루어도 위태로움이 없다 라는 뜻에 사자성어이다.  개발자를 목표로 하고 있는 현재 컴퓨터에 대한 이해가 너무 얕다. 컴퓨터가 적은 아니고 나의 고마운 파트너(?)이니까 오히려 더 잘알아야 된다. 사람의 신체를 모르는 의사가 일단 배부터가르고 보는 경우는 없다. 

 

 

컴퓨터의 역사 

 

컴퓨터의 어원에 대해 먼저 알아보자 compute + er 즉 계산하는 사람 계산자, 계산수 라는 뜻인데 뉴턴 이후 물리학에 수학적 기법이 도입됨에 따라 많은 수학적 계산이 필요했고 이로인해 단순계산을 하는 사람들을 고용하여 쓰기 시작했는데 이 사람들을 컴퓨터라고 부른 것이 시초이지만 현재는 일반적으로 전자 회로를 이용한 고속 자동 계산기 즉 전자계산기를 컴퓨터라고 부른다. 

 

 

현대식 컴퓨터는 2차세계대전중 급격히 발전하였다고 한다. 이 과정에서 전자회로가 기계식 연산장치를 대체하고 이 과정에서 디지털 회로가 아날로그 회로를 대체하는 일이 있었는데 이러한 변화는 연대에 따라 조금씩 이루어져  최초의 컴퓨터가 무엇인지 정의 하는것은 쉽지 않다고 한다. 전쟁에 한 가지 장점이 있다면 이런 기술적 발전이지 않을까 한다. 

 

일반적으로 알려진 최초의 다용도 디지털 컴퓨터는 아래 그림에 보이는 에니악이라는 녀석으로 스펙이 트레일러 뺨치는 엄청난 크기를 가지고 있었다.  에니악은 프로그램을 배선판에 일일이 배선하는 외부 프로그램 방식이었으므로, 에니악에서는 작업에 따라 배선판을 교체해야만 했기 때문에 사용하기 굉장히 불편했을 것이다. 

 

대형 컴퓨터의 구조

 

  •  현대 컴퓨터를 논하면 빠질 수 없는 비범인

 

인류 역사상 가장 천재라고 불리는 수학자 - 폰 노이만-

컴퓨터의 역사를 다룰 때 이사람을 뺴놓을 수가 없는데 헝가리 출신의 수학자로서  양자 역학, 함수 해석학, 집합론, 위상수학, 컴퓨터 과학, 수치해석, 경제학, 통계학 등 여러 분야에 걸쳐 다양한 업적을 남겼다. 특히 연산자 이론을 양자역학에 접목시켰고, 맨해튼 계획 프린스턴 고등연구소에 참여하였으며, 게임 이론 세포 자동자의 개념을 개발한 것으로도 잘 알려져 있다. 이런 많은 업적 중에서도 가장 큰 업적이라고 평가받는 폰 노이만 구조는 앞서 설명 했던 에니악의 단점을 보완하기 위해 1945년 현재와 같은 CPU, 메모리, 프로그램 구조를 갖는 범용 컴퓨터 구조의 방식을 제안했고 7년 후 케임브리지 대학교의 의뢰로 세계 최초의 프로그램 내장 방식 컴퓨터 EDSAC을 제작한다. 이후에 나온 컴퓨터는 모두 폰 노이만의 설계를 기본 구조로 디자인되고 있다.  

  • 폰 노이만 구조의 장점

폰 노이만 구조로 인해 다른 작업을 시키려고 할때 굳이 하드웨어를 재배치할 필요가 없고 소프트웨어만 교체하면 되기 때문에 범용성과    편의성 상당히 늘어났다. 예를 들면 내가 롤을 하다 재미없어 스타크래프트를 하려고 한다 하면 폰 노이만 구조 이전의 컴퓨터로는 하드웨어(전선)를 일일이 재배치하여야 했었는데 폰 노이만구조는 그럴 필요가 없다(?) 이게 맞나? 

 

  • 폰 노이만 구조 컴퓨터의 명령 주기

CPU가 연산을 처리하는 과정은 다음과 같다. 메모리로부터 명령을 가져오고(fetch), 명령어의 의미를 해석한 후(decode), 명령어를 실행(execute)하고 결과를 저장(store)한다. 그리고 폰 노이만 구조는 '내장 메모리 순차처리 방식'을 따르고 있기 때문에 CPU는 순차적으로 한 번에 명령어 하나씩 실행한다 이로 인해 병목현상이 나타나는데 이 단점을 보완하기 위해서 주기억장치인 램의 속도를 cpu급으로 끌어올리거나 보조기억장치는 SSD의 출시로 단점을 보완하고 있다고 한다. 

 

 

  • 아날로그와 디지털 왜 세상은 디지털을 선택했나 

 

 

아날로그 와 디지털의 사전적의미로는 

아날로그 : 신호와 자료를 연속적인 물리량으로 나타낸 것.

디지털 : 자료를 특정한 최소 단위를 가지는 이산적인 수치를 사용하여 나타내는 표현 방식 (2진법을 사용한다)

 

아날로그와 디지털의 대표적인 예인 시계를 통해서 한번 알아보자 

아날로그 시계

 

 

두 시계의 가장 큰 차이는 시간의 흐름을 어떻게 보여주냐 이다. 아날로그 시계같은 경우 연속적으로 움직이지만 디지털 시계의 경우는 시간을 불연속적으로 보여준다. 불연속적이라는게 무슨 말이냐하면 디지털 시계는 12:00시에서 12:01 사이에 있는 12:00 43.534초 같은건 표현할수 없다. 물론 저 자릿수 까지 만들면 표현 할 수도 있지만 나타낼 수 있는 숫자수가 제한적이기 때문에 결국은 표현할수 없는 시간이 생긴다. 하지만 아날로그 시계의 경우는 12:00 30.435 같은 시간도 시계바늘로 표현을 할 수가 있다. 이렇게 보면 디지털이 그렇게 좋은 것 같지 않지만 오히려 우리 삶을 굉장히 편리하고 윤택하게 만들어 주는데 기여를 많이 했다.  요즘은 스마트폰의 발달로 인해 거의 모든 것을 다 할 수 있다. 책을 가지고 다니지 않아도 스마트폰으로 볼 수 있고 음악을 들을 수도 있으며 사진도 저장하여 원하면 언제든지 꺼내 볼 수있다. 그리고 이것들은 삭제하지 않으면 그림이나 문서 같은 마모가 일어나는 아날로그와 달리 영원히 그대로 보존할 수 있다. 복제 또한 굉장히 편리한데 그냥 컨트롤 c+v 만 누르면 된다.이것은 디지털이 우리의 삶을 편리하게 해준 극히 일부부에 지나지 않는다. 결국 아날로그에서 디지털로 변화한 이유는 편리함 때문인 것 같다. 

 

 

  • 컴퓨터의 구조 

 

CPU(Central Processing Unit)

 

 

CPU는 기억, 해석 , 연산, 제어의 중요한 부분을 담당하는 컴퓨터의 대뇌역할을 하는 중요한 녀석이다. 이 녀석이 없으면 컴퓨터는 그저 고철 덩어리 일 뿐이다. 우리가 어떤 프로그램의 명령어를 해석하여 데이터를 계산,처리 그렇게 돌아가도록 하게 해주는 녀석이다.  마우스가 움직이고 홈페이지를 여는 것 또한 이녀석이 모두 계산을 해줘서 실행이 되는 것이다. 

CPU의 성능은 무엇으로 결정이 되냐?  첫번째로는 클럭이있다. 내 맥북 같은 경우는 2.6GHZ 인데 이 말은 CPU가 데이터를 표현하기 위해 전압을 내렸다 올렸다 하는 행위인데 초당 26억번의 클럭을 진행한다는 뜻이다 2.6GHZ는 1초에 325MB 정도의 연산이 가능하다고 생각하면 된다.  다음은 32비트와 64비트 cpu의 차이는 32비트는 1byte=8bit 인데 32비트가 연산할수 있는 데이터는 2^32 즉 4,294,967,296 즉 4.2G가 된다. 64비트는 8byte로 2^64 18,446,744,073,709,,551,616 32비트에 비해 엄청나게 좋은 성능을 가지고 있다.   64비트의 성능을 낼려면 사용하고 있는 OS도 64비트를 지원해야 하는데 아마 당연히 지원할 것이다. 

 

 

 

RAM

 

 램은 주기억장치로 휘발성 즉 컴퓨터의 전원을 꺼버리면 데이터가 날라가 버린다. 그런데 왜 이 녀석을 주기억장치로 사용을 하냐? 램은 어느 위치에 저장되어있는 데이터든지 접근 하는데 시간이 동일하게 걸리지만 하드디스크는 저장된 위치에 따라 접근하는 시간이 달라 결국 생산성이 좋은 램을 주기억장치로 사용되고 있다.  내가 어떤 프로그램을 사용하면 이 램으로 올라간다. 

컴퓨터가 커졌을때 cpu가 연산을 하고 이 연산에 필요한 모든 내용이 전원이 커져있는 한 이 램에 저장이된다.  그렇기 때문에 이 램이 많으면 한번에 많은 일을 처리할 수 있다. (흔히 다다익램이라는 말이있다)

대표적으로 한국의 삼성전자와 대만의 TSMC 사가 생산하고있다

 

 

 

HDD

 

주기억장치가 RAM이라면 보조 기억장치는 하드디스크(HDD)이다. 이 곳 하드 디스크에서 정보를 가져와서 프로그램이 동작할떄 필요한 정보를 램에 올려놓고 램에서 프로그램을 실행한다. 램에 올라갈 정보를 계속 보존하고 있는 곳 이것은 컴퓨터를 종료해도 데이터가 영속적으로 보전이 된다. 하드디스크를 왜 보조기억장치로 사용을 하고있냐하면 위에서도 설명했지만 램은 전기적신호로 움직이는 반도체이기 떄문에 속도가 엄청나게 빠르지만 이 하드디스크는 침을 움직여서 정보를 읽어오기 때문에 느리지만 용량을 크게 가져갈 수 는 있다.  

 

 

 

하드디스크

 

 

SSD

 

 SSD는 하드디스크와 같은 역할을 하지만 SSD는 하드디스크와 달리 정보를 전자적으로 저장한다. SSD를 사용한 컴퓨터를 사용하게 되면 가장 크게 느낄 수 있는 체감이 바로 부팅속도 인데 우리가 컴퓨터를 키게 되면 보조기억장치에서 운영체제를 불러와 램에 올려놓아야 하는데 이 과정이 SSD가 훨씬 빠르기 때문에 부팅 속도가 눈에 뛰게 빨라 지는 것이다. 요즘은 SSD를 사용하지 않는 데스크탑이나 노트북이 거의 없는데 예전에 비해 양산화가 많이 되어 가격적인 면에서 옛날보다 싸졌기 때문이다. 

 

 

 

메인보드

 

 

컴퓨터에는 수많은 부속 제품들이 들어 있다. 그런데 이런 부품들이 서로 따로 놀 수는 없는 노릇이라, 각 부품들을 하나로 연결해주는 회로와 밖으로 신호를 보낼 수 있는 출력 포트를 가지고 있는 부품이 필요한데, 이 기능들을 가지고 있는 부품이 바로 메인보드이다. 마더보드라는 다른 이름도 있는데 다른 컴퓨터 부품들의 뒷바라지를 다 해주는 아주 고마운 녀석이다. 

컴퓨터를 부품을 사서 직접 조립한다고 하면 회사 마다 cpu규격이 다르기 때문에 규격에 맞는 메인보드를 잘 구매해야 한다.

 

 

 

 

POWER SUPPLY

 

 

컴퓨터에 부품에 필요한 전압과 전류를 변환해 전원을 공급하는 컴퓨터의 부품으로 일명 밥차다 . 각 부품마다 필요한 전력이 다르기 떄문에 그에 맞게 메인보드를 통해 공급을 해주는 역할이다.  좋은거 쓰는게 좋다 저렴한 것은 내구성이 좋지 않다.

 

 

 

 

GRAFIC CARD

 

예전에는 그래픽 카드를 굳이 쓰지 않았다고 한다 cpu에 내장 그래픽 카드가 있지만 cpu가 계산, 기억, 해석, 제어 여러가지 일을 처리해야 하기 때문에 3D게임 같은 계산량이 엄청나게 많은 작업을 전담으로 처리하기 위해 cpu가 외주업체를 만들었는데 그게 그래픽 카드라고 볼 수 있다.  그래픽 카드를 사용하는 가장 큰 이유가 GPU라는 장치인데 이 친구가 그래픽에 대한 계산을 전담적으로 처리한는데 cpu와는 다르게 단순 반복 계산 속도가 굉장히 빠르고 특화되어 있다.  

 

케이스

 

비싼 부품을 사용한다면 좋은 케이스를 사용하는게 좋다. 케이스는 디자인 적인 면이 빠질수가 없는데 확실히 비쌀수록 디자인이 예쁘다. 

맥북을 사용해보니 애플이 디자인은 정말 최강자라고 생각한다 .

나사 항공, 천채 연구센터에나 있을 법한 비쥬얼이다.

 

 

 

 

'TIL' 카테고리의 다른 글

메가테라 2주차 주간 회고  (0) 2022.05.21
2주차 강의 필기  (0) 2022.05.16
메가테라 1주차 주간회고  (0) 2022.05.15
혁신의 아이콘 이였던 애플은 어디로?  (0) 2022.05.14
Ride on the Whale!  (3) 2022.05.06