Typical cache architecture provides a single cache way prediction memory
for use in predicting a cache way for both sequential and non-sequential
instructions contained within a program stream. Unfortunately, one of the
drawbacks of the prior art cache way prediction scheme lies in its
efficiency when dealing with instructions that vary the PC in a
non-sequential manner, such as branch instructions including jump
instructions. To facilitate caching of non-sequential instructions an
additional cache way prediction memory is provided to deal with the
non-sequential instructions. Thus during program execution a decision
circuit determines whether to use a sequential cache way prediction array
or a non sequential cache way prediction array in dependence upon the
type of instruction. Advantageously the improved cache way prediction
scheme provides an increased cache hit percentage when used with
non-sequential instructions.