본문 바로가기
IT story

컴퓨터 구조 1장 - 컴퓨터 구조의 시작 -

by ChocoPeanut 2017. 4. 12.

컴퓨터 구조 1

- 컴퓨터 구조의 시작 -

 

1940년대 후반 전자식 컴퓨터가 처음 등장하고 나서 짧은 시간 안에 엄청나게 빠른 속도로 컴퓨터는 발전해 나갔다. 매년 새로운 아이디어가 나오고 발전한 정보기술들이 등장한다. 몇 년 전만 해도 스마트폰의 등장이 매우 신기하게 다가왔지만 현재는 모든 사람들이 사용하고 있는 평범한 일상이 되었다. 또한 지금은 인공지능이나 VR과 같은 또 다른 아이디어의 세계가 펼쳐지고 있다. 이러한 컴퓨터의 발전을 운수 산업에 비유를 한다면 지금 현재 서울에서 런던까지 10시간이 넘는 시간이 여행을 가는데 1초 밖에 걸리지 않고 요금도 매우 쌀 것이라고 말을 할 정도다.

 

컴퓨터의 발전은 여러 분야에서 나타난다. 우리는 컴퓨터 발전을 몸소 느끼기 위해 여러 가지 예시를 들어보겠다.

자동차를 제어하는 컴퓨터 :

예전의 자동차들은 엔진과 사람으로만 이루어져 있었다. 하지만 현재의 자동차들은 엔진과 사람 사이에 컴퓨터가 작동을 제어하게 되었고 연료 효율을 높이고, 충돌 사고를 감지하여 에어백도 터뜨리게 작동을 한다. 또한 현재에는 사람 없이도 자동차가 차선 이탈을 막고 충돌을 방지하고 달릴 수 있는 무인 자동차가 만들어지고 있는 추세이다.

 

휴대전화 :

현재 우리나라의 90% 이상이 스마트폰을 사용하고 있다. 이렇듯 스마트폰은 우리 일상생활에서 없어서는 안 될 존재로 떠올랐다. 한 코미디 프로그램에서는 스마트폰과 여자 친구를 비교해가며 둘 중 무엇을 포기하고 살 수 있겠는가에 대한 토론을 하였다. 그런데 10년 전만 하더라도 스마트폰을 사용을 할 수 있었겠는가? 현재는 음성 인식이나 홍채 인식 등 더 풍부한 컴퓨터 기능을 추가하고 있는 추세이다.

 

인간 게놈 프로젝트 :

생명공학 분야에 큰 영향을 끼친 것도 또한 컴퓨터 분야이다. 인간의 엄청난 유전자 데이터를 사람이 직접 처리할 수는 절대 없다. 현재는 다소 돈이 좀 들지만 컴퓨터가 더욱 발전한다면 가타카라는 영화에서 알 수 있듯이 우리는 모든 유전자를 파악해 질병도 알아내고 쉽게 치료할 수 있는 시대가 열릴 것이다.

 

WWW(World Wide Web) :

컴퓨터가 발전하면서 가장 큰 변화를 줬다고 할 수 있는 것이 바로 웹이다. 비약적인 말로 세계를 통합시켰다고 할 수 있는 것이 바로 웹이다. 우리는 이동하지 않고도 다른 나라의 사람들과 의사소통할 수 있고 해외의 물품을 구입할 수 있다. 그리고 수많은 정보들이 인터넷에 떠다니면서 정보의 시대를 열었다.

 

컴퓨터는 여러 가지 종류를 가진다.

우리가 사용하는 가장 보편적인 컴퓨터는 바로 개인용 컴퓨터인 PC라고 할 수 있다. 개인용 컴퓨터는 낮은 가격으로 단일 사용자에게 좋은 성능을 주는 것을 목적으로 하고 있다. 또 다른 종류로는 서버가 있다. 서버는 여러 사용자를 위해서 대형 프로그램 여러 개를 동시에 실행하는 데 사용하며, 주로 네트워크를 통해서 접근된다. 서버에도 종류가 구분되는데 저사양은 중소기업의 업무나 간단한 웹 서비스용으로 사용되는 반면 슈퍼컴퓨터는 엄청나게 큰 크기의 메모리와 수만 개의 프로세서로 이루어져 있다. 일기 예보나 석유 탐사 등에 사용된다.

