Architecture Lab: Optimizing the Performance of a Pipelined Processor Solution