Which machine learning algorithm can be used to identify patterns in a dataset of the cache performance of a CPU?
You're basically looking for is unsupervised learning (UL).  There are a lot of UL techniques around, but I'm not sure you'll find one that does exactly what you want with no user input at all. Still, if you skim the literature on these approaches, you may well find something useful.

One option is DBSCAN, a very popular clustering algorithm that does not require the user to input an initial target number of clusters (something that most clustering algorithms do require).  But even then, you still have to give the algorithm values for epsilon (a distance used in calculating the clusters) and minPts (the minimum number of points required to constitute a "dense" region). 

You might also look at self-organizing maps, an approach to unsupervised learning for neural networks.  

Some other search terms that might lead you in a useful direction include "data mining" and "knowledge discovery in databases" (KDD).