ARM instruction set version and ARM version

Publisher:BlissfulJourneyLatest update time:2019-12-17 Source: eefocusKeywords:ARM  version Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

The first processor to feature Thumb technology was the ARM7TDMI. All ARM9 and later families, including XScale, have incorporated Thumb technology.

Jazelle

ARM has also developed a technology, Jazelle DBX (Direct Bytecode eXecution), that allows them to accelerate the running of Java bytecode on certain hardware architectures, just like other operating modes, when calling some special software that cannot support bytecodes, it can provide accelerated running of certain bytecodes. It can run between existing ARM and Thumb modes.

The first processor to feature Jazelle technology is the "ARM7EJ-S": Jazelle is indicated by a 'J' in the CPU name. It is used to allow mobile phone manufacturers to accelerate Java ME games and applications, thus prompting the continued development of this technology.

Thumb-2

Thumb-2 technology was first seen in the "ARM1156 core" and was released in 2003. Thumb-2 expands the limited 16-bit Thumb instruction set to allow for a wider range of instruction sets with additional 32-bit instructions. Therefore, the expected goal of Thumb-2 is to achieve a coding density close to that of Thumb, but with performance close to that of the ARM instruction set with 32-bit memory.

Thumb-2 has also derived a variety of instructions from the ARM and Thumb instruction sets, including bit column operations, branch table building, and conditional execution.

Thumb Execution Environment (ThumbEE)

ThumbEE, also known as Thumb-2EE, is known as Jazelle RCT technology in the industry. It was released in 2005 and first appeared in the "Cortex-A8" processor. ThumbEE provides some extensions from Thumb-2, making the instruction set particularly suitable for runtime code generation (such as real-time compilation) in the operating environment. Thumb-2EE is designed for some languages ​​such as Limbo, Java, C#, Perl and Python, and allows the real-time compiler to output smaller compiled code without affecting performance.

New features provided by ThumbEE include automatic checking for invalid pointers every time an instruction is accessed, an instruction that can perform array range checks, and the ability to branch to the classifier, which contains a small set of frequently called code, typically used to implement high-level language features, such as allocating memory for a new object.

Advanced SIMD (NEON)

Advanced SIMD extensions, known as "NEON" technology in the industry, is a combination of 64-bit and 128-bit single instruction multiple instruction sets (SIMD), which has standardized acceleration capabilities for multimedia and signal processing programs. NEON can run MP3 audio decoding on a 10 MHz processor and can run adaptive multi-rate audio compression encoding below 13 MHz. NEON has a wide range of instruction sets, their own register arrays, and independently running hardware. NEON supports 8, 16, 32 and 64-bit integers and single-precision floating-point data, and operates in a single instruction multiplexed manner to run the voice and video parts of graphics and game processing. The single instruction multiple instruction set is a decisive factor in vector superprocessors, which have multiple processing capabilities at the same time. In NEON technology, SIMD can perform up to 16 operations at the same time.

VFP

VFP (Vector Floating Point) is a derivative technology for the ARM architecture in the coprocessor. It provides low-cost single-precision and double-precision floating-point computing capabilities and is fully compatible with the ANSI/IEEE Std 754-1985 binary floating-point arithmetic standard. VFP provides most applications suitable for floating-point operations, such as PDAs, smart phones, voice compression and decompression, 3D graphics and digital sound effects, printers, set-top boxes, and automotive applications. The VFP architecture also supports SIMD parallelization of short vector instructions. This is very helpful in reducing code size and increasing output efficiency in applications such as image and signal processing.

In ARM-based processors, other visible floating-point or SIMD coprocessors include FPA, FPE, and iwMMXt. They provide VFP-like functionality, but are not compatible at the opcode level.


[1] [2]
Keywords:ARM  version Reference address:ARM instruction set version and ARM version

Previous article:ARM instruction set and exception handling
Next article:Ubuntu12.10 uses DNW to transfer data for ARM development board burning

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

ARM study notes 13-LED driver design
First, we need to find out which pin controls the LED light according to the schematic diagram of the development board. Now we take LED1 as an example. We already know that LED1 is controlled by GPC1_3 of S5PV210, so we proceed as follows: The first step is to configure S5PV210's GPC1_3 as the output port; In the
[Microcontroller]
The difference and choice between MCU and ARM
 1. Software This is probably the biggest difference. The operating system was introduced. Why was the operating system introduced? What are the benefits? 1. Convenient. This is mainly reflected in the later development, that is, developing applications directly on the operating system. Unlike a single-chip microcompu
[Microcontroller]
ARM startup and working mode switching
In the ARM system, there are usually three ways to control the execution flow of the program: During normal program execution, the value of the program counter register (PC) increases by 4 bytes for each ARM instruction executed; the value of the program counter register (PC) increases by 2 bytes for each Thumb inst
[Microcontroller]
ARM startup and working mode switching
Design of timing relay driver template based on ARM
introduction The timing relay driver template designed in this paper is a plug-in of an embedded SCADA system, called an Intelligent Control Output Board (C-board for short). This device is mainly used for real-time data acquisition and control of power systems and electric motors. In the field of power sy
[Power Management]
Design of timing relay driver template based on ARM
Porting of real-time operating system µC/OS-II to ARM7
1 Introduction At present, embedded systems are increasingly used in various fields such as home appliances, mobile phones, PDAs, etc., and program design is becoming more and more complex, which requires a general embedded operating system to manage and control them. Embedded system development with an operati
[Microcontroller]
Porting of real-time operating system µC/OS-II to ARM7
JFlash ARM reads and burns stm32 programs
This article mainly records the relevant usage and operation steps of JFlash ARM. The reading program cannot be said to be cracked. It is just reading and writing Flash without any encryption! After we install the JLINK driver, find JFlash ARM in the root directory and run it. Read Flash program: Step 1: Select
[Microcontroller]
JFlash ARM reads and burns stm32 programs
【ARM】s3c2440 gpio button control
Function Through GPIO, key 1 lights up LED 1, key 2 lights up LED 2... illustrate 1) Because the 2440 keys only involve rows, scanning keys is much simpler than the 2410 2) Before performing a shift operation, the data register must be initialized, otherwise an error will occur (hardware characteristics) Source
[Microcontroller]
Building a simple robotic arm using the ARM7 LPC2148 microcontroller
A robotic arm is one of those fascinating engineering creations, it is always fascinating to watch these things tilt and pan to do complex things just like a human arm. These robotic arms are commonly seen in industries doing high intensity mechanical work like welding, spray painting etc on assembly lines, recently
[robot]
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号