1

In order to design a microarchitecture that uses the ARM instruction set architecture (ISA), one has to buy an "architectural license".[1]

However, I don't understand by what mechanism ARM can restrict use of its ISA. My understanding is that one cannot copyright an API (as per Google v Oracle). And an ISA seems like it would fit under the definition of an API.

The "Licensing" section of the x86-64 Wikipedia page seems to suggest this as well. In of itself the x86-64 ISA is not closed but what prevents others from re-implementing it are patents.

By what mechanism is ARM able to restrict implementations of its ISA behind a paid license?

2
  • I'm not sure that it actually does. You certainly need a license to use the name ARM in describing your chip's ISA, since that is a trademark. And I believe licensees get access to a test suite that verifies their chip's conformance with the ARM ISA spec. If you wanted to make a chip that implements all the ARM instructions, but isn't called "ARM", and hasn't passed ARM's verification tests, then that may well be legal, but I'm not sure it would find a market. Commented Jun 12 at 19:47
  • 3
    Please spell out all acronyms at least once. ARM and ISA and API are all acronyms which have multiple meanings.
    – ohwilleke
    Commented Jun 13 at 0:24

2 Answers 2

3

The ARM architecture is protected by patents, similar to other architectures.

For example, 32-bit coprocessor instructions are covered by US Patent 6,247,113. US Patent 11,947,962 describes a specific vector processing instruction.

Until they expire, these patents must be licensed from ARM in order to produce a compatible CPU.

ARM's licensing scheme works in two parts: an ARM architectural license allows custom implementation of the ISA. The license fee pays for technical support and required compatibility testing. When chips are manufactured, the licensee pays ARM an additional royalty per unit.

Google v. Oracle was a copyright case, for which it was decided that that Google's use was permitted under the fair use doctrine. That case did not involve patents, and there is no corresponding fair use doctrine for patents.

1
  • I think you miss the fine detail of the question. The coprocessor patent describes a particular implementation of coprocessors to execute a given instruction. Moving those instructions into the CPU itself (as Intel did in the 80486 ages ago) would sidestep that patent. Yet the ISA doesn't change by such an implementation detail.
    – MSalters
    Commented Jun 13 at 10:27
0

By what mechanism is ARM able to restrict implementations of its ISA

Lawyers, mostly.

You're right that you can do a full from-scratch implementation of the ISA. You can compile a list of recent ARM patents (patents for the core ARM instructions expired ages ago), carefully sidestepping each of those patents. The core of the ISA is the number of each unique instruction, and the number can't be patented - the idea of numbering instructions is about a century old by now.

All this won't stop ARM lawyers from harassing your potential customers. So you have an expensive task, with uncertain revenues. That's an economic reason to license the APU, not a legal one.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .