Introduction to cortex series arm kernels
Author: Yang Shuo,Hua Qing vision embedded college lecturer.
As we all know, arm companies in the UK are the best embedded microprocessor in the world. Arm has always developed its own microprocessor kernel architecture, and then authorized the intellectual property rights of these architectures to various chip manufacturers for a streamlined CPU architecture, the efficient processing capability and successful business model allow arm to achieve great success, so that it quickly occupies most of the market share of 32-bit embedded microprocessor, and even now, ARM chips in the netbook market also have a high level of strength with Intel's Atom processor.
At present, with the increasing requirements on embedded systems, the comprehensive performance of the embedded microprocessor as its core has also been severely tested. The most typical example is the promotion of 3G networks, the local processing capability of mobile phones is very demanding. Now, the processing capability of a high-end smartphone is almost the same as that of a laptop a few years ago. To meet the market demand, arm is also stepping up its R & D of their latest ARM architecture. The cortex series is such a product. Before cortex, arm cores are named with the arm prefix, from arm1 to arm11, and then the cortex series. Cortex has the meaning of cerebral cortex in English, and cerebral cortex is the core part of the human brain. It is estimated that arm has such a meaning.
I. armv7 architecture features
The following table lists the development history of the ARM microprocessor core and architecture:
Table 1: Development History of ARM microprocessor core and architecture
We can see that the cortex series belong to the armv7 architecture, which is the latest instruction set architecture of arm. The Samsung S3C2410 chip we are familiar with is the armv4 architecture, the at91sam9261 chip of ATMEL is the armv5 architecture.
The armv7 architecture was born on the basis of the armv6 architecture. This architecture uses the thumb-2 technology, which is developed based on the thumb code compression technology of arm, it also maintains complete code compatibility with existing arm solutions. Thumb-2 technology uses 31% less memory than pure 32-bit code, reducing system overhead. At the same time, it can provide 38% higher performance than the existing thumb-based solutions. The armv7 architecture also uses neon technology, which improves DSP and media processing capabilities by nearly four times and supports improved floating-point operations, meet the needs of the next generation of 3D graphics, game physical applications, and traditional embedded control applications. In addition, armv7 supports improved runtime environments to cater to the use of the ever-increasing JIT (just in time) and DAC (dynamicadaptive compilation) technologies. In addition, the armv7 architecture also provides good compatibility for early ARM processor software.
The armv7 Architecture defines three series with clear division of labor: "A" series oriented to cutting-edge virtual memory-based operating systems and user applications; and "R" series oriented to real-time systems; the "M" series provides optimizations for microcontroller and low-cost applications. Compare the V5 to V7 architectures:
Figure 1: Architecture comparison between V5 and V7
Due to different application fields, the cortex processor series based on V7 architecture also adopt different technologies. The cortex-A series based on v7a is called the cortex-R series based on v7r, v7M-based cortex-M series. The following is a one-to-one introduction.
2. Cortex-A8
Cortex-A8 first application processor based on armv7 architecture. Cortex-A8 is arm's most powerful processor ever, with a clock speed of MHz to 1 GHz. A8 can meet the needs of various mobile devices. Its power consumption is less than 300 MW, while its performance is as high as 2000 MIPS.
The Cortex-A8 is also the first Super scalar processor in arm. In the design of this processor, new technologies are used to improve code efficiency and performance, and neon Technology Dedicated to multimedia and signal processing is used. At the same time, we also adopt the jazelle RDBMS technology to support pre-compilation and real-time compilation of Java programs.
For Cortex-A8, arm provides a new function library (artisan advantage-Ce ). The new library functions can effectively increase the exception handling speed and reduce power consumption. In addition, the new library function provides an advanced memory leakage control mechanism.
The Cortex-A8 processor uses advanced branch prediction technology and has a dedicated neon integer and floating point assembly line for media and signal processing. Cortex-A8 processors run at a frequency higher than 4 mm2 MHz (excluding neon tracing and secondary high-speed buffer memory) when less than 600 wafers and a low power 65 nm process are used ). In high performance 90 nm and 65 nm processes, the Cortex-A8 processor can run at a maximum frequency of 1 GHz, can meet the needs of high performance consumption product design.
Cortex-A8 for the first time brought desktop-level performance to low-cost, high-capacity products. The latest iPhone and Android mobile phones are based on Cortex-A8 kernel chips.
The system diagram of the Cortex-A8 is as follows:
Figure 2: system diagram of Cortex-A8
The detailed diagram is as follows:
Figure 3: detailed system diagram of Cortex-A8
Cortex-R4.
Cortex-R4 is the ARM kernel which is developed by arm, which is mainly oriented to real-time control fields, such as automobile brake control. This field requires high real-time performance of processor response interruption, and to save the cost as much as possible, and many customers do not need to increase the working frequency, can improve the operational performance, so in the design process of the Cortex-R4, the best position of the working frequency is 300 MHz. High-speed memory is required, and the design of the clock tree is more complex. As a result, a reasonable method is to increase the average number of commands executed per unit cycle by adopting the over-standard structure. The operation performance per unit operating frequency of Cortex-R4 is 1.62 MIPS (converted by dhrystone)/MHz, which is significantly higher than about 1.2 MIPS/MHz of ARM9. The size of Cortex-R4 circuit is only slightly higher than that of ARM9. but it can be closer to the operation performance of Cortex-A8.
The system diagram of the Cortex-R4 is as follows:
Figure 4: Cortex-R3 system diagram
4. Cortex-M3
Arm cortex-M series are embedded applications (such as microcontroller, vehicle body control system, and various large appliances) that are sensitive to development costs and require small breaks in performance) designed mainly for the single-chip microcomputer field, it can be said that it is a perfect replacement for 51 Single-Chip machines.
The system diagram of the Cortex-M3 is as follows:
Figure 5: Cortex-M3 system diagram
The speed of Cortex-M3 is 1/3 faster than that of ARM7, the power consumption is 3/4 lower, and smaller chip area can be achieved, which is conducive to integrating more functions into smaller chip size. The Cortex-M3 processor combines a 32-bit Harvard microarchitecture and system peripherals that execute thumb-2 instructions, including nested Vec-tored interrupt controller and arbiter bus. This technical solution demonstrates high performance in testing and instance applications: the chip performance can reach 180 dmips/MHz and the clock frequency is as high as 1.2 MHz under the electromechanical 100 nm process.
In the field of industrial control, users require faster interrupt speed, Cortex-M3 adopts the tail-chaining interrupt technology, completely based on hardware interrupt processing, can reduce the number of 12 clock cycles, in actual applications, 70% interruptions can be reduced.
V. Summary
The arm cortex processor series are based on the armv7 architecture. In terms of size and performance, there are both cortex-M series with less than 33000 door circuits and high-performance cortex-a series. Among them, the cortex-A series is designed to run consumer entertainment and wireless products including Linux, windows, CE and Symbian operating systems; the arm cortex-R series is designed for systems that need to run real-time operating systems to control applications, including automotive electronics, networks, and image systems. The arm cortex-M series are designed for the microcontroller field, designed for embedded applications that are sensitive to development costs and constantly require performance. It can be seen that with the increasing demand for applications in various fields, the microprocessor market is also becoming more diversified.
Reprinted from: http://www.embedu.org/Column/Column204.htm