{{위키데이터 속성 추적}}
{{다른 뜻 넘어옴|GPU|조사=는}}
[[파일:6600GT GPU.jpg|섬네일|[[지포스 6 시리즈|지포스 6600GT (NV43)]]의 그래픽 처리 장치]]
[[파일:Marktanteil GPU-Hersteller.png|섬네일|GPU 제조업체의 시장 점유율]]
[[파일:Motherboard diagram.svg|섬네일|노스 브릿지/사우스 브릿지 시스템 레이아웃 집적 GPU의 도해]]
[[파일:A790GXH-128M-Motherboard.jpg|섬네일|HDMI, VGA 및 DVI아웃이 있는 통합 그래픽 마더보드]]
'''그래픽 처리 장치'''( - 處理裝置) 또는 '''GPU'''({{llang|en|graphic processing unit}})는 [[컴퓨터 시스템]]에서, 그래픽 [[연산 (수학)|연산]]을 빠르게 처리하여 결과값을 모니터에 [[출력]]하는 [[산술 논리 장치|연산 장치]]이다. '''VPU'''({{llang|en|visual processing unit}})라고도 한다.

GPU는 [[임베디드 시스템]], [[휴대 전화]], [[개인용 컴퓨터]], [[워크스테이션]], [[비디오 게임 콘솔]], [[인공지능]], [[무인 자동차]], [[클라우드 컴퓨팅]] 등에 사용된다. 현대의 GPU는 [[컴퓨터 그래픽]]과 [[영상 처리]]에 매우 효과적으로 사용되며, 고도의 병행 구조는 큰 덩어리의 영상 데이터가 병행 처리되는 [[알고리즘]]에 다용도 [[중앙 처리 장치|CPU]]보다 능률적이다. 개인 컴퓨터에서 GPU는 [[그래픽 카드]]에 부착되고, [[메인보드]]나 CPU에 따라서는 [[다이 (집적 회로)|다이]]에 포함되기도 한다.<ref>{{웹 인용 | url = http://computershopper.com/feature/200704_the_right_gpu_for_you | 제목 = Computer Shopper: The Right GPU for You | 저자 = Denny Atkin | 확인날짜 = 2016년 3월 15일 | 보존url = https://web.archive.org/web/20070506033224/http://computershopper.com/feature/200704_the_right_gpu_for_you | 보존날짜 = 2007년 5월 6일 | url-status = dead }}</ref>

'GPU'라는 용어는 1999년 [[엔비디아]]에서 [[지포스 256]]을 '세계 최초의 GPU'로 판매하면서 널리 알려졌다.<ref>강현우. [https://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=104&oid=015&aid=0004377313 엔비디아, 인텔 눌렀다…美 반도체 시총 1위 등극]. 한국경제. 기사입력 2020년 7월 9일. 기사수정 2020년 7월 10일.</ref><ref>[https://www.youtube.com/watch?v=Cno19CwQ9RU 엔비디아 시총 300조 돌파, 미래 반도체 총아로 떠오르다.]</ref> 지포스 256은 단일 칩 프로세서와 통합된 TCL(Transform, clipping, and lighting), 초당 1천만 개 이상의 폴리곤(다각형)을 처리할 수 있는 렌더링 엔진을 갖추고 있었다. 라이벌인 [[ATI 테크놀로지스]]는 2002년 [[라데온]] 9700을 발매하면서 'VPU'(영상 처리 장치)라는 용어를 사용하였다.

GPU는 그래픽과 관련된 연산을 할 때에 CPU의 부담을 크게 줄일 수 있다. [[macOS]]는 10.6부터 최초로 [[OpenCL|운영 체제 수준에서 GPU를 사용]]하기 시작했다.

== 역사 ==
1983년에 [[인텔]]에서 제조한 iSBX 275 그래픽 컨트롤러 멀티모듈 보드는 [[82720 그래픽 디스플레이 컨트롤러]]에 기반하여 제작되었으며 직선, 곡선, 사각형과 캐릭터 비트맵들에 대하여 가속기능을 지원했다. [[1990년대]]를 지나며 2D 그래픽 가속기능은 계속 발전하기 시작하였다. 제작 성능이 좋아짐에 따라 추가적인 API들(마이크로소프트 [[WinG]], 윈도우 3.X를 위한 그래픽 라이브러리, [[윈도우 98]]을 지원하는 [[DirectDraw]] 등)도 많이 개발되기 시작하였다. 1990년대 초중반에는 [[중앙 처리 장치|CPU]]가 실시간 3D그래픽을 구현해 냈지만 게임의 수요가 높아짐에 따라 그래픽 카드의 3D처리가 요구되었다. 따라서 3D API프로그램들이 등장하기 시작했는데 [[OpenGL]], [[DirectX]] 등이 그것이라고 할 수 있겠다. 이런 API 프로그램들이 등장하면서 자연스레 전문가용 3D 그래픽 카드가 등장하였지만 주목할만한 일반 사용자용 3D 그래픽 카드는 [[엔비디아]] [[지포스 256]](NV10 이라고도 알려짐) 이라고 할 수 있다. 2000년대에 들어서는 [[GPGPU]] 등 여러 가지 기능이 추가되어 CPU의 기능도 일부 담당할 수 있게 되었다.

=== 1970년대 ===
[[아케이드 기판]]에서는 1970년대 이후로 특화된 그래픽 칩을 사용하고 있었다. 초기 비디오 게임의 하드웨어를 이해하는 실마리는 프레임 버퍼에 사용되는 램이 매우 비쌌기에 비디오 칩은 화면이 모니터에 주사되어 출력되고 있을 때에 데이터를 모아 합성했다.<ref>{{웹 인용 |저자=James Hague |제목=Why Do Dedicated Game Consoles Exist? |url=http://prog21.dadgum.com/181.html |웹사이트=Programming in the 21st Century |날짜=2013년 9월 10일}}}</ref>

[[후지쯔]]의 MB14241 영상 표시 제어기는 다양한 1970년대의 [[아케이드 게임]]에서 [[스프라이트 (컴퓨터 그래픽스)|스프라이트]] 그래픽의 출력 속도를 가속화하기 위해 사용되었으며, [[다이토]]와 [[미드웨이 게임스]]의 '건 파이트'(1975), '씨울프'(1976), [[스페이스 인베이더]](1978) 등이 그 예이다.<ref>{{웹 인용 |url=https://github.com/mamedev/mame/tree/master/src/mame/drivers/8080bw.c |제목=mame/8080bw.c at master 路 mamedev/mame 路 GitHub |웹사이트=GitHub |확인날짜=2014년 11월 21일 |보존url=https://archive.today/20141121125813/https://github.com/mamedev/mame/tree/master/src/mame/drivers/8080bw.c |보존날짜=2014년 11월 21일 |url-status=dead }}</ref><ref>{{웹 인용 |url=https://github.com/mamedev/mame/tree/master/src/mame/drivers/mw8080bw.c |제목=mame/mw8080bw.c at master 路 mamedev/mame 路 GitHub |웹사이트=GitHub |확인날짜=2014년 11월 21일 |보존url=https://archive.today/20141121125812/https://github.com/mamedev/mame/tree/master/src/mame/drivers/mw8080bw.c |보존날짜=2014년 11월 21일 |url-status=dead }}</ref><ref>{{웹 인용 |url=http://www.computerarcheology.com/wiki/wiki/Arcade/SpaceInvaders |제목=Arcade/SpaceInvaders – Computer Archeology |웹사이트=computerarcheology.com |확인날짜=2014년 9월 13일 |보존url=https://web.archive.org/web/20140913080838/http://www.computerarcheology.com/wiki/wiki/Arcade/SpaceInvaders |보존날짜=2014년 9월 13일 |url-status=dead }}</ref>

== 그래픽 가속기 ==
그래픽 처리 장치는 [[부동 소수점|부동소수점]] 명령을 계산하는 그래픽 카드에 부착된 처리 장치이다. 그래픽 가속기는 그래픽 렌더링에 흔히 쓰이는 특별한 수학 명령을 포함하는 맞춤식 마이크로칩을 갖추고 있다. 이러한 마이크로칩이 효율적으로 동작하면 그래픽 가속기 또한 효율적으로 처리된다. 이들은 주로 3차원 게임이나 고사양 3차원 렌더링에 주로 쓰인다. 그래픽 처리 장치는 수많은 그래픽 [[기본 기하]] 명령을 담고 있어 호스트 CPU를 통해 화면에 표시하는 것보다 훨씬 더 빠르게 그리기를 처리할 수 있다.

초기 [[2차원 컴퓨터 그래픽스]]에 가장 흔히 쓰이는 명령들은 [[비트 블릿]] 명령, 또 [[RasterOp]]([[블리터]]<small>(blitter)</small>라 불리는 특수한 하드웨어에 일반적으로 쓰임)를 사용하는 여러 개의 [[비트맵]] 패턴 혼합 명령이었는데, 이 명령들은 [[텍스처 매핑]]에 주로 사용되었다. 또한 [[사각형]], [[삼각형]], [[원 (기하학)|원형]], [[호 (기하학)|호]] 등의 도형을 그리는 명령도 포함하였다. 이후의 그래픽 처리 장치들은 [[3차원 컴퓨터 그래픽스]]의 처리를 지원하기 위해 도형의 회전, 평행이동, 좌표 변환 등의 기하학적 명령이 추가되었다.

최신 그래픽 처리 장치들은 픽셀 셰이더, 버텍스 셰이더, 수퍼샘플링, [[색 공간]] 변환 등의 복잡하고 다양한 명령을 지원하며, [[디지털 영상]]의 재생을 가속하는 기능도 포함하고 있다. 이 명령의 많은 부분은 개발자가 직접 다룰 수 있도록 프로그래밍 가능한 인터페이스를 가진다.

또한 그래픽 처리 장치는 대량의 [[행렬]]과 [[벡터]]를 다루는 데 뛰어난 성능을 발휘하므로, 이러한 연산을 많이 사용하는 응용 프로그램들은 그래픽 처리와 관련 없는 작업에도 그래픽 처리 하드웨어를 이용하기도 한다.

== GPU의 임베디드 진행 ==
그래픽카드의 저전력 및 소형화는 주요 그래픽 처리에 특화된 여러 하드웨어의 구성물로 이루어진 파이프라인을 프로그램이 가능한 추상화되고 통합된 로직 처리의 [[그래픽스 파이프라인]]으로 전환하는 것으로 실현되었다. 이것은 [[스마트폰]]에 사용되는 [[이미지네이션 테크놀로지]]의 [[파워VR]]처럼 PC에서 사용되는 손바닥만한 크기의 하드웨어를 [[스마트폰]]에서 사용되는 손톱 크기의 물리적인 사이즈로 전환을 가능하게 하고 있는데 이러한 초소형화와 DC 5V 전후의 초저전력 사용에 필수적인 역할을 하였다.<ref>{{웹 인용 |url=http://www.dbpia.co.kr/SKnowledge/ArticleDetail/NODE03608886 |제목=모바일 GPU 동향(ETRI-전자통신동향분석, 2013,한진호,변경진,엄낙웅) |확인날짜=2016-11-03 |보존url=https://web.archive.org/web/20161104020653/http://www.dbpia.co.kr/SKnowledge/ArticleDetail/NODE03608886 |보존날짜=2016-11-04 |url-status=dead }}</ref>

[[파일:GPUarchitecture001.svg|400px]]

주요 그래픽 처리 영역들
:[[셰이더|셰이더(shader)]], [[텍스처 매핑|텍스처(texture)]], [[Z 버퍼링]], [[알파 채널]], [[블렌드 모드]], [[클리핑 (컴퓨터 그래픽스)|클리핑]]

== GPU 형태 ==
=== 용어 ===
개인용 컴퓨터에서 GPU의 주요 형태는 2가지가 있으며, 각기 수많은 동의어가 있다:
* 전용 그래픽 카드: 디스크리트(discrete)라고도 한다.
* 내장 그래픽스: 공유 그래픽스 솔루션, 내장 그래픽 프로세서(integrated graphics processors, IGP), 통합 메모리 아키텍처(unified memory architecture, UMA)라고도 한다.

=== 전용 그래픽 카드 ===
{{본문|그래픽 카드}}

=== 내장 그래픽스 ===
내장 그래픽스는 칩셋의 일부로서 메인보드에 내장할 수 있으며, 아니면 [[AMD APU]], [[인텔 HD 그래픽스]]처럼 CPU와 동일한 다이에 장착될 수 있다. 특정 메인보드<ref>{{웹 인용|url=http://www.gigabyte.com/products/product-page.aspx?pid=3785#ov|title=GA-890GPA-UD3H overview|url-status=live|archiveurl=https://web.archive.org/web/20150415095629/http://www.gigabyte.com/products/product-page.aspx?pid=3785#ov|archivedate=2015-04-15|df=}}</ref>에서 AMD의 IGP는 전용 사이드포트 메모리를 사용할 수 있다.

=== 하이브리드 그래픽스 처리 ===
이 새로운 계열의 GPU는 로우엔드 데스크톱 및 노트북 시장의 내장 그래픽과 경쟁한다. 가장 일반화된 구현체는 ATI의 [[하이퍼메모리]]와 엔비디아의 [[터보캐시]]이다.

=== 스트림 처리 및 범용 목적 GPU(GPGPU) ===
{{본문|GPGPU|스트림 프로세싱}}

=== 외부 GPU (eGPU) ===
외부 GPU는 컴퓨터 밖에 위치시킨 그래픽스 처리 장치이다. 외부 그래픽스 프로세서는 노트북 컴퓨터와 함께 종종 사용된다. 노트북은 충분한 양의 RAM과 충분히 강력한 중앙 처리 장치(CPU)가 있을 수 있으나 강력한 그래픽스 처리 장치가 없고 에너지에 더 효율적이면서 성능이 더 낮은 온보드 그래픽스 칩을 장착한 경우가 있다. 온보드 그래픽스는 최신 게임을 플레이하는데, 또 영상 편집처럼 그래픽에 크게 의존하는 작업에 충분히 강력하지 않은 경우가 있다.

그러므로 노트북의 일부 외부 버스에 GPU를 장착하는 것이 선호될 수 있다. [[PCI 익스프레스]]는 이러한 목적을 위해 흔히 사용되는 유일한 버스이다.

외부 GPU는 벤더 차원에서 비공식 지원이 적을 수 있으나 수많은 열정가들이 eGPU 설정을 구현하고 있다.<ref>{{웹 인용|url=http://forum.tabletpcreview.com/threads/diy-egpu-on-tablet-pcs-experiences-benchmarks-setup-ect.40268/|title=DIY eGPU on Tablet PC's: experiences, benchmarks, setup, ect...|work=tabletpcreview.com|url-status=live|archiveurl=https://web.archive.org/web/20170628212227/http://forum.tabletpcreview.com/threads/diy-egpu-on-tablet-pcs-experiences-benchmarks-setup-ect.40268/|archivedate=2017-06-28|df=}}</ref><ref>{{웹 인용|url=http://forum.techinferno.com/diy-e-gpu-projects/6578-implementations-thunderbolt-expresscard-mpcie-egpus.html#post89707|title=Implementations Hub: TB, EC,  mPCIe|work=Tech-Inferno Forums|확인날짜=2018-09-15|보존url=https://archive.today/20140922072600/http://forum.techinferno.com/diy-e-gpu-projects/6578-implementations-thunderbolt-expresscard-mpcie-egpus.html%23post89707#post89707#post89707|보존날짜=2014-09-22|url-status=dead}}</ref>

== 같이 보기 ==
* [[그래픽 카드]]
* [[컴퓨터 그래픽스]]
* [[컴퓨터 하드웨어]]
* [[게임기]]
* [[컴퓨터 모니터]]
* [[인텔 GMA]]
* [[물리 처리 장치]]

== 각주 ==
{{각주}}

== 외부 링크 ==
{{위키공용분류}}
* [http://www.nvidia.com/content/nsist/module/what_gpu.asp 엔비디아 - GPU는 무엇인가?]
* [https://www.youtube.com/watch?v=-P28LKWTzrI Mythbusters Demo GPU versus CPU]
* [https://web.archive.org/web/20051214111850/http://www.gpgpu.org/ 그래픽 하드웨어를 사용한 일반 목적의 연산]
* [https://web.archive.org/web/20090416210709/http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&pName=computer_level1_article&TheCat=1055&path=computer%2Fhomepage%2FFeb07&file=howthings.xml&xsl=article.xsl&%3Bjsessionid=G10s8pkpkP1K0Lk07bXx5dR0mXLSj8hXdnLDN5Kjj5GZTJtTTLZ0%211592783441 GPU의 동작 원리]
* [http://ieeexplore.ieee.org/iel5/9277/29472/01339160.pdf?tp=&isnumber=&arnumber=1339160 그래픽처리장치를 이용한 FDTD(Finite-Differnece Time-Domain)의 가속법]

{{그래픽 처리 장치}}
{{전거 통제}}

[[분류:그래픽 처리 장치| ]]
[[분류:그래픽 하드웨어]]
[[분류:하드웨어 가속]]
[[분류:ASIC]]