Patent ID: 9075599
Filing Date: 2015-07-07
Classification: G06F

Abstract:
1. A computer system, comprising: a register file configured to store a target result operand and to retrieve a source operand both addressed by register addresses; an execution unit for executing instructions, the execution unit configured to receive the source operand from the register file and write the target result operand into the register file; register address calculation logic configured to receive a current instruction address portion of a current instruction address associated with a current instruction, a source register address portion and a target register address portion, and to concatenate the current instruction address portion onto the source register address portion and the target register address portion to yield a full source register address corresponding to the source operand and a full target register address corresponding to the target result operand, and to provide the full source register address and the full target register address to the register file; and instruction decode logic configured to decode the current instruction and provide the current instruction address portion and the source and target register address portions to the register address calculation logic; wherein the instruction decode logic is configured to provide an opcode valid indication to the register address calculation logic, the opcode valid indication indicating that the current instruction requires the current instruction address portion to be concatenated onto the source and target register address portions to yield full register addresses, wherein the register address calculation logic is configured to receive the opcode valid indication from the instruction decode logic, and provide the opcode valid indication to a first multiplexer, the first multiplexer being functionally coupled at a first input to a logic value “00”, and at a second input to the two least significant bits of the current instruction address, wherein the output of the first multiplexer is concatenated onto the most significant end of the target register address portion, yielding the full target register address, and wherein the first multiplexer is further configured to pass the logic value “00” to its output when the opcode valid indication is false, and configured to pass the two least significant bits of the current instruction address to its output when the opcode valid indication is true.