What is the arm architecture?
The ARM architecture used to be called Advanced RISCMachine (earlier: AcornRISCMachine) and is a 32-bit Reduced Instruction Set (RISC) processor architecture that is widely used in many embedded system designs.
Because of its energy-saving features, the ARM processor is well suited for mobile communications and meets its main design goal of low power consumption.
Today, the ARM family accounts for 75% of all 32-bit embedded processors, making it one of the largest 32-bit architectures in the world. ARM processors can be seen in many consumer electronics products, from portable devices (PDAs, mobile phones, multimedia players, handheld video games, and computers) to computer peripherals (hard disks, desktop routers) and even He has his presence in military equipment such as missile missile-mounted computers. There are also derivative products based on ARM design. Key products include Marvell's XScale architecture and TI's OMAP family.
ARM architecture diagram
The following figure shows the ARM architecture diagram. It consists of a 32-bit ALU, several 32-bit general-purpose registers and status registers, 32 & TImes; 8-bit multipliers, 32 & TImes; 32-bit barrel shifter, instruction decode and control logic, instruction pipeline, and data/address registers.
1
ALU:
It consists of two operand latches, adders, logic functions, results, and zero detect logic.
2
Barrel shift register:
ARM uses 32 & TImes; 32-bit barrel shifter, which can make the left shift / right shift n bits, loop shift n bits and arithmetic shift right n bits can be completed at once.
3
High speed multipliers:
Multipliers generally use the "plus one shift" method to achieve multiplication. In order to improve the computing speed, ARM uses a two-multiply method to implement “add-shift†operations based on the 2 bits of the multiplier. The ARM high-speed multiplier uses a 32-bit TIMER 8-bit structure so that the integration can be reduced. The corresponding chip area is less than 1/3 of the parallel multiplier.
4
Floating point components:
Floating-point components are available as options for ARM architectures. The FPA10 floating-point accelerator is connected to the ARM as a co-processing method and executed through the interpretation of the co-processing instructions.
5
Controller:
The ARM controller uses a hard-wired programmable logic array PLA.
6
register:
The other six processor modes except user mode are called Privileged Modes. In these modes, the program can access all system resources and can also switch processor modes arbitrarily. Among them, in addition to the system mode, the other five privilege modes are also referred to as abnormal modes.
The processor mode can be switched by software control, or it can be switched by an external interrupt or exception handling process. Most user programs run in user mode. At this time, applications cannot access system resources that are protected by the operating system. Applications cannot switch processor modes directly. When you need to switch processor mode, the application can generate exception handling and switch modes during exception handling. This architecture allows the operating system to control the entire system's resources.
When an application interrupts abnormally, the processor enters the corresponding exception mode. In each exception mode, there is a set of registers for use by the corresponding exception handler. This ensures that when entering the exception mode, the registers in user mode (guaranteeing the program running state) are not destroyed.
The system mode is not entered through an abnormal process. It has exactly the same registers as the user mode. However, the system mode is a privileged mode, and all system resources can be accessed. Processor mode switching can also be performed directly. It is mainly used by operating system tasks. Usually the task of the operating system needs to access all system resources. At the same time, the task still uses the register set in user mode instead of the corresponding register set in exception mode. This ensures that the task status will not be destroyed when an abnormal interrupt occurs.
ARM technology implementation
To thoroughly understand the implementation principle of ARM is a great learning project. Here, I hope that readers can have a general understanding of ARM after reading and follow-up can further study. Let's start the chat of this chapter with the ARM compilation base.
Assembly language is a thin syntactic layer on machine code that consists of binary-coded instructions, which our computer understands. So why don't we write code? One can imagine how painful it is to code in binary, so we'll write ARM assemblies.
However, the computer itself only recognizes the machine code and cannot run the assembly code. This requires the GNUAssembler in the GNU Binutils project of the assembler code to be installed in the machine code. Once you write a program with the extension *.s, you need to combine it with it and link it with ld:
We look at the bottom level. At the bottom, there is an electrical signal on the circuit. The signal is formed by switching the voltage to two levels, such as 0 volts (off) or 5 volts (on).
Since we can't easily tell the circuit voltage, we can only use 1/0 to write the ON/OFF mode. Then we group the 0 and 1 sequences to form a machine code instruction, which is a computer processor. The smallest unit of work, the following is an example of a machine language:
We know that the ARM processor can only perform data processing on registers, so there are two kinds of interactions with the memory: load from memory to registers, and store values ​​from registers to memory, ie ARM uses load/store (LDR and STR) models Memory access.
Usually LDR is used to load memory contents into registers, and STR is used to store the contents of registers to memory addresses. Let's take a basic example:
The first look at the buddy may be at a loss. Here's a graph to explain how ARM interacts with memory:
X86 architecture industrial computer and ARM architecture industrial computer
Difference
1
performance:
The X86 architecture industrial computer is much faster and stronger than the ARM architecture industrial computer. ARM's advantage lies in its efficiency. ARM uses the RISC pipeline instruction set and is at a disadvantage in the completion of comprehensive work, while its advantages in relatively fixed tasks can be fully realized.
2
Expansion capability:
X86-based industrial computers use a "bridge" approach to connect to expansion devices (such as hard disks, memory, etc.), and X86-based industrial computers can easily scale performance, such as adding memory, hard disks, and so on.
ARM-based industrial computers use special data interfaces to connect CPUs to data storage devices. Therefore, ARM's performance in memory and memory expansion is difficult to achieve (generally, the memory and data storage capacities have been fixed in product design). ARM-based industrial computers generally do not consider extensions.
3
Operating system compatibility:
Almost all X86 hardware platforms can directly use Microsoft's Windows system and almost all of the popular tool software, so the X86 system has unparalleled advantages in terms of compatibility.
Almost all of ARM adopts Linux operating system, and almost all hardware systems must build their own system, and they are incompatible with other systems. This also results in the inability of their application software to be transplanted, and also restricts the development and application of ARM. After the development of the Android system, the operating system of the ARM-based computer was unified, and the newly-launched ARM-based computer system had a unified, open, free operating system, which provided strong support and motivation for the development of the ARM.
4
Software development convenience and diversity of available tools:
In terms of software development, the X86 architecture is easier, simpler, and less costly than the ARM architecture. At the same time, it is easier to find third-party software (eliminating development time and costs) and software migration is easier.
5
Power consumption:
In terms of applications such as servers, workstations, and other high-performance computing, X86 occupies an absolute superiority regardless of conditions such as power consumption and usage environment; however, ARM occupies a large number of conditions due to power consumption, environment, and fixed work tasks. Big advantage.
Feature:
The lady handbag we offer here can totally satisfy your need because there are 4 different styles you can choose. It is specially designed for women who often don't know how to choose the correct bag for shopping or outdoor activities.
Color: Customizd Color
Material: PU.
Adopted from high quality material, the handbag is durable with delicate looking.
Colorful Strap design makes it fashion women accessory.
Excellent workmanship shows its elegance and make your life more exquisite.
Great gift for your friends and family.
Lady Bags,Ladies Bag,Ladies Purse,Leather Ladies Bag
Ysure Leather case 24/7 Support : 86 13430343455 , https://www.ysurecase.com