How much of the new Apple Silicon chips did Apple actually design, given that the chips’ ARM architecture is developed by another company?

437 views

Per [Wikipedia](https://en.wikipedia.org/wiki/ARM_architecture) the ARM architecture is developed by Arm Holdings, a British company. Given that the Apple M1 chip is an ARM-based chip, did Apple simply do minor customization on work mostly done by Arm Holdings or did it actually design substantial elements of the new chip?

In: Technology

5 Answers

Anonymous 0 Comments

The actual literal core inside the chip is likely licensed from ARM Holdings, who regularly update and improve their design. The number of cores, all the stuff “bolted on” around the cores within the chip, and probably to some extent the speed of the cores, is left to licensees. There may also be some modifications to the spec design as licensed from ARM also. The exact extent of Apple’s customization, though, is probably a guess at best unless one has inside info.

Imagine it like how a mower company usually purchases their motors from Briggs and Stratton, Kohler, or Honda. From there they might make some minor modifications to the engine itself, and bolt on a bunch of stuff around the engine, to make it do what they aim to do.

Anonymous 0 Comments

My understanding is that the particular ARM license being utilized by Apple leaves the actual implementation entirely up to them. An analogy might be as if you licensed the internal combustion engine. This allows you the right to produce your own engine that consists of the basic elements and principals patented by the licensor, while the decisions of materials, optimizations, and the engineering of individual elements are up to you. You are permitted to simply copy the original design in it’s entirety, or you can choose to develop bigger or lighter pistons.

In this way, every or nearly every element of the end design may be further developed by Apple. There’s really no way of knowing how much they actually chose to re-use or re-develop.

Anonymous 0 Comments

The license is needed for the instruction set architecture, not necessarily for the implementation.

Ex. if the ISA states that when the multiplication instruction (which is encoded in such and such a manner) is executed, register C should contain A*B, it doesn’t really matter how the multiplication itself is calculated. You can have a complex multiplier circuit. This would produce the correct result.

or the processor could internally do a loop for A times, adding B each time. This would also produce the correct result, albeit extremely inefficiently.

The program cannot tell the difference, because as far as it’s concerned, an instruction is one whole indivisible thing. As long as whatever it expects to happen, happens, the program will execute correctly.

As long as the processor can understand the ARM instruction set and produce the correct result for each instruction, then Apple is free to design their own implementation completely from scratch (which they probably did) and call it an ARM processor.

Anonymous 0 Comments

It’s a completely in house designed chipset. Architecture is more a specification on how things are laid out and how to use them. But it doesn’t say anything about how those things that are being laid out work or how they’re being made.

Anonymous 0 Comments

Among other things, the architecture isn’t the implementation. A great very early example of this was the IBM System360 range of computers: five computers designed by different divisions, but all using the same architecture. Each division was given a different price and performance goal: one was designed to be as cheap as possible; another to be as fast as possible, and so on.

Every sub-component a computer chip can be ‘tuned’ for power, performance, or size. If a big company knows ahead of time the software they want to be extra-optimized, and they also control the compiler and “toolchain”, they can ensure that the bits of the chip that are most heavily used by the software are optimized for speed.

For example, JavaScript code has a weird rounding mode. Most software has to just suck it up, and do a bunch of work to make the rounding mode work correctly. The Apple M1 chip is reported to have a special opcode just to handle that particular rounding mode. Result: JavaScript code would presumably run faster.