멀티 프로세싱

꿀떡냠·2024년 5월 9일

들어가기

과거에는 CPU가 하나인 컴퓨터를 사용했으며, CPU가 하나인 시스템을 단일 프로세서 시스템이라고 했다. 단일 프로세서 시스템에서는 프로세서가 한 번에 하나의 작업을 처리할 수 있었다. 단일 프로세서 시스템에서 성능을 높이는 방법은 클럭을 높이거나 캐시의 크기를 늘리는 것이다. 클럭의 높이를 늘리는것은 발열 문제가 발생하고 캐시의 크기를 늘리는것도 비용문제가 발생한다. 성능을 높이기 위해 코어를 여러 개 만들거나 동시에 실행 가능한 명령의 개수를 늘리는 방안이 있다.

멀티코어 시스템

  • 멀티 프로세서 시스템 : 프로세서를 여러개 설치하여 사용하는 시스템
    • 멀티 프로세서 시스템은 많은 작업을 동시에 실행시킬 수 있다.
    • 프로세서 마다 레지스터와 캐시를 가지며 시스템 버스를 통하여 메모리를 공유한다.
  • 멀티 코어 시스템 : 기존 시스템을 유지한 채 멀티 프로세싱을 할 수 있는 시스템
    • 하나의 칩에 CPU의 핵심이 되는 코어를 여러개 만들어 여러 작업을 동시에 처리한다.
    • 예시 : 듀얼 코어, 쿼드 코어

CPU 멀티 쓰레드

  • 하나의 코어에서 2개이상의 명령어를 처리하는 방법이다.
  • 하나의 코어에서 여러개의 스레드를 이용하는 방식이다. 스레드는 CPU가 처리할 수 있는 작업의 단위라고 이다.
  • 명령어 병렬처리를 이용하면 한개의 코어지만 두개의 코어가 있는 것처럼 보인다.

현대의 CPU는 하나의 칩에 멀티 코어시스템과 CPU 멀티 쓰레드를 모두 지원한다.

무어의 법칙

  • 마이크로칩 기술의 발전 속도에 관한 일종의 법칙으로 마이크로칩에 저장할 수 있는 데이터 분량이 18-24개월 마다 두 배씩 증가한다는 법칙

암달의 법칙

  • 코어를 1개에서 2개로 늘린다고 CPU 성능은 2배가 되지않는다.
  • CPU 성능을 올려도 메모리를 비롯한 주변 장치가 속도를 따라가지 못한다.
profile
백엔드 개발자로 살아남기

0개의 댓글