Abstract

This chapter presents instruction formats. There are five basic Alpha instruction formats: (1) Memory, (2) Branch, (3) Operate, (4) Floating-point Operate, and (5) PALcode. All instruction formats are 32 bits long with a 6-bit major opcode field in bits <31:26> of the instruction. Any unused register field (Ra, Rb, Fa, Fb) of an instruction must be set to a value of 31. There are several instructions, each formatted as a memory instruction, that do not use the Ra and/or Rb fields: (1) Memory Barrier, (2) Fetch, (3) FetchJM, (4) Read Process Cycle Counter, (5) Read and Clear, (6) Read and Set, and (7) Trap Barrier. The Memory format is used to transfer data between registers and memory, to load an effective address, and for subroutine jumps. The Branch format is used for conditional branch instructions and for PC-relative subroutine jumps. The Operate format is used for instructions that perform integer register to integer register operations. The Operate format allows the specification of one destination operand and two source operands. One of the source operands can be a literal constant. The Floating-point Operate format is used for instructions that perform floating-point register to floating-point register operations. The Floating-point Operate format allows the specification of one destination operand and two source operands. The Privileged Architecture Library (PALcode) format is used to specify extended processor functions.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call