Nintendo 3DS (이하 3DS)에 채용 된 국산 그래픽 IP 코어
"PICA200" 3DS의 발매 전이나, 발매 후에도 잠시 동안 그 구조와 기능에 대한 자세한 내용은 거의 밝혀져 있지 않았다지만,
2011 년에 개최 된 그래픽 하드웨어의 국제 학술회의 "High Performance Graphics 2011"(이하 HPG2011) 꽤 깊이있는 정보가 공개 돼 화제를 모았다.
PICA200은 "텍스처의 신디사이저 '였다?
~ 절차 적 텍스처 기능에 대한 자세한
자, 시작 부분에서 3DS의 발매 후에도 PICA200의 정보는 거의 밝혀져 있지 않았다고 말했지만, 사실, "어떤 기능을 가지고 있는지"는 초기에 공표되어 있었다. 예를 들어, 셰이더의 일부가 고정 기능 된 성능과 낮은 소비 전력의 양립을 도모하는 등 당은 ( 관련 기사 ), 기억하고있는 독자도 적지 않을 것이다.
PICA200가 발표 된 것은 2006 년. 벌써 6 년이나 전의 이야기가 되어요 뿐이지 만, "하드웨어 개발에서 채택되는 데 몇 년 걸릴 것 "(大渕씨) 사정도 있고, 지금도 현역 그래픽 IP 코어이다. 4Gamer으로는 물론 3DS 용 그래픽 IP 코어 (≒ GPU)는 이해 정답이지만, 올림푸스의 컴팩트 디지털 카메라 "Tough TG-1"에 하위 모델 인 "PICA200 Lite"가 채용되고 있고, 최근에는 파칭코 기계의 그래픽 표시 기능 용으로도 사용이 확산되고 있고한다고한다.
PICA200를 DMP가 발표 한 것은 2006 년. DMP 자체는 이후 SMAPH라는 새로운 그래픽 IP 코어도 개발되었으며, 이쪽도 채용 기기의 수를 늘리고있는 곳 이란다
그런 PICA200 관해서 이번 말씀하신 것은 다음의 4 가지가된다.
세션에서 말해진 4 개의 내용. 모두 개요는 이미 공개되어 있었지만, CEDEC 2012에서는 자세한 설명이 있었다
- 정점 & 지오메트리 쉐이더의 메모리 트래픽과 연산의 최적화
- 재구성 가능한 조각 (= 픽셀) 쉐이더 개요
- 절차 적 질감의 세부
- 이러한 기술을 임베디드에 어떻게 전력 절감했는지
PICA200의 기술 데모로 잘 알려진 "MIKAGE"(그림자)
비트 맵에 비해 장점은 분명하고, 예를 들어 텍스처 데이터의 메모리 소비를 억제하는 동시에 편입 용도에서는 상품 전력의 관점에서 무시할 수없는 메모리 액세스를 줄일 수있다. 또한 연산 텍스처를 생성하기 위해 해상도 제한없이 무한 LoD (Level of Detail)에 대응할 수있는 등 장점 도 빨리 생각 해냈다.
MIKAGE의 바닥 우드는 바로 PICA200의 절차 적 텍스처에서 생성 된 것이라는
PICA200는 절차 적 텍스처 기능을 고정 기능으로 가지고있다. 쉐이더 프로그램에서 같은 기능을 구현하려고하면 연산 부하를 무시할 수 없게되지만, PICA200에서는 그래픽 파이프 라인에 특별한 부하없이 텍스처를 생성 가능하다. 또한 텍스처 생성에있어서 의 메모리 액세스가 필요하지 않기 때문에 원리 적으로 그래픽 파이프 라인의 설치가 일어나지 않으며, 매개 변수를 바꾸는 것만으로 텍스처 애니메이션을 제공하는 등의 장점도 있다고大渕씨는 말하고있다.
절차 적 텍스처 메모리 액세스가 필요 없기 때문에 설치가없고, 애니메이션도 제공 할 수 있다는 장점이 있다는 슬라이드
그리고, 그 고정 기능 부이지만 먼저 벡터 성분 U와 V에 노이즈를 실어 반복 (클램프)를 수행하고 마지막으로 텍스처 도형 입력 픽셀의 색상 (텍셀 값)을 출력하는 파이프 라인이 있다고한다.
절차 적 텍스처 파이프 라인 그림. "노이즈 기능"에서 U, V에 소음을 실어 "반복 기능"으로 반복하고 마지막에 "기본 도형 참조 테이블"에서 도형을 입력하여 픽셀의 색상을 출력한다. 반복되지만, PICA200 는이 파이프 라인이 고정 기능으로 구현 된
위의 슬라이드에서 그림되는 파이프 라인 처리 순서가 있지만, 인간의 감각에 따라 "텍스처의 기본 모양을 결정 부분"이다 기본 도형 참조 테이블에서 거슬러 올라가 이야기를 해 보자.
필자는 방금 여기를 "도형을 입력하는 부분 "이라고했지만, 여기에서는"먼저 "G 함수"에서 기본 도형을 출력하고 그 도형에 "F 함수"로 변조를 걸어 마지막으로 컬러 참조 테이블에서 색 꺼내기 '라는 단계가있다.
기본 도형 참조 테이블에 대한 자세한. 3 단계로 구성되어있다 |
이쪽은 3 단계의 더 자세한이다. G 함수가 기본 도형을 출력하는 함수로, F 함수는 도형에 변조를 거는 함수, 그리고 색깔을 결정하는 것이 컬러 참조 테이블이다 |
G 함수라는 것은 설정에 따라 가로 나 세로 선, 원, 사각형 등 다양한 모양을 출력 할 수있는 기능이다. 예 MIKAGE 데모 나뭇결을 표현하고 싶다면, G 함수에서 세로 선과 가로을 출력 해 주면된다는 것이다.
한 F 함수 는 기본 도형 색상 참조 테이블에서 색상을 태울 때 테이블과의 관계를 결정 함수이다. 테이블에서 단순히 색을 선택할뿐만 아니라, F 함수를 통해 싣는 것으로 색에 변화를 매긴다 생각하면 좋다.
이상의 단계에서 모양과 색이 정해진 것이지만, 이것 뿐이라고 간단한 도형 밖에 표현할 수 없다. 이 도형에 노이즈를 추가하고 변형시키고 또한 클램프 처리로 반복함으로써, 예를 들어 처음에 나온 나이테 같은 무늬를 만들 수 있다는 것이 절차 적 텍스처 기능의 종합적인 구조가된다.
도형에 노이즈를 올린다. 특정 주파수에서 도형에 변조를 걸어주는 것 같은 이미지의 처리이다.주파수와 위상을 바꾸는 것으로, 슬라이드의 오른쪽에 표시된 같은 불규칙하게 보이는 모양에 변형시킨다 |
여기 반복의 예. 도형을 대칭으로 붙이거나 반전시키면서 반복시키면서 붙이거나 설정이 가능하다고 |
G 함수로 출력 할 셰이프와 F 함수와 컬러 참조 테이블에서 결정 색상의 변화, 그리고 노이즈에 의한 변형과 반복을 사용하면 여러 버전의 질감을 계산만으로 출력 할 수있다. 이것이 절차 적 텍스처의 포인트 다. 마치 기본 파형에 노이즈 등을 실어 변조를 걸 다채로운 소리를 만들어내는 아날로그 신디사이저의 텍스처 버전이라고 나 할까.
아주 재미있는하고 재미있는 기능이지만, 외에 그다지 예가 없기 때문에, PICA200 독자적인 기능 소개해도 무방하다. 그만큼 응용은 어려울 것이다.
실제로大渕씨도 세션에서 "사용하는 것이 매우 어렵다"고 말하고 있었다."사내에서도 다룰 사람은 4 명 밖에 없다 (웃음)"하니, 현상, 실제 게임 내에서 사용되는 예를 찾아보기 어려울 것이다. 그런 의미에서 3DS는 아직 그래픽 성능을 100 % 끌어낼 수는 없다고 말할 수있을 것이다.
전력 소모를 최소화하면서
다양한 기능을 구현 한 PICA200
나머지 3 개의 특징을 간략하게 소개하겠다. 우선 1.의 정점 쉐이더와 지오메트리 쉐이더의 메모리 트래픽과 연산의 최적화부터이지만, PICA200는 지오메트리 처리 고정 기능 "기본 엔진"을 사용하여 다각형의 예약 서브 디비전 (subdivision 다시 분할 ) - Direct3D 11에서 말하는 테셀레이션 -를 실현할 수있는 것으로 알려져있다.
PICA200은 기본 엔진을 갖추고, 테셀레이션 기능을 이용할 수있다. 이 기능은 소프트 그림자의 실루엣 (= 그림자) 생성과 툰 쉐이딩의 윤곽 등에도 이용된다고한다. 2006 년에하고 PICA200는 DirectX 11의 기능을 선점하고 있었다고 말할 수있을 것이다
지오메트리 처리의 구현에서는, 정점 셰이더에서 연산 된 정점 정보를 일시적으로 캐시 "Secondary Vertex Cache"(이하 SVC)가 큰 역할을 담당하고있는 것으로 알려졌다. SVC에 캐시 된 연산 된 데이터는 다시 사용할 수 있기 때문에 메모리 액세스를 줄일 수있다. 이것은 절전이라는 점에서도 유리하게 될 것이다.
또한 "기본 엔진에서 지오메트리 처리 할 때 가변 길이 원시가 취급"왜냐하면 SVC의 장점되면大渕씨는 이야기했다. 이를 통해 Catmull-Clark (카토 마루 클라크) 분할이나 루프 분할 수법에 의한 다각형 다시 분할을 실현할 수 있다는 것이다.
지오메트리 엔진 부 구현에 큰 역할을 담당하고있는 것이 SVC이라고大渕씨. 연산 된 정점 정보를 재사용 할 수 있다는뿐만 아니라 SVC에 의해 가변 길이 원시을 사용할 수 있으며, 다각형 다시 분할 같은 고급 기능도 사용할 수있게되면 씨 는 설명했다
PICA200의 지오메트리 엔진 부에서 텍스처에 액세스 할 수 없으므로 "티스 게재 위치 매핑 수 없다는 제한은있다"가, 나머지는 일반 지오메트리 쉐이더와 동등의 처리가 가능하다고大渕씨는 설명했다.
3.로 올랐다 PICA200의 조각 셰이더 - 일반적인 OpenGL 용어 즉 "픽셀 셰이더"- 다시 설정이 가능한 고정 기능으로 구현 된 점이 특징이다.
프로그래머블 셰이더가 등장하고 10 년 이상이 경과하고 있지만, "사용 기능 (≒ 사용 셰이더)는 대략 정해져왔다" (大渕씨) 때문에 전체 프로그램에없이 "고정 하드웨어 일부 변경 기능을 추가만으로 원하는 것은 거의되어 버리는 것이 현실"이라고한다.
고정 기능을 채용하는 것으로, PICA200의 조각 셰이더 처리량은 1 ~ 4 사이클에 맞는 것 같고 , 같은 쉐이더 프로그래머블 셰이더에서 실행하는 것에 비해 상당한 속도와 저전력 화를 실현했다는이 포인트 인 셈이다
동일한 쉐이더 프로그램을 쉐이더 모델 3.0 기반의 프로그래머블 셰이더에서 실행 한 경우 (오른쪽, "SM 3.0 asm steps")와 PICA200의 조각 셰이더에서 실행 한 경우 (중앙, "Clk / frag")과에서 소요주기를 비교 한 것. PICA200는 1에서 4 사이클에서 실행 할 수있는 반면, 프로그래머블 쉐이더에서는 수십 사이클이 필요하다. 프로그램임을 버리면 이만큼 혜택을받을 수 있다는 것이 DMP의 주장이다
마지막으로 4.로 나타낸 전력 절감이지만, PICA200는 회로 자체를 줄이는 동시에, 회로를 가능한 파이프 라인 클럭을 저감 한 것. 또한 치밀한 클럭 제어를 실시하고 있다고大渕씨는 이야기했다.
최근 CPU와 GPU는 사용하지 논리 블록에 대한 클럭 공급을 중지 "클록 게이트"(클럭 게이팅) 등으로 클럭을 세밀하게 제어하는 것이 당연하게되어 있지만,이 기술은 일본의 잘하는 재주도 있다고하고, "PICA200에는 일본의 기술이 활용되고있다 "(大渕 씨)는 것이다.
PICA200의 클럭 제어의 구현. 그림 "G"라고 쓰여져있는 것이 클럭 게이트에서 끝으로 제어 할뿐만 아니라 루트에 가까운 부분에서 클럭 게이트 회로를 넣어 제어하고 있다는
DMP는 글로벌 일루미네이션의
고정 기능 화를 검토 중이거나
이상 PICA200의 개요를 소개하고 왔지만大渕씨는 세션의 마지막에, CEDEC 2012에서는 글로벌 일루미네이션 (Global Illumination 다음 GI)가 주목 받고있는 점을 만지고 그 고정 기능화에 대한 견해를 언급했다 것이 꽤 흥미로웠다.
GI 는 대국적인 데이터 액세스, 즉 광범위한 데이터 참조가 발생한다. 따라서 고정 기능화하기 어려운 말을 자주 듣곤하지만,大渕씨는 "GPU 구현하기 쉬운 GI 알고리즘수록 고정 기능화도 쉬운 특징이있다"고했다. GPU도 대국적인 데이터 액세스 약해서, GPU 구현하기 쉽게 할 수 있다면, 그 알고리즘은 고정 기능화도 쉬워진다는 것은 확실히 납득할 수있는 얘기 다.
다만, "현재 많은 알고리즘이 제안되고있다. 그 속에서 알고리즘을 고정 버려도 좋은 것인지, 논의는 있다고 생각한다 "(大渕씨). 고정 기능의 구현은 가능하지만, 스테디셀러 알고리즘이 좁혀 때까지 DMP는 모습을보고 있다는 곳 일까.
망상을 써달라고한다면, 미래의 "Nintendo DS"는 저 부하에서 실시간 GI를 실 현하게되어 있을지도 모른다.
(IP보기클릭).***.***
핑가스가 좋아할만한 글이네 하고 클릭했는데 역시나 예상을 벗어나지 않고 댓글 달았네
(IP보기클릭).***.***
그래픽은 이미 바닥을 보였음 1년도 안되서 ㅋㅋㅋㅋ 그럼 말다 했지 위 꼴이지 ㅋㅋㅋㅋㅋ
(IP보기클릭).***.***
와 위에 댓글 다니까 님 댓글도 같이 달리고 추천도 두 개 같이 박히네요
(IP보기클릭).***.***
풉
(IP보기클릭).***.***
"PICA200에는 일본의 기술이 활용되고있다." 이말이 왜이렇게 부정적으로 들리는걸까..ㅡㅜ
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
삭제된 댓글입니다.
(IP보기클릭).***.***
와 위에 댓글 다니까 님 댓글도 같이 달리고 추천도 두 개 같이 박히네요 | 12.08.22 12:57 | | |
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
핑가스가 좋아할만한 글이네 하고 클릭했는데 역시나 예상을 벗어나지 않고 댓글 달았네
(IP보기클릭).***.***
"PICA200에는 일본의 기술이 활용되고있다." 이말이 왜이렇게 부정적으로 들리는걸까..ㅡㅜ
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
풉
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
그래픽은 이미 바닥을 보였음 1년도 안되서 ㅋㅋㅋㅋ 그럼 말다 했지 위 꼴이지 ㅋㅋㅋㅋㅋ
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
미카지 데모로 설명된 효과들은 실제 사용 가능햔 효과들입니다 http://gaia.ruliweb.com/gaia/do/ruliweb/default/nds/84/read?articleId=579798&objCate1=&bbsId=G003&searchKey=subjectNcontent&itemGroupId=&itemId=5&sortKey=depth&searchValue=MIKAGE&platformId=&pageIndex=1 나머지 전문적인 부분은 아는바가 없어 패스 ㅋㅋ | 12.08.22 14:27 | | |
(IP보기클릭).***.***
개발효율성으로 봤을때 좋지 못하다는 소리인것 같습니다. 부하없이 기술 구현은 가능한데 난이도가 있는게 문제네요. GPU 기술은 CPU 성능 부족문제와 직접적인 연관은 없다고 할수 있습니다. | 12.08.22 20:40 | | |
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***
(IP보기클릭).***.***