Previously we experimented with an 8-bit 6502 architecture when converting opcode to machine language. In modern technology, such as tablets and android phones, 32-bit and 64-bit architecture are use. Thus, ARM introduced ARMv8 which supports AArch with 32-bit and 64-bit.
ARM does not produce chips. ARM designs the chips and licenses the chips that allows the licensee, a company, to implement the designs to their devices. This is called a design licensee. This allows companies to focus on other IP (intellectual property) such as GPU and radios. These can all be implemented using a System-on-a-Chip, which means that all the IP are on one single chip. System-on-a-Chip is beneficial because of the convenience of creating a fully functioning system. If a licensee were to design their chip based on ARM’s architecture, than only a PHY (physical level circuit), RAM, flash, and power controller are needed to complete a fully functioning system.
Although ARM offers licensees a convenient way to implement their architecture into their devices, it does have the draw back of overloaded features. The features that are offered with the ARM architecture surpass the amount of pins on the chip. A pin multiplexor system (PinMux) is used to select which signals are currently exposed to system-on-a-chip’s pins. This means that a group of pins dedicated to handling certain features, such as SPI (serial peripheral interface) or input/output peripherals, but can only call one feature at a time. This is one of the ways that ARM chips are produced and implemented into devices.
Another way that ARM allows companies to produce and implement the chips onto devices is through an architectural licensee. This allows the licensee to develop their own implementation of the ARM architecture. This allows licensees to modify the architecture, such as the instruction architecture set.
Unlike the design license, architectural license can implement their own IP and customize the PinMux to handle features that the licensee decides to put on the chip. A chip using ARM’s architecture and one that is designed by a company may produce differences in performance and optimization for the implementation of the chip. In order to perform an appropriate optimization a “cost table” can be used with the compiler to allow the compiler to select the optimal combinations of instructions to carry out for a specific task. Although architectural license gives the licensee full control over how their chip will be designed, it also requires more technical knowledge then implementing a chip as a design licensee.
In conclusion, ARM’s architecture can support 32-bit and 64-bit instruction architecture sets. These instruction architectures are called AArch32 and AArch64. Also, ARM’s architecture are mostly implemented as a System-on-a-Chip. Finally, ARM does not manufacture chips, but licenses out their designs to two types of clients, a design licensee and architectural licensee. The difference between them is the ability to modify ARM’s chip architecture such as instruction architecture set.