Close

Polaris CPU Family Needs New ... Number?

A project log for Kestrel Computer Project

The Kestrel project is all about freedom of computing and the freedom of learning using a completely open hardware and software design.

samuel-a-falvo-iiSamuel A. Falvo II 10/09/2016 at 03:392 Comments

I just found out that AMD has a GPU named Polaris. This sucks for me. GPUs and CPUs are too close for trademark disambiguation on the basis of design origin or maturity, and AMD has a lot more lawyers than I do (namely, greater than zero). Therefore, I'm looking to pre-emptively avoid a cease and desist from AMD's lawyers for my CPU design.

(The Kestrel Computer Project is no stranger to these things happening; this is not the first time I've had to do a pre-emptive name change. Such is the life of a project with no legal representation or funding.)

This reminds me of when Intel made the decision to adopt the name Pentium instead of market their chips as the 80586. Intel realized that, as long as they tied their architecture to a number, they could not trademark anything about the processor architecture. That was bad for Intel, because it meant competitors like AMD could just implement their own clones and market them as Am586 or some similar part number, with data sheet headings clearly implying Intel compatibility without actually naming Intel or their competitive hardware by name.

I want exactly the opposite for the Kestrel and its chip/core designs. I want wide-spread press, use, cloning, forking, etc. Thus, I think the Kestrel's family of cores need part numbers, not names.

(I know; it's totally arbitrary. But, still...)

All of the nicely marketable numbers are taken though. You know the numbers: those that resonate and leave a mental imprint in your mind of how awesome they were. I'm talking about the 1802, 6502, 65816, 680x0, 6800, 6809, Z80, 9900, 99000, etc. Even Sifive, Inc. is using the technique, with their U500 and E300 products.

Notice a pattern? All of those numbers just roll off the tongue, because, at least in American English, they have between 3 and 5 syllables. Eighteen-oh-two (4), Sixty-five-oh-two (5), Six five eight one six (5), sixty-eight thousand (4), and so forth. It seems that any family number the Kestrel hardware ends up with should similarly have such syllabic constraints. As far as I can tell, only the family name..er..number needs to meet this constraint. Example: neither Motorola's 68882 nor Commodore's 6561 number complies (7 and 6 syllables, respectively, again assuming American English).

I'd love feedback on this; what number should I use to identify a family of Kestrel-related FPGA cores? Remember that the family includes not only better CPUs, but also peripherals as well. Some cores I have so far:

I have plans to make the following:

Longer term, I am going to consider a variety of updates to the processor too, including more aggressive pipelining; M, F, and D ISA extensions, MMU support, caching, etc. (At least up until the point that porting Rocket core directly becomes feasible.) If I stuck with names, then Polaris-II, Polaris-III, etc. are natural names for the enhancements. But, if I don't have names?

What do you think? Let me know in comments. Thanks!

Discussions

Samuel A. Falvo II wrote 10/09/2016 at 05:43 point

Thought to myself: "CSG used 45, 65, 75, and 85 prefixes for their parts. Maybe I can use 55. CPU can be KCP55000, MGIA can be KCP55001, etc. I kinda like it!"

Refining the thought further, maybe 51xxx for Kestrel-1, 52xxx for Kestrel-2, and 53xxx for Kestrel-3?  Hmmm.

  Are you sure? yes | no

Samuel A. Falvo II wrote 10/09/2016 at 03:50 point

Feedback recorded from Twitter for posterity: 69000, "Sinciput" (good family name, if a number cannot be decided on), K1000, 666502 (LOL), and something in the Nxxxx family (where N != 2 (Alpha), 3 (NS32000), 6 (Motorola 68K), 8 (Intel), or 9 (TI)).  Also, -1/12 and 0.577.  Also, KRP01 (for Kestrel RISC Processor #1).

  Are you sure? yes | no