정의
AltiVec은 프로세서의 단일 명령어로 다중 데이터(SIMD, Single Instruction, Multiple Data)를 처리하기 위한 벡터 확장 기술이다. 주로 IBM과 Motorola(현 NXP 반도체의 일부)가 공동 개발하여 PowerPC 아키텍처 기반 프로세서에 적용하였다. 멀티미디어, 음성/영상 처리, 3D 그래픽스 등 고성능 병렬 처리가 요구되는 작업에 최적화되어 있다.
개요
AltiVec은 1990년대 후반에 개발되어 1999년에 출시된 Motorola의 G4 시리즈 PowerPC 프로세서에 처음 탑재되었다. 이 기술은 대량의 데이터를 동시에 처리할 수 있는 128비트 벡터 처리 유닛을 제공하며, 각 벡터 레지스터는 예를 들어 4개의 32비트 부동소수점 숫자, 8개의 16비트 정수, 또는 16개의 8비트 바이트 데이터를 동시에 연산할 수 있다. AltiVec은 주로 임베디드 시스템, 자동차 전자제어장치(ECU), 항공우주 및 고성능 컴퓨팅 분야에서 활용되었다. Apple의 Power Mac G4 컴퓨터도 AltiVec을 적극 활용하여 "쿼드 G4" 등의 마케팅을 전개하기도 하였다.
어원/유래
"AltiVec"은 "Altivec" 또는 "AltiVec"으로 표기되며, "Altivec"은 "Alternative Vector"의 합성어로 추정된다. 이는 기존의 단일 데이터 처리 방식 대신 대안적인 벡터 처리 기능을 제공한다는 의미를 내포하고 있는 것으로 해석된다. IBM과 Motorola는 이 기술을 내부적으로 AIM(IBM, Apple, Motorola) 얼라이언스의 일환으로 개발하였다.
특징
AltiVec의 주요 특징은 다음과 같다:
- 128비트 길이의 벡터 레지스터 32개를 제공.
- 병렬화된 산술 및 논리 연산, 쉬프트, 데이터 로드/스토어 기능 지원.
- 멀티미디어 애플리케이션의 성능 향상에 효과적.
- C/C++ 언어에서 인라인 어셈블리 또는 전용 내장 함수(intrinsics)를 통해 프로그래밍 가능.
- PowerPC 아키텍처에 긴밀히 통합되어 하드웨어 수준에서 고성능을 보장.
또한, AltiVec은 이후의 SIMD 기술(예: Intel의 SSE, ARM의 NEON)과 유사한 목적을 가지고 있으나, 아키텍처와 명령어 집합은 독자적으로 설계되었다.
관련 항목
- PowerPC
- SIMD (단일 명령어 다중 데이터)
- G4 프로세서
- Motorola
- IBM
- Apple 컴퓨터
- NEON (ARM SIMD)
- SSE (Intel SIMD)