Заметки на полях
Обычно тактовая частота универсальных МК невелика (хотя инженеру 1980-х, когда ПК работали на частотах не выше 6 МГц, она показалась бы огромной) — порядка 8-16 МГц, иногда до 20 МГц или несколько более. И это всех устраивает — дело в том, что обычные МК и не предназначены для разработки быстродействующих схем. Если требуется быстродействие, то используется другой класс интегральных схем — ПЛИС, «программируемые логические интегральные схемы» (английское название самой популярной сейчас их разновидности — FPGA, field-programmable gate array
). Простейшая ПЛИС представляет собой набор никак не связанных между собой логических элементов (наиболее сложные из них могут включать в себя и некоторые законченные узлы, вроде триггеров и генераторов), которые в процессе программирования такого чипа соединяются в нужную схему. Комбинационная логика работает гораздо быстрее тактируемых контроллеров, и для построения сложных логических схем в настоящее время применяют только ПЛИС, от использования дискретных элементов («рассыпухи») в массовых масштабах уже давно отказались. Еще одно преимущество ПЛИС — статическое потребление энергии для некоторых серий составляет единицы микроватт, в отличие от МК, которые во включенном состоянии потребляют достаточно много (если не находятся в режиме энергосбережения). В совокупности с более универсальными и значительно более простыми в обращении, но менее быстрыми и экономичными микроконтроллерами, ПЛИС составляют основу большинства массовых электронных изделий, которые вы видите на прилавках. В этой книге мы, конечно, рассматривать ПЛИС не будем — в любительской практике, в основном из-за дороговизны соответствующего инструментария и высокого порога его освоения, они не используются, а для конструирования одиночных экземпляров приборов даже для профессиональных применений их использовать нецелесообразно.* * *
Если подробности внутреннего функционирования МП нас волнуют не очень (центральный узел — АЛУ — мы уже «изобретали» в главе 15
, и этого достаточно, чтобы понимать, что именно происходит внутри процессорного ядра), то обмен с внешней средой нас как раз интересует во всех деталях. Для этого служат порты ввода/вывода (I/O-port, от Input/Output). В этом термине имеется некоторая неопределенность, т. к. те, кто программировал для ПК на ассемблере, помнят, что в ПК портами ввода/вывода (ПВВ) назывались регистры для управления всеми устройствами, кроме непосредственно процессорного ядра. В микроконтроллерах то же самое называют регистрами ввода/вывода (РВВ) — это регистры для доступа ко встроенным компонентам контроллера, внешним по отношению к вычислительному ядру. А это все узлы, которыми непосредственно управляет пользователь: от таймеров и последовательных портов до регистра флагов и управления прерываниями. Кроме ОЗУ, доступ к которому обеспечивается специальными командами, все остальное в контроллере управляется через РВВ, и путать с портами ввода/вывода их не следует.