비디오코어

비디오코어(VideoCore)는 알파모자이크 주식회사가 개발하여 현재 브로드컴이 소유하고 있는 저전력 모바일 멀티미디어 프로세서 시리즈이다. 알파모자이크는 첫 버전을 2차원 DSP 아키텍처로 판매하여 저전력 사용량을 유지하면서도 다양한 멀티미디어 코덱을 소프트웨어로 디코딩(및 인코딩)할 수 있을 만큼 유연하고 효율적이라고 홍보했다.[1] 반도체 지적 재산 코어(SIP 코어)는 현재까지 브로드컴 SoC에서만 발견되었다.
기술 세부 사항
[편집]멀티미디어 시스템 제약 사항
[편집]모바일 멀티미디어 기기는 긴 배터리 수명을 위해 많은 고속 비디오 처리가 필요하지만 저전력으로 작동해야 한다. ARM 프로세서 코어는 와트당 IPS 수치가 높지만(따라서 휴대폰 시장을 지배하고 있지만) 완벽한 시스템을 위해서는 비디오 가속 보조 프로세서와 디스플레이 컨트롤러가 필요하다. 이러한 칩들 사이에서 고속으로 이동하는 데이터의 양은 더 높은 전력 소비로 이어진다. 특수 보조 프로세서는 대기 시간보다 처리량(더 많은 코어와 데이터 병렬 처리, 하지만 더 낮은 클럭 속도)에 최적화될 수 있으며, 미디어 처리를 위해 설계된 명령어 세트 및 메모리 아키텍처(예: 채도 연산 및 특수 데이터 형식 처리)를 가질 수 있다.
3D 엔진
[편집]라즈베리 파이 1, 2, 3에서 발견되는 비디오코어IV-AG100-R은 OpenGL ES 2.0 및 OpenVG 1.1을 완벽하게 지원하는 것으로 문서화되어 있다.
3D 엔진은 다양한 서브시스템으로 구성되어 있으며, 그 중 가장 많은 것은 QPU이다. QPU는 16방향 단일 명령 다중 데이터(SIMD) 프로세서이다.
브로드컴의 VideoCore® IV 3D 아키텍처 참조 가이드에 따르면 "각 프로세서에는 단일 명령 사이클 대기 시간으로 곱셈 및 비곱셈 연산을 병렬로 수행하는 두 개의 벡터 부동 소수점 ALU가 있다. 내부적으로 QPU는 4개의 사이클에 걸쳐 4배로 다중화된 4방향 SIMD 프로세서로, 특히 픽셀 쿼드 스트림을 처리하는 데 적합하다." [1]
이 문서는 "QPU는 슬라이스라고 불리는 최대 4개의 그룹으로 구성되며, 특정 공통 자원을 공유한다"고 계속한다. cf. 정점 및 셰이더.
이러한 "슬라이스"는 대략 AMD의 컴퓨트 유닛에 해당한다.
적어도 VC 4(예: 라즈베리 파이)는 S3 텍스처 압축 (S3TC)을 지원하지 않는다.[2] 아마도 적응형 스케일링 텍스처 압축 (ASTC)도 지원하지 않을 것이다.
비디오 압축 알고리즘
[편집]현재 널리 사용되는 비디오 압축 알고리즘인 H.263, H.264/MPEG-4 AVC, MPEG-4, MPEG-2, MPEG-1, H.265, 달라, 테오라, VP8 및 VP9 중에서 브로드컴의 비디오코어 제품은 일부 작업의 하드웨어 가속을 지원한다. 일부 경우에는 특정 해상도(예: 720p 또는 1080p) 및 특정 프레임 속도(예: 초당 30 또는 60 프레임)까지 디코딩만, 압축만 또는 둘 다를 지원한다.
비디오코어 주요 특징
[편집]- 처음부터 비디오 처리를 염두에 두고 작성된 명령어 세트. 예를 들어, 두 개의 밝은 픽셀의 합이 어두운 값으로 '넘쳐흐르지' 않도록 채도 연산.
 - 상대적으로 낮은 클럭 속도로 비디오 데이터를 병렬 컴퓨팅하기 위한 그래픽 처리 장치 배열.
 - 매우 높은 통합으로 CPU, GPU, 메모리 및 디스플레이 회로가 단일 칩에 통합되어 빠른 칩 외부 버스 구동에 따른 전력 부담을 제거한다.
 
