본문 바로가기
IT story

컴퓨터 구조 2장 - 8가지 위대한 아이디어 -

by ChocoPeanut 2017. 4. 12.

컴퓨터 구조 2

- 8가지 위대한 아이디어 -

 

이번 시간은 컴퓨터가 발전을 해오면서 발명된 8개의 위대한 아이디어를 소개해보고자 한다. 60년 정도의 역사를 가진 컴퓨터에 아직도 적용되고 있는 아이디어들이다. 이 이후 설명하는 컴퓨터 구조를 이야기할 때 각 분야들이 이 8가지 아이디어 중 하나에는 속하는 것을 보면서 매우 위대하다고 느낄 것이다. 또한 컴퓨터 구조뿐만 아니라 컴퓨터의 보편적이 부분에 많은 부분 겹치는 것도 나타난다.

 

Moore의 법칙을 고려한 설계

Moore의 법칙이라고 하는 것은 컴퓨터의 변화 속도를 나타내는 법칙이다. 18개월에서 24개월마다 칩에 집적되는 소자의 수가 2배가 된다는 것이다. Moore의 법칙은 이름 그대로 Intel의 창립자 중 한 명인 Moore에 의해서 나왔다. 소자의 수가 2배 증가함으로 인해 컴퓨터의 성능 또한 매우 증가하는 것을 나타낸다.

 

설계를 단순화하는 추상화

추상화는 다양한 분야에 적용되는 용어이다. 하위 수준의 상세한 사항을 안 보이게 설계하고 상위 수준의 모델만 사용자에게 보이게 하여 단순하게 접근을 가능하게 할 수 있게 만드는 것이다. 이는 하드웨어와 소프트웨어의 생산성을 높이는 핵심기술이다.

 

자주 생기는 일을 빠르게

다르게 생각하면 매우 당연한 말이다. 자주 생기는 일을 더욱 최적화하는 것이 성능 향상에 매우 큰 영향을 줄 것이기 때문이다컴퓨터가 설계되는 과정에서 많은 부분에 이 사상을 고려하고 있다.

 

병렬성을 통한 성능 개선

데이터 수준, 명령어 수준, 스레드 수준 등등 많은 컴퓨터 구조의 분야에서 병렬성을 통해 성능을 개선하는 방법이 많이 제시된다. 멀티프로세스를 사용하는 경우가 많아지고 있으므로 병렬성은 매우 중요한 분야 중 하나이다.

 

파이프라이닝을 통한 성능 개선

파이프라이닝은 병렬성의 종류 중 하나이다. 하지만 이렇게 새로운 분야로 뺀 이유는 그만큼 파이프라이닝이 매우 중요하다는 것을 시사해준다. 명령어를 처리하는 과정에서 병렬적으로 쉬는 장치를 만들지 않고 지속적인 활동을 할 수 있게 해준다. 예를 들면 불을 끄는 장면을 생각해보자. 우리가 만약 양동이에 물을 길러 불을 꺼야하는 상황이라면 모든 사람들이 양동이를 들고 다니는 것보다 줄을 서서 양동이를 순서대로 계속 이동시키는 것이 더 효율적이라는 것을 알 수 있다.

 

예측을 통한 성능 개선

허락을 구하는 것보다는 용서를 구하는 것이 낫다는 말이 있다. 성공할 확률이 높은 쪽으로 예측을 하여 미리 수행을 하면 처리하는 속도가 빨라진다. 특히 예측에 대한 복구 비용이 비싸지 않는 경우 더 큰 힘을 발휘한다.

 

메모리 계층 구조

메모리의 처리 속도는 성능을 크게 좌지우지할 수 있는 큰 역할을 한다. 따라서 빠르고 크고 값싼 메모리는 모든 프로그래머들이 원하는 장치이다. 하지만 이러한 메모리는 아직 존재하지 않는다. 그래서 메모리 계층구조를 통해 이를 만족시키려고 한다. 최상위 계층부터 최하위 계층을 만들어 자주 사용하는 것은 용량이 작은 최상위 메모리에, 안 쓰는 것은 용량이 큰 최하위 메모리에 저장하고 처리 속도는 최상위가 가장 빠르다.

 

여유분을 이용한 신용도 개선

컴퓨터는 빠른 성능도 중요한 분야이지만 신용도 또한 성능에서 빠질 수 없는 중요한 부분이다. 컴퓨터에 오류가 발생할 경우에 이를 빨리 복구하기 위해서 여유분이 필요하다. 버퍼를 만들어 보관을 한다고 하던지 두 개의 장치를 사용한다고 하는지에 관련된 내용이다.

 

위의 8가지 아이디어는 뒤의 장들을 보면서 계속 나타날 것이다. 또한 파이프라이닝과 같은 분야는 완전 하나의 장으로 설명될 것이다. 지금은 용어에 대한 인식만 하고 있으면 좋을 것 같다.