The foundation of embedded POS machine - ARM architecture

Publisher:梦回归处Latest update time:2016-06-23 Source: eefocus Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
In the embedded field, the name of ARM (full name Advanced RISC Machines) is well-known. In the 32-bit market, ARM architecture products occupy up to 75% of the market share and occupy a monopoly position. The patent holder of this architecture is ARM. Founded in 1990, ARM is actually the product of the cooperation of three companies: Arcon, Apple and VLSI. At that time, Acron needed to develop a processor for their Archimedus computer, Apple also sought a RISC architecture product that could replace Motorola's 68000 CISC processor, and VLSI intended to design a streamlined and efficient RISC processor for integrated systems. It is quite dramatic that none of the three companies ultimately achieved their goals, but the ARM architecture was carried forward in the embedded field that they had never thought of.


ARM architecture - ARM's development history and product features

Unlike Intel, AMD and other semiconductor companies that integrate design, manufacturing and sales, ARM has never been involved in chip manufacturing and sales. Since its establishment, the company has always been selling the results of chip research and development to major semiconductor manufacturers as an IP (Intelligence Property) provider. After purchasing IP core licenses, major semiconductor manufacturers can conduct in-depth design on this basis, and then manufacture products and bring them to market. This strategy allows ARM to achieve specialization while also creating a huge ARM kingdom. The CPU core of the ARM architecture has the advantages of low power consumption, low cost, and high performance, and has won strong support from many semiconductor companies. There are more than 70 large companies that produce ARM architecture embedded processors. Each company has its own set of solutions. Together with the derivative products developed by other manufacturers, the ARM architecture has finally blossomed in the 32-bit embedded market and is extremely widely used.
Among the ARM core family, ARM7, ARM9, ARM10 and ARM11 have the greatest influence and have been adopted by heavyweight semiconductor companies including Intel, Texas Instruments (TI), Qualcomm, Motorola, and Atmel. So far, 80% of the world's GSM/3G mobile phones, 99% of CDMA mobile phones and most PDA products use ARM-based embedded processors.

ARM's leading low-energy consumption characteristics can be said to have played a major role. Embedded applications that were just starting out did not demand high computing performance, but were quite sensitive to chip power consumption. Compared with other solutions of the same period, the energy efficiency ratio of the ARM architecture is very obvious: although the 325MHz ARM1020E processor has the lowest absolute performance, under the premise of consuming the same amount of power, its performance far exceeds that of IBM's PowerPC 750, Motorola MPC7455 (Apple's G4+ processor), PowerPC7400 (Apple's G4 processor) and NEC's VR5500 processor, and its energy efficiency ratio is extremely outstanding.

In addition, the application solution of the ARM architecture is very flexible. Since ARM only provides an efficient and streamlined core, each semiconductor manufacturer can design applications according to their own needs. The architecture is flexible and simple, and has strong scalability. For example, manufacturers can add related instruction sets for multimedia signal processing, or add efficient execution units for Java-related applications, or add 3D graphics coprocessors, etc. High scalability also allows ARM to have many derivative architectures, such as Dargonball, StrongARM and XScale architectures popular in the PDA field, which also belong to the ARM system. The third advantage of ARM that has a decisive influence is that it has a large amount of software support. The three major commonly used systems, including Windows CE, Symbian and Palm OS, are designed based on the ARM architecture. Although handheld devices using embedded Linux operating systems are not very common, they are also based on ARM. At present, ARM has firmly occupied the market of mobile phones, PDAs and other handheld electronic products. These fields pay great attention to software compatibility and design continuity. There is no doubt that ARM will continue to maintain its advantages. There may be many other embedded processors with more excellent performance, but this is not the only factor that manufacturers have to consider. In fact, streamlined hardware core, ultra-low energy consumption, flexible design, software support and rich development tools are all the technical foundations for the success of ARM architecture. 

ARM Architecture - Evolution of ARM Core Design 

