Introduction
This is a basic outline for determining minimum CPU core, core mix and core frequency and also minimizing power consumption.
Define High Level Use Cases
First define what tasks your CPU will perform. This will usually be something like a certain number of computations per second, minimum frame rate in a game or video play back or web pages served.
Determine Design Constraints
These designs usually come at you from two different angles, minimum performance on one end and thermal limits at the other. You'll meet somewhere in between. Heat is usually the performance limiter (rather than CPU maximum compute power). The second limiter is usually caused by bumping up against your power budget.
Define Test Matrix
Create a test matrix which includes a mix of the following: {%cores} x { core freq}. For example you might have the following:
Before conducting any testing you'll want to eliminate any tests which are impossible due to instruction set limitations or other hardware limitations. For example if the GPU cannot be used to perform the math steps then mark off its possibilities. Or if the system needs at least 25% CPU then mark off anything that says 0% CPU, etc.
Benchmark Scenarios
Run each benchmark on the particular sets of code (you might have to use different software for each test) and write down the performance numbers. You will want to record the following:
Assessment
Conclusion
If you've done your testing properly then the test cases are the ones that are suitable for your application.