Arm7Tdmi-S Instruction Set - Texas Instruments UCD3138 Technical Reference Manual

Digital power supply controller
Hide thumbs Also See for UCD3138:
Table of Contents

Advertisement

www.ti.com

14.4 ARM7TDMI-S Instruction Set

The ARM7TDMI-S processor has two instruction sets:
The 32-bit ARM instruction set (ARM instruction set)
The 16-bit Thumb instruction set (THUMB instruction set)
The ARM7TDMI-S processor is an implementation of the ARM architecture v4T.
14.4.1 Instruction Compression
Microprocessor architectures have traditionally had the same width for instructions and data. Therefore,
32-bit architectures had higher performance manipulating 32-bit data and could address a large address
space much more efficiently than 16-bit architectures.16-bit architectures typically had higher code density
than 32-bit architectures, and greater than half the performance.
Thumb implements a 16-bit instruction set on a 32-bit architecture to provide:
higher performance than a 16-bit architecture
higher code density than a 32-bit architecture
14.4.2 The Thumb Instruction Set
The Thumb instruction set is a subset of the most commonly used 32-bit ARM instructions. Thumb
instructions are each 16 bits long, and have a corresponding 32-bit ARM instruction that has the same
effect on the processor model. Thumb instructions operate with the standard ARM register configuration,
allowing excellent interoperability between ARM and Thumb states. On execution, 16-bit Thumb
instructions are transparently decompressed to full 32-bit ARM instructions in real time, without
performance loss.
Thumb has all the advantages of a 32-bit core:
32-bit address space
32-bit registers
32-bit shifter and Arithmetic Logic Unit (ALU)
32-bit memory transfer
Therefore Thumb offers a long branch range, powerful arithmetic operations, and a large address space.
The availability of both 16-bit Thumb and 32-bit ARM instruction sets gives designers the flexibility to
emphasize performance, or code size on a subroutine level, according to the requirements of their
applications. For example, critical loops for applications such as fast interrupts and DSP algorithms can be
coded using the full ARM instruction set and linked with Thumb code.
14.5 Dual-State Interworking
This chapter explains how to set certain sections of code to operate in Thumb (16 bit) or ARM (32 bit)
mode.
The ARM7TDMI-S (in UCD3138) is a unique processor in that it offers the performance of a 32-bit
architecture with the code density of a 16-bit architecture. This is achieved by supporting both a 16-bit
instruction set and a 32-bit instruction set and allowing switching dynamically between the two sets.
As explained earlier in reference to
ARM7TDMI-S, the working state is determined by Bit-5 (the T bit).
The instruction set that the ARM7TDMI-S processor uses is determined by the state of the processor. The
processor can be in 32-BIS (bit instruction set) state or 16-BIS state at any given time. The compiler
allows the user to specify whether a module should be compiled in 32- or 16-BIS state and allows
functions compiled in one state to call functions compiled in the other state.
SNIU028A – February 2016 – Revised April 2016
Submit Documentation Feedback
Table
14-3, which illustrates the structure of CPSR register in
Copyright © 2016, Texas Instruments Incorporated
ARM7TDMI-S Instruction Set
457
ARM7TDMI-S MPUSS

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents