멀티코어

개념
두 개 이상의 독립 코어를 단일 집적 회로로 이루어진 하나의 패키지로 통합한 것

I. 멀티 코어 프로세서의 개요
    가. 멀티 코어 프로세서의 정의

  • 두 개 이상의 독립 코어를 단일 집적 회로로 이루어진 하나의 패키지로 통합한 것 (source : Wikipedia)

 

    나. 멀티 코어 프로세서의 등장 배경

  • 무어의 법칙의 한계 : 단일코어 프로세서의 집적도를 더 이상 높일 수 없는 물리적 한계
  • 소비 전력 : 소비 전력 대비 성능의 비효율성. 특히, 임베디드 시스템의 경우 중요
  • 파이프라인 : 프로세스 성능 향상에 따라 파이프라인의 복잡하고 길어짐
  • 발열 문제 : 클록 스피드를 높임으로서 발생하는 문제

 

    다. 멀티코어와 싱글코어의 비교

단일 코어

시스템

- 멀티 태스킹을 하게 되면 CPU 용량을 모두 활용

- 다른 태스크는 현재 작업이 처리될 때까지 대기해야 하므로 성능이 떨어짐

멀티 코어

시스템

- 각 코어에 고유한 캐시가 장착되어 운영체제에서 충분한 리소스를 확보

- 연산 집약형인 작업의 대부분을 병렬 방식으로 처리

- 시스템의 효율성과 애플리케이션의 성능을 높여줌

 

II. 멀티 코어의 유형과 SW 기술요소
    가. 멀티 코어의 유형

 

구분

설명

특징

모델 (a)

두 개 이상의 일반화된 실행 코어(general execution core)들을 갖고 있는 형태

- 데스크탑 / 서버 용도

- 코어수 확장 용이

모델 (b)

- 하나의 실행 코어와 장치 특성에 맞는 가속기(DSP 형태) 코어 혹은

- 프로세서형태의 코어를 단일 CPU 내에 멀티 프로세서로 갖는 형태

- 모바일 용도의 프로세스

- 특정 응용 프로그램의

성능을 극대화 할 수 있게 최적화

모델 (c)

-모델 1 과 모델 2 의 하이브리드 형태. 즉, 두 개 이상의 일반화된

- 실행 코어들과 함께 장치 특성에 맞는 프로세서들을 갖고 있는 형태

 

 

    나. 멀티코어의 필요기술
 


 
    다.  멀티코어 고려사항

  • 단일 서레드시스템에서는 성능개선 효과가 적음
  • OS에서 지원하지 않으면, 성능향상 효과 적음
  • 디버깅 환경을 적응하기는 어렵다.

[참고] 주요 멀티코어 프로세서의 캐시 구조


 

댓글