스트림 처리 란 무엇입니까?
스트림 처리는 응용 프로그램 및 하드웨어 시스템을 설계하는 데 사용할 수있는 컴퓨터 프로그래밍 및 컴퓨터 엔지니어링 개념입니다. 스트림 처리가 사용되면 데이터는 스트림으로 구성되어 스트림의 데이터를 조작하는 노드 또는 프로세서로 공급 된 후 데이터가 경로를 따라 계속 진행되어 다른 노드가 조작 할 수 있습니다. 스트림이 끝나면 데이터는 메모리에 저장되거나 사용을 위해 최종 사용자 응용 프로그램으로 전달됩니다. 스트림 처리를 사용하는 시스템 또는 응용 프로그램은 하나 이상의 소스에서 스트림 정보를 일관되게 생성 할 때 가장 효과적으로 작동하여 DSP (디지털 신호 처리), 이미징 및 그래픽 또는 고 대역폭 네트워크 트래픽에 효과적입니다. 스트림 처리의 가장 보편적 인 응용은 컴퓨터 그래픽 카드 생산에 있으며, 스트림 프로세서는 그래픽 하드웨어에 내장되어 정점 배열과 같은 수신 그래픽 데이터에 대한 여러 작업을 수행하는 데 도움이됩니다.
스트림 처리의 기초는 스트림이라는 데이터 개념을 중심으로합니다. 서로 다른 소스로부터 정보를 가져 오거나 인터럽트 메커니즘으로부터 메시지를 가로채는 대신 정보가 일부 프로세스에 의해 스트림이라는 단일 라인으로 조합 될 때 데이터 스트림이 형성됩니다. 데이터 요소는 다양 할 수 있지만 스트림은 일반적으로 순차적으로 처리 할 수있는 동일한 유형의 요소 블록으로 구성됩니다.
스트림 처리에 사용 된 프로세서 또는 노드는 스트림을 수락하고 데이터에 대해 지정된 작업을 수행 한 후, 데이터를 추가 처리를 위해 다른 노드로 전달할 수 있습니다. 효율성을 극대화하기 위해 노드는 속도를 위해 레지스터와 직접 메모리 액세스 (DMA)를 사용하여 중앙 처리 장치 (CPU)에 직접로드 및 실행되는 작은 기능이되도록 고안되었습니다. 스트림 내의 정보가 독립형 일 수 있고 단일 노드 작업의 결과에 의존하지 않는 경우 스트림에서 여러 작업을 동시에 수행 할 수 있으며 프로그램 컴파일러에 매우 효과적인 최적화를 허용하는 힌트를 제공 할 수 있습니다.
스트림 처리는 일반적으로 데이터가 카메라, 외부 센서 또는 네트워크 연결과 같은 응용 프로그램이나 장치에 의해 지속적으로 생성되어 스트림으로 푸시되는 상황에 적합한 솔루션입니다. 많은 그래픽 카드는 스트림 프로세서를 사용하여 그래픽 파이프 라인을 통해 들어오는 데이터를 렌더링 된 래스터 화 된 이미지로 신속하게 전환합니다. 특정 그래픽 카드에는 카드의 하드웨어에 여러 개의 프로세서 또는 노드가 내장되어 있으므로 3D 그래픽에 쉐이더를 사용할 때 스트림 처리가 신속하고 동시에 동시에 발생할 수 있습니다.