3.4.2 병렬 컴퓨터의 유형
멀티 프로세서 아키텍처를 분류하는 데 가장 널리 쓰이는 기준은 플린 분류(Flynn’s taxonomy)다. 플린 분류에서는 명령어(instruction)와 데이터 흐름(data flow)이라는 두 가지 기준을 따라 컴퓨터 시스템을 네 가지로 분류한다.
컴퓨터 구조의 첫 번째와 두 번째 부류는 각각 단일 명령-단일 데이터(Single Instruction Single Data, SISD)와 다중 명령-단일 데이터(Multi Instruction Single Data, MISD)다. 이 두 부류에서는 하나 혹은 두 개 이상의 인스트럭션마다 하나의 데이터 블록을 다룬다. 그러나 이들 구조는 병렬성이 결여돼 있어 동시성을 갖춘 시스템에는 적합하지 않으므로 여기서는 간단히 언급만 하겠다.
세 번째 부류는 단일 명령-다중 데이터(Single Instruction Multiple Data, SIMD)로, 코어 여러 개를 걸쳐 제어 장치를 가진 것이 특징이다. 이 구조에서는 모든 처리 자원을 통틀어 동시에 한 가지 명령만 실행할 수 있다. 따라서 많은 양의 데이터 요소를 대상으로 같은 연산을 동시에 실행하는 것이 가능하다. 그러나 SIMD를 채택한 컴퓨터는 인스트럭션 집합이 제한적이므로 높은 컴퓨팅 성능이 필요하지만, 다양한 연산이 필요하지 않은 문제에 적합하다. 오늘날 널리 쓰이는 SIMD 구조의 예로 그래픽 처리 장치(GPU)가 있다.