We’re now starting to get quite a few players with ARM Cortex A15 cores on the market, as well as some with ARM Cortex A17.
So a comparison table of different quad and octa SoCs might be a useful thing to do. I’ve put aside SoCs such as HiSilicon K3V3, and OMAP5, and focused on the four latest processors: Nvidia Tegra K1 (32-bit), Samsung Exynos 5422, Rockchip RK3288 and AllWinner A80. I haven’t included Mediatek MT6595 and Qualcomm SnapDragon 805, because the two companies mainly focus on smartphones and tablets (although it appears to be slowly changing for Qualcomm), documentation is usually difficult or impossible to find, and in the case of Qualcomm they use their own ARMv7 Krait cores.
|Rockchip RK3288||AllWinner A80||Nvidia Tegra K1||Samsung Exynos 5422|
|CPU||4x ARM Cortex-A17 @ 1.8 GHZ||
4x ARM Cortex-A15 r4 @ 2.0?? GHz +
4x ARM Cortex-A7 @ ?? GHz
|Quad Core ARM Cortex-A15 r3 @ 2.3GHz + Cortex A15 r3 companion core||
4x ARM Cortex-A15 @ 2.1 GHz +
4x ARM Cortex-A7 @ 1.5 GHz
|L2 Cache||1MB||2MB + 512KB||2MB + 512 KB||2MB + 512 KB|
|GPU||ARM Mali-T764||PowerVR G6230 (64-cores)||Kepler GK20a (192-cores)||ARM Mali-T628 MP6|
|GPU API||OpenGL ES 1.1/2.0/3.0, OpenVG 1.1, OpenCL 1.1 and Renderscript, Directx11||OpenGL ES 2.0/3.0, OpenCL 1.x, Directx 9.3||OpenGL ES 2.0/3.0/3.1, OpenGL 4.4, OpenCL 1.2, CUDA 6.0, Directx 12||OpenGL ES 1.1/2.0/3.0, OpenCL 1.1,OpenVG 1.0.1, DirectX 11, and Google Renderscript|
4K2K@24fps: H.264, MPEG-2, VP6/VP8, MVC
1080p: MPEG-4, Sorenson Spark, VC-1, RV8/RV9/RV10, and AVS
4K2K@30fps: H.264 and VP8
1080p60: MPEG 1/2/4. H.263, H.264, WMV9/VC1, etc…
3D decoding @ 3840×1080@30fps
|1440p – H.264 BP/MP/HP/MVC, VC-1, VP8, MPEG-2 and MPEG-4||
1920×1080@120fps – MPEG-4/MPEG-2/H.263/H.264/VP8//VC1
8192×8192 – H.264 and VP8
|Video Encoder||1080p30: H.264, MVC, and VP8||4K2K@30fps: H.264 and VP8||
BP/MP/HP/MVC and VP8
1920×1080@120fps – MPEG-4//H.263/H.264/VP8
8192×8192 – H.264 and VP8
|Memory (On-chip)||20KB BootRom, 100KB internal SRAM||No data||64KB Boot ROM (IROM)||No data|
DDR3-1333/DDR3L-1333, LPDDR2-1066, LPDDR3-1066, up to 4GB
Dual channel async NAND flash, 8-bit, 60-bit ECC
Single channel async NAND flash, 16-bit, 60-bit ECC
SD/MMC Interface (SD 3.0, MMC ver 4.5)
DDR3/DDR3L/LPDDR3/LPDDR2, Up to 8GB
Raw NAND with 72-bit ECC
DDR3L, and LPDDR3, up to 8GB
LPDDR2 might work but not tested by Nvidia
eMMC version 4.5
LPDDR3/DDR3 – 2-ports 32-bit up to 933 MHz
LPDDR2 – 2-ports 32-bit up to 533 MHz
2x eMMC 5.0, 1x eMMC 4.5
8-bit SDIO 3.0,
4-bit SD 3.0
Dual channel LVDS
2x Parallel and serial RGB interfaces: Up to 3840×2160 or 2560×1600
MCU LCD interface (optional)
4-lane MIPI up to 1080p60
4-lane eDP up to 4K2K@30fps
HDMI 1.4 and 2.0
Dual channel LVDS up to 1920×1080@60fps
RGB LCD up to 2048×1536@60fps
4-lane MIPI DSI up to 1920×1200@60fps
4-lane eDP up to 2560×1600@60fps
LVDS up to 1920×1200@60fps
2x 4-lane MIPI DSI (Dual link: up to 3840×1920@60fps, single link: 2560×1440@60fps)
4-lane eDP up to 3840×2160@60fps
HDMI 1.4b up to 4096×2160@30fps
4-lane MIPI DSI up to WUXGA (1920×1200) @ 60 fps
1-port (4 lanes) eDisplayPort (eDP) up to WQXGA (2560×1600) @ 60 fps
HDMI 1.4a interfaces with on-chip PHY
12-bit CCIR/Camera I/F up to 5MP
MIPI CSI2 I/F up to 14MP
8/10/12-bit raw data interface
Parallel and MIPI I/F sensor
5M/8M/12M/16M CMOS sensor
8/10/12-bit YUV/Bayer sensor
1x MIPI CSI
Up to 16MP @ 37 fps
2x 4x YUV / RAW / CSI
2-ports (4/4 lanes) MIPI CSI2 interfaces
Up to 16MP @ 30fps
14-bit Bayer sensor
2x USB 2.0 Host
1x USB 2.0 OTG
2x USB host
1x USB3.0/2.0 host / device
2x USB 3.0
3x USB 2.0
2x USB 3.0
1x USB 2.0
|Ethernet||1x GMAC (RMII/RGMII)||1x Ethernet MAC||N/A||N/A|
|TS Interface||2x IN, 1x IN||No data||1x TS||1x TSI|
|PCIe||N/A||N/A||5-lane PCIe with Gen1 (2.5GT/s) and Gen 2 (5.0 GT/s) speeds||N/A|
|Audio I/F||PCM/I2S, SPDIF||PCM/I2S||PCM/I2S, S/PDIF||1x PCM, 2x I2S, 1x S/PDIF|
|Other I/Os||3x SPI, 6x I2C, 5x UART, 4x PWM, 2x DMAC, 160 GPIO||4x SPI, 7x TWI, 7x UART||3x I2C, 2x SPI, UART, Up to 64 MPIO (Multi Purpose IO)||4x I2C, 7x HS-I2C, 3x SPI, 5x UART, GPIOs, 24-channel DMA controller|
Hardware: Pipo P8 (res: 2048×1536)
Hardware: AllWinner OptimusBoard
Hardware: Tegra K1 Reference Tablet?
Hardware: Samsung Galaxy S5 (SMG900H)
|Low Cost Development Board||Currently not available, none officially announced.||Announced: OptimusBoard, PcDuino8, Cubieboard A80. No price available.||Nvidia Jetson TK1 for $192||
None with Exynos 5422, but two with the similar Exynos 5420:
Arndale Octa for $179
Announced: ODROID XU-2 (Price not available)
First some general comments:
- As details are not always available, and I had to go through thousands of pages of documentation, it’s possible some information is incorrect or missing. So I’d be grateful if anybody points out mistakes in the table.
- In L2 Cache = xx MB + xx KB refers to the cache for the bit processors (A15) + the cache for the LITTLE processors (A7) or the companion core.
- The “Other I/Os” section is mainly for reference, as I’m sure parts are missing here.
- I haven’t addressed power consumption of the different SoC, since I don’t believe numbers provided by the SoC vendors are directly comparable.
- Antutu scores are interesting to get an idea of the performance, but we should bear in mind AllWinner A80 and Tegra K1 scores appear to have been achieved with development hardware, which may not have the same thermal constraints as the tablet and smartphone used with Rockchip RK3288 and Exynos 5422.
Based on this comparison table, Nvidia Tegra K1 really seems to have the best package in terms of performance, 3D and GPGPU APIs, and peripheral interfaces such as SATA and PCIe which are missing on all other SoCs. The downsides are video encoding is only supported up to 1440p, and there’s no Ethernet MAC. That means no 4K hardware video decoding, although an article from Anandtech mentioned the company demos 4K 30 fps using the Kepler GPU. The way to add Ethernet with Tegra K1 is to use an external Ethernet Control chip and connect it to the PCI Express port, as they did for Jetson TK1 development board. It’s also likely Tegra K1 is more expensive than all other three, but it’s very versatile and could be found in various type of products: tablets, mini PCs, laptops and so on. Linux and Android are supported, and since the company seem inclined to go open source, it’s likely any Linux based OS can be supported by the platform.
Rockchip RK3288 should be one of the more cost effective platform in the table, but trade offs includes 1MB L2 cache (vs 2MB for others), an 4GB RAM limitation, the lack of USB 3.0 interfaces, and lower overall performance. However it’s the only SoC that 100% 4K ready here with HDMI 2.0, HEVC decode at up to 4K @ 60fps, as well as Gigabit Ethernet. ARM Cortex A17 should also have lower consumption compared to ARM Cortex A15, but it’s unclear how it will compare against big.LITTLE solution. This will probably remain a gray area because power efficiency will highly depend on the payload. RK3288 has already been demoed on hardware running Android and Chromium OS.
AllWinner A80 has performance very close to Tegra K1, apparently supports VP9 (N.B: However, I had been asked to remove VP9 from an AllWinner A80 graphics once), supports 4K30 video decoding, USB 3.0. Apart from the lack of SATA and PCIe interfaces, and OpenGL 4.4 support, AllWinner SoC appears to have few drawbacks compared to Tegra K1, so we’ll have to see how it compares in terms of price versus Rockchip RK3288. The company has also announced support for 5 operating systems for A80: Android, Chrome OS, Ubuntu, Windows 8, and Firefox OS. So they must have worked with Imagination Technology to support the PowerVR GPU on these OS.
Samsung Exynos 5422 appears to be just short of AllWinner A80 and Tegra K1 performance, and the company has dropped some interfaces such as SATA, PCIe, LVDS, Ethernet MAC, that makes it a little less versatile than other SoCs, and more targeted at tablets and smartphones. It’s the only SoC that supports both 8K encode and decode (H.264 and VP8 only), but lacks HEVC/H.265 hardware support. It’s also the only SoC to support eMMC 5.0, instead of just eMMC 4.5, which can potentially double the IO performance (400MB/s max instead of 200 MB/s).