Q: Why do we need a new processor?
A:There are continuous demands for new digital devices that are cheaper, faster, and consume less power. We developed our own processor technology to provide the best values to our customers. As more and more open source software and applications become available, the software barrier for new cores and platforms will be adequately addressed by porting and deploying the open source software on the new devices. With such considerations, we decided to design a new processor based on a brand-new ISA to get the benefits of:
- Cost savings from not having to pay to license someone else’s architecture license.
- Freedom to innovate in performance and functionalities without being encumbered to an old ISA with out-of-date features.
- Ability to cater to the computational needs of multiple application domains.
- Ability to optimize by exploiting the evolving semiconductor process technology.
Q: What makes MVP better than existing processors?
A: MVP is more cost-efficient than existing processors and is better positioned to ride the performance curve projected by Moore’s law, which in turn allows it to adequately meet the needs of emerging applications. For example, by providing performance efficiently through parallel computing, MVP’s underlying design and structure is very suitable for today’s and tomorrow’s parallel programs. Moving forward, such cost efficiency will only become more significant as the performance requirements from emerging digital gadgets continue to increase.
Q: What products does ICube offer?
A:An SoC targeting embedded and hand-held devices with our own core processor technology based on parallel computing. We also provide the linux and Android operating systems, reference board designs and software tool sets for application development and migration.
Q: If I am currently using a chip that is based on another processor, can I just switch to MVP-based SoC without any efforts?
A:No, chips cannot be simply swapped and expected to work. However, the boards incorporating such chips could be modified and made to work with the MVP-based SoC without much efforts, as long as the board has features similar to our reference board. For example, if the board under consideration is Android-based but uses another processor chip, then it should not take much effort to switch to a design based on our reference board for Android.
Q: If I have an application written in C/C++ that is already functional on an existing processor, is it easy for me to port it to MVP? What if it is written in some assembly language?
A:The process of porting to MVP involves re-compiling the C/C++ application using the MVP compilers that we provide. Programs written in other assembly languages need to be re-written using MVP assembly language. We provide documentation and tools to support such porting efforts. We will provide technical support until you have come up-to-speed.
Q: Why parallel computing ?
A:As more and more sophisticated applications and digital gadgets emerge, they exert ever greater performance demands on the processors. Increasing the processor’s clock frequency is not a viable solution because high clock frequencies incur much greater power consumption. The trend is towards multi-core and multi-threaded chips which can provide balanced performance in a more efficient way. That is parallel computing.
Q: There are not that many applications designed to run in parallel today. How can people take advantage of MVP’s parallel execution capabilities?
A:MVP can be used as if it is a multi-core processor. A multi-tasking operating system will treat MVP as a SMP target to run multiple processes simultaneously without any need of application changes.
Q: Why Android?
A:Openness. Android, based on Linux, is an open source and free operating system that promotes third-party application innovation. More than a million applications are already available on Android. Applications developed using the Android SDK are Java-based, and thus processor-independent. In addition, Android has already been ported to a few processor architectures.
Q: If I am currently using an ASIC chip for a specific function that I am targeting, can I switch to an MVP-based SoC?
A:Not always. MVP is a general-purpose processor. It is cost-efficient from the general-purpose point of view. But it may not be faster than an ASIC approach for a fixed function. MVP is more suited to systems that can stay programmable while still meeting its performance requirements.
Q: Would a quad-threaded MVP core running at 600 MHz have the same performance as a single-core, single thread processor running at 2.4 GHz?
A:It depends. When the quad-threaded core has 4 tasks running, the overall throughput for the 4 tasks is the same as that on the single core with four times the clock frequency. If there is only one running task that needs the entire 2.4 GHz performance, then the quad-threaded core will not be able to satisfy the performance requirement of that single task. However, if the single task has enough coarse-grained parallelism, then the single task can be parallelized to fully utilize the quad-threaded core’s computational resources, in which case the performance for that parallelized task would be the same between the quad-threaded 600 MHz MVP core and the single 2.4 GHz core. Parallelizing the program involves re-programming the application according to some standard parallel application programming interfaces (APIs).
Q: If I need a processor that needs to simultaneously handle 4 tasks in 600 MHz, what is the difference between doing that on MVP and doing that on a 2.4 GHz serial processor?
A:No difference in operating performance, but MVP has one additional advantage that relates to the context switches and their accompanying data movement. In the serial processor with higher clock frequency, the non-duplicated processing resources are time-shared among the multiple tasks. Whenever the processor switches its processing from one task to another, the current task’s computation state needs to be saved before changing over to work on the new task. Eventually, processing will switch back to the old task and its previous computation state will need to be restored. Such switching incurs overhead in processor cycles and power consumption. On MVP, each task runs simultaneously with the other tasks. Each task uses its own dedicated machine resources that are available to it all the time. In addition, any computational resource that is not being made use of by a task can be dynamically allocated to another task that can make use of it on a cycle-by-cycle basis. This results in much greater utilization, throughput and efficiency.