Patent ID: 7246218

Claim:
A system for executing instructions, the system comprising: 1)k functional units, with k being an integer, each functional unit comprising: a) a first read input; b) a second read input; and c) a write output; 2)k 2-input-1-output (2×1) multiplexers, each 2×1 multiplexer corresponding to one of the k functional units, each 2×1 multiplexer comprising: a) a control line; b) a first input; c) a second input; and d) an output electrically coupled to the second read input of its corresponding functional unit; 3)k local register files, each local register file corresponding to one of the k 2×1 multiplexers, each local register file further corresponding to one of the k functional units, each local register file comprising: a) n registers, with n being an integer, each of then registers being an m-bit register, with m being an integer; b) a first local read port electrically coupled to the first read input of its corresponding functional unit; c) a second local read port electrically coupled to the first input of its corresponding 2×1 multiplexer; and d) a local write port electrically coupled to the write output of its corresponding functional unit; 4)a global register file comprising: a) n registers, each register being an m-bit register; b) a global read port electrically coupled to the second input of each 2×1 multiplexer; and c) a global write port; and 5)a k-input-1-output (k×1) multiplexer comprising: a) a control line; b) k inputs, each input corresponding to one of the k functional units, each input being electrically coupled to the write output of its corresponding functional unit; and c) an output electrically coupled to the global write port of the global register file.