This document summarizes the ARM architecture reference manual, which describes the ARM instruction set architecture and some of its extensions. It outlines the evolution of the ARM architecture through five major versions, and describes two versions of the Thumb instruction set which provides higher code density. The manual is intended to describe the precise effects and usage of ARM instructions for compiler writers and assembler programmers.