А Вы знаете, уважаемый коллега Golikov, Вы натолкнули меня вот еще на какую мысль. Начну немного издалека.
Допустим, у нас имеется некая емкость, которая заряжается от какого-то источника напряжения через сопротивление. Теоретически, заряд емкости будет длится во времени бесконечно долго. Но мы с Вами не математики и физики, а инженеры. Наши пределы погрешностей составляют 1, 2, 5 и иногда даже 10%. Грубо говоря, те измерения, с которыми мы обычно имеем дело имеют вот эти названные погрешности. Теперь, если считать, что с нашей (инженерной) точки зрения процессы останавливаются тогда, когда они попадают в диапазон "наших" погрешностей, то мы сможем продвинуться дальше в наших рассуждениях.
Допустим, при некоторых известных параметрах (напряжение источника, сопротивление, емкость) переходной процесс заканчивается за 100 нс. При этом тратится какая-то энергия, которую косвенно мы можем оценить путем измерения тока заряда.
Теперь давайте увеличим сопротивление в два раза. Что мы можем сказать в целом про переходной процесс? Ну, то, что время заряда будет больше в два раза, это понятно. Но что станет с потребляемым током? По идее оно тоже уменьшиться. А что можно сказать про затраченную от источника питания энергию? -- Она не измениться.
Идем дальше. Допустим мы должны выполнить 1000 циклов заряд-разряд емкости. Пусть один цикл составляет 1 мкс, а циклы следуют пачками через каждые 10 мс. (Я специально так подобрал времена, чтобы было понятно, что пачка будет длиться 1 мс, а инерционность стрелочных приборов не позволит увидеть период этих пачек.)
Вопрос -- что покажет амперметр в первом и во втором случае, когда мы увеличили сопротивление в два раза? Ответ состоит в том, что в обоих случаях потребление энергии (а значит и показания амперметра) будет одинаковым.
Хорошо. Идем дальше. Как вы думаете, по какой причине у микроконтроллеров (да и вообще -- у любого процессора) существует некая граничная частота, начиная с которой он уже не в состоянии выполнять программу детерминировано?
Видимо, в следствие того, что на высоких частотах начинаются сказываться задержки распространения фронтов импульсов. Эти задержки связаны с тем, что существующие паразитные емкости не могут заряжаться мгновенно. Поэтому, на выходе вентилей мы имеем задержанные по времени выходные сигналы. Более того, эти сигналы не очень-то похожи на прямоугольники. Точнее так -- мысленно отрежьте от хорошего прямоугольника его вершину, а нарастающий и спадающий фронт соедините вместе. Получится нечто напоминающее зубчик пилы.
Давайте ещё немного мысленно поиграемся с "отрезанием" средней части импульса. Вырезанием средней части импульса, мы как бы увеличиваем тактовую частоту. Мы можем видеть, что продолжая увеличивать частоту, форма пилы мало меняется, но зато амплитуда пилы резко начнет уменьшаться. Наверняка вы такое видели не раз в своей практике.
Уменьшение времени заряда-разряда конденсатора говорит о том, что он не заряжается до конца. А это значит, что количество забранной у источника питания энергии будет меньше на единицу события (фронта импульса).
Если мы считаем, что независимо от тактовой частоты, количество команд в программе одно и тоже, значит при низких частотах, когда паразитные емкости успевают полностью, заряжаться суммарное потребление тока будет примерно одинаковым. И только тогда, когда емкости не заряжаются полностью, но процессор еще не сбоит, мы можем ожидать незначительное снижение потребляемого тока.
Мне наверно следует предупредить холливар -- я не говорю о режимах работы, когда проц "молотит" постоянно. Я говорю о режимах, когда проц 90 и более процентов спит и потребляет доли микроампер, а только в 10 (и менее) процентов времени проц работает, потребляя десяток-другой миллиампер. Но поскольку в моменты бодрствования проц выполняет одно и тоже количество команд, условно совершая 1000 переходов состояния внутри ядра, то можно утверждать, что он в этот момент потребляет одно и тоже количество энергии.
Но ситуация начинает немного меняться, когда проц, пробуждаясь, работает на предельных частотах. Когда его паразитные емкости не полностью заряжаются.
Кто-нибудь понял, что я тут сказал?
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|