ISA — Clone ARM Legally — identical functional specs, but different op-code?
<p>We want to implement a processor that is functionally identical to ARM, but the op-codes it accepts are completely different. Hence, it cannot run an ARM binary directly. However, we can apply a simple translator, that translates from ARM op-codes into our op-codes. After translation, our processor will run the translated binary flawlessly. Does this violate ARM patent and/or copyright protections?</p>

<p>The ISA is in fact the bit that's <em>not</em> protected. The opcodes themselves are mere numbers, without a lot of meaning. A function like "add R2 to R3" needs to have a unique number, to distinguish it from "multiply R2 by R3", but this is essentially an arbitrary number.</p>

<p>Now ARM's idea to throw in a "free" shift instruction as part of the opcode <em>is</em> non-trivial, and not an arbitrary number. And by your description of the translator, you did copy that part.</p>

<p>So, in essence you copied the bits that are protected, and changed the bits that aren't. Exactly the wrong way around.</p>

copyright patents