Side-channel security of superscalar CPUs: Evaluating the Impact of Micro-architectural Features