ARM architecture/features (processors)

Publisher:龙爱泉也Latest update time:2021-07-07 Source: eefocusKeywords:ARM Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

The ARM architecture supports implementations across multiple performance points and has become the dominant architecture in many market segments. The ARM architecture supports a very wide range of performance points, allowing extremely small ARM processor implementations and extremely efficient high-level design implementations to be achieved using the latest microarchitecture technologies. Implementation scale, performance and low power are key features of the ARM architecture.


ARM has developed architectural extensions to provide support for Java acceleration (Jazelle®), security (TrustZone®), SIMD and Advanced SIMD (NEON™) technologies. The ARMv8-A architecture adds cryptographic extensions as an optional feature.


The ARM architecture is similar to the Reduced Instruction Set Computing (RISC) architecture in that it contains the following typical RISC architectural features:


Unified register file load/store architecture, in which data processing operations are performed only on register contents and not directly on memory contents.


Simple addressing mode, all load/store addresses are determined only by register contents and instruction fields.


Enhancements to the basic RISC architecture allow ARM processors to achieve a good balance of higher performance, smaller code size, lower power consumption, and smaller silicon area.

1.jpg

A32 (ARM) architecture/features


ARM (often referred to as A32) is a fixed-length (32-bit) instruction set. It is the base 32-bit ISA used in the ARMv4T, ARMv5TEJ, and ARMv6 architectures. In these architectures, the instruction set is used in application areas that require high performance, or for handling hardware exceptions such as interrupts and processor startup.


For performance-critical applications and legacy code, the Cortex™-A and Cortex-R profiles of the Cortex architecture also support the ARM ISA. Most of its features are included in the Thumb instruction set introduced with Thumb-2 technology. Thumb (T32) benefits from improved code density.


ARM instructions are 32 bits long and need to be aligned on 4-byte boundaries.


Most ARM instructions can be "conditionalized" so that they are executed only if a previous instruction has set a certain condition code. This means that the instruction will only have its normal effect on the programmer's model operations, memory and coprocessors if the N, Z, C and V flags in the application status register satisfy the conditions specified in the instruction. If these flags do not satisfy this condition, the instruction acts as a NOP, i.e. execution proceeds normally to the next instruction (including any relevant checks for exceptions), but no other effects are taken. This conditionalization allows small parts of if and while statements to be encoded without the use of jump instructions.


Condition code N: Negative condition code, set to 1 if the result is negative


Condition code Z: Zero condition code, set to 1 if the result of the instruction is 0


Condition Code C: Carry condition code, set to 1 if the instruction generates a carry condition


Condition Code V: Overflow condition code, set to 1 if the instruction generates an overflow condition.


T32 (Thumb) Architecture/Features


Cost-sensitive embedded control applications such as cell phones, disk drives, modems, and pagers have been looking for ways to achieve 32-bit performance and address space at the lowest cost while trading off memory footprint.


The Thumb (T32) instruction set provides a subset of the most commonly used 32-bit ARM instructions compressed into 16-bit wide opcodes. At execution time, these 16-bit instructions are transparently decompressed into full 32-bit ARM instructions in real time with no performance loss.


Thumb provides designers with:


Excellent code density enables smallest system memory size and lowest cost.


Reduce system cost by achieving 32-bit performance in 8-bit or 16-bit memory on an 8-bit or 16-bit bus.


ARM functions built


Industry-leading MIPS/Watt to maximize battery life and maximize RISC performance


Small chip area to facilitate integration and minimize chip cost


Global multi-partner sources provide security assurance.


Designers can use both 16-bit Thumb and 32-bit ARM instruction sets simultaneously, giving them the flexibility to enhance performance or adjust code size at the subroutine level based on application requirements.


The Thumb ISA is widely supported by the ARM ecosystem, including a comprehensive Windows software development environment as well as development and evaluation cards.


Improved code density, performance efficiency and power efficiency


Thumb-2 technology makes Thumb a mixed (32-bit and 16-bit) length instruction set common to all ARMv7-compatible ARM Cortex implementations. Thumb-2 improves performance, power efficiency and code density for a wide range of embedded applications.


The technology is backward compatible with existing ARM and Thumb solutions, while significantly expanding the available functionality of the Thumb instruction set, allowing more applications to benefit from Thumb's best-in-class code density. For performance-optimized code, Thumb-2 technology uses 31% less memory to reduce system costs, while providing 38% higher performance than existing high-density code, so it can be used to extend battery life or enrich product feature sets.


Keywords:ARM Reference address:ARM architecture/features (processors)

Previous article:ARM7 lpc2148 GPIO key input test
Next article:Hardware Design of Data Collection and Transmission for Solar Power Generation System

Recommended ReadingLatest update time:2024-11-15 22:53

arm series knowledge framework
ARM programming model  Hardware: Schematic  Software: Architecture, Instruction Set, Register Set 【ARM programming technology】  Assembly/C language compiling, linking, burning and debugging  windows: MDK  linux: gcc 【ARM interface programming】  Circuit schematic  datasheet ------ Bare metal program (without operati
[Microcontroller]
The difference between Thumb instruction set and ARM instruction set
Thumb instruction set               Thumb instructions can be seen as a subset of ARM instructions in compressed form. They are proposed to address the problem of code density and have a code density of 16 bits. Thumb is not a complete architecture, and it is not possible to expect a handler to only execute Thumb
[Microcontroller]
ARM startup code notes
1. Watchdog assembly startup code     The watchdog is actually a timer, which is an internal peripheral inside the SOC in hardware.     There is no need to analyze the schematic diagram for the watchdog.     Critical Operation Registers     WTCON (xE270_0000) bit5 is the switch of the door dog. 1 means on, 0 means off
[Microcontroller]
ARM interrupt vector program example
ARM interrupt handlers generally handle various exception situations through the exception vector table. Interrupts are also an abnormal event. When an exception occurs, ARM will automatically jump to the address specified by the vector table to execute the corresponding processing function. /Create vector table fil
[Microcontroller]
Design of LED display system with independent video source using ARM and FPGA chips
At present, there are two main types of display screens according to the data transmission method: one is a real-time video screen that displays the same content as the computer; the other is an independent video source display screen that sends the display content to the display screen through communication means suc
[Microcontroller]
Design of LED display system with independent video source using ARM and FPGA chips
India launches first local ARM chip: 5nm process 96 cores
According to news on May 15, for India, they are increasing financial support for the research and development of local processors. Now, India's Advanced Computing Development Center (C-DAC) has announced that it is developing its first local ARM architecture CPU, and its overall parameters look quite good. Judging
[Semiconductor design/manufacturing]
A method to realize dual system booting on ARM development board
Preface   The uboot code used in this article is officially provided by Xunwei, and the development board is Xunwei iTOP-4412 development board (without device tree).   First, let's determine the system startup process: first start uboot, uboot starts the kernel and mounts the rootfs (root file system), after the ke
[Microcontroller]
A method to realize dual system booting on ARM development board
ARM MMU
Here is a summary of the three major functions of MMU: 1. Conversion from virtual address to physical address 2.Cache control 3. Memory access rights protection The Linux kernel uses three levels of page tables: PGD, PMD, and PTE. For many architectures, the PMD level has only one entry.
[Microcontroller]
ARM MMU
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号