가장 많이 사용되는 컴퓨터의 종류는 임베디드 컴퓨터이다. 다른 장치에 포함되어 있어서 미리 정해진 몇 가지 일이나 몇 가지 소프트웨어만 실행하는 컴퓨터이다. 우리 주변에도 엄청나게 많은 임베디드 컴퓨터가 존재한다. 앞서 말한 자동차, 비행기 등등 임베디드 컴퓨터가 들어가 있다.

현재에는 개인 휴대용 기기가 또한 큰 분야를 자치한다. 개인용 컴퓨터와 비교해서 엄청나게 빠른 속도로 보급률이 높아지고 있다. 터치스크린을 사용하며 음성 인식을 사용하기도 한다. 휴대용 기기가 개인용 컴퓨터에 비교된다면 서버에 비교되는 클라우드 컴퓨팅이 나타났다. 큰 회사들이 서버를 구축하면 다른 회사들은 이 서버를 임대하여 서비스를 제공할 수 있는 형태가 된 것이다.

 

지금까지 컴퓨터가 발전되는 것을 살펴보았다. 그러면 이러한 발전 속에서 컴퓨터 구조에 대해서 배우면 우리는 무엇을 얻을 수 있을까? 이 글을 읽는 이유는 바로 이것이니 제일 중요한 부분이라고 할 수 있겠다. 이 글을 읽는 사람이 컴퓨터 전공자라는 점을 감안해서 설명을 하겠다.

 

컴퓨터는 계속해서 발전을 지속해오고 있다. 그에 맞서 엄청나게 많은 컴퓨터 전공자들이 쏟아져 나왔다. 또한 컴퓨터 전공자가 아니더라도 요즘 소프트웨어 교육을 통해 다양한 사람들이 코딩하는 프로그래밍을 배운다. 이러한 사회에서 컴퓨터 전공자들이 어떠한 차별성을 가질 수 있을까? 비전공자들도 코딩을 엄청 잘하는 사람들도 많다. 이런 사람들과 비교해서 경쟁력을 가질 수 있는가? 컴퓨터 전공자들이 엄청나게 많이 이론적이 부분을 배우는 것에는 모두 이유가 있다. 컴퓨터 구조 역시 이러한 한 분야에 속한다. ! 그러면 특정하게 컴퓨터 구조는 배우는 이유가 무엇일까. 모든 사람들은 성능이 더 좋은 프로그램을 만드는 것을 원한다. 알고리즘을 통해서 이 부분을 보안할 수도 있지만 컴퓨터 구조를 통해서 하는 부분이 많이 있다. 1960년대와 70년대에는 컴퓨터의 성능을 좌지우지하는 것이 메모리 용량이었다. 메모리 용량을 잘 관리할 수 있게 프로그램을 짜는 것이 중요했다. 바로 컴퓨터 구조 중 한 분야이다. 현재에는 메모리의 계층성과 프로세서의 병렬성을 이해해야 컴퓨터의 성능을 높일 수 있다. 하드웨어가 어떻게 우리가 작성한 소프트웨어 언어를 분석하는가, 하드웨어의 효율성은 어떤 것과 관련이 있는가, 어떻게 하면 에너지의 효율을 높일 수 있는가? 이러한 정보에 대해서 알고 있으면 다른 프로그래머와 다른 더욱 성능이 좋은 프로그램을 설계할 수 있다. 이것은 단지 코딩만을 할 수 있는 사람과 매우 큰 차별성을 가지고 있고 경쟁력을 가질 수 있다. 이러한 분야에 대한 공부를 지금부터 시작하려고 한다.