컴퓨터(Computer Science)/컴퓨터구조(Computer Arichitecture)

컴퓨터 구조 분야에 대한 8가지 아이디어 [컴퓨터구조]

게임이 더 좋아 2020. 5. 16. 23:33
반응형
728x170

컴퓨터 구조를 얘기할 때 MIPS, RISC 그런 것들보다도 우선되는 생각이 있다. 

사실 이 생각을 하지 않고 개발하면 개발하나마나 똑같은 결과라고 할 정도로

정말 중요한 생각들이 있다. 

 

무려 8가지나 된다. 영어 설명도 넣어줄테니까 실망하지말고 공부해보자

 

읽어보면 좋다.

 

8가지를 우선 설명하겠다.

 

1. 무어의 법칙을 고려한 설계

2. 추상화로 설계하기

3. 반복되는 작업을 빠르게 하기

4. 병렬성을 통한 성능 개선

5. 파이프라이닝

6. 예측

7. 메모리 계층구조

8. 신뢰도를 위한 여유분

 

영어로는

1. Design for Moore's Law

2. UseUse Abstraction to Simplify Design

3. Make the Common Case Fast

4. Performance via Parallelism

5. Performance via Pipelining

6. Performance via Prediction

7. Hierarchy of Memories

8. Dependability via Redundancy

 


#1

무어의 법칙을 왜 고려해야 하느냐??

무어의 법칙이라는 것은 칩의 집적도가 18개월에서 24개월 마다 2배씩 증가한다는 뜻이다.

그렇다는 것은 우리가 현재의 기술로 18개월 걸려서 집적도가 2배인 칩을 만들면??? 남들도 다 똑같이 만들 수 있다는 뜻이다. 즉, 돈이 안되는 설계다... 남들 아무나 하는 설계고... 그냥 어찌 저찌 살 수는 있는데 성공은 못한다는 뜻이다.

 

** 즉 프로젝트의 종료시점에 맞춰서 성능의 목표치를 바꾸라는 얘기다.

 

#2

왜 추상화를 해야하느냐?? 

추상화를 거치지 않고 설계를 하는 경우 세부 모듈까지 설계하는 것은 시간 낭비이다.

그렇다면 추상화를 거치면 설계 기간이 짧아지고 프로젝트의 종료시점도 앞당길 수 있겠지?

 

 

 

**소프트웨어공학에서 내가 쓴 글을 보면 세부 모듈은 나중에 설계한다.

**요구 사항이 바뀌면 언제든 수정되는 것이 상세 설계이다. 

 

#3

반복되는 일을 빠르게 하자는 것인데..?

만약 물을 떠오는 일을 한다고 하자

 

집에 물을 떠오는 일을 한다고 치자

1. 집에서 양동이를 들고 나간다(30초)

2. 양동이를 강까지 옮긴다(3분)

3. 강에서 물을 뜨는 시간(3초)

 

속도를 2배로 증가할 수 있다고 하자 어느 부분을 증가시켜야할까??

3번 선택해봤자 물 1.5초만에 뜬다고 해서 눈에 띄게 빨라질까?

아니다. 3번 선택하면 미쳤단 소리 듣는다. 당연히 2번을 빨라지게 해야 물을 떠오는 것이 빨라진다.

 

 

#4

병렬성이란 건 4의 일을 1명이서 4번할 수 있지만 4명이서 1번씩 할 수도 있다.

이렇게 이해하자

 

 

#5

파이프라이닝이란. 분업을 생각하면 쉽다.

자기는 자기한테 맡겨진 일만 하는 것이다.

 

제품 생산 단계가 5단계가 있으면 나는 주구장창 1단계만하고 5단계는 건드리지 않는다.

그렇다면 나는 1단계 일만 배우면 되고 5단계는 할 줄 몰라도 생산성이 높아질 수 있다.

 

 

#6

예측을 통해 어떻게 개선할까???

지금까지 내가 구슬을 크기로 분류하며 세고 있었는데 숫자를 까먹었다. 그래서 엄청 화가 났는데

다시 세려니까 너무 힘들어서 60%를 셌는데 그냥 40%의 크기를 분류해서 60% 에다도 비율을 똑같이 적용하려고 한다.

구슬이 균일하게 섞여있다면 40%의 구슬의 비율과 내가 센 60% 구슬의 비율이 거의 같다고 볼 수 있다.

 

++컴퓨터 구조를 조금만 더 배우면 예측은 맞는데 이런식으로 하는 것은 아닌 걸 안다.

이해를 위해서 이런 식으로 일을 빨리한다고 말한 것이다.

 

#7

메모리 계층구조??

뒤에서 배우지만 메모리를 Register에서 로드시켜야 instruction이 수행가능하다. 즉

메모리에서 빨리 로드가 되면 수행까지 걸리는 시간도 단축되고 결과까지도 빨리 나올 것이다.

그렇지만 빠른 메모리는 용량도 적은데 비싸다. 

 

**돈 많으면 모든 것을 빠르게 써도 된다.

 

#8

그렇다. 예비 타이어처럼 타이어 펑크나도 걱정없는 이유가 예비 타이어를 가지고 있기 때문이다.

즉 컴퓨터도 무엇인가 고장이 나더라도 다른 것이 정상작동하면 정상적으로 결과를 도출해야 그 장비가 신뢰도가 높다고 말할 수 있다. 

 

**신뢰도가 높아야 컴퓨터를 믿지.. 맨날 틀린 결과만 알려주면 그 컴퓨터 뚝배기 깨야함

 

 

 


이러한 8가지 아이디어, 생각들은 꼭 알아두자 그럼 이만 ㅂㅂ

728x90
반응형
그리드형