Читать «Журнал "Компьютерра" №728» онлайн - страница 68

Компьютерра

Большинство МК имеет гарвардскую (а не фоннеймановскую, как у "обычных" компьютеров) архитектуру памяти, когда области хранения программ и данных разделены (исключения все же есть - например, некоторые МК фирмы Fujitsu). Такое построение вытекает из самого принципа устройства МК, где программы обычно хранятся в энергонезависимой памяти (ранее - в "прожигаемой", либо УФ-стираемой, сейчас около трех четвертей рынка занимают контроллеры с флэш-памятью), тогда, как данные - в быстродействующей SRAM, которая иногда может наращиваться с помощью внешних модулей. Для долговременного хранения данных в МК обычно встраивают отдельный небольшой массив EEPROM-ячеек или применяют внешние ППЗУ.

Однако различия между семействами все же имеются, и при построении систем их приходится учитывать. Давайте рассмотрим подробнее универсальные МК на примере трех наиболее популярных семейств - это упоминавшийся x51, и кроме того, PIC фирмы Microchip и AVR фирмы Atmel.

Семейство x51

Патриарх i8051 совершил в свое время переворот прежде всего тем, что это был первый computer-on-chip, содержащий на кристалле практически все, что требуется для автономного функционирования: встроенную память программ, четыре восьмиразрядных параллельных порта ввода-вывода, два 16-разрядных таймера-счетчика, универсальный последовательный интерфейс, и систему внутренних и внешних прерываний. В дальнейшем он породил большое число подражаний самого разнообразной структуры и назначения; в том числе выпускались (а может, даже и продолжают выпускаться - в продаже, во всяком случае, имеются) его клоны и в нашей стране в виде серий 1816 и 1830.

Система команд x51 основана на работе АЛУ с единственным регистром-аккумулятором, плюс еще один вспомогательный регистр, который штатно используется для команд аппаратного умножения и деления, но годится и для хранения какой-нибудь переменной. Такая конструкция подразумевает широкое использование стека. Для программных переменных предполагается расположение в памяти данных, которая может иметь самую разнообразную конфигурацию (если учесть возможность подключения внешней памяти до 64 кбайт), поэтому в архитектуре х51 имеется огромное количество однотипных инструкций, различающихся только способом адресации.

Хотя все МК x51 давно делаются по КМОП-технологии, с электрической точки зрения все выходные линии портов х51 совместимы с TTL-уровнями, и часть из них имеет выходы с "открытым коллектором". Достоинством архитектуры может считаться наличие упомянутых аппаратных инструкций умножения и деления и важной для электронных устройств операции десятичной коррекции. Однако канонический х51 имеет один крупнейший недостаток: длительность выполнения команд у него кратна машинному циклу, который занимает целых 12 тактов. Т. е. устройство с тактовой частотой 12 МГц будет иметь быстродействие всего 1 миллион простых инструкций в секунду (MIPS). Значительное число более современных модификаций х51 может выполнять инструкции быстрее: для примера можно привести серию фирмы Atmel под названием 89LP, где машинный цикл равен всего одному такту.