컴퓨터/컴퓨터구조특론

Fundamentals

xeskin 2020. 4. 5. 14:47
반응형

컴퓨터공학에서 성능의 향상은 는 크게 두가지 측면에서 이뤄졌다. 첫번째는 '반도체 스케일링', 두번째는 '컴퓨터 아키텍쳐의 발전'이다. 

 

반도체 스케일링

: CMOS 트랜지스터의 피져 사이즈를 줄임으로써 이뤄졌다.

1) 작아진 트랜지스터의 사이즈는 더 많은 트랜지스터를 집약시킬 수 있게 했고

2) 빨라진 트랜지스터는 더 많은 성능(높은 클럭)을 가져다 줬고

3) 적은 에너지 소모는 저전력으로도 충분히 반도체를 사용 가능케 해주었다.

 

컴퓨터 아키텍쳐의 발전

: 컴퓨터 마켓에서 두가지 변화가 이를 가능케했다.

1) 발전된 컴파일러는 어셈블리 프로그래밍을 하지 않더라도 개발을 할 수 있게 해주었고

2) 표준화되고 벤더와 독립적인 운영체제는..

 

컴퓨터 아키텍쳐의 발전은 꾸준히 이뤄졌으나 싱글 프로세서의 성능 향상은 2003년에 끝났다. 왜냐하면 파워 문제때문에 CPU의 동작 속도를 향상시킬 수 없었고, 명령어 수준의 병렬성을 향상시키기 힘들기 때문이다. 이는 다른 종류의 프로세서, 멀티코어 프로세서의 발전을 야기시켰다. 멀티코어 프로세서는 하나의 칩에 프로세서가 한개 이상 들어있는 프로세서를 이야기한다. 싱글코어 프로세서에서는 하드웨어의 성능 향상이 소프트웨어의 성능 향상과 직결됐지만, 멀티코어 프로세서에서는 소프트웨어가 멀티코어를 다 쓸 수 있도록, 즉 병렬성을 극대화하여 코드를 작성하는 것이 문제가 됐다.

 

병렬성

응용단에서는 크게 두가지 종류의 병렬성이 있다. 하나는 데이터 수준의 병렬성(Data-Level Parallelism), 다른 하나는 태스크 수준의 병렬성(Task-Level Parallelism)이다. 데이터 수준의 병렬성은 한번에 많은 양의 데이터를 처리하는 것을 의미한다. 태스크 수준의 병렬성은 작업에서 태스크들이 독립적으로 생성되고 작동되는 걸 의미한다.

 

(추가예정..)

반응형