Escolar Documentos
Profissional Documentos
Cultura Documentos
Aditya Bhandari(13BEC154)
Electronics and Communication Engineering
Institute of Technology, Nirma University
Ahmedabad, India
13bec154@nirmauni.ac.in
I.
INTRODUCTION
II.
BLOCK DIAGRAM
III.
REGISTER SET
User-writable bits
Can be written from any mode. The N, Z, C, V, Q,
GE[3:0], and E bits are user-writable.
Privileged bits
Can be written from any privileged mode. Writes to
privileged bits in User mode are ignored. The A, I, F, and
M[4:0] bits are privileged.
Conditional bits
The N, Z, C, and V (Negative, Zero, Carry and oVerflow)
bits are collectively known as the condition code flags ,
often referred to as flags. The condition code flags in the
CPSR can be tested by most instructions to determine
whether the instruction is to be executed.
The condition code flags are usually modified by:
(i)Execution of a comparison instruction (CMN, CMP,
TEQ or TST).
(ii)Execution of some other arithmetic, logical or move
instruction, where the destination register of the
instruction is not R15. Most of these instructions have
both a flag-preserving and a flag-setting variant, with the
latter being selected by adding an S qualifier to the
instruction mnemonic. Some of these instructions only
have a flag-preserving version. This is noted in the
individual instruction descriptions.
Q flag
In E variants of ARMv5 and above, bit[27] of the CPSR
is known as the Q flag and is used to indicate whether
overflow and/or saturation has occurred in some DSPoriented instructions.
GE[3:0] bits
The E bit
From ARMv6, bit[9] controls load and store endianness
for data handling. This bit is ignored by instruction
fetches.[2]
IV.
INSTRUCTION SET
The ARM instruction set can be divided into six broad classes
of instruction that are Branch instructions, Data-processing
instructions, Status register transfer instructions, Load and
store instructions, Coprocessor instructions, Exceptiongenerating instructions. Most data-processing instructions and
one type of coprocessor instruction can update the four
condition code flags in the CPSR (Negative, Zero, Carry and
overflow) according to their result. Almost all ARM
instructions contain a 4-bit condition field. One value of this
field specifies that the instruction is executed unconditionally.
Fourteen other values specify conditional execution of the
instruction. If the condition code flags indicate that the
corresponding condition is true when the instruction starts
executing, it executes normally. Otherwise, the instruction
does nothing. The 14 available conditions allow tests for
equality and non-equality, tests for <, <=, >, and >=
inequalities, in both signed and unsigned arithmetic each
condition code flag to be tested individually. The sixteenth
value of the condition field encodes alternative instructions.
These do not allow conditional execution. Before ARMv5
these instructions were UNPREDICTABLE.
Branch instructions
As well as allowing many data-processing or load
instructions to change control flow by writing the PC, a
standard Branch instruction is provided with a 24-bit
signed word offset, allowing forward and backward
branches of up to 32MB.
There is a Branch and Link (BL) option that also
preserves the address of the instruction after the branch in
R14, the LR. This provides a subroutine call which can be
returned from by copying the LR into the PC.
enable bits, set the processor mode and state, alter the
endianness of Load and Store operations.
Coprocessor instructions
There are three types of coprocessor instructions:
(i)Data-processing instructions
These start a coprocessor-specific internal operation.
(ii)Data transfer instructions
These transfer coprocessor data to or from memory. The
address of the transfer is calculated by the ARM
processor.
(iii)Register transfer instructions
These allow a coprocessor value to be transferred to or
from an ARM register, or a pair of ARM registers.[1]
V.
MEMORY
CONCLUSION
[2]
[3]
[4]
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.arc
hitecture.reference/index.html
http://www.arm.com/products/processors/instruction-setarchitectures/index.php.
winarm.scienceprog.com.
infocenter.arm.com