On Mon, Mar 27, 2023 at 5:30 AM Wols Lists <antli...@youngman.org.uk> wrote:
>
> On 27/03/2023 01:18, Dale wrote:
> > Thanks for any light you can shed on this.  Googling just leads to a ton
> > of confusion.  What's true 6 months ago is wrong today.  :/  It's hard
> > to tell what still applies.
>
> Well, back in the days of the megahurtz wars, a higher clock speed
> allegedly meant a faster CPU. Now they all run about 5GHz, and anything
> faster would break the speed of light ... so how they do it nowadays I
> really don't know ...

Effective instructions per clock in general, and increasing core count
are some of the big ones.  I say effective because I think IPC is
somewhat synthetic and idealized, and there are MANY bottlenecks in a
CPU.

Efficiency improvements that allow a CPU to boost for longer or
increase sustained clock speed also help.

Getting more done in a clock cycle can happen in many ways:
1. Actually reducing the number of cycles needed to complete an
instruction at the most elementary level.
2. Using speculative execution to increase the number of instructions
run in parallel.
3. Improving branch prediction to maximize your speculative execution budget.
4. Reducing the cost of prediction errors by reducing pipelines/etc.
5. Better cache to reduce wait time.
6. Better internal IO to reduce wait time.
7. Better external IO (esp RAM) to reduce wait time.

Those are just ones I've thought of offhand.  I'm sure there are tons
of info on which ones matter the most in practice, and things I
haven't thought of.

-- 
Rich

Reply via email to