둘러보기 메뉴
검색
바뀐글
임의글
개인 도구
가입하기
로그인
도움말
도움말
질문게시판
자주 묻는 질문
커뮤니티
실시간 채팅방
가입인사게시판
자유게시판
뉴스게시판
제재안게시판
최근 토론
페미위키
공지사항
개선 요청
바뀐글
임의글
파일 올리기
다면 분류 목록
특수 문서 목록
SIMD 문서 원본 보기
이름공간
문서
토론
주시
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
위키베이스 항목
행위
보기
읽기
원본 보기
역사 보기
←
SIMD
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요.
요청한 명령은 다음 중 하나의 권한을 가진 사용자에게 제한됩니다:
사용자
,
Seeders
.
문서를 고치려면 이메일 인증 절차가 필요합니다.
사용자 환경 설정
에서 이메일 주소를 입력하고 이메일 주소 인증을 해주시기 바랍니다.
문서의 원본을 보거나 복사할 수 있습니다.
'''SIMD'''(Single Instruction Multi Data)는 컴퓨터 프로세서 명령어 세트의 일종으로, 일반적인 명령어가 SISD(Single Instruction Single Data)인 것과 달리 여러 개의 데이터를 하나의 명령어로 한 번에 처리할 수 있다. == 예시 == 예를 들면 IA32 및 AMD64의 SSE 명령어 중 <code>_mm_mul_ps</code>는 128비트 데이터(32비트 데이터 네 개) 두 개를 32비트 단위로 각각 곱한다. <code>{ 1, 2, 3, 4 }</code> 데이터와 <code>{ 5, 6, 7, 8 }</code> 데이터를 <code>_mm_mul_ps</code> 명령어를 이용해 <code>{ 1 * 5, 2 * 6, 3 * 7, 4 * 8 }</code>의 연산이 한 명령어로 실행되어 <code>{ 5, 12, 21, 32 }</code> 결과가 나온다. SISD 명령어(<code>MUL</code>)를 사용했다면 각 자리의 숫자를 하나씩 곱해야 해서 최소 세 번의 계산 주기가 더 소요된다. == 활용처 == SIMD 명령어는 [[벡터]] 및 [[행렬]] 연산에 가장 많이 사용된다. 특히 4차원 벡터, 4 * 4 행렬, [[사원수]]에 자주 사용되며, CPU 연산 주기가 줄어들기 때문에 일반적인 SISD 명령어를 사용하는 것에 비해 미세하게나마 빠른 연산이 가능하다. 벡터나 행렬 이외에도 여러 연산을 한꺼번에 처리해야 할 필요가 있을 때 유용하다. 대량 연산이 많이 필요한 게임, 영상 인코더, 영상 디코더 등에 많이 활용되고 있다. == 명령어의 종류 == === IA32 및 AMD64 프로세서의 SIMD === * MMX * SSE * SSE 2 * SSE 3 * SSSE 3 * SSE 4.1 * SSE 4.2 * SSE 4a * 3DNow! * AVX * AVX 2 * FMA 4 * FMA 3 === ARM 프로세서의 SIMD === * NEON == 같이 보기 == * [[SISD]] * [[MISD]] * [[MIMD]] [[분류:분야/기술]] [[분류:분야/컴퓨터]]
SIMD
문서로 돌아갑니다.
다른 언어