ICube is a fabless semiconductor company developing SoCs featuring a Unified Processing Unit (UPU) that takes care of the tasks usually handle by separate CPU and GPU on typical SoCs. The UPUs are based on MVP (Multi-thread Virtual Pipeline) instruction set architecture, and are themselves called MVP cores. The company has now two SoCs based on UPU MVP cores: IC3128 and IC3228.
IC3128 is a single core / 4 thread SoC, and IC3228 is a dual MVP core / 8 threads SoC. Let’s have a look at IC3228 technical specifications:
- CPU function
- 4-way simultaneous multi-threading (SMT) in each core
- Symmetric-multi-processing (SMP), dual MVP cores
- 64KB I-cache, 64KB D-cache and 64KB local memory in each core, 256KB shared L2 cache
- Homogeneous parallel programs
- Support Pthread, OpenMP
- GPU function
- Data parallel, Task parallel, and/or Function parallel computing
- Multi-standard media processor
- Programmable unified shader
- Support OpenGL ES 2.0
- 70 million triangles / sec, 300 million pixel / sec
- System Clock – 600MHz (TSMC 65nm)
- Multi-thread Processing
- Simultaneous 8 threads (4 threads x dual core) and 8 hybrid threads
- Processing Power – 5160 DMIPS (equivalent to 4.3 DMIPS/MHz per core)
- Display System
- LCD maximum pixel clock: [email protected] (24-bit) true color,
- HDMI/DVI output capable
- Camera – 8/10 bit camera data interface
- Video – Support HD 720p H.264 decoding via pure software
- Audio – Max. 5.1 channel audio
- Memory – Support SD, SDHC, MMC card, USB mass storage device, Nand flash, NOR flash, DDR3 SDRAM
- Power Control – 10 independent power domain, 3 low power modes
- Connectivity and I/Os
- USB host/slave
- WiFi (external), 3G modem (external), GPS (external)
- 12 keypad I/O for Qwerty keyboard
- 4x UART; 2x I2C; 3x I2S; 4x SPI slave; 9x GPIO x 9; 3x PWM
- Timers – Watchdog, RTC
IC3128 has only one MVP core (4 thread) @ up to 400 MHz, supports 800×400 displays, and can decode 480p videos (H.264, MPEG4, RMVB, and ) @ 25 fps, so it’s very much a low end processor, and you could easily argue that even IC3288 is pretty much low end by today’s standards, especially when it comes to media capabilities. 5,000 DMIPS correspond to what you could get with a single core ARM Cortex A9 processor clocked at 2 GHz.
The advantage for this new architecture is that the company does not need to purchase license for processor cores, GPU cores, etc.. potentially providing a most cost effective solution, and development should not be hindered by binary blobs, and the obvious downside is that lots of work needs to be done to port software to this new architecture, but the company claims that Android 4.2 / Linux 3.4 have already been ported to the platform.
ICube also offers a reference platform based on IC3228 with a 4.3″ or 7″ display, HDMI, USB, etc.. for development and evaluation of their solution. Documentation, and Android SDK and NDK are provided with the kit.
I can’t find any product based on ICube MVP processors yet, as it’s still very new, but Rhombus Tech / Qimod has recently made a Micro Desktop prototype based on IC3128 processor, using an EOMA-68 module and a baseboard with Ethernet & USB ports (using SMIC 9514 controller), UART, a micro SD card, etc… and IC3128 price is indeed competitive as it’s supposed to sell for just $2.
There’s no publicly available documentation or source code just yet, but you may want to visit ICube website for a few more details.