Throughout the history of ARM development, technological innovation and process progress have become two major driving forces, which is well reflected in the development process from ARM7 core to ARM11 core. ARM7 only has a simple three-stage pipeline structure including "pre-fetch (Fetch), decode (Decode) and execute (Execute)" units. When using 0.18 micron process, the core area is less than 0.8 square millimeters (different models of ARM7 have different core areas), and its clock frequency is between 50MHz and 110MHz. The computing power corresponding to each MHz is 0.9 Dhrystone MIPS (Dhrystone: a comprehensive benchmark program that tests the integer performance of the processor; MIPS: millions of instructions per second), and the maximum power consumption is 0.4 milliwatts. The later ARM9 core increased the pipeline to five levels and added two new units: memory access (Memory) and write (Write) - the increase in the processor pipeline is conducive to increasing the operating frequency, but at the same time it will bring about the problem of reduced instruction execution efficiency. The highest frequency of the ARM9 core has been raised to 220MHz, which is twice as high as the ARM7 series. At the same time, the instruction performance of ARM9 is also higher than that of ARM7, reaching 1.05 to 1.1 MIPS per MHz frequency, which should be attributed to the multi-faceted improvements of AMR9 in peripheral design. The high frequency plus high instruction efficiency has made the ARM9 core achieve a very obvious performance improvement, which is also the main reason why it is widely sought after by the industry. However, due to the increase in the number of transistors, the chip area of ​​the ARM9 core has also increased slightly to 1.1 square millimeters, and the power consumption range is between 0.85 and 1 milliwatt per hertz.

In the ARM10 core, the pipeline length is further increased to six levels. It adds a "send (Issue)" unit between the pre-fetch and decode units, and the introduction of the 0.15-micron manufacturing process has made the highest frequency of ARM10 exceed 400MHz. ARM10 uses the more advanced V5T instruction set (all previous ARM7s and most ARM9s are V4T versions), and has made great optimizations to the logical architecture (such as using a return stack to reduce the waiting time when a subroutine returns), which greatly improves execution efficiency. Ultimately, its instruction execution performance has increased to 1.24 Dhrystone MIPS per MHz. The soaring operating frequency coupled with higher instruction performance has greatly improved the overall performance of ARM10. However, the number of transistors in ARM10 has also increased a lot. Fortunately, with the help of the 0.15-micron process, its core area has been successfully controlled at the level of 10 square millimeters (with 64KB cache), and the power consumption level has been maintained at 0.85 milliwatts per hertz. The energy efficiency ratio is basically the same as that of the previous generation ARM9. The overall performance is quite outstanding, and it is not a problem to be widely used.

The ARM11 core was released in October 2002. In order to meet the increasingly stringent performance requirements of PDAs, ARM expanded its pipeline length to 8, including pre-fetch, decode, send, conversion/MAC1, execution/MAC2, memory access/MAC3 and write, which belong to the ARM V6 instruction set architecture. ARM11 uses the most advanced 0.13 micron manufacturing process at the time, and the operating frequency can reach up to 500 to 700MHz. If the 90 nanometer process is used, the operating frequency of the ARM11 core will easily reach 1GHz - for embedded processors, this is obviously a very amazing number. Secondly, the logical core of ARM11 has also undergone a lot of improvements, the most important of which is the "static/dynamic combination conversion prediction function". The execution unit of ARM11 contains a 64-bit, 4-state address conversion buffer, which is mainly used to store the most recently used conversion addresses. When the dynamic conversion prediction mechanism is used and the correct address cannot be found in the address buffer, the static conversion prediction function will immediately take its place. In actual tests, the accuracy of dynamic prediction alone is 88%, and the accuracy of static prediction alone is only 77%. The static/dynamic prediction combination mechanism of ARM11 can achieve a high accuracy of 92%. In order to solve the problem of increased energy consumption caused by high speed, ARM11 introduced an intelligent power management technology called "IEM (Intelligent Energy Manager)", which can dynamically adjust the voltage of the processor according to the task load, thereby effectively reducing its own power consumption. This series of improvements allows ARM11 to continue to improve its energy efficiency ratio. On average, it only consumes 0.6 milliwatts of electricity per hertz frequency (0.8 milliwatts when there is cache), and the processor's highest performance can reach 660 Dhrystone MIPS, far exceeding the previous generation of products.

