A PLL (Phase-Locked Loop) multiplies a clock frequency up: you feed it a modest, stable input, say an 8 MHz crystal or the internal RC, and it generates a much higher output, like 72, 168, or 480 MHz, that the core runs from. This lets you get both stability and speed: a slow crystal is cheap and accurate, and the PLL scales it to the high frequency the CPU needs, rather than requiring an expensive high-frequency crystal. The output follows the input's accuracy, so a crystal-driven PLL is precise while an RC-driven PLL inherits the RC's drift. The PLL takes time to lock after you enable it, so you must wait for its ready/lock flag before switching the system clock to it. In the tree, the PLL output is one of the selectable SYSCLK sources, and it's the one you almost always pick for full-speed operation, with the AHB/APB prescalers then dividing it back down for the buses and peripherals.
Embedded Systems Fundamentals · Interview question
What does the PLL do in the clock tree?
A strong answer
What a weak answer sounds like
You know the answer. Do you know what gets you dinged?
Pro breaks down the answer most candidates actually give to this question — and the specific reason an interviewer marks it down. It’s the difference between sounding correct and sounding senior, on all 472 questions.
From the lesson
Clocks & the Clock Tree
The MCU's heartbeat: internal RC vs external crystal vs PLL, and the clock tree that feeds the core and every peripheral, plus the flash-wait-state trap that hangs chips.
More Clocks & the Clock Tree questions
What's the difference between an internal RC oscillator and an external crystal, and when do you use each?Why must you set flash wait states before increasing the core clock?A peripheral's timing (UART baud, timer period) is wrong. How does the clock tree factor in?What's the correct sequence to switch the system clock to a PLL running off an external crystal?
Browse all 472 interview questions