Programs like CPUz are very good at giving in depth information about the system (bus speed, memory timings, etc.)
However, is there a programmatic way of calculatin
You need to use CallNtPowerInformation. Here's a code sample from putil project. With this you can get current and max CPU frequency. As far as I know it's not possible to get per-CPU frequency.