여러개의 처리기를 사용하여 성능과 계산 능력이 좋으며, 고장허용에 의한 신뢰성 향상과 융통성, 모듈 단위의 확장이 가능하다.
(1) 다중 처리기의 분류
- 기계에서 처리해야 할 데이터와 명령어의 관계에 따른 분류(Flynn)
SISD(Single Instruction Single Data) SIMD(Single Instruction Multiple Data)
MISD(Multiple Instruction Single Data) MIMD(Multiple Instruction Multiple Data)
- 처리기와 기억장치와의 관계에 따른 분류
가. 강결합 시스템(Tightly-coupled)
하나의 운영체제하에서 여러 개의 프로세서가 하나의 메모리를 공유하는 시스템으로 다중 처리기 시스템이라고 한다.
프로세서 간 통신은 공유 메모리를 통해서 이루어지며 공유 메모리를 차지하려는 경쟁이 일어나는데 Combining switch 방법으로 해결한다.
나. 약결합 시스템(Loosely-coupled)
둘 이상의 독립된 컴퓨터 시스템을 통신으로 연결한 시스템으로 분산 시스템이라고 한다. 각 시스템은 자신만의 운영체제와 주기억 장치를 가진다. 각 시스템은 독립적으로 작동하며 필요한 경우 서로 통신할 수 있다. 프로세서 간 통신은 메시지 전달이나 분산 공유 기억 장치를 통해 이루어 진다.
(2) 다중처리기 상호 연결 기법
가. 시분할 공유 버스
프로세서, 기억 장치, 입출력 장치들 간에 하나의 통신로만을 제공하는 방법으로 간단하며 경제적이지만 한번에 한 가지 전송만 할 수 있으며 버스에 이상이 생기면 전체 시스템이 가동 불능이 된다.
나. 크로스바 교환 행렬
공유 버스 시스템에서 버스의 수를 기억 장치의 수만큼 증가시킨 구조로 N개의 처리기가 동시에 N개의 기억 장치에 접근할 수 있다. 하드웨어가 복잡해진다.
다. 하이퍼 큐브
....