Monthly Archives: September 2010

CPU review first conclusions

Let’s play with numbers

The study covered 88 CPU projects.

16 (18%) CPU have no license text and no license header in the files. To my opinion that makes them unusable, anyway most of them are also not active. In any case it show that the developer didn’t really care about how other could use his work.

At least 47 (53%) appear to be inactive. Most looks like design dropped here and forgotten. Well that’s life, but if you start a project with such core, you will end-up being your own support… not a comfortable place.

On the other hand, 24 (27%) looked really active with 13 (14%) being marked as ‘stable’ (whatever that means).

Let’s look at the category, I must admit that I didn’t fill the category for some inactive project as I didn’t look into enough detail to choose one. Also few projects are clones of legacy architecture, well this could be a category on its own…
So we have:

  • 20 (22%) embedded CPU
  • 1 (1%) high end CPU
  • 3 (3%) portable CPU
  • 41 (46%) tiny micro-controller
  • the rest being unclassified for various reason stated above.

Well I guess my limit between embedded CPU and portable CPU is kind of subjective, I would say that embedded CPU don’t need and MMU nor 64bit data path.
Anyway That’s more embedded CPU than I though, I mean I had the impression to fill only tiny micro-controller, as many small project driven by one developer are just that anyway.

29 (32%) uses GCC or provide patch to GCC. (Some CPU are clone so they kind of have it for free). And most of the embedded CPU have gcc support, and all portable and high end CPU have too.
And most tiny micro-controller don’t use GCC, except mainly AVR clones. But that’s normal, most are programmed in assembly anyway, others are so simple that writing a compiler would be longer than writing the CPU !

Continue reading

CPU review: The full list

The study items are listed on the Open Source CPUs post, especially the category description.

I’m planning to finish the current list of processor projects on OpenCores. As the list is long and for most cpu all informations are likely to be present on the OpenCores page I will just add them to the summary table. I will silently discards the one without files, as those are just useless.

I’ve gone through the whole list, there was not much more to say about most CPU, but here are some thought.

ASPIDA sync/async DLX Core

It was long since I didn’t read about some asynchronous design, if your looking for that, it might be good for you 😉

JOP: a Java Optimized Processor

I’m more a C than Java programmer but his could be a nice stuff. Just a though if it is used for a smartphone/tablet it could require a kind of virtualization to run each app in a separate context… Maybe it’s already possible, I’ve not looked into the details.

MIPS: The legal risk.

While reading Yellow Star details I found an interesting letter from MIPS on Yellow Star’s page.
I was telling about my doubts with AVR clones, at least for MIPS this was clear (in 2002), they really did not like the clones at all!
So I guess MIPS is not an option unless they change their politics to win back some ARM market share…

As usual the summary table is there: Open Cpu Study Summary.