The OMAP4430 ARM CPU Instruction FormatsThe OMAP4430 ARM ISA consists of both 16- and 32-bit instructions,aligned in memory. Instructions are generally simple, specifying only a single ac-tion. A typical arithmetic instruction specifies two registers to supply the sourceSEC. 5.3 INSTRUCTION FORMATS 369operands and a single destination register. The 16-bit instructions are pared-downversions of the 32-bit instruction. They perform the same operations, but allowonly two register operands (i.e., the destination register must be the same as one ofthe inputs) and only the first eight registers can be specified as inputs. The ARMarchitects called this smaller version of the ARM ISA the Thumb ISA.Additional variants allows instructions to supply a 3, 8, 12, 16, or 24-bit un-signed constant instead of one of the registers. For a load instruction, two registers(or one register and an 8-bit signed constant) are added together to specify thememory address to read. The data are written into the other register specified.The format of the 32-bit ARM instructions is illustrated in Fig. 5-14. Thecareful reader will notice that some of the formats have the same fields (e.g.,LONG MULTIPLY and SWAP). In the case of the SWAP instruction, the decoderknows that the instruction is a SWAP only when it sees that the combination of fieldvalues for the MUL is illegal. Additional formats have been added for instruction
extensions and the Thumb ISA. At the time of this writing, the number of instruc-
tion formats was 21 and rising. (Can it be long before we see some company
advertising the ‘‘World’s most complex RISC machine’’?) The majority of instruc-
tions, however, still use the formats shown in the figure.
đang được dịch, vui lòng đợi..
