[컴퓨터 구조] 컴퓨터 설계 아이디어

2020. 6. 10. 20:17컴퓨터 구조

컴퓨터가 개발된 이후에

컴퓨터의 성능을 개선하기 위한 노력은 활발히 이루어졌다.

그러한 노력의 흔적으로 8가지 위대한 아이디어가 있다.


1. Moore의 법칙을 고려한 설계

moore의 법칙
매 18~24개월 마다 칩에 집적되는 소자의 수가 2배가 된다.

 

컴퓨터를 설계하는데에는 많게는 수년이 걸릴정도로 매우 오래 걸린다.

 

그러므로 moore의 법칙을 통해 발전되는 하드웨어들을 예상하여 설계하는 것이 필요하다.

 

2. 추상화(abstraction)

 

복잡한 설계를 최대한 단순하게 표현하자.

 

그림 등의 형식으로 하위 수준의 상세한 사항을 안보이게 표현함으로써 단순화하는 작업이 필요하다.

 

3. 자주 생기는 일을 빠르게(common cast fast)

 

자주 생기는 일을 빠르게 하는 것이 드물게 생기는 일을 최적화 시키는 작업보다 성능 개선에 도움이 된다.

 

4. 병렬성(parallelism)

 

연산을 병렬적으로 수행하여 성능을 높이는 설계가 필요하다.

1 ~ 100 까지 한 사람이 더하는 것보다
1 ~ 50 까지 더하는 사람과 51 ~ 100 까지 더하는 사람을 나눠 값을 더하는 것이 더 빠를 것이다.

 

5. 파이프라이닝(pipelining)

 

병렬성의 특별한 형태

물건을 왔다 갔다 하며 옮기는 것 보다
사람들이 길게 늘어서 물건을 옮는 것이 빨리 나르듯 성능 개선을 할 수 있다.

 

6. 예측(prediction)

 

예측해서 미리 수행하는 것이 평균적으로 빠른 경우가 종종 있다.

 

예측을 잘못해서 복구하는 비용이 비싸지 않고, 성공할 확률이 비교적 높다면, 예측을 하여 성능 개선을 할 수 있다.

 

7. 메모리 계층구조(memory structure)

 

빠르고 크고 값싼 메모리는 존재할 수 없다.

 

그래서 빠르지만 작은 메모리, 느리지만 큰 메모리를 계층적으로 사용하여

 

최상위 계층만큼 빠르고, 최하위 계층만큼 큰 메모리가 존재하는 것처럼 사용할 수 있다.

 

8. 신용도(Dependabilty)

 

컴퓨터는 속도도 중요하지만 그만큼 신뢰할 수 있어야 한다.

 

모든 하드웨어는 불량이 발생할 수 있으므로, 불량을 감지하고, 그에따른 여유분을 준비해 놓아야 한다.