파이프라인
컴퓨터 처리에서 파이프라인은 여러 명령어를 한 번에 실행하는 기법입니다. 컴퓨터 프로세서는 초당 수백만 개의 명령어를 처리할 수 있습니다. 모든 명령어는 여러 단계를 거치며, 각 단계는 프로세서의 서로 다른 부분에서 처리됩니다. 각 클록 주기마다 명령어는 한 단계에서 다음 단계로 이동하고, 한 명령어가 한 단계를 거치는 동안 다른 명령어들은 동시에 서로 다른 단계를 거칩니다.
일반적인 CPU 파이프라인은 명령어 가져오기, 명령어 디코딩, 실행, 메모리 액세스, 기록의 다섯 단계로 구성됩니다단, (아키텍처에 따라 달라질 수 있음). 파이프라인이 없다면 프로세서는 한 번에 하나의 명령어만 처리할 수 있습니다. 각 명령어가 모든 단계를 거치는 데 여러 클록 주기가 걸리므로, 단일 명령어가 단계에서 단계로 이동하는 동안 프로세서의 대부분은 유휴 상태가 됩니다. 파이프라인을 사용하지 않는 처리는 단일 명령어를 완료하는 데 더 오래 걸리게 하지는 않지만, 프로세서가 초당 처리할 수 있는 명령어 수가 줄어든다는 의미입니다.
명령어 파이프라이닝은 각 작업대가 좌석 설치, 엔진 장착, 바퀴 부착 등 하나의 작업만 수행하는 자동차 조립 라인과 매우 비슷하게 작동합니다. 한 번에 자동차 한 대만 라인을 따라 이동한다면 대부분의 작업대가 유휴 상태가 되므로, 공장에서는 하루에 많은 자동차를 만들 수 없습니다. 그러나 각 작업대를 계속 바쁘게 유지할 수 있을 만큼 한 번에 수십 대의 차량이 라인에 있다면, 자동차 한 대를 완성하는 데 걸리는 시간은 여전히 같더라도 하루에 훨씬 더 많은 자동차를 완성할 수 있습니다.
GPU 그래픽 파이프라인
CPU뿐만 아니라 컴퓨터 GPU도 파이프라이닝을 사용해 명령어를 처리합니다. GPU 그래픽 파이프라인은 더 복잡하며, 전용 처리 구성 요소 여러 개가 수학적 함수를 수행해 3D 장면과 객체를 렌더링하고 화면에 표시되는 2D 이미지로 만듭니다.
GPU 아키텍처는 세대마다 크게 다르지만, 대부분의 그래픽 파이프라인은 비슷한 패턴을 따릅니다. 간단한 그래픽 파이프라인은 먼저 꼭짓점(모든 3D 객체를 구성하는 삼각형의 모서리)의 3D 좌표를 화면의 평면에 있는 2D 좌표로 변환합니다. 그런 다음 이 좌표를 와이어프레임으로 바꾸고, 해당 꼭짓점 사이의 도형을 채워 모양을 만듭니다. 다음으로 텍스처 맵, 조명 및 기타 셰이더 효과를 추가해 이러한 도형을 픽셀로 래스터화합니다. 숨겨진 픽셀과 "카메라"에 보이지 않는 기타 정보는 제거한 후, 최종 이미지를 프레임 버퍼에 저장하고 화면에 표시합니다.
지식 테스트하기