ARM11 has also been greatly enhanced in terms of extended functions, such as supporting single instruction multiple data (SIMD) instructions, which can allow applications that use specific algorithms to achieve two to three times more efficient execution. It supports JAVA decoding function, which is extremely efficient when running Java programs, which has a very positive significance for platforms where Java programs are popular, such as mobile phones and PDAs. Furthermore, ARM11 can cooperate with "coprocessors" to complete some specified tasks, which also allows it to adapt to more applications. In addition, ARM11 supports "TrustZone" security technology, which can identify the system's security code and data, and ensure that they are safely and effectively run simultaneously in the operating system, which can prevent attacks from viruses and malicious codes without sacrificing any system performance. I believe this has strong practical value for digital devices that focus on information security, such as set-top boxes, new generation smart phones, payment devices, network equipment, and mobile phones.

 

Reference address:The foundation of embedded POS machine - ARM architecture

Previous article:ARM architecture learning-uboot analysis of start.S
Next article:Analysis of x86 architecture and arm architecture processors

Recommended ReadingLatest update time:2024-11-16 13:38

ARM compiler 4-byte alignment
(1) Assume that there is only one char global variable with an initial value, then the system will allocate a 4-byte storage space in the data area to store it. In fact, only 1 byte is used, but in order to align the 4-bytes, 4 bytes have to be allocated, so 3 bytes will be wasted. (2) Assume that a char global variab
[Microcontroller]
LCD ARM programming method, how to write LCD Linux program?
  LCD programming design based on ARM processor:   With the rapid development of single-chip microcomputer technology, new instruments and meters are showing a trend of simple operation and portability. LCD modules can meet the growing requirements of embedded systems. They can display Chinese characters, letters and
[Microcontroller]
LCD ARM programming method, how to write LCD Linux program?
Pointer variable replacement method for ARM-CortexM0/M0+ microcontroller
introduction CortexM0/M0+ is a low-end ARM core of RISC type. Its instruction set is compatible with high-end ARM. It is far superior to traditional 8/16-bit CISC (complex instruction stream) CPUs represented by 8051, 68S08/12, etc. in terms of performance, power consumption and price. At present, various semiconducto
[Microcontroller]
Pointer variable replacement method for ARM-CortexM0/M0+ microcontroller
Processor architecture (XII) Differences and similarities between various versions of ARM architecture
Different release time 1994 v4 1998 v5 2002 v6 2005 v7 2011 v8 2021 v9 What does the architecture define? 1 https://community.arm.com/cn/f/discussions/2471/armv7-armv8/13977#13977
[Microcontroller]
Processor architecture (XII) Differences and similarities between various versions of ARM architecture
Make the mnt folder of the arm development board visible as a mount in the Linux virtual machine
We need to strictly distinguish 1. Host 59.68.190.113, 2. Virtual machine linux 59.68.190.128, 3. ARM development board file system 59.68.190.100. 1. The steps of mounting are to start the nfs network service in the virtual machine linux with the command sudo /etc/init.d/nfs-kernel-server restart, and then use mount -
[Microcontroller]
Summary of ARM registers
1) 31 general registers, including the program counter (PC). These registers are all 32 bits; 2) 6 status registers. These registers are also 32 bits, but only 12 bits are used. ARM general registers General registers (R0-R15) can be divided into three categories: ungrouped registers R0~R7; grouped registers R8~
[Microcontroller]
goAhead 2.5 embedded web server ported to arm9 2440 + linux
Summary of this article: This article describes in detail the process, steps, problems encountered and their solutions for porting goAhead 2.5 to the S3C2440 Linux system. Development Environment:         Host: window XP;         Virtual machine: Ubuntu 9.10;         Cross compiler: arm-uclibc-gcc (arm-linux-g
[Microcontroller]
Design of Embedded Vision System Based on ARM and CPLD
Introduction: A low-cost embedded vision system is built, which consists of a CMOS image sensor, CPLD, ARM7 microprocessor and SRAM. Among them, the CPLD recognizes the timing, which solves the problem of strict timing synchronization and bus competition of dual CPUs sharing a SRAM in the image acquisition system;
[Embedded]
Design of Embedded Vision System Based on ARM and CPLD
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号