Дерево тактирования
Сеть генераторов, умножителей и делителей, которая определяет, на какой частоте работает каждая часть микроконтроллера — и получает ли она такты вообще.
В корне находятся один или несколько источников: внутренний RC-генератор, который запускается мгновенно, но «плывёт» с температурой; внешний кварцевый резонатор, точный, но выходящий на режим миллисекунды; и нередко кварц на 32,768 кГц для часов реального времени. ФАПЧ (PLL) умножает частоту, а предделители делят её для разных шин. Каждая периферия висит на конце своей ветви за собственным вентилем.
Именно этот вентиль — причина одной из самых частых ошибок в прошивках: вы подробно настроили UART, а ничего не происходит, потому что его тактирование так и не включили. Дерево определяет не только скорость. Более высокая частота ядра требует большего числа тактов ожидания флеша, скорости обмена выводятся из частоты шины, а отключение тактов (clock gating) — первый инструмент, когда нужно снизить энергопотребление. Производители выпускают графические средства для рисования дерева, что многое говорит о том, насколько приятно делать это вручную.