Processors classification

Processors classification

 

Processing units in the embedded applications can be processors or microcontrollers. While microcontrollers have wide range of applications, the processing capability is always lesser compared to processors. Processor is core to the mother board design and several other commercial applications. Starting from hobby boards like Raspberry Pi to complex servers, processors are the central units around which these boards are built. Processors from various manufacturers are available in the market. Especially, the processor share of usage is bulk for PC, mobile and tablet markets. With the first popular processor “Intel 4004” available commercially in 1971, there are a large number of processors available for designing a system. These processors can be classified in a number of ways:

  • Architecture
  • Type of Cores
  • Number of Cores
  • Data Width
Architecture:

Various vendors have designed processor cores based on different design philosophies and technologies each suitable for different application scenarios.  Some of them include the ARM, PPC, x86, AVR’s, SH etc

Popular Architectures:

ARM
ARM is one of the leading suppliers of microprocessor technology, offering the widest range of microprocessor cores to address the performance, power and cost requirements for almost all application markets. Arguably ARM core offers the best Power-Performance ratio and is the most used in the battery-operated embedded segments especially with the mass proliferation of smart phones.

ARM cores are available in various computational capabilities. The latest v7 cores are available for different application scenarios such as Cortex-A series for Applications, Cortex-R for Real Time and Cortex-M for Micro-controller profiles.

ARM cores also available with different technologies like

Thumb Instruction Set – 16 bit instruction set for higher code density
Jazalle – Java Byte Code Execution
VFP – Vector Floating Point Units
SIMD – Single Instruction Multiple Data
NEON – Advanced SIMD for media processing
TrustZone – Security Extension
ARM architecture support processors in 32-bit and 64-bit core and in single-core/multi-core variants.

PowerPC
PowerPC is an acronym for Performance Optimization With Enhanced RISC – Performance Computing. This is a RISC architecture created by Apple–IBM–Motorola (AIM) alliance originally for personal computers.  PowerPC CPUs have since become popular as embedded and high-performance processors. The PowerPC is mostly known for its use in Apple’s Macs and their design is optimized for use in communication segments. Along with the i386 and the ARM, the PowerPC (PPC) is a very well supported architecture in Linux.

x86
x86 is the generic name of a microprocessor architecture first developed and manufactured by Intel. X86 architecture has been widely used in desktop and servers. While X86 processors are CISC based designs, the latest of them uses a RISC-based instruction execution unit internally.

The primary advantage is that we are very much used to these cores as they are the dominant in the PC segment. Hence any software application that works on the X86 PC also works on the embedded target with a very minimal effort. Also because of their prolonged leadership in the market, there are a numerous ready-made applications available.

The main disadvantage of X86 processor is that the power consumption is high compared to ARM processors along with limited industrial grade temperature availability. The design complexity as well as the overall cost is generally high.

AVR
The AVR is a modified Harvard architecture 8-bit RISC single chip micro-controller developed by Atmel. These cores are very popular and are very useful for low end application segments. A wide range of processors are available for selection from Atmel supporting multiple peripherals. They have also come up with 32 bit cores for powerful applications.

PIC
PIC is a family of modified Harvard architecture micro-controllers made by Microchip Technology. They are the most low cost devices and are very popular with the student community and are also used in the industrial segments. They are available in wide range of core and peripheral set options.

Type of cores:

In a multi-core processor, the cores inside may be of same or of different architectures. Symmetrical multi-core processor is the one in which the cores are identical. Asymmetrical multi-core processor unlike the former will have different cores with different instruction sets, clock speeds, and have differing memory and programming models. The big. LITTLE from ARM is an example of this architecture. The key benefit of such a model is that each of the cores is typically specialized to accomplish a specific type of task; therefore, yielding improved performance.

The main disadvantage of asymmetrical multi-core is that the application development is complex and highly application specific, whereas in symmetrical multi-core processors, it is relatively easier. Similarly the main disadvantage of symmetrical multicore is that, because the cores are designed for general use, they cannot be optimized to perform a particular type of task.

Number of Cores:

Nowadays microprocessors are available with more than one cores typically, but not limited to, 2 or 4 cores. Such multi-core processors are well-suited for multitasking environments because they offer multiple execution contexts simultaneously. Various factors need to be considered during selection of a multi-core processor including the cache availability, power consumption etc. To use the multiple cores effectively, the operating system must support the same which is a norm for major OS’s lately.

Data width:

The microprocessors are available in various data width configurations like 8-bit, 16-bit, 32-bit, 64-bit etc. Typically, a ‘n’ bit-width processor can manipulate a ‘n’-bit data in a single instruction cycle. For example, a 32-bit microprocessor will have registers of 32-bits wide and hence perform operations on a 32 bit data in a cycle than an 8-bit controller that may need more than 4 cycles to do the same process.

Higher bit-width processors will also generally come with a larger addressing capability thereby enabling heavier operating system to run. But with lower bit width, higher code density can be achieved enabling more functionality in a same amount of program memory.

Post a Comment

0 Comments