맨위로가기

SSSE3

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

SSSE3는 2006년 인텔 코어 마이크로아키텍처 기반 프로세서에 처음 도입된 CPU 명령어 집합으로, HD 오디오/비디오 디코딩/인코딩 성능을 향상시킨다. 16개의 새로운 개별 명령어를 포함하며, 수평 덧셈/뺄셈, 절대값 계산, 곱셈-덧셈, 셔플, 데이터 정렬 등 다양한 기능을 수행한다. SSSE3는 인텔, AMD, VIA 등 다양한 제조사의 CPU에서 지원되며, 인텔의 제온, 코어 2, 코어 i 시리즈, AMD의 젠(Zen) 아키텍처 기반 프로세서, VIA의 나노 프로세서 등이 해당된다.

더 읽어볼만한 페이지

  • SIMD 컴퓨팅 - SSE2
    SSE2는 인텔이 개발한 x86 아키텍처의 SIMD 명령어 집합 확장으로, MMX 명령어의 정수 벡터 연산을 확장하고 XMM 레지스터를 사용하여 부동 소수점 연산 성능을 향상시키며, AMD64 아키텍처에서도 지원된다.
  • SIMD 컴퓨팅 - SSE3
    SSE3는 인텔에서 개발한 스트리밍 SIMD 확장 3 명령어 세트로, 부동 소수점 연산, 디지털 신호 처리, 3차원 컴퓨터 그래픽 처리 성능 향상을 위해 기존 SSE2 명령어 세트에 몇 가지 새로운 명령어를 추가한 것이다.
  • X86 명령어 - 스트리밍 SIMD 확장
    스트리밍 SIMD 확장(SSE)은 x86 아키텍처의 SIMD 명령어 집합으로, 128비트 XMM 레지스터를 사용하여 데이터 병렬 처리를 통해 성능을 향상시키며, 인텔 펜티엄 III 프로세서에 처음 도입되어 여러 후속 버전으로 발전했다.
  • X86 명령어 - SSE2
    SSE2는 인텔이 개발한 x86 아키텍처의 SIMD 명령어 집합 확장으로, MMX 명령어의 정수 벡터 연산을 확장하고 XMM 레지스터를 사용하여 부동 소수점 연산 성능을 향상시키며, AMD64 아키텍처에서도 지원된다.
  • 인텔 - 인텔 80386
    인텔 80386은 1985년 출시된 x86 아키텍처의 32비트 마이크로프로세서로, 온칩 메모리 관리 장치, 3단계 파이프라인, 세 가지 동작 모드를 제공하며, 개인용 컴퓨터와 임베디드 시스템에 널리 사용되었지만 현재는 생산 및 지원이 중단되었고, 32비트 명령어 집합은 현대 x86 아키텍처의 기반이 되었다.
  • 인텔 - 인텔 4004
    인텔 4004는 1971년 인텔에서 출시된 세계 최초의 상용 마이크로프로세서 중 하나이며, 4비트 아키텍처를 기반으로 계산기 라인에 탑재하기 위해 개발되었고, 컴퓨터 소형화와 개인용 컴퓨터 시대에 기여했다.
SSSE3

2. 역사

SSSE3는 2006년 6월 26일, "우드크레스트" 제온을 탑재한 코어 마이크로아키텍처 기반의 인텔 프로세서와 함께 처음 도입되었다.

SSSE3를 지원하기 위해 처음 설계된 프로세서의 코드명으로 '''테자스 신규 명령어(TNI)''' 또는 '''메롬 신규 명령어(MNI)'''라고 불리기도 했다.

SSSE3는 AAC와 같은 HD 오디오/비디오 디코딩/인코딩을 향상시켰다.

3. 기능

SSSE3는 16개의 새로운 개별 명령어를 포함하고 있다. 각 명령어는 64비트 MMX 또는 128비트 XMM 레지스터에서 작동할 수 있다. 따라서 인텔의 자료에서는 32개의 새로운 명령어를 언급하고 있다.[1]

SSSE3에 포함된 명령어는 다음과 같다.


  • 수평 덧셈 또는 뺄셈 연산을 수행하는 12개의 명령어.
  • 절대값을 계산하는 6개의 명령어.
  • 내적의 계산 속도를 높이는 곱셈-덧셈 연산을 수행하는 2개의 명령어.
  • 팩 처리된 정수 곱셈 연산을 가속화하고 스케일링된 정수 값을 생성하는 2개의 명령어.
  • 두 번째 셔플 제어 피연산자에 따라 바이트 단위의 제자리 셔플을 수행하는 2개의 명령어.
  • 소스 피연산자의 해당 요소가 음수이면 대상 피연산자의 팩 처리된 정수를 부정하는 6개의 명령어.
  • 두 피연산자의 조합에서 데이터를 정렬하는 2개의 명령어.

4. 새 함수

SSSE3에는 여러 가지 새로운 함수들이 추가되었다. 각 함수의 기능은 아래 표와 같다.

함수명전체 이름
PSIGNB, PSIGNW, PSIGNDPacked Sign
PABSB, PABSW, PABSDPacked Absolute Value
PALIGNRPacked Align Right
PSHUFBPacked Shuffle Bytes
PMULHRSWPacked Multiply High with Round and Scale
PMADDUBSWMultiply and Add Packed Signed and Unsigned Bytes
PHSUBW, PHSUBDPacked Horizontal Subtract (Words or Doublewords)
PHSUBSWPacked Horizontal Subtract and Saturate Words
PHADDW, PHADDDPacked Horizontal Add (Words or Doublewords)
PHADDSWPacked Horizontal Add and Saturate Words



각 함수에 대한 자세한 설명은 다음과 같다.[1]

명령어정의설명
PSIGNB, PSIGNW, PSIGND팩 처리된 부호다른 레지스터의 해당 요소의 부호가 음수이면 바이트, 워드 또는 더블워드의 레지스터 요소를 반전한다.
PABSB, PABSW, PABSD팩 처리된 절대값바이트, 워드 또는 더블워드의 레지스터 요소를 다른 레지스터 요소의 절대값으로 채운다.
PALIGNR팩 처리된 오른쪽 정렬두 개의 레지스터를 가져와서 값을 연결하고, 명령어에 인코딩된 즉시 값에 의해 주어진 오프셋에서 레지스터 길이의 섹션을 추출한다.
PSHUFB팩 처리된 바이트 섞기바이트 레지스터 A = [a0 a1 a2 ...] 및 B = [b0 b1 b2 ...]를 가져와 A를 [ab0 ab1 ab2 ...]로 바꾼다. 단, bi의 최상위 비트가 설정된 경우 i번째 항목을 0으로 바꾼다.
PMULHRSW반올림 및 스케일로 팩 처리된 곱셈 상위레지스터 A 및 B의 16비트 워드를 −1.00000000과 +0.99996948... 사이의 부호 있는 16비트 고정 소수점 숫자(예: 0x4000은 +0.5로, 0xA000은 −0.75로 처리됨)로 처리하고, 올바른 반올림으로 함께 곱한다.
PMADDUBSW팩 처리된 부호 있는 및 부호 없는 바이트 곱셈 및 덧셈레지스터 A와 B의 바이트를 가져와서 함께 곱하고 쌍을 더하고, 부호 있는 포화 처리하여 저장한다.
PHSUBW, PHSUBD팩 처리된 수평 뺄셈 (워드 또는 더블워드)레지스터 A = [a0 a1 a2 ...] 및 B = [b0 b1 b2 ...]를 가져와 [a0−a1 a2−a3 ... b0−b1 b2−b3 ...]를 출력한다.
PHSUBSW팩 처리된 수평 뺄셈 및 포화 워드PHSUBW와 유사하다.
PHADDW, PHADDD팩 처리된 수평 덧셈 (워드 또는 더블워드)레지스터 A = [a0 a1 a2 ...] 및 B = [b0 b1 b2 ...]를 가져와 [a0+a1 a2+a3 ... b0+b1 b2+b3 ...]를 출력한다.
PHADDSW팩 처리된 수평 덧셈 및 포화 워드PHADDW와 유사하다.


4. 1. satsw(X) 함수

satsw영어(X)('saturate to signed word'로 읽음)는 부호가 있는 정수 X를 -32768보다 작으면 -32768로, 32767보다 크면 +32767로 바꾸고, 그 외에는 바꾸지 않는 함수이다. 일반적인 인텔 아키텍처에서 8비트는 한 바이트, 16비트는 워드, 32비트는 이중 워드이다. 여기서 레지스터는 MMX나 XMM 벡터 레지스터를 의미한다.[1]

5. SSSE3를 지원하는 CPU

SSSE3를 지원하는 CPU는 다음과 같다.

5. 1. 인텔 (Intel)

다음은 SSSE3를 지원하는 인텔 프로세서 목록이다.

프로세서 제품군
제온 5100 계열[1]
제온 5300 계열[1]
제온 5400 시리즈[1]
제온 3000 계열[1]
코어 2 듀오[1]
코어 2 익스트림[1]
코어 2 쿼드[1]
Core i7[1]
Core i5[1]
Core i3[1]
펜티엄 듀얼 코어 (64비트 지원, Allendale부터)[1]
셀러론 4xx 계열 콘로-L[1]
셀러론 듀얼 코어 E1200[1]
셀러론 M 500 계열[1]
아톰[1]


5. 2. AMD


  • AMD:
  • * "Cat" 저전력 프로세서
  • ** Bobcat 기반 프로세서
  • ** Jaguar 기반 프로세서 및 그 이후
  • ** Puma 기반 프로세서 및 그 이후
  • * "Heavy Equipment" 프로세서
  • ** Bulldozer 기반 프로세서
  • ** Piledriver 기반 프로세서
  • ** Steamroller 기반 프로세서
  • ** Excavator 기반 프로세서 및 그 이후
  • * Zen 기반 프로세서
  • * Zen+ 기반 프로세서
  • * Zen 2 기반 프로세서
  • * Zen 3 기반 프로세서
  • * Zen 4 기반 프로세서
  • * Zen 5 기반 프로세서

5. 3. VIA

나노


본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com