Due: Friday, October 27, 2017, 9:00 am (start of the class)

The PowerPC is an example of a RISC Computer. All instructions are 32 bits; all binary and unary operators work only on registers, and all communication with memory goes through a LOAD or a STORE instruction.

The PowerPC has 32 general purpose integer registers and 32 general purpose floating point registers.

The first six bits of the 32-bit instruction specify the main opcode. In some cases, other bits in the instruction provide additional opcode information.

Please answer the following questions.

  1. How many main instructions can the PowerPC instruction set contain?

  2. How many bits of the instruction are necessary to specify the two operands and the destination for an ADD operation? Given the 6-bit main opcode, how many bits are left to provide other information?

  3. The unconditional branch instruction has 6 bits of opcode, followed by 24 bits of address, sign-extended. Bit 30 of the instruction specifies whether the address is to be treated as an absolute address or relative to the current value of the PC. In the case of an absolute address, what parts of memory could it reach?

  4. There are 21 different LOAD instructions, and 17 different STORE instructions. What percentage of the total possible instructions do these instructions constitute? Why commit that many instructions to LOAD and STORE operations?

© 2017 Ying Li. Page last modified: .