1. A system for accessing a multi-way cache formed of single port memory, the system comprising: an address multiplexer that simultaneously addresses a line of data and a line of program instructions in the multi-way cache; a first duplicate output way multiplexer configured to select data read from the multi-way cache without selecting program instructions; and a second duplicate output way multiplexer configured to select program instructions read from the multi-way cache without selecting data.