다중 명령, 단일 데이터
Multiple instruction, single data![]() |
플린의 분류법 |
---|
단일 데이터 스트림 |
다중 데이터 스트림 |
SIMD 서브 카테고리[1] |
「 」를 참조해 주세요. |
컴퓨팅에서 MISD(Multiple Instruction, Single Data)는 여러 기능 유닛이 동일한 데이터에 대해 서로 다른 작업을 수행하는 병렬 컴퓨팅 아키텍처의 일종입니다.파이프라인 아키텍처는 이 유형에 속하지만 순수론자는 파이프라인의 각 단계에 따라 처리한 후 데이터가 다르다고 말할 수 있습니다.작업 복제라고 하는 방법으로 오류를 검출하고 마스킹하기 위해 동일한 명령을 중복하여 실행하는 Fault Tolerance는 이 유형에 속하는 것으로 간주될 수 있습니다.이 아키텍처의 애플리케이션은 MIMD 및 SIMD보다 훨씬 덜 일반적입니다. 후자의 두 가지 애플리케이션이 일반적인 데이터 병렬 기술에 더 적합하기 때문입니다.구체적으로는 컴퓨팅 자원의 확장과 사용을 향상시킬 수 있습니다.그러나 컴퓨팅에서 MISD의 한 가지 중요한 예는 우주왕복선 비행 제어 [2]컴퓨터입니다.
수축기 어레이
H. T. Kung과 Charles E가 최초로 설명한 수축기 어레이(< wavefront 프로세서). Leiserson은 MISD 아키텍처의 한 예입니다.전형적인 수축기 어레이에서 병렬 입력 데이터는 유선 프로세서 노드 네트워크를 통해 흐르며 입력 데이터를 결합, 처리, 병합 또는 정렬하여 파생된 결과로 만드는 인간의 두뇌와 유사합니다.
수축기 어레이는 대규모 병렬 통합, 컨볼루션, 상관관계, 행렬 곱셈 또는 데이터 정렬 태스크를 수행하기 위해 "멀티플리 앤 어큐뮬레이션"과 같은 특정 작업을 위해 유선 연결되어 있는 경우가 많습니다.수축기 어레이는 일반적으로 특정 애플리케이션용으로 유선 연결 또는 소프트웨어 구성이 가능한 원시 컴퓨팅 노드의 대규모 단일 네트워크로 구성됩니다.노드는 보통 고정되어 동일하지만 상호접속은 프로그램 가능합니다.반면 일반적인 웨이브프런트 프로세서는 어레이의 크기와 설계 파라미터에 따라 획일적인 노드인지 아닌지를 불문하고 고도의 개별 프로그램 가능 노드를 사용합니다.수축기 어레이를 통해 데이터가 파동처럼 전파되는 것은 인간의 순환계 맥박과 유사하기 때문에 수축기라는 이름은 의학 용어에서 유래했습니다.
수축기 어레이의 큰 장점은 모든 오퍼랜드 데이터와 부분 결과가 프로세서 어레이 내에 포함되어 있다는 것입니다(패스스루).표준 시퀀셜머신과 마찬가지로 각 동작 중에 외부 버스, 메인 메모리 또는 내부 캐시에 액세스할 필요가 없습니다.Amdahl의 법칙에 따른 병렬 성능의 순차적 제한도 동일한 방식으로 적용되지 않습니다. 이는 데이터 의존성이 프로그래밍 가능한 노드 인터커넥트에 의해 암묵적으로 처리되기 때문입니다.
따라서 수축기 배열은 인공지능, 이미지 처리, 패턴 인식, 컴퓨터 비전, 그리고 동물의 뇌가 유난히 잘 하는 다른 작업에 매우 능숙합니다.Wavefront 프로세서는 일반적으로 하드웨어에 자체 구성 신경망을 구현함으로써 기계 학습에도 매우 능숙할 수 있습니다.
수축기 어레이는 공식적으로 MISD로 분류되지만 분류에는 다소 문제가 있습니다.입력은 일반적으로 독립된 값의 벡터이므로 수축기 배열은 SISD가 아닙니다.이들 입력값은 Marge되어 결과에 결합되며 SIMD 벡터 처리장치에서와 같이 독립성을 유지하지 않기 때문에 어레이는 그렇게 분류할 수 없습니다.따라서 어레이는 MIMD로도 분류할 수 없습니다.MIMD는 단순히 작은 SISD 및 SIMD 머신의 집합으로 간주될 수 있기 때문입니다.
마지막으로 데이터 스톰은 노드 간에 어레이를 통과할 때 변환되기 때문에 여러 노드가 동일한 데이터로 동작하지 않기 때문에 MISD 분류가 잘못됩니다.수축기 어레이가 MISD로 인정되지 않는 다른 이유는 SISD 카테고리에서 부적격인 어레이와 동일합니다.입력 데이터는 일반적으로 단일 데이터 값이 아닌 벡터이지만, 주어진 입력 벡터는 단일 데이터 집합이라고 주장할 수 있습니다.
상기에도 불구하고 수축기 어레이는 병렬 컴퓨팅 교과서 및 엔지니어링 수업에서 종종 MISD 아키텍처의 전형적인 예로 제공됩니다.어레이를 외부에서 원자적으로 보는 경우 SFMuDMeR = 단일 함수, 다중 데이터, 병합 결과로 분류해야 합니다.[3][4][5][6]
각주
- ^ Flynn, Michael J. (September 1972). "Some Computer Organizations and Their Effectiveness" (PDF). IEEE Transactions on Computers. C-21 (9): 948–960. doi:10.1109/TC.1972.5009071.
- ^ Spector, A.; Gifford, D. (September 1984). "The space shuttle primary computer system". Communications of the ACM. 27 (9): 872–900. doi:10.1145/358234.358246.
- ^ 마이클 J.플린, 케빈 W. 러드병렬 아키텍처CRC Press, 1996.
- ^ MPI와 OpenMP를 가진 C의 Quinn, Michael J. Parallel Programming.Boston: McGrow Hill, 2004.
- ^ 이바루딘, 제퍼"Parallel Processing, EG6370G: 제1장 동기 부여와 역사"텍사스 주 샌안토니오에 있는 세인트메리 대학교2008년 봄
- ^ Null, Linda; Lobur, Julia (2006). The Essentials of Computer Organization and Architecture. 468: Jones and Bartlett.
{{cite book}}
: CS1 유지보수: 위치(링크)