If your running programs that fully utilize 4 cores then that's perfectly normal. The maximum turbo boost clock only applies to one core at full load while the rest are idling to almost idling.
Here's how the turbo boost is set for you:
1 core 3.1Ghz
2 cores 3.0Ghz
3 cores 2.9Ghz
4 cores 2.8Ghz.