SSE4

위키백과, 우리 모두의 백과사전.

SSE4(Streaming SIMD Extensions 4)는 인텔 코어 마이크로아키텍처AMD K10(K8L)에서 지원되는 명령어 집합이다. 2006년 9월 27일에 2006 추계 인텔 개발자 포럼에서 약간 모호한 백서와 함께 발표되었다.[1] 이후 2007년 봄 북경에서 개최된 인텔 개발자 포럼에서 47개의 자세한 명령어가 소개되었다.[2] SSE4 프로그래밍 참조서가 [1] 인텔로부터 제공된다.

SSE4 부분집합[편집]

인텔 SSE4는 총 54개 명령어로 이루어졌다. 첫 47개의 명령어 집합은 인텔자료에서 SSE4.1로 불리며, 이것은 펜린에서부터 사용 가능하다. 이후 인텔은 추가적으로 7개의 명령어 SSE4.2인텔 코어 i7(네할렘 아키텍처)에서부터 지원한다. 인텔은 일반적으로 명령어 집합을 개발하는 데 있어서 개발자들의 의견을 중시하여 반영한다고 알려져 있다.

AMD는 SSE4 명령어 집합 중 SSE4A라고 불리는 4개의 명령어. 나중에 2개의 SSE 명령어를 추가하였다. 이 명령어는 인텔의 프로세서에서는 지원되지 않고있다.

이름의 혼동[편집]

인텔 코어 2 제품 계열에서 발표된 SSSE3(Supplemental Streaming SIMD Extension 3)는 개발기간 동안에 미디어에 의해 SSE4로 잘못 언급되었었다.

신규 명령어[편집]

이전 모든 SSE와는 다르게 SSE4는 멀티미디어 애플리케이션과 관련이 없는 명령어들이 포함되었다. 상수항과 함축적인 3번째 피연산자로서 XMM0를 사용하는 명령어에 의해 그 동작이 결정되는 명령어 집합이다.

이러한 여러 명령어들은 펜린에서부터 한 싸이클 셔플 엔진(shuffle engine)에 의해 구현된다.( 셔플은 비트들을 재배치 시키는 것에 관련된 동작이다.)

SSE4.1[편집]

이 명령어들은 코어 마이크로아키텍처의 더 미세화된 공정 45 nm를 사용하는 펜린 마이크로아키텍처에서 적용되었다.

SSE4.2[편집]

이 명령어들은 네할렘 마이크로아키텍처 기반 제품부터 적용되었다. SSE4 명령어 집합을 완결한다.

SSE4a[편집]

이 그룹은 AMD의 바르셀로나 마이크로아키텍처에서 소개되었다. POPCNT명령어외엔 인텔 프로세서에서 지원되지 않는다. 단, 하스웰 이후로는 POPCNT, LZCNT 명령어를 지원한다.

지원 CPU[편집]

  • 인텔
    • Intel 펜린 프로세서 (SSE4.1 지원)
    • Intel 네할렘 프로세서 (SSE4.1, SSE4.2 ,POPCNT 명령어 지원)
    • Intel 실버몬트 프로세서 (SSE4.1, SSE4.2, POPCNT 명령어 지원)
    • Intel 하스웰 프로세서 (SSE4.1, SSE4.2, POPCNT ,LZCNT 명령어 지원)
  • AMD
    • AMD 바르셀로나-기반 프로세서 (SSE4a, POPCNT ,LZCNT 명령어 지원)
    • AMD 불도저 기반 프로세서 (SSE4a, SSE4.1, SSE4.2, POPCNT ,LZCNT 명령어 지원)
    • AMD 밥캣 기반 프로세서 (SSE4a, POPCNT ,LZCNT 명령어 지원)
    • AMD 재규어기반 프로세서 (SSE4a, SSE4.1, SSE4.2, POPCNT ,LZCNT 명령어 지원)
  • VIA
    • VIA Nano 프로세서 (SSE4.1 명령어 지원)

같이 보기[편집]

각주[편집]