Попутно RISC-архитектура позволяет решить ещё ряд задач. Ведь с упрощением ЦП уменьшается число транзисторов, необходимых для его реализации, следовательно, уменьшается площадь кристалла. А с этим связано снижение стоимости и потребляемой мощности.
В этом месте можно было бы воскликнуть: будущее – за RISC-архитектурой! Однако в настоящее время грань между этими двумя понятиями стремительно стирается. Например, МК семейства AVR фирмы Atmel имеют систему команд из 120 инструкций, что соответствует типу CISC. Однако большинство из них выполняется за один такт, что является признаком RISC-архитектуры. Сегодня принято считать, что основным признаком RISC-архитектуры является выполнение команд за один такт тактового генератора. Число команд само по себе значения уже не имеет.
Тактовый генератор вырабатывает импульсы для синхронизации работы всех узлов устройства. Частоту их следования могут задавать кварцевый резонатор или RC-цепь, подключаемые к выводам МК. В некоторых МК предусмотрен режим работы тактового генератора без применения внешних элементов. В этом случае частота тактовых импульсов зависит от параметров кристалла, определяемых в процессе его производства.
ПЗУ – постоянное запоминающее устройство, предназначенное для хранения программ, поэтому часто эту память называют кодовой или памятью программ. До недавнего времени существовало две основных разновидности ПЗУ масочные и программируемые.
В масочные ПЗУ информацию заносят в процессе изготовления МК с помощью технологических шаблонов – масок. Изменить её после окончания производственного цикла невозможно.
Такие ПЗУ используют лишь в случаях, когда качество программы не вызывает сомнений и существует массовая потребность в МК именно с этой программой. Достоинство масочных ПЗУ – самая низкая стоимость при массовом производстве (от нескольких тыс. шт.).
В программируемые ПЗУ информацию записывают с помощью устройства, называемого программатором. МК с такими ПЗУ бывают двух типов: однократно и многократно программируемые (перепрограммируемые). Первые, как говорит само название, допускают только однократное программирование, после чего стереть информацию уже невозможно (МК с OTP-памятью – от англ. OneTimeProgrammable). Используют их в мелкосерийном производстве (до 1000 шт.), когда применение масочных МК экономически не оправдано.
Многократно программируемые микросхемы подразделяются на МК, оснащённые ПЗУ со стиранием ультрафиолетовым облучением (выпускаются в корпусах с «окном»), и МК с электрически перепрограммируемой памятью. Недостаток МК с ПЗУ со стиранием ультрафиолетовым облучением – очень высокая стоимость и относительно небольшое число циклов записи / стирания (зависит от суммарной дозы облучения кристалла и обычно не превышает 15…20).
В настоящее время все более популярной становится новая технология реализации ПЗУ – Flash-память. Её главное достоинство в том, что она построена на принципе электрической перепрограммируемости, то есть допускает многократное стирание и запись информации с помощью программаторов. Минимальное гарантированное число циклов записи / стирания обычно превышает несколько тысяч. Это существенно увеличивает жизненный цикл и повышает гибкость МК-систем, так как позволяет вносить изменения в программу МК как на этапе разработки системы, так и в процессе его работы в реальном устройстве.
ОЗУ – оперативное запоминающее устройство, используемое для хранения данных, поэтому эту память называют еще памятью данных. Число циклов чтения и записи в ОЗУ не ограничено, но при отключении питающего напряжения вся информация теряется.
Архитектура МК 8051 предполагает раздельное использование памяти программ и данных и носит название гарвардской. Обычно такую архитектуру используют для повышения быстродействия системы за счёт разделения путей доступа к памяти программ и данных, но в 8051 она была применена с целью получения памяти программ и данных, не требующих одинакового размера. Антипод гарвардской – архитектура фон Неймана – предполагает хранение программ и данных в общей памяти и наиболее характерна для микропроцессоров, ориентированных на использование в компьютерах. Примером могут служить микропроцессоры семейства х86.
Таймеры Т0, Т1 – шестнадцатиразрядные программируемые таймеры / счётчики, которые могут быть запрограммированы на выполнения целого ряда функций. Их можно использовать для точного формирования временных интервалов, подсчёта импульсов на выводах МК, формирования последовательности импульсов, тактирования приёмопередатчика последовательного канала связи. Таймеры/счётчики способны вырабатывать запросы прерываний, переключая ЦП на их обслуживание по событиям и освобождая его от необходимости периодического опроса состояния таймеров. Поскольку основное применение МК находятв системах реального времени, таймеры / счётчики являются их обязательным элементом. В некоторых модификациях число таймеров достигает 32.
Последовательный порт – канал информационного обмена МК с внешним миром. Такие каналы связи занимают минимальное число выводов кристалла, обеспечивая связь на значительные расстояния с минимальными аппаратными затратами, В 8051 реализован универсальный асинхронный последовательный приёмопередатчик(UART), поддерживающий протокол стандарта RS-232C, что обеспечивает возможность организации связи этого МК и персональным компьютером. Кроме RS-332C, популярными протоколами в мире встраиваемых систем являются RS-485,I2C(двухпроводная двунаправленная шина), SPI (последовательный периферийный трёхпроводный интерфейс), Bitbus (последовательная магистральуправления),CAN(межконтроллерный сетевой интерфейс), USВ (универсальная последовательная шина) и некоторые другие. Практически для любого типа последовательного канала сегодня можно найти МК, имеющий в своем составе соответствующий последовательный порт.
Параллельные порты ввода / вывода – также обязательная часть любого МК. Обычно ихиспользуют для связи с ближайшим окружением – датчиками и исполнительными механизмами.
Важная особенность параллельных портов МК – возможность программирования на выполнение нескольких функций. Например, в 8051 выводы портов P0 и P2 могут использоваться либо как обычные статические регистры ввода / вывода, либо в качестве шины адреса и данных для подключения внешних устройств, таких как дополнительная память программ, память данных, устройства ввода / вывода. Это придаёт МК архитектурную гибкость. Порт P3 может либо использоваться как статический регистр ввода / вывода, либо выполнять специальные функции для работы последовательного канала,таймеров, контроллера прерываний и т.д.Возможность перепрограммирования позволяет с максимальной эффективностью задействовать все выводы МК в проектируемом устройстве.
Система прерываний – одна из важнейших частей МК. Особенность систем реального времени заключается в том, что для них чрезвычайно важным параметром является время реакции на внешние события. Поясним на простом примере. Когда Вы производите математический расчёт на компьютере, то обычно запускаете программу, предназначенную для выполнения этих расчётов, и после того, как она загрузится в память компьютера, вводите условие задачи и ждёте результата. Время ожидания в таком случае не имеет принципиального значения (в пределах разумного, конечно) – медленная работа компьютера может раздражать, но на результате это не скажется. Система реального времени предполагает совершенно конкретную, рассчитываемую на этапе разработки скорость реакции системы управления на внешние события. Задержки сверх расчётных здесь просто недопустимы – они могут приводить к катастрофическим последствиям.