Под разрядностью МП обычно понимают разрядность чисел, с которыми работает АЛУ, соответственно, такую же разрядность имеют и рабочие регистры. Например, все ПК-процессоры от i386 до последних инкарнаций Pentium были 32-разрядными, последние модели от Intel и AMD стали 64-разрядными.
Большинство микроконтроллеров общего назначения 8-разрядные, но есть и 16- и 32-разрядные. При этом внутренняя шина данных может иметь и больше разрядов, например, чтобы одновременно передавать и адреса и данные.
Распределение рынка МК в первые годы тысячелетия было таким: немного меньше половины выпускаемых изделий составляют 8-разрядные кристаллы, а вторую половину поделили между собой 16- и 32-разрядные, причем доля последних неуклонно растет за счет 16-разрядных. Выпускаются даже 4-разрядные, потомки первого i4004, которые занимают не более 10 % рынка, но что любопытно, эта доля снижается очень медленно.
Заметки на полях
Обычно тактовая частота универсальных МК невелика (хотя типичному инженеру 1980-х, когда ПК работали на частотах не выше 6 МГц, она показалась бы огромной) — порядка 8—16 МГц, иногда до 24 МГц или несколько более. И это всех устраивает: дело в том, что обычные МК и не предназначены для разработки быстродействующих схем. Если требуется быстродействие, то используется другой класс интегральных схем — ПЛИС, «программируемые логические интегральные схемы». Простейшая ПЛИС представляет собой набор никак не связанных между собой логических элементов (более сложные могут включать в себя и некоторые законченные узлы, вроде триггеров и генераторов), которые в процессе программирования такого чипа соединяются в нужную схему. Комбинационная логика работает гораздо быстрее тактируемых контроллеров, и для построения различных логических схем в настоящее время применяют только ПЛИС, от проектирования на «рассыпухе» в массовых масштабах уже давно отказались. Еще одно преимущество ПЛИС — статическое потребление энергии для некоторых серий составляет единицы микроватт, в отличие от МК, которые во включенном состоянии потребляют всегда (если не находятся в режиме энергосбережения). В совокупности с более универсальными и значительно более простыми в обращении, но менее быстрыми и экономичными микроконтроллерами, ПЛИС составляют основу большинства массовых электронных изделий, которые вы видите на прилавках. В этой книге мы, конечно, рассматривать ПЛИС не будем — в любительской практике, в основном из-за дороговизны соответствующего инструментария и высокого порога его освоения, они не используются, и для конструирования одиночных экземпляров приборов даже для профессиональных применений нецелесообразны. А вот если вы закажете разработку некоего прибора профессиональной «конторе», имеющей нужные инструменты и разработчиков с соответствующей квалификацией— почти всегда получите что-нибудь на базе ПЛИС, потому что в конечном итоге так оказывается дешевле.
Если подробности внутреннего функционирования МП нас не очень волнуют (достаточно иметь общее представление о структуре микропроцессорного ядра, чтобы понимать, что именно происходит при выполнении команд), то обмен с внешней средой нас как раз интересует во всех деталях. Для этого служат порты ввода/вывода (I/0-port, от Input/Output). В этом термине имеется некоторая неопределенность, т. к. «порт ввода/вывода» в МК с точки зрения его внутреннего устройства обозначает прежде всего некий регистр для доступа к компонентам, внешним по отношению к вычислительному ядру. А это все узлы, которыми непосредственно управляет пользователь (от таймеров и последовательных портов до регистра флагов и управления прерываниями). Кроме разве что ОЗУ, доступ к которой обеспечивается специальными командами, все остальное в контроллере управляется через порты ввода/вывода.
Однако точно так же называются и внешние порты ввода/вывода, для обмена с «окружающей средой» (управляются они, естественно, внутренними портами ввода/вывода). На схеме рис. 11.2 они показаны в количестве трех (А, В и С). В разных МП их может быть и больше, и меньше. Еще важнее число выводов этих портов, которое чаще всего совпадает с разрядностью процессора (но не всегда, как это было у 8086, который имел внутреннюю 16-разрядную структуру, а внешне выглядел 8-разрядным). Если мы заставим 8-разрядные порты «общаться», например, с внешней памятью, то на двух из них можно выставить 16-разрядный адрес, а на оставшемся— принимать данные. А как быть, если портов два или вообще один? (К примеру, в микроконтроллере Atmel AVR 2313 портов формально два, но один усеченный, так что общее число линий составляет 15.) Для этого все внешние порты в МП всегда двунаправленные. Скажем, если портов два, то можно сначала выставить адрес, а затем переключить их на вход и принимать данные. Естественно, для этого порты должны позволять работу на общую шину, т. е. либо иметь третье состояние, либо выход с общим коллектором для объединения в «монтажное ИЛИ».
Читать дальше
Конец ознакомительного отрывка
Купить книгу