- 멀티 프로세서 아키텍처 분류에 가장 널리 쓰이는 기준은 플린 분류(Flynn’s taxonomy)
- 플린 분류에서는
- 명령어(instructino)
- 데이터 흐름(data flow)
- 이 두가지 기준 따라 컴퓨터 시스템 4가지로 분류
- 단일 명령-단일 데이터(Single Instruction Single Data, SISD)
- 다중 명령-단일 데이터(Multi Instruction Single Data, MISD)
- 위 두 부류에서는 하나 혹은 두개이상의 인스트럭션마다 하나의 데이터 블록 다룸
- 위 두 부류는 병렬성이 결여돼있어 동시성 갖춘 시스템이 부적합
- 단일 명령-다중 데이터(Single Instruction Multiple Data, SIME)
- 코어 여러 개를 걸쳐 제어 장치를 가진것이 특징
- 모든 처리 자원을 통틀어 한 가지 명령만 실행 가능
- 따라서, 많은 양 데이터 요소 대상으로 같은 연산 동시에 실행 가능
- 그러나 SIMD 채택한 컴퓨터는 명령 집합이 제한적으로 높은 컴퓨팅 성능이 필요하지만, 다양한 연산이 필요않은 문제에 적합
- 오늘날 SIMD 구조의 예로는, GPU
- 다중 명렬-다중 데이터(Multiple Instruction Multiple Data, MIMD)
- 처리 자원 마다 독립적 제어 장치 있음
- 따라서, 서로 다른 데이터 블록에서 서로 다른 연산을 독립적 수행 가능
- 다중 코어, 다중 CPU 심지어 다중 머신까지 서로 다른 작업을 동시에 진행할 수 있는 구조라면 모두 이 부류에 속함
- MIMD는 인스트럭션 종류가 더 다양한 만큼 SIMD에 비해 각 처리 자원을 더 많은 용도로 사용 가능
- 덕분에 플린 분류에서 가장 널리 쓰이는 부류가 MIMD
- 멀티코어 PC 부터 분산 클러스터까지 모두 MIMD가 사용됨