변종
[편집]비디오코어 I 기반 VC01은 SCH-V540, SCH-V4200, SCH-V490을 포함한 다양한 삼성 휴대폰에 비디오 및 멀티미디어 기능을 제공한다.[3]
비디오코어 II 기반 VC02 / BCM2722 프로세서는 애플의 5세대 아이팟에 비디오 기능을 제공한다.[4]
비디오코어 III 기반 BCM2727 프로세서는 노키아 N8에 비디오, 정지 이미지 및 3D 그래픽 기능을 제공한다.
비디오코어 IV BCM2763 프로세서는 1080p 인코딩 및 디코딩 지원, 더 높은 해상도 카메라 지원, 더 빠른 2D 및 3D 그래픽을 모두 매우 낮은 전력으로 제공하여 비디오코어 III를 개선했다. 이 프로세서는 노키아 808 퓨어뷰,[5] 일부 로쿠 하드웨어 버전 및 라즈베리 파이 (버전 1/2에 해당하는 2835/2836 모델)에 사용된다.[6]
비디오코어 IV BCM28155 프로세서는 BCM28155 칩셋에서 듀얼 코어 ARM Cortex-A9 CPU와 함께 1080p 인코딩 및 디코딩, 개선된 2D 및 3D 그래픽을 지원한다. 삼성 갤럭시 SII 플러스, 삼성 갤럭시 그랜드, 삼성 갤럭시 코어 플러스, 삼성 갤럭시 S 듀오스 2, 아마존 파이어 TV 스틱에 사용된다.
비디오코어 V BCM7251 프로세서는 2160p60 디코딩 및 트랜스코딩 또는 듀얼 1080p60 인코딩/디코딩을 지원하며, 개선된 코덱 지원(H.265), DDR3 및 DDR4 지원, USB 3.0, PCIe, 기가비트 이더넷 및 802.11ac를 듀얼 코어 ARM Cortex-A15 브라마15 듀얼 코어 CPU에서 제공한다.
비디오코어 SIP 블록을 채택한 SoC 표
[편집]| SoC | GPU | CPU | 최대 디스플레이 | 활용 장치 | |||
|---|---|---|---|---|---|---|---|
| 아키텍처 | 주파수 (MHz) | 아키텍처 | 코어 수 | 주파수 (MHz) | |||
| VC01 | VideoCore I | 없음 | CIF | 목록 
  | |||
| BCM2702 (VC02) | VideoCore II | 없음 | SD | 목록 
  | |||
| BCM2705 (VC05) | VideoCore II | 없음 | SD | ||||
| BCM2091 | VideoCore IV | 없음 | 미지정 | ||||
| BCM2722 | VideoCore II | 없음 | SD | 아이팟 (5세대) | |||
| BCM2724 | VideoCore II | 없음 | SD | ||||
| BCM2727 | VideoCore III | 없음 | 720p | 노키아 N8 | |||
| BCM11181 | VideoCore III | 없음 | 720p | ||||
| BCM2763 | VideoCore IV | 없음 | 1080p | ||||
| BCM2820 | VideoCore IV | ARM1176 | 1 | 600 | 1080p | ||
| BCM2835 | VideoCore IV | 250 | ARM1176 | 1 | 700 | 1080p | |
| BCM2836 | VideoCore IV | 250 | Cortex-A7 | 4 | 900 | 1080p[a] | 라즈베리 파이 2[7] | 
| BCM2837 | VideoCore IV | 300 | Cortex-A53 | 4 | 1200 | 1080p[a] | 라즈베리 파이 3[7] | 
| BCM11182 | VideoCore IV | 없음 | 1080p | ||||
| BCM11311 | VideoCore IV | Cortex-A9 | 2 | 1080p | |||
| BCM21654 | VideoCore IV | Cortex-A9 + Cortex-R4 | 1+1 | 1080p | 삼성 갤럭시 페임 | ||
| BCM21654G | VideoCore IV | Cortex-A9 | 1 | >1200 | 720p | ||
| BCM21663 | VideoCore IV | Cortex-A9 | 1 | >1200 | 720p | 목록 
  | |
