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.
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
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Voice coil motor drive circuit
- [STM32F769Discovery development board trial] A simple attempt at a usable but not easy-to-use TCP server communication code
- AD16 Sch button with line drawn is missing
- [Domestic RISC-V Linux board Fang·Starlight VisionFive trial report] Successfully exchanged data with DWIN serial port screen
- The sadness of being a liberal arts student: recruiting work for HR who doesn’t understand technology
- Implementation of TCP/IP Protocol Stack on TI C6000DSP
- Please help me see if this 12864 is bad.
- [RVB2601 Creative Application Development] Environmental Monitoring Terminal 07-Web Application Design
- MOS tube cannot enter saturation state
- Authorization code problem