ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 벡터 프로세서와 SIMD
    IT 2021. 6. 13. 08:03
    반응형

    벡터 프로세서는 한 번에 하나의 데이터만 처리할 수 있는 스칼라 프로세서와 달리 여러 데이터에서 수학적 작업을 동시에 실행할 수 있는 CPU 설계입니다. 오늘날 CPU의 대부분은 스칼라 또는 슈퍼 스케일러입니다. 벡터 프로세서는 80년대와 90년대 대부분의 슈퍼컴퓨터의 기초를 형성하는 과학 컴퓨팅 분야에서 매우 일반적입니다. 그러나 향상된 기술과 프로세서 설계로 벡터 프로세서를 범용 프로세서로 사용하는 것이 종료될 것이 분명해 보입니다. IBM, 도시바, 소니는 벡터 프로세서의 일부로 구성된 셀 프로세서를 발표했다.

    오늘날 거의 모든 CPU에는 SIMD라고 하는 벡터와 같은 처리 지침이 포함되어 있습니다. 특히, 비디오 게임 콘솔과 그래픽 카드는 이러한 유형의 처리를 많이 사용합니다. 벡터 프로세서는 벡터에서 작동하는 높은 수준의 작업을 제공합니다. 벡터 기계는 분할된 스칼라 유닛과 벡터 단위로 구성됩니다. 벡터 유닛에는 벡터 레지스터에서 작업하는 N 요소 및 벡터 기능 단위(추가/뺄셈, 곱셈, 분할, 부하/저장 등)의 M 벡터 레지스터가 있으며 스칼라 레지스터 집합이 있습니다. 벡터 지침 집합이 있습니다. 예를 들어 addv v1, v2, v3 등이 있습니다. 벡터 작업은 벡터 레지스터의 N 요소를 처리하는 전체 루프와 동일합니다. 벡터 프로세서는 벡터 지향 아키텍처라는 특징을 가집니다. 그리고 벡터에 대한 작업을 구현하는 컴퓨터 지침이 있습니다. 벡터 프로세서는 벡터 및 메모리 액세스 요소의 작업을 분할합니다.

    컴퓨팅에서 SIMD(Single Instruction, Multiple Data, 하나의 명령, 다중 데이터)는 데이터 수준에서 병렬성을 달성하는 데 사용되는 기술입니다.

    SIMD 레퍼토리는 다소 큰 데이터 집합에 동일한 작업을 적용하는 지침으로 구성됩니다. 단일 공통 제어 장치가 다른 처리 단위로 지침을 디스패치하는 조직입니다. 이 모든 명령은 동일한 명령을 수신하지만 다른 데이터 집합에서 작동합니다. 즉, 동일한 명령은 모든 처리 단위에 의해 동기화된 방식으로 실행됩니다. 이러한 레퍼토리의 예로는 AMD의 3DNow!와 인텔의 SSE가 있지만 Zilog Z80 마이크로프로세서와 같은 이전 예제가 있습니다.

    프로세서의 성능 또는 속도는 다른 여러 요인 중에서도 클럭 속도(일반적으로 hertz 배수로 제공됨) 및 시계 주기(IPC)당 지침에 따라 달라지며, CPU가 수행할 수 있는 초당 지침(IPS)의 요소입니다. 많은 IPS값 보고서는 분기가 적은 인공 명령 시퀀스에서 피크 실행률을 묘사했으며, 현실적인 워크로드는 지침과 응용 프로그램의 조합으로 구성되며, 그중 일부는 다른 분기보다 실행하는데 더 많은 시간이 필요합니다. 메모리 계층 구조의 성능은 MIPS 계산에서 매우 잘못 고려되는 프로세서 성능에 큰 영향을 줍니다. 이러한 문제 때문에 이러한 목적을 위해 SPECint와 같은 몇 가지 표준화된 테스트가 개발되어 일상적인 응용 프로그램에서 실제 효과적인 성능을 측정하려고 합니다.

    멀티코어 프로세서를 사용하여 컴퓨터의 처리 성능이 향상되며, 이는 본질적으로 두 개 이상의 개별 프로세서(이러한 의미에서 코어라고 함)를 단일 집적 회로에 연결하는 것입니다. 이상적으로, 듀얼 코어 프로세서는 단일 코어 프로세서보다 거의 두 배 강력할 것입니다. 실제로 성능 향상은 훨씬 낮고 약 50 %에 불과합니다. 불완전한 소프트웨어 알고리즘의 구현으로 인해 성능이 낮은 것입니다. 프로세서의 코어 수(예: 듀얼 코어, 쿼드 코어 등)를 늘리면 처리할 수 있는 워크로드가 증가합니다. 즉, 프로세서가 압도당하면 CPU(중앙 처리 장치)에서 "통행료"를 받을 수 있는 수많은 비동기 이벤트, 인터럽트 등을 처리할 수 있습니다. 이러한 코어는 각 층의 처리와 함께 가공 공장에서 다른 식물로 간주될 수 있습니다. 경우에 따라 단일 코어가 정보를 처리하기에 충분하지 않은 경우 이러한 코어가 인접한 코어와 동일한 작업을 처리할 수 있습니다.

    하이퍼스레딩 및 언코어와 같은 최신 CPU의 특정 기능으로 인해 실제 CPU 리소스 교환을 포함하면서 도용을 높이는 동시에 성능 수준과 하드웨어 활용도 모니터링이 점차 복잡해졌습니다. 이에 따라 일부 CPU는 CPU의 다양한 부분의 실제 활용을 제어하고 소프트웨어에 액세스 할 수 있는 여러 카운터를 제공하는 추가 하드웨어 논리를 구현합니다. 한 가지 예는 인텔의 성능 카운터 모니터 기술입니다.

Designed by Tistory.