| BCM21664 | VideoCore IV | Cortex-A9 | 1 | >1000 | 720p | ||
| BCM21664T | VideoCore IV | Cortex-A9 | 1 | >1200 | 1080p | 목록 
  | |
| BCM28150 | VideoCore IV | Cortex-A9 | 2 | 1080p | |||
| BCM21553 | VideoCore IV | ARM11 | 1 | 1080p | |||
| BCM28145/28155 | VideoCore IV | Cortex-A9 | 2 | 1200 | 1080p | ||
| BCM23550 | VideoCore IV | Cortex-A7 | 4 | 1200 | 1080p | 목록 
  | |
| BCM7251 (archive.org) | VideoCore V | Cortex-A15 | 2 | 1666 | 4K | ||
| BCM2711B0 | VideoCore VI | 500 | Cortex-A72 | 4 | 1800 | 듀얼, 4K | 라즈베리 파이 4B[11] | 
| BCM2712 | VideoCore VII | 800 | Cortex-A76 | 4 | 2400 | 듀얼, 4K | 라즈베리 파이 5[12] | 
| SoC | 아키텍처 | 주파수 (MHz) | 아키텍처 | 코어 수 | 주파수 (MHz) | 최대 디스플레이 | 활용 장치 | 
| GPU | CPU | ||||||
- ↑ Alphamosaic Ltd > Technology – VideoCore, archived on 9 February 2003.
 - ↑ “Can I play Morrowind with OpenMW on other platforms like the Raspberry Pi?”. 2011년 8월 6일.
 - ↑ “Broadcom presentation by Yossi Cohen” (PDF).
 - ↑ Ecker, Clint (2005년 10월 20일). “Video iPod: Vivisection”. 아르스 테크니카. 2008년 3월 29일에 확인함.
 - ↑ “Nokia 808 PureView with Unbelievable 41 Megapixel Camera”. 《staygrab.com》. 2013년 1월 13일에 원본 문서에서 보존된 문서. 2013년 1월 23일에 확인함.
 - ↑ “BCM2835 - Raspberry Pi Documentation”.
 - ↑ 가 나 다 “Raspberry Pi FAQs - Frequently Asked Questions”.
 - ↑ “Roku 2 XS Teardown”. 《My Cable Alternatives》. 2011년 7월 28일. 2017년 1월 3일에 원본 문서에서 보존된 문서. 2025년 8월 1일에 확인함.
 - ↑ “STICKY: HOWTO: Create Custom HDMI modes - Page 3”. 《Raspberry Pi Forums》. 2019년 9월 24일에 확인함.
 - ↑ “Opus HD”. 《Xolo》. 2014년 10월 10일에 원본 문서에서 보존된 문서.
 - ↑ “Raspberry Pi 4 Review: The New Gold Standard for Single-Board Computing” (영어). 《Tom's Hardware》. 2019년 8월 28일. 2019년 9월 24일에 확인함.
 - ↑ “Introducing: Raspberry Pi 5!” (영어). 《Raspberry Pi》. 2023년 9월 28일. 2023년 9월 28일에 확인함.
 
비디오코어 제품
[편집]비디오코어 칩은 완전한 애플리케이션을 실행할 수 있다. DSP 칩은 단순히 데이터를 공급하고 수집하기 위해 별도의 프로세서가 필요한 비디오 DSP 칩이 아니다. 비디오코어는 비 DSP 작업에서 최적의 전력 효율을 내지 못할 수도 있지만, 고효율 CPU 코어와 결합될 수 있다. 예를 들어, 일반적인 비 멀티미디어 작업은 32비트 버스 폭 이상을 거의 필요로 하지 않지만, 비디오코어 설계는 여러 개의 광폭 버스 코어를 사용한다.
비디오 디코딩은 BCM 칩을 사용하는 비디오 가속 보드에 오프로드되었다.
블루레이 플레이어는 저전력 비디오 가속기로도 사용할 수 있다.
비디오코어 칩이 보통 ARM 기반 칩과 함께 사용되었다는 점을 고려할 때, 최신 칩에는 비디오코어와 ARM 프로세서가 모두 포함되어 있다.
리눅스 지원
[편집]2014년 2월 28일, 라즈베리 파이 2주년이 되는 날, 브로드컴은 라즈베리 파이 재단과 함께 비디오코어 IV 그래픽 코어의 전체 문서와 3-절 BSD 허가서하에 그래픽 스택의 완전한 소스 공개를 발표했다.[1][2][3]
그러나 드라이버의 일부만 오픈 소스로 공개되었으며, 모든 비디오 가속은 독점 GPU용으로 코딩된 펌웨어를 사용하여 수행되었는데, 이는 오픈 소스화되지 않았다. SoC 자체는 부팅 시 비디오코어의 VPU에 로드되는 ThreadX 기반 RTOS에 의해 관리된다.[4]
비디오코어 기반 시스템의 아키텍처 개요는 허먼 헤르미티지가 역설계 및 특허 조사를 기반으로 컴파일했으며, 깃허브에서 확인할 수 있다.[5]
2014년 6월, 엠마 안홀트는 인텔을 떠나 브로드컴으로 이직하여 VC4(비디오코어 4)용 자유 드라이버(DRM/KMS 드라이버 및 갈륨3D 드라이버)를 개발했다.[6] 일주일 후 그녀는 주목할 만한 진전을 보고했다.[7][8]
| “ | 저는 그곳에서 오픈 소스 개발자로서 새로운 역할을 맡았습니다. 저는 라즈베리 파이에 들어가는 칩인 2708 (즉 2835)을 위한 MIT 허가서 기반 메사 3D 및 커널 DRM 드라이버를 개발할 것입니다.[9] | ” | 
자유 라이선스 3D 그래픽 코드는 2014년 8월 29일 메사에 커밋되었으며,[10] 메사 10.3의 일부로 처음 출시되었다.
컴퓨트 커널 프로그래밍
[편집]오픈 소스 커뮤니티는 모든 라즈베리 파이에서 비디오코어 GPU에서 사용자 정의 컴퓨트 커널을 직접 실행하기 위한 V3DLib이라는 C++ 라이브러리를 만들었다. 이를 통해 OpenGL의 그래픽스 지향 API에 국한되지 않는 그래픽 처리 장치 기반 범용 컴퓨팅(GPGPU)이 가능하다.
시장 경쟁자
[편집]유사한 모바일 멀티미디어 칩 제품군으로는 아드레노, 텍사스 인스트루먼트 OMAP, 엔비디아 테그라, 올위너 A1X 및 프리스케일 i.MX가 있다. 이들은 ARM 기반이며 그래픽 처리 장치 배열을 가지고 있다.
데이터 출처
[편집]브로드컴 유튜브 페이지[11]에는 비디오 처리 기능을 시연하는 비디오가 있지만, 웹사이트는 제품 개요만 제공한다. 상세한 데이터 및 개발 도구는 NDA 하에서만 제공되며, 시장 규모가 매우 큰 제조업체에게만 제공된다.
같이 보기
[편집]각주
[편집]- ↑ “Raspberry Pi marks 2nd birthday with plan for open source graphics driver”. 2014년 2월 28일.
 - ↑ “A birthday present from Broadcom”. 《Raspberry Pi》. 2014년 2월 28일. 2014년 2월 28일에 원본 문서에서 보존된 문서. 2025년 8월 1일에 확인함.
 - ↑ “Android for All: Broadcom Gives Developers Keys to the VideoCore Kingdom”. 《www.broadcom.com》. 2019년 9월 24일에 확인함.
 - ↑ Hermitage, Herman (2015년 3월 21일). “Fun and Games with the Videocoreiv Quad Processor Units”. 《깃허브》.
 - ↑ “hermanhermitage/videocoreiv”. 《깃허브》.
 - ↑ “Eric Anholt Leaves Intel's Linux Graphics Team For Broadcom”. 2014년 6월 17일.
 - ↑ “VC4 Linux driver”. 《깃허브》. 22 July 2014에 원본 문서에서 보존된 문서. 22 June 2014에 확인함.
 - ↑ “VC4 driver week 1”. 22 June 2014. 16 August 2014에 원본 문서에서 보존된 문서.
 - ↑ 에릭 안홀트. “new job!”. 2023년 12월 27일에 확인함.
 - ↑ “vc4: Initial skeleton driver import”. The Mesa 3D Graphics Library. 2014년 8월 9일.
 - ↑ “Broadcom Limited”. 《유튜브》.