Why is there a PLL in CPU?












7












$begingroup$


I read that PLL are used in CPU to generate the clock, but I can't understand why.



I don't really have any guess of why this is.










share|improve this question







New contributor




Jonas Daverio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$








  • 2




    $begingroup$
    I would shut this question down as "too broad". It is like asking "why are there CMOS gates instead of transistors in a CPU"...
    $endgroup$
    – Ale..chenski
    Mar 28 at 22:20






  • 3




    $begingroup$
    It is probably too broad but I got very relevant answers that will hopefully help other people.
    $endgroup$
    – Jonas Daverio
    Mar 28 at 22:30










  • $begingroup$
    Why close this? It invites tutorial style questions covering the subject in general which will be of ongoing interest to others.
    $endgroup$
    – Russell McMahon
    Mar 31 at 4:22
















7












$begingroup$


I read that PLL are used in CPU to generate the clock, but I can't understand why.



I don't really have any guess of why this is.










share|improve this question







New contributor




Jonas Daverio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$








  • 2




    $begingroup$
    I would shut this question down as "too broad". It is like asking "why are there CMOS gates instead of transistors in a CPU"...
    $endgroup$
    – Ale..chenski
    Mar 28 at 22:20






  • 3




    $begingroup$
    It is probably too broad but I got very relevant answers that will hopefully help other people.
    $endgroup$
    – Jonas Daverio
    Mar 28 at 22:30










  • $begingroup$
    Why close this? It invites tutorial style questions covering the subject in general which will be of ongoing interest to others.
    $endgroup$
    – Russell McMahon
    Mar 31 at 4:22














7












7








7


2



$begingroup$


I read that PLL are used in CPU to generate the clock, but I can't understand why.



I don't really have any guess of why this is.










share|improve this question







New contributor




Jonas Daverio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$




I read that PLL are used in CPU to generate the clock, but I can't understand why.



I don't really have any guess of why this is.







clock cpu pll






share|improve this question







New contributor




Jonas Daverio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




Jonas Daverio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




Jonas Daverio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Mar 28 at 18:11









Jonas DaverioJonas Daverio

8917




8917




New contributor




Jonas Daverio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Jonas Daverio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Jonas Daverio is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 2




    $begingroup$
    I would shut this question down as "too broad". It is like asking "why are there CMOS gates instead of transistors in a CPU"...
    $endgroup$
    – Ale..chenski
    Mar 28 at 22:20






  • 3




    $begingroup$
    It is probably too broad but I got very relevant answers that will hopefully help other people.
    $endgroup$
    – Jonas Daverio
    Mar 28 at 22:30










  • $begingroup$
    Why close this? It invites tutorial style questions covering the subject in general which will be of ongoing interest to others.
    $endgroup$
    – Russell McMahon
    Mar 31 at 4:22














  • 2




    $begingroup$
    I would shut this question down as "too broad". It is like asking "why are there CMOS gates instead of transistors in a CPU"...
    $endgroup$
    – Ale..chenski
    Mar 28 at 22:20






  • 3




    $begingroup$
    It is probably too broad but I got very relevant answers that will hopefully help other people.
    $endgroup$
    – Jonas Daverio
    Mar 28 at 22:30










  • $begingroup$
    Why close this? It invites tutorial style questions covering the subject in general which will be of ongoing interest to others.
    $endgroup$
    – Russell McMahon
    Mar 31 at 4:22








2




2




$begingroup$
I would shut this question down as "too broad". It is like asking "why are there CMOS gates instead of transistors in a CPU"...
$endgroup$
– Ale..chenski
Mar 28 at 22:20




$begingroup$
I would shut this question down as "too broad". It is like asking "why are there CMOS gates instead of transistors in a CPU"...
$endgroup$
– Ale..chenski
Mar 28 at 22:20




3




3




$begingroup$
It is probably too broad but I got very relevant answers that will hopefully help other people.
$endgroup$
– Jonas Daverio
Mar 28 at 22:30




$begingroup$
It is probably too broad but I got very relevant answers that will hopefully help other people.
$endgroup$
– Jonas Daverio
Mar 28 at 22:30












$begingroup$
Why close this? It invites tutorial style questions covering the subject in general which will be of ongoing interest to others.
$endgroup$
– Russell McMahon
Mar 31 at 4:22




$begingroup$
Why close this? It invites tutorial style questions covering the subject in general which will be of ongoing interest to others.
$endgroup$
– Russell McMahon
Mar 31 at 4:22










5 Answers
5






active

oldest

votes


















11












$begingroup$

There are several reasons for this. A phase locked loop, or PLL, is a circuit that is used to generate a stable frequency that has a specific mathematical relationship to some reference frequency. Specifically, it is a circuit that is used to control some sort of electrically tunable oscillator (usually a voltage controlled oscillator, or VCO) so that its output is locked into a specific relationship with a reference frequency that is supplied by some sort of stable reference (usually a crystal, crystal oscillator, or silicon MEMS oscillator).



A PLL works by dividing down the output of the VCO and the reference input with frequency dividers, then comparing the frequency and phase of these divided outputs and adjusting the VCO control voltage until the frequency and phase align.



It is possible for a PLL to generate a much higher frequency than the reference frequency - for example, a 100 MHz reference can be multiplied up to several GHz. If the PLL is integrated on the same chip where the high frequency output is used, this can save power and reduce EMI by lowering the frequency that is sent through the circuit board traces. It also makes the board layout simpler.



Since the relationship is determined with simple frequency dividers and it is quite simple to build programmable dividers, it is very easy to change the output frequency of a PLL by simply changing the divider settings. This can enable power savings using a technique called dynamic frequency scaling, where the frequency is adjusted based on the required processor performance to reduce power consumption. It also enables software-based configuration of the frequency, which makes the design of the system much more flexible as software can decide what settings to use at boot time based on detected hardware (for example, looking at CPU socket pin strapping or reading out SPD EEPROM contents on RAM modules during boot).



In a modern CPU, there are going to be multiple PLLs present for providing the clocks for various components. Modern CPUs have a high level of integration and so components that used to be located on separate chips are increasingly integrated onto one die - there is a lot more than a single processing core and a front side bus on a modern CPU. The processing cores themselves will run on one or more clocks that are supplied by one or more PLLs so the core clocks can be adjusted easily, and possibly can be adjusted independently. The PCI express interface will also require PLLs, likely multiple PLLs to support operation at different link rates. Serial ATA connections likewise operate at a different speed and hence will have their own PLLs. Same goes for QPI, hyper transport, USB 3, HDMI, display port, etc. The memory interface likely requires a different PLL to generate the specific clock frequency that the installed memory requires. All of these PLLs would use the same (relatively) low frequency reference oscillator on the motherboard.






share|improve this answer











$endgroup$









  • 7




    $begingroup$
    A critical issue you've missed is the difficulty of making a quartz oscillator above a few hundred MHz. Using a PLL allows the base frequency to be generated with high stability, then upconverted to GHz frequencies with little loss of stability.
    $endgroup$
    – WhatRoughBeast
    Mar 29 at 2:26






  • 1




    $begingroup$
    @WhatRoughBeast: I don't think that's actually nearly as big an issue as moving the full frequency clock across the board without adding jitter and degrading edges. No one works on solving the problem of higher frequency oscillators, because no one would buy the solution.
    $endgroup$
    – Ben Voigt
    Mar 29 at 17:21



















7












$begingroup$

Been there, done that.



Apart from other reasons mentioned here is a different one:

The marketing guys want to make the chip design as cheap as possible. Thus they prefer to use cheap crystals. The ones use for Ethernet fall in that category. So you often end up having to use a 25MHz crystal.



At the same time marketing want powerful processors. Thus the processor (Let's call it a LEG++) should be able to run at 1 or 2 GHz.

The only way to do that is to use a PLL.



Or the processor can run at max 64MHz, but they want to have a USB interface which requires a 48MHz Clock. Again PLL to the rescue.



++LEG is not a registered trademark. (At least as far as I know)






share|improve this answer









$endgroup$













  • $begingroup$
    LEG have just released a quintuple Toe version of their famous FOOT processor.
    $endgroup$
    – Tom Carpenter
    Mar 29 at 14:16






  • 1




    $begingroup$
    @TomCarpenter: I worked for a company in Cambridge which had a text with the title "ARM shows Intel the Finger" on the wall. It was a beautiful 1'st of April article where they specified a one bit processor called "The Finger". Never found a copy!
    $endgroup$
    – Oldfart
    Mar 29 at 14:26



















6












$begingroup$

PLLs can be used to multiply and divide frequencies. CPUs that have PLLs to generate their clocks are highly reconfigurable. The clock speed can be varied relative to the external reference clock over a wide range, and it's the PLL that makes this possible.






share|improve this answer









$endgroup$









  • 2




    $begingroup$
    Also it is not possible to get xtals to oscillate much beyond 100MHZ, so the ref oscillator needs to be multiplied many times to get 1 GHZ to 4 GHZ core frequencies. Core frequency is usually a integer multiple of the ref xtal.
    $endgroup$
    – Sparky256
    Mar 28 at 18:56










  • $begingroup$
    Well, it is more generally going to be an integer ratio of the reference frequency, as the PLL can divide both the VCO output as well as the reference frequency.
    $endgroup$
    – alex.forencich
    Mar 28 at 23:06



















5












$begingroup$

PLLs are used primarily to generate one or more faster or slower clocks from a reference clock.



You might have say a fixed 100MHz crystal, but then want to run your CPU at 2GHz, so a PLL is required to increase the frequency (a 2GHz clock crystal isn't feasible).



Additional you may want to be able to change your CPU frequency on the fly (e.g. a turbo clock). In which case you could have a reconfigurable PLL.



Furthermore you may need a different memory or peripheral clock to your CPU clock. Again a PLL and divider can be used to generate this from a single reference.






share|improve this answer









$endgroup$













  • $begingroup$
    One may want to refer to Wikipedia page of Standard Crtstal Frequencies: en.wikipedia.org/wiki/Crystal_oscillator_frequencies
    $endgroup$
    – Swanand
    Mar 29 at 12:18



















2












$begingroup$

3 main reasons;



1) power savings for mobiles and extend CPU life keeping cool.

2) signal integrity is improved using xx multiplier for front side bus due to short wavelength, lower capacitance

3) flexible CPU speeds are possible with throttle on Clock multiplier and Vdd to allow burst CPU power and cool down.



Signal routing of 100MHz FSB is easy, > 1GHz is hard and your CPU is much higher, driver current increases with f and standing wave reflections distort square waves. While reducing CPU clock saves power and reduces temp.






share|improve this answer









$endgroup$














    Your Answer





    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("mathjaxEditing", function () {
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
    });
    });
    }, "mathjax-editing");

    StackExchange.ifUsing("editor", function () {
    return StackExchange.using("schematics", function () {
    StackExchange.schematics.init();
    });
    }, "cicuitlab");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "135"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });






    Jonas Daverio is a new contributor. Be nice, and check out our Code of Conduct.










    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f429532%2fwhy-is-there-a-pll-in-cpu%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    5 Answers
    5






    active

    oldest

    votes








    5 Answers
    5






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    11












    $begingroup$

    There are several reasons for this. A phase locked loop, or PLL, is a circuit that is used to generate a stable frequency that has a specific mathematical relationship to some reference frequency. Specifically, it is a circuit that is used to control some sort of electrically tunable oscillator (usually a voltage controlled oscillator, or VCO) so that its output is locked into a specific relationship with a reference frequency that is supplied by some sort of stable reference (usually a crystal, crystal oscillator, or silicon MEMS oscillator).



    A PLL works by dividing down the output of the VCO and the reference input with frequency dividers, then comparing the frequency and phase of these divided outputs and adjusting the VCO control voltage until the frequency and phase align.



    It is possible for a PLL to generate a much higher frequency than the reference frequency - for example, a 100 MHz reference can be multiplied up to several GHz. If the PLL is integrated on the same chip where the high frequency output is used, this can save power and reduce EMI by lowering the frequency that is sent through the circuit board traces. It also makes the board layout simpler.



    Since the relationship is determined with simple frequency dividers and it is quite simple to build programmable dividers, it is very easy to change the output frequency of a PLL by simply changing the divider settings. This can enable power savings using a technique called dynamic frequency scaling, where the frequency is adjusted based on the required processor performance to reduce power consumption. It also enables software-based configuration of the frequency, which makes the design of the system much more flexible as software can decide what settings to use at boot time based on detected hardware (for example, looking at CPU socket pin strapping or reading out SPD EEPROM contents on RAM modules during boot).



    In a modern CPU, there are going to be multiple PLLs present for providing the clocks for various components. Modern CPUs have a high level of integration and so components that used to be located on separate chips are increasingly integrated onto one die - there is a lot more than a single processing core and a front side bus on a modern CPU. The processing cores themselves will run on one or more clocks that are supplied by one or more PLLs so the core clocks can be adjusted easily, and possibly can be adjusted independently. The PCI express interface will also require PLLs, likely multiple PLLs to support operation at different link rates. Serial ATA connections likewise operate at a different speed and hence will have their own PLLs. Same goes for QPI, hyper transport, USB 3, HDMI, display port, etc. The memory interface likely requires a different PLL to generate the specific clock frequency that the installed memory requires. All of these PLLs would use the same (relatively) low frequency reference oscillator on the motherboard.






    share|improve this answer











    $endgroup$









    • 7




      $begingroup$
      A critical issue you've missed is the difficulty of making a quartz oscillator above a few hundred MHz. Using a PLL allows the base frequency to be generated with high stability, then upconverted to GHz frequencies with little loss of stability.
      $endgroup$
      – WhatRoughBeast
      Mar 29 at 2:26






    • 1




      $begingroup$
      @WhatRoughBeast: I don't think that's actually nearly as big an issue as moving the full frequency clock across the board without adding jitter and degrading edges. No one works on solving the problem of higher frequency oscillators, because no one would buy the solution.
      $endgroup$
      – Ben Voigt
      Mar 29 at 17:21
















    11












    $begingroup$

    There are several reasons for this. A phase locked loop, or PLL, is a circuit that is used to generate a stable frequency that has a specific mathematical relationship to some reference frequency. Specifically, it is a circuit that is used to control some sort of electrically tunable oscillator (usually a voltage controlled oscillator, or VCO) so that its output is locked into a specific relationship with a reference frequency that is supplied by some sort of stable reference (usually a crystal, crystal oscillator, or silicon MEMS oscillator).



    A PLL works by dividing down the output of the VCO and the reference input with frequency dividers, then comparing the frequency and phase of these divided outputs and adjusting the VCO control voltage until the frequency and phase align.



    It is possible for a PLL to generate a much higher frequency than the reference frequency - for example, a 100 MHz reference can be multiplied up to several GHz. If the PLL is integrated on the same chip where the high frequency output is used, this can save power and reduce EMI by lowering the frequency that is sent through the circuit board traces. It also makes the board layout simpler.



    Since the relationship is determined with simple frequency dividers and it is quite simple to build programmable dividers, it is very easy to change the output frequency of a PLL by simply changing the divider settings. This can enable power savings using a technique called dynamic frequency scaling, where the frequency is adjusted based on the required processor performance to reduce power consumption. It also enables software-based configuration of the frequency, which makes the design of the system much more flexible as software can decide what settings to use at boot time based on detected hardware (for example, looking at CPU socket pin strapping or reading out SPD EEPROM contents on RAM modules during boot).



    In a modern CPU, there are going to be multiple PLLs present for providing the clocks for various components. Modern CPUs have a high level of integration and so components that used to be located on separate chips are increasingly integrated onto one die - there is a lot more than a single processing core and a front side bus on a modern CPU. The processing cores themselves will run on one or more clocks that are supplied by one or more PLLs so the core clocks can be adjusted easily, and possibly can be adjusted independently. The PCI express interface will also require PLLs, likely multiple PLLs to support operation at different link rates. Serial ATA connections likewise operate at a different speed and hence will have their own PLLs. Same goes for QPI, hyper transport, USB 3, HDMI, display port, etc. The memory interface likely requires a different PLL to generate the specific clock frequency that the installed memory requires. All of these PLLs would use the same (relatively) low frequency reference oscillator on the motherboard.






    share|improve this answer











    $endgroup$









    • 7




      $begingroup$
      A critical issue you've missed is the difficulty of making a quartz oscillator above a few hundred MHz. Using a PLL allows the base frequency to be generated with high stability, then upconverted to GHz frequencies with little loss of stability.
      $endgroup$
      – WhatRoughBeast
      Mar 29 at 2:26






    • 1




      $begingroup$
      @WhatRoughBeast: I don't think that's actually nearly as big an issue as moving the full frequency clock across the board without adding jitter and degrading edges. No one works on solving the problem of higher frequency oscillators, because no one would buy the solution.
      $endgroup$
      – Ben Voigt
      Mar 29 at 17:21














    11












    11








    11





    $begingroup$

    There are several reasons for this. A phase locked loop, or PLL, is a circuit that is used to generate a stable frequency that has a specific mathematical relationship to some reference frequency. Specifically, it is a circuit that is used to control some sort of electrically tunable oscillator (usually a voltage controlled oscillator, or VCO) so that its output is locked into a specific relationship with a reference frequency that is supplied by some sort of stable reference (usually a crystal, crystal oscillator, or silicon MEMS oscillator).



    A PLL works by dividing down the output of the VCO and the reference input with frequency dividers, then comparing the frequency and phase of these divided outputs and adjusting the VCO control voltage until the frequency and phase align.



    It is possible for a PLL to generate a much higher frequency than the reference frequency - for example, a 100 MHz reference can be multiplied up to several GHz. If the PLL is integrated on the same chip where the high frequency output is used, this can save power and reduce EMI by lowering the frequency that is sent through the circuit board traces. It also makes the board layout simpler.



    Since the relationship is determined with simple frequency dividers and it is quite simple to build programmable dividers, it is very easy to change the output frequency of a PLL by simply changing the divider settings. This can enable power savings using a technique called dynamic frequency scaling, where the frequency is adjusted based on the required processor performance to reduce power consumption. It also enables software-based configuration of the frequency, which makes the design of the system much more flexible as software can decide what settings to use at boot time based on detected hardware (for example, looking at CPU socket pin strapping or reading out SPD EEPROM contents on RAM modules during boot).



    In a modern CPU, there are going to be multiple PLLs present for providing the clocks for various components. Modern CPUs have a high level of integration and so components that used to be located on separate chips are increasingly integrated onto one die - there is a lot more than a single processing core and a front side bus on a modern CPU. The processing cores themselves will run on one or more clocks that are supplied by one or more PLLs so the core clocks can be adjusted easily, and possibly can be adjusted independently. The PCI express interface will also require PLLs, likely multiple PLLs to support operation at different link rates. Serial ATA connections likewise operate at a different speed and hence will have their own PLLs. Same goes for QPI, hyper transport, USB 3, HDMI, display port, etc. The memory interface likely requires a different PLL to generate the specific clock frequency that the installed memory requires. All of these PLLs would use the same (relatively) low frequency reference oscillator on the motherboard.






    share|improve this answer











    $endgroup$



    There are several reasons for this. A phase locked loop, or PLL, is a circuit that is used to generate a stable frequency that has a specific mathematical relationship to some reference frequency. Specifically, it is a circuit that is used to control some sort of electrically tunable oscillator (usually a voltage controlled oscillator, or VCO) so that its output is locked into a specific relationship with a reference frequency that is supplied by some sort of stable reference (usually a crystal, crystal oscillator, or silicon MEMS oscillator).



    A PLL works by dividing down the output of the VCO and the reference input with frequency dividers, then comparing the frequency and phase of these divided outputs and adjusting the VCO control voltage until the frequency and phase align.



    It is possible for a PLL to generate a much higher frequency than the reference frequency - for example, a 100 MHz reference can be multiplied up to several GHz. If the PLL is integrated on the same chip where the high frequency output is used, this can save power and reduce EMI by lowering the frequency that is sent through the circuit board traces. It also makes the board layout simpler.



    Since the relationship is determined with simple frequency dividers and it is quite simple to build programmable dividers, it is very easy to change the output frequency of a PLL by simply changing the divider settings. This can enable power savings using a technique called dynamic frequency scaling, where the frequency is adjusted based on the required processor performance to reduce power consumption. It also enables software-based configuration of the frequency, which makes the design of the system much more flexible as software can decide what settings to use at boot time based on detected hardware (for example, looking at CPU socket pin strapping or reading out SPD EEPROM contents on RAM modules during boot).



    In a modern CPU, there are going to be multiple PLLs present for providing the clocks for various components. Modern CPUs have a high level of integration and so components that used to be located on separate chips are increasingly integrated onto one die - there is a lot more than a single processing core and a front side bus on a modern CPU. The processing cores themselves will run on one or more clocks that are supplied by one or more PLLs so the core clocks can be adjusted easily, and possibly can be adjusted independently. The PCI express interface will also require PLLs, likely multiple PLLs to support operation at different link rates. Serial ATA connections likewise operate at a different speed and hence will have their own PLLs. Same goes for QPI, hyper transport, USB 3, HDMI, display port, etc. The memory interface likely requires a different PLL to generate the specific clock frequency that the installed memory requires. All of these PLLs would use the same (relatively) low frequency reference oscillator on the motherboard.







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Mar 29 at 1:15

























    answered Mar 28 at 21:11









    alex.forencichalex.forencich

    33.1k14989




    33.1k14989








    • 7




      $begingroup$
      A critical issue you've missed is the difficulty of making a quartz oscillator above a few hundred MHz. Using a PLL allows the base frequency to be generated with high stability, then upconverted to GHz frequencies with little loss of stability.
      $endgroup$
      – WhatRoughBeast
      Mar 29 at 2:26






    • 1




      $begingroup$
      @WhatRoughBeast: I don't think that's actually nearly as big an issue as moving the full frequency clock across the board without adding jitter and degrading edges. No one works on solving the problem of higher frequency oscillators, because no one would buy the solution.
      $endgroup$
      – Ben Voigt
      Mar 29 at 17:21














    • 7




      $begingroup$
      A critical issue you've missed is the difficulty of making a quartz oscillator above a few hundred MHz. Using a PLL allows the base frequency to be generated with high stability, then upconverted to GHz frequencies with little loss of stability.
      $endgroup$
      – WhatRoughBeast
      Mar 29 at 2:26






    • 1




      $begingroup$
      @WhatRoughBeast: I don't think that's actually nearly as big an issue as moving the full frequency clock across the board without adding jitter and degrading edges. No one works on solving the problem of higher frequency oscillators, because no one would buy the solution.
      $endgroup$
      – Ben Voigt
      Mar 29 at 17:21








    7




    7




    $begingroup$
    A critical issue you've missed is the difficulty of making a quartz oscillator above a few hundred MHz. Using a PLL allows the base frequency to be generated with high stability, then upconverted to GHz frequencies with little loss of stability.
    $endgroup$
    – WhatRoughBeast
    Mar 29 at 2:26




    $begingroup$
    A critical issue you've missed is the difficulty of making a quartz oscillator above a few hundred MHz. Using a PLL allows the base frequency to be generated with high stability, then upconverted to GHz frequencies with little loss of stability.
    $endgroup$
    – WhatRoughBeast
    Mar 29 at 2:26




    1




    1




    $begingroup$
    @WhatRoughBeast: I don't think that's actually nearly as big an issue as moving the full frequency clock across the board without adding jitter and degrading edges. No one works on solving the problem of higher frequency oscillators, because no one would buy the solution.
    $endgroup$
    – Ben Voigt
    Mar 29 at 17:21




    $begingroup$
    @WhatRoughBeast: I don't think that's actually nearly as big an issue as moving the full frequency clock across the board without adding jitter and degrading edges. No one works on solving the problem of higher frequency oscillators, because no one would buy the solution.
    $endgroup$
    – Ben Voigt
    Mar 29 at 17:21













    7












    $begingroup$

    Been there, done that.



    Apart from other reasons mentioned here is a different one:

    The marketing guys want to make the chip design as cheap as possible. Thus they prefer to use cheap crystals. The ones use for Ethernet fall in that category. So you often end up having to use a 25MHz crystal.



    At the same time marketing want powerful processors. Thus the processor (Let's call it a LEG++) should be able to run at 1 or 2 GHz.

    The only way to do that is to use a PLL.



    Or the processor can run at max 64MHz, but they want to have a USB interface which requires a 48MHz Clock. Again PLL to the rescue.



    ++LEG is not a registered trademark. (At least as far as I know)






    share|improve this answer









    $endgroup$













    • $begingroup$
      LEG have just released a quintuple Toe version of their famous FOOT processor.
      $endgroup$
      – Tom Carpenter
      Mar 29 at 14:16






    • 1




      $begingroup$
      @TomCarpenter: I worked for a company in Cambridge which had a text with the title "ARM shows Intel the Finger" on the wall. It was a beautiful 1'st of April article where they specified a one bit processor called "The Finger". Never found a copy!
      $endgroup$
      – Oldfart
      Mar 29 at 14:26
















    7












    $begingroup$

    Been there, done that.



    Apart from other reasons mentioned here is a different one:

    The marketing guys want to make the chip design as cheap as possible. Thus they prefer to use cheap crystals. The ones use for Ethernet fall in that category. So you often end up having to use a 25MHz crystal.



    At the same time marketing want powerful processors. Thus the processor (Let's call it a LEG++) should be able to run at 1 or 2 GHz.

    The only way to do that is to use a PLL.



    Or the processor can run at max 64MHz, but they want to have a USB interface which requires a 48MHz Clock. Again PLL to the rescue.



    ++LEG is not a registered trademark. (At least as far as I know)






    share|improve this answer









    $endgroup$













    • $begingroup$
      LEG have just released a quintuple Toe version of their famous FOOT processor.
      $endgroup$
      – Tom Carpenter
      Mar 29 at 14:16






    • 1




      $begingroup$
      @TomCarpenter: I worked for a company in Cambridge which had a text with the title "ARM shows Intel the Finger" on the wall. It was a beautiful 1'st of April article where they specified a one bit processor called "The Finger". Never found a copy!
      $endgroup$
      – Oldfart
      Mar 29 at 14:26














    7












    7








    7





    $begingroup$

    Been there, done that.



    Apart from other reasons mentioned here is a different one:

    The marketing guys want to make the chip design as cheap as possible. Thus they prefer to use cheap crystals. The ones use for Ethernet fall in that category. So you often end up having to use a 25MHz crystal.



    At the same time marketing want powerful processors. Thus the processor (Let's call it a LEG++) should be able to run at 1 or 2 GHz.

    The only way to do that is to use a PLL.



    Or the processor can run at max 64MHz, but they want to have a USB interface which requires a 48MHz Clock. Again PLL to the rescue.



    ++LEG is not a registered trademark. (At least as far as I know)






    share|improve this answer









    $endgroup$



    Been there, done that.



    Apart from other reasons mentioned here is a different one:

    The marketing guys want to make the chip design as cheap as possible. Thus they prefer to use cheap crystals. The ones use for Ethernet fall in that category. So you often end up having to use a 25MHz crystal.



    At the same time marketing want powerful processors. Thus the processor (Let's call it a LEG++) should be able to run at 1 or 2 GHz.

    The only way to do that is to use a PLL.



    Or the processor can run at max 64MHz, but they want to have a USB interface which requires a 48MHz Clock. Again PLL to the rescue.



    ++LEG is not a registered trademark. (At least as far as I know)







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Mar 28 at 18:34









    OldfartOldfart

    8,7662927




    8,7662927












    • $begingroup$
      LEG have just released a quintuple Toe version of their famous FOOT processor.
      $endgroup$
      – Tom Carpenter
      Mar 29 at 14:16






    • 1




      $begingroup$
      @TomCarpenter: I worked for a company in Cambridge which had a text with the title "ARM shows Intel the Finger" on the wall. It was a beautiful 1'st of April article where they specified a one bit processor called "The Finger". Never found a copy!
      $endgroup$
      – Oldfart
      Mar 29 at 14:26


















    • $begingroup$
      LEG have just released a quintuple Toe version of their famous FOOT processor.
      $endgroup$
      – Tom Carpenter
      Mar 29 at 14:16






    • 1




      $begingroup$
      @TomCarpenter: I worked for a company in Cambridge which had a text with the title "ARM shows Intel the Finger" on the wall. It was a beautiful 1'st of April article where they specified a one bit processor called "The Finger". Never found a copy!
      $endgroup$
      – Oldfart
      Mar 29 at 14:26
















    $begingroup$
    LEG have just released a quintuple Toe version of their famous FOOT processor.
    $endgroup$
    – Tom Carpenter
    Mar 29 at 14:16




    $begingroup$
    LEG have just released a quintuple Toe version of their famous FOOT processor.
    $endgroup$
    – Tom Carpenter
    Mar 29 at 14:16




    1




    1




    $begingroup$
    @TomCarpenter: I worked for a company in Cambridge which had a text with the title "ARM shows Intel the Finger" on the wall. It was a beautiful 1'st of April article where they specified a one bit processor called "The Finger". Never found a copy!
    $endgroup$
    – Oldfart
    Mar 29 at 14:26




    $begingroup$
    @TomCarpenter: I worked for a company in Cambridge which had a text with the title "ARM shows Intel the Finger" on the wall. It was a beautiful 1'st of April article where they specified a one bit processor called "The Finger". Never found a copy!
    $endgroup$
    – Oldfart
    Mar 29 at 14:26











    6












    $begingroup$

    PLLs can be used to multiply and divide frequencies. CPUs that have PLLs to generate their clocks are highly reconfigurable. The clock speed can be varied relative to the external reference clock over a wide range, and it's the PLL that makes this possible.






    share|improve this answer









    $endgroup$









    • 2




      $begingroup$
      Also it is not possible to get xtals to oscillate much beyond 100MHZ, so the ref oscillator needs to be multiplied many times to get 1 GHZ to 4 GHZ core frequencies. Core frequency is usually a integer multiple of the ref xtal.
      $endgroup$
      – Sparky256
      Mar 28 at 18:56










    • $begingroup$
      Well, it is more generally going to be an integer ratio of the reference frequency, as the PLL can divide both the VCO output as well as the reference frequency.
      $endgroup$
      – alex.forencich
      Mar 28 at 23:06
















    6












    $begingroup$

    PLLs can be used to multiply and divide frequencies. CPUs that have PLLs to generate their clocks are highly reconfigurable. The clock speed can be varied relative to the external reference clock over a wide range, and it's the PLL that makes this possible.






    share|improve this answer









    $endgroup$









    • 2




      $begingroup$
      Also it is not possible to get xtals to oscillate much beyond 100MHZ, so the ref oscillator needs to be multiplied many times to get 1 GHZ to 4 GHZ core frequencies. Core frequency is usually a integer multiple of the ref xtal.
      $endgroup$
      – Sparky256
      Mar 28 at 18:56










    • $begingroup$
      Well, it is more generally going to be an integer ratio of the reference frequency, as the PLL can divide both the VCO output as well as the reference frequency.
      $endgroup$
      – alex.forencich
      Mar 28 at 23:06














    6












    6








    6





    $begingroup$

    PLLs can be used to multiply and divide frequencies. CPUs that have PLLs to generate their clocks are highly reconfigurable. The clock speed can be varied relative to the external reference clock over a wide range, and it's the PLL that makes this possible.






    share|improve this answer









    $endgroup$



    PLLs can be used to multiply and divide frequencies. CPUs that have PLLs to generate their clocks are highly reconfigurable. The clock speed can be varied relative to the external reference clock over a wide range, and it's the PLL that makes this possible.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Mar 28 at 18:14









    Dave TweedDave Tweed

    123k9152265




    123k9152265








    • 2




      $begingroup$
      Also it is not possible to get xtals to oscillate much beyond 100MHZ, so the ref oscillator needs to be multiplied many times to get 1 GHZ to 4 GHZ core frequencies. Core frequency is usually a integer multiple of the ref xtal.
      $endgroup$
      – Sparky256
      Mar 28 at 18:56










    • $begingroup$
      Well, it is more generally going to be an integer ratio of the reference frequency, as the PLL can divide both the VCO output as well as the reference frequency.
      $endgroup$
      – alex.forencich
      Mar 28 at 23:06














    • 2




      $begingroup$
      Also it is not possible to get xtals to oscillate much beyond 100MHZ, so the ref oscillator needs to be multiplied many times to get 1 GHZ to 4 GHZ core frequencies. Core frequency is usually a integer multiple of the ref xtal.
      $endgroup$
      – Sparky256
      Mar 28 at 18:56










    • $begingroup$
      Well, it is more generally going to be an integer ratio of the reference frequency, as the PLL can divide both the VCO output as well as the reference frequency.
      $endgroup$
      – alex.forencich
      Mar 28 at 23:06








    2




    2




    $begingroup$
    Also it is not possible to get xtals to oscillate much beyond 100MHZ, so the ref oscillator needs to be multiplied many times to get 1 GHZ to 4 GHZ core frequencies. Core frequency is usually a integer multiple of the ref xtal.
    $endgroup$
    – Sparky256
    Mar 28 at 18:56




    $begingroup$
    Also it is not possible to get xtals to oscillate much beyond 100MHZ, so the ref oscillator needs to be multiplied many times to get 1 GHZ to 4 GHZ core frequencies. Core frequency is usually a integer multiple of the ref xtal.
    $endgroup$
    – Sparky256
    Mar 28 at 18:56












    $begingroup$
    Well, it is more generally going to be an integer ratio of the reference frequency, as the PLL can divide both the VCO output as well as the reference frequency.
    $endgroup$
    – alex.forencich
    Mar 28 at 23:06




    $begingroup$
    Well, it is more generally going to be an integer ratio of the reference frequency, as the PLL can divide both the VCO output as well as the reference frequency.
    $endgroup$
    – alex.forencich
    Mar 28 at 23:06











    5












    $begingroup$

    PLLs are used primarily to generate one or more faster or slower clocks from a reference clock.



    You might have say a fixed 100MHz crystal, but then want to run your CPU at 2GHz, so a PLL is required to increase the frequency (a 2GHz clock crystal isn't feasible).



    Additional you may want to be able to change your CPU frequency on the fly (e.g. a turbo clock). In which case you could have a reconfigurable PLL.



    Furthermore you may need a different memory or peripheral clock to your CPU clock. Again a PLL and divider can be used to generate this from a single reference.






    share|improve this answer









    $endgroup$













    • $begingroup$
      One may want to refer to Wikipedia page of Standard Crtstal Frequencies: en.wikipedia.org/wiki/Crystal_oscillator_frequencies
      $endgroup$
      – Swanand
      Mar 29 at 12:18
















    5












    $begingroup$

    PLLs are used primarily to generate one or more faster or slower clocks from a reference clock.



    You might have say a fixed 100MHz crystal, but then want to run your CPU at 2GHz, so a PLL is required to increase the frequency (a 2GHz clock crystal isn't feasible).



    Additional you may want to be able to change your CPU frequency on the fly (e.g. a turbo clock). In which case you could have a reconfigurable PLL.



    Furthermore you may need a different memory or peripheral clock to your CPU clock. Again a PLL and divider can be used to generate this from a single reference.






    share|improve this answer









    $endgroup$













    • $begingroup$
      One may want to refer to Wikipedia page of Standard Crtstal Frequencies: en.wikipedia.org/wiki/Crystal_oscillator_frequencies
      $endgroup$
      – Swanand
      Mar 29 at 12:18














    5












    5








    5





    $begingroup$

    PLLs are used primarily to generate one or more faster or slower clocks from a reference clock.



    You might have say a fixed 100MHz crystal, but then want to run your CPU at 2GHz, so a PLL is required to increase the frequency (a 2GHz clock crystal isn't feasible).



    Additional you may want to be able to change your CPU frequency on the fly (e.g. a turbo clock). In which case you could have a reconfigurable PLL.



    Furthermore you may need a different memory or peripheral clock to your CPU clock. Again a PLL and divider can be used to generate this from a single reference.






    share|improve this answer









    $endgroup$



    PLLs are used primarily to generate one or more faster or slower clocks from a reference clock.



    You might have say a fixed 100MHz crystal, but then want to run your CPU at 2GHz, so a PLL is required to increase the frequency (a 2GHz clock crystal isn't feasible).



    Additional you may want to be able to change your CPU frequency on the fly (e.g. a turbo clock). In which case you could have a reconfigurable PLL.



    Furthermore you may need a different memory or peripheral clock to your CPU clock. Again a PLL and divider can be used to generate this from a single reference.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Mar 28 at 18:15









    Tom CarpenterTom Carpenter

    40k375121




    40k375121












    • $begingroup$
      One may want to refer to Wikipedia page of Standard Crtstal Frequencies: en.wikipedia.org/wiki/Crystal_oscillator_frequencies
      $endgroup$
      – Swanand
      Mar 29 at 12:18


















    • $begingroup$
      One may want to refer to Wikipedia page of Standard Crtstal Frequencies: en.wikipedia.org/wiki/Crystal_oscillator_frequencies
      $endgroup$
      – Swanand
      Mar 29 at 12:18
















    $begingroup$
    One may want to refer to Wikipedia page of Standard Crtstal Frequencies: en.wikipedia.org/wiki/Crystal_oscillator_frequencies
    $endgroup$
    – Swanand
    Mar 29 at 12:18




    $begingroup$
    One may want to refer to Wikipedia page of Standard Crtstal Frequencies: en.wikipedia.org/wiki/Crystal_oscillator_frequencies
    $endgroup$
    – Swanand
    Mar 29 at 12:18











    2












    $begingroup$

    3 main reasons;



    1) power savings for mobiles and extend CPU life keeping cool.

    2) signal integrity is improved using xx multiplier for front side bus due to short wavelength, lower capacitance

    3) flexible CPU speeds are possible with throttle on Clock multiplier and Vdd to allow burst CPU power and cool down.



    Signal routing of 100MHz FSB is easy, > 1GHz is hard and your CPU is much higher, driver current increases with f and standing wave reflections distort square waves. While reducing CPU clock saves power and reduces temp.






    share|improve this answer









    $endgroup$


















      2












      $begingroup$

      3 main reasons;



      1) power savings for mobiles and extend CPU life keeping cool.

      2) signal integrity is improved using xx multiplier for front side bus due to short wavelength, lower capacitance

      3) flexible CPU speeds are possible with throttle on Clock multiplier and Vdd to allow burst CPU power and cool down.



      Signal routing of 100MHz FSB is easy, > 1GHz is hard and your CPU is much higher, driver current increases with f and standing wave reflections distort square waves. While reducing CPU clock saves power and reduces temp.






      share|improve this answer









      $endgroup$
















        2












        2








        2





        $begingroup$

        3 main reasons;



        1) power savings for mobiles and extend CPU life keeping cool.

        2) signal integrity is improved using xx multiplier for front side bus due to short wavelength, lower capacitance

        3) flexible CPU speeds are possible with throttle on Clock multiplier and Vdd to allow burst CPU power and cool down.



        Signal routing of 100MHz FSB is easy, > 1GHz is hard and your CPU is much higher, driver current increases with f and standing wave reflections distort square waves. While reducing CPU clock saves power and reduces temp.






        share|improve this answer









        $endgroup$



        3 main reasons;



        1) power savings for mobiles and extend CPU life keeping cool.

        2) signal integrity is improved using xx multiplier for front side bus due to short wavelength, lower capacitance

        3) flexible CPU speeds are possible with throttle on Clock multiplier and Vdd to allow burst CPU power and cool down.



        Signal routing of 100MHz FSB is easy, > 1GHz is hard and your CPU is much higher, driver current increases with f and standing wave reflections distort square waves. While reducing CPU clock saves power and reduces temp.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 28 at 18:19









        Sunnyskyguy EE75Sunnyskyguy EE75

        70.2k225101




        70.2k225101






















            Jonas Daverio is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            Jonas Daverio is a new contributor. Be nice, and check out our Code of Conduct.













            Jonas Daverio is a new contributor. Be nice, and check out our Code of Conduct.












            Jonas Daverio is a new contributor. Be nice, and check out our Code of Conduct.
















            Thanks for contributing an answer to Electrical Engineering Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f429532%2fwhy-is-there-a-pll-in-cpu%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Plaza Victoria

            In PowerPoint, is there a keyboard shortcut for bulleted / numbered list?

            How to put 3 figures in Latex with 2 figures side by side and 1 below these side by side images but in...