Method, system and computer program product for generating effective
addresses in a data processing system. A method, in a data processing
system, for generating an effective address includes generating a first
portion of the effective address by calculating a first plurality of
effective address bits of the effective address, and generating a second
portion of the effective address by guessing a second plurality of
effective address bits of the effective address. By intelligently
guessing a plurality of the effective address bits that form the
effective address, the effective address can be generated and sent to a
translation unit more quickly than in a system in which all the effective
address bits of the effective address are calculated. The method and
system is particularly suitable for generating effective addresses in a
CAM-based effective address translation design in a multi-threaded
environment.