Saturday, 5 April 2014

Krait 300 Vs cortex a7 (Snapdragon 400)

Krait is an ARM-based central processing unit included in Qualcomm Snapdragon S4 and Snapdragon 400/600/800 (Krait 200, Krait 300 and Krait 400) System on chips. It was introduced in 2012 as a successor to the Scorpion CPU and has architectural similarities to ARM Cortex-A15.

The ARM Corte-A7 processor is the most efficient application processor ARM has ever developed and dramatically extends ARM’s low-power leadership in future entry level smart phones, tablets and other advanced mobile devices. 

And coming to the point, Qualcomm's Snapdragon 400 have different versions. In first processor, it has dual Krait 300 cores while in second, it has quad cortex a7 cores. Now, which should you choose. Don't worry, We are here for you.

Galaxy grand 2 flipkart


Krait 300

In usual Qualcomm fashion, we're missing good depth on exactly what these new revisions deliver. This is one area where Qualcomm really needs to emulate Intel: we know more about Haswell than we do about the original Krait.
That being said, here's what we do know. Krait 300 is still built on TSMC's 28nm LP process, just like the original Krait. The pipeline remains unchanged, but Qualcomm is able to squeeze out higher clocks out of the core. It's unclear whether we're simply talking about voltage scaling or a combination of that and improvements to timing, yields and layout. Whereas the current Krait core tops out at around 1.5GHz, Krait 300 will run at up to 1.9GHz. 
Another big addition to the architecture is Krait 300 now features a hardware data prefetcher that preemptively grabs data out of main memory and brings it into L2 cache. The original Krait core had no L2 prefetchers.
Single threaded IPC improvements are the name of the game with Krait 300 and like all good evolutions to microprocessor architectures, the new Krait improves branch prediction accuracy. Since there's no increase to pipeline depth, improved branch prediction directly results in improved IPC (and better power efficiency).
Both Qualcomm and ARM have been very vague about what types of instructions can be executed out of order, but Krait 300 can execute more instructions out of their original program order. Building a robust OoOE (Out of Order Execution Engine) is very important to driving higher performance, and being able to reorder more types of instructions directly impacts single threaded performance.
Krait 300 now supports forwarding between pipelines, although it's not clear whether or not the previous architecture lacked any ability to forward data between stages. 
Finally Krait 300 improves FP and JavaScript performance. Once again, it's not clear how. I've asked Qualcomm whether there have been any changes to the execution units in Krait 300 to enable these improvements. In general I believe we're looking at around a 15 percent increase in performance at the same clock frequency, for a jump of 20 to 30 pecent overall with the clock increases. This isn't necessarily enough to close the gap between Krait 300 and ARM's Cortex A15, however Krait 300's power profile should be much better. Compared to Atom, the Krait 300 improvements should be enough to at least equal performance if not surpass it, but not necessarily significantly.


Cortex A7

In order to learn exactly how different apps and parts of the Android OS stress the CPU, with the result that the team could design the A7 to fit the needs and characteristics of real-world smartphones. So in a sense, the A7 is the first CPU that's quite literally tailor-made for Android, although those same microarchitectural optimizations will benefit any other smartphone OS that uses the design.

We compared the models below
Moto X - 1.7 GHz MSM8960 Pro (2x Krait 300 CPU, Adreno 320 GPU)
Moto G - 1.2 GHz MSM8226 (4x ARM Cortex-A7, Adreno 305 GPU)

Now coming to the benchmarks

3DMark Unlimited - Physics Test
SunSpider Javascript Benchmark 1.0 - Stock Browser
Mozilla Kraken Benchmark - 1.1
Google Octane Benchmark v1
Vellamo Benchmark - 2.0
AndEBench - Java
AndEBench - Native

Final verdict
As expected, single core Krait 300 performs far better than single core cortex a7, but is more power hungry.Krait 300 didn't shorten the gap between krait and cortex a15, but is far ahead of cortex a7.

(Source : Anandtech, Wikipedia)