>Eight 74172s provide eight 16-bit registers in a three-port register file. This file may simultaneously write one register ("A"), read a second ("B"), and read or write a third ("C"). In a single clock cycle, the following occurs:<p>>a) one register is output to the Address bus and the ALU's A input;<p>>b1) another register may be output to the Data bus and the ALU's B input; or<p>>b2) data from memory may be input to another register;<p>>c) an ALU function is applied to A (and perhaps B) and the result is stored in the first (address) register.<p>I consider the 74172 a FOUR port register file, since it can simultaneously perform two reads and two writes. Exploiting all four data paths can really turbocharge a design, even a so-called "Pathetic" Instruction Set (PISC) machine like this.<p>Dunno if 74172's are generally available nowadays but I have several dozen purchased in the 20th century for a yet-unbuilt design of my own.