PIPELINING: dual ported register file

the register "file" is dual ported so it can read 2 registers at once:

register file also has write capability, so it can be written to, and also so that it can read 2 registers at once: