Motorola 6800
Motorola 6800 — это 8-битный микропроцессор, разработанный и выпускавшийся компанией Motorola (США) с 1974 года. Он относится к первому поколению коммерчески доступных однокристальных микропроцессоров наряду с Intel 8080 и Zilog Z80. Процессор был спроектирован командой под руководством Тома Беннетта и Чарльза Мелера и предназначался для использования в широком спектре встраиваемых систем, терминалов, промышленных контроллеров и ранних персональных компьютеров. Архитектура Motorola 6800 оказала значительное влияние на последующие разработки, включая более мощное семейство Motorola 68000 (16/32-битные процессоры).
История
Разработка Motorola 6800 началась в 1972 году, когда компания Motorola решила выйти на рынок микропроцессоров, который к тому моменту контролировался Intel (процессор 4004, а затем 8008). Команда инженеров, ранее работавшая над созданием калькуляторов, поставила цель создать более мощный и удобный в использовании процессор, чем Intel 8080, анонсированный в 1974 году.
Первые образцы Motorola 6800 были представлены в марте 1974 года, а массовое производство началось в конце того же года. Первоначальная цена составляла около 360 долларов США за чип, что было сопоставимо с Intel 8080. Процессор выпускался по n-МОП-технологии с проектными нормами 6 мкм. Для работы требовалось три источника питания (+5 В, -5 В и +12 В), что было технически сложнее, чем у конкурентов, но обеспечивало высокую помехоустойчивость.
В 1975 году Motorola выпустила версию MC6800 с улучшенной архитектурой и сниженным энергопотреблением. В 1977 году появилась версия MC6802, которая интегрировала на кристалл 128 байт статической оперативной памяти (SRAM) и схему тактового генератора, что упростило создание одноплатных контроллеров. Всего было выпущено несколько модификаций, различавшихся частотой (от 1 МГц до 2 МГц) и типом корпуса (DIP-40). Производство Motorola 6800 продолжалось до середины 1980-х годов, после чего он был вытеснен более производительными процессорами, в том числе собственной разработки Motorola — семейством 68000.
Архитектура и характеристики
Основные параметры
- Разрядность: 8 бит (данные), 16 бит (адресная шина).
- Адресное пространство: 64 КБ (2^16 байт).
- Тактовая частота: 1 МГц (базовая модель), до 2 МГц в поздних версиях.
- Технология: n-МОП, 6 мкм.
- Количество транзисторов: около 4500.
- Напряжение питания: +5 В, -5 В, +12 В (для MC6800); +5 В для MC6802.
- Корпус: 40-выводной DIP (Dual In-line Package).
Внутреннее устройство
Процессор содержит следующие основные блоки:
- Арифметико-логическое устройство (АЛУ): 8-битное, выполняет операции сложения, вычитания, логические операции (И, ИЛИ, исключающее ИЛИ), сдвиги.
- Регистры:
- Аккумулятор A (8 бит) — основной регистр для арифметических операций.
- Аккумулятор B (8 бит) — второй аккумулятор, расширяющий возможности.
- Индексный регистр X (16 бит) — для косвенной адресации.
- Стек-указатель SP (16 бит) — указывает на вершину стека в памяти.
- Счётчик команд PC (16 бит) — хранит адрес следующей выполняемой команды.
- Регистр состояния CCR (8 бит) — содержит флаги: перенос (C), ноль (Z), отрицательный результат (N), переполнение (V), полуперенос (H), прерывание (I).
- Блок управления: декодирует команды и управляет последовательностью выполнения.
Система команд
Motorola 6800 имеет 72 базовые инструкции, многие из которых имеют несколько режимов адресации. Основные режимы:
- Непосредственная (immediate) — операнд находится в самой команде.
- Прямая (direct) — адрес операнда задаётся одним байтом (страница 0).
- Расширенная (extended) — адрес операнда задаётся двумя байтами (всё адресное пространство).
- Индексная (indexed) — адрес вычисляется как сумма содержимого регистра X и смещения.
- Неявная (inherent) — операнд находится в регистре (например, INCA — инкремент аккумулятора A).
- Относительная (relative) — для команд условного перехода (смещение от текущего адреса).
Команды включают арифметические (ADD, SUB, MUL — умножение отсутствовало в первых версиях), логические (AND, OR, EOR), пересылки (LDA, STA, LDX, STX), ветвления (BRA, BEQ, BNE) и управления (JMP, JSR, RTS). Особенностью архитектуры является отсутствие аппаратного умножения и деления — эти операции реализовывались программно.
Особенности
- Стек: реализован в основной памяти, растёт вниз (адреса уменьшаются). Используется для хранения адресов возврата и временных данных.
- Прерывания: поддерживаются маскируемые (IRQ) и немаскируемые (NMI) прерывания, а также программные (SWI). Векторы прерываний расположены в конце адресного пространства (адреса FFF8–FFFF).
- Тактовый генератор: в базовой модели требовался внешний двухфазный генератор (φ1, φ2). В MC6802 генератор был встроен.
Применение
Встраиваемые системы
Motorola 6800 широко использовался в промышленных контроллерах, измерительных приборах, автомобильной электронике и бытовой технике. Благодаря простой архитектуре и надёжности он стал популярен среди разработчиков встраиваемых решений. Примеры: контроллеры стиральных машин, терминалы сбора данных, медицинские приборы.
Персональные компьютеры
Несколько ранних микрокомпьютеров были построены на базе Motorola 6800:
- Altair 680 (1975) — уменьшенная версия Altair 8800, предназначалась для любителей.
- Motorola EXORciser (1975) — отладочный комплект для разработчиков.
- SWTPC 6800 (1975) — один из первых доступных домашних компьютеров.
- Commodore 65 (прототип, 1990) — хотя проект не был завершён, он базировался на 6800.
Однако в сегменте персональных компьютеров процессор уступил Intel 8080 и Z80 из-за более сложной системы питания и меньшей программной поддержки.
Образовательные системы
Процессор использовался в учебных целях: на его основе строились одноплатные компьютеры (например, Motorola MEK6800D2) и симуляторы для обучения программированию на ассемблере.
Развитие и влияние
Семейство Motorola 6800
На базе архитектуры 6800 были разработаны:
- MC6801 (1978) — однокристальный микроконтроллер с встроенной памятью (ROM, RAM) и таймером.
- MC6802 (1977) — процессор с интегрированной SRAM (128 байт) и тактовым генератором.
- MC6805 — бюджетное 8-битное семейство с пониженным энергопотреблением.
- MC6809 (1978) — усовершенствованная 8-битная версия с 16-битными регистрами и более мощной системой команд.
- Motorola 68000 (1979) — 16/32-битный процессор, наследник архитектуры 6800, ставший основой для компьютеров Apple Macintosh, Amiga и Atari ST.
Влияние на другие процессоры
Архитектура Motorola 6800 повлияла на разработку процессора MOS Technology 6502, который был создан бывшими инженерами Motorola. 6502 стал значительно дешевле и проще в производстве, что привело к его массовому использованию в компьютерах Apple II, Commodore 64 и игровых консолях (NES). Взаимное влияние 6800 и 6502 прослеживается в схожих системах команд и регистровой структуре.
Критика и недостатки
- Сложное питание: необходимость трёх напряжений (+5 В, -5 В, +12 В) усложняла схемотехнику и увеличивала стоимость блоков питания, в отличие от Intel 8080, работавшего только от +5 В.
- Отсутствие аппаратного умножения: умножение и деление реализовывались программно, что снижало производительность в вычислительных задачах.
- Ограниченная производительность: при частоте 1 МГц процессор выполнял около 0,5 MIPS (миллионов инструкций в секунду), что было ниже, чем у Z80 (около 0,8 MIPS).
- Неудачная конкуренция: несмотря на техническую проработанность, Motorola 6800 не смог завоевать доминирующее положение на рынке персональных компьютеров, уступив Intel и Zilog.
Интересные факты
- Первый микропроцессор, который использовался в автомобильной электронике (например, в системе управления двигателем Chrysler).
- Процессор Motorola 6800 был выбран для бортового компьютера космического аппарата «Викинг» (1975), который исследовал Марс.
- На базе 6800 был создан первый в мире одноплатный компьютер с открытой архитектурой — Motorola EXORciser.
Источники
- Motorola MC6800 Microprocessor Data Sheet (1974)
- «Microprocessor Architecture and Programming» by William H. J. (1976)
- «The 6800 Microprocessor: A Systems Approach» by Andrew C. Staugaard (1979)
- История развития микропроцессоров Motorola (архивные материалы компании Motorola)
- Статьи в журналах «Byte» и «Electronics» за 1975–1977 годы
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →