Motorola 6800

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Motorola MC6800
Центральный процессор
Motorola MC6800L SC7718I top.jpg
Микропроцессор Motorola 6800
Производство 1974
Производители
Частота ЦП 0,8—2 МГц
Технология производства мкм
Наборы инструкций 72 инструкции
Разъём DIP40
Заготовка для распайки выводов кристалла

Motorola 6800 — первый 8-ми разрядный микропроцессор фирмы Motorola. Его разработка была закончена в начале 1974, практически одновременно с микропроцессором Intel 8080. Однако из-за технологических трудностей его массовое производство началось лишь более полугода спустя после начала поставок 8080. Это привело к тому, что первые популярные микрокомпьютеры были сделаны на Intel 8080.

Система команд 6800 включает 72 документированные команды, использующие 7 методов адресации, а также несколько недокументированных бесполезных команд, из которых лишь команда «Halt and Catch Fire» (HCF) полезна при поиске дефектов шины адреса.[1] Возможно, это был первый микропроцессор с индексным регистром. Считается, что архитектура процессора 6800 заимствована у PDP-11.

Первая версия кристалла 6800 1974 года содержала 4000 транзисторов, но технология была устаревшей относительно конкурентов и процент выхода годных микросхем при производстве низок. Через 1.5 года кристалл был переработан на более новую (depletion-mode) технологию, что позволило резко увеличить ПВГ и одновременно поднять клок до 2 МГЦ, но число транзисторов при этом увеличилось до 5000. С марта 1977 начался выпуск улучшенной версии 6800 - процессора 6802. Он не нуждался в задающем генераторе 6875 и имел внутри кристалла ОЗУ в 128 байт, но число транзисторов в нём увеличилось уже до 11 тысяч. 6808 это отбраковка 6802 без ОЗУ на кристалле.

На этом развитие и история самого процессора 6800 закончились. Микроконтроллеры, начиная с 6801 имели уже расширенную систему команд, а 6809 разработанный в 1979, это несовместимый по кодам команд процессор, хотя при наличии исходного текста, - программы написанные для 6800 перетранслируются под 6809, что упрощало апгрейд.

Программная модель[править | править код]

7 A 0
7 B 0
15 X 0
15 PC 0
15 SP 0
7 CCR 0

A — Аккумулятор A
B — Аккумулятор B
X — Индексный регистр
PC — Программный счётчик
SP — Указатель стека
CCR — Регистр флагов (Conditional Code Register)

Применение 6800[править | править код]

6800 как процессор для ЭВМ имел сравнительно скромный успех лишь в микрокомпьютерах первой волны (1975-1978), а с конца 70-тых не смог найти применения вообще ни в одном западном промышленном компьютере. Роль сыграла случайность и субьективный фактор, - ошибочный маркетинг (6800 вначале не продавался в розницу) и разработчики процессоров Motorola в 70-тые годы постоянно опаздывали. Злую шутку сыграли бывшие разработчики 6800 организовавшие свою фирму и выпустившие в 1975 году значительно более дешёвый процессор MOS 6502. Его агрессивный маркетинг и преувеличенная реклама существенно снизили использование 6800.

Хотя успех микроконтроллеров серии 680x (которые производятся до сих пор) доказал, что архитектура процессора и его система команд вполне конкурентны. В 1977 году 6800 на такте 2 МГЦ превзошёл вдвое по производительности процессор 8080, но другие конкуренты сработали лучше, - к тому времени появился Z80 на такте 4 МГЦ. Процессор 6800 лишь проложил путь к ставшему самым лучшим 8-ми разрядным процессором 6809.

Процессор 6800, если и уступал по производительности процессору 8080, то немного. Это ещё раз проиллюстрировал созданный в конце 80-тых успешный болгарский компьютер Пылдин-601. В нём уже устаревший на 15 лет болгарский клон 6800 на частоте всего 1 МГЦ работал с графикой 640*200, ничуть не медленнее, чем аналогичные машины имеющие такой же экран, но использующие процессор 8080 на такте 2 МГЦ.

В середине 1970-тых годов компьютеры использовали в основном любители. Первые микрокомпьютеры продавались посылторгом в виде набора деталей для самостоятельной сборки. Для непосвященных микрокомпьютер был бесполезен, да и для опытных пользователей был по существу лишь дорогой игрушкой. Пользователю первые микрокомпьютеры могли предложить лишь Tiny BASIC[1] и несколько десятков простых текстовых игр на нём. Микрокомпьютеры первой волны не имели экранной памяти в адресном пространстве ЦП (выводили на терминал на скорости 150 бод, потому не могли предложить динамичных игр), существенно уступая первым бытовым компьютерам в качестве и количестве программ, конструктивному удобству и цене.

6800 в качестве процессора использовали компьютеры SWTPC 6800, MITS Altair 680 (дешёвый вариант Altair 8800), Ohio Scientific, Gimix, Smoke Signal Broadcasting, Midwest Scientific и Newbear 77/68. Некоторые из этих моделей были пиратскими клонами. Самым развитым и массовым был SWTPC 6800, но в целом бОльшую часть рынка подобных изделий захватили процессоры 8080 и 6502.

Эти компьютеры полукустарным способом выпускали мелкие фирмы из нескольких десятков сотрудников и к 1978 году по мере появления первых массово выпускаемых промышленных изделий (VIC-20, TRS-80, Apple-II) все эти фирмы, кроме SWTPC, разорились и вышли из бизнеса. Фирма SWTPC продержалась до начала 80-тых, хотя для этого процессор в SWTPC пришлось заменить на более мощный 6809.

Помимо компьютеров процессор 6800 нашёл применение в кассовых терминалах, автомобилях и игровых автоматах 70-тых годов. Изделия на процессоре 6800 были более дешёвыми, чем аналогичные на 8080, что вызывалось наличием у последнего 3-х источников питания, бОльшим числом БИС обрамления и тем, что код 8080 менее компактный, что было важно при высокой стоимости ОЗУ и ПЗУ. Но при том же времени доступа к ОЗУ Intel 8080 обеспечивал бОльшую производительность.

Дальнейшее развитие системы команд 6800 связано с микроконтроллерами. На этом рынке производным от 6800 микроконтроллерам удалось преуспеть.

Микроконтроллеры[править | править код]

6802 это процессор, но наличие внутри кристалла ОЗУ позволяло его использовать и как двухкристальный микроконтроллер, для чего он работал в паре с 6846, содержащим ПЗУ, таймер и порты.

Микроконтроллеры 6801, 6803 и 6805 ещё можно относить к процессорам 6800, хотя они и отличаются от 6800/6802 наличием дополнительных команд, тем не менее их можно использовать как процессор и построить на них компьютер полностью совместимый с 6800. Последующие микроконтроллеры на базе 6800 уже не совместимы и имеют другую архитектуру.

Разработка однокристального микроконтроллера 6801 была закончена одновременно с 6802. Он объединял на одном кристалле улучшенный вариант 6802 (добавлено 10 новых команд, в том числе аппаратно реализованное умножение) с внутренним генератором, ПЗУ 2 кб, ОЗУ 128 байт, последовательный интерфейс, один 16-ти разрядный таймер и 29 I/O портов. А 6803 это вариант 6801 с внешним ПЗУ. Первый опыт применения 6801 в контроллере автомобиля оказался неудачным, - контроллер ощутимо увеличивал цену автомобиля. Высокая цена первых 6801 была обусловлена проблемами технологии из-за большого числа транзисторов на кристалле (их было 35.000, что больше, чем у 8086 и 8088). Чтобы исправить ситуацию в 1979 был выпущен изначально разрабатываемый как 'low cost' упрощённый вариант 6801 под именем 6805, который благодаря низкой цене получил широкое распространение (и выпускается до сих как 68HC05).

Но и 6801 не был заброшен. В начале 80-тых его кристалл был переработан на новой технологии что позволило в новой версии 6801/U4 не только многократно опустить цену, но одновременно существенно улучшить параметры. Hitachi выпустила более развитый клон 6801, имеющий доп.команды под именем HD63x01 (x это A/B/C означают такт), а затем и полностью свой процессор HD63x03 (уже в DIP 64) в который добавлены два параллельных порта, второй таймер, удвоено ОЗУ и ПЗУ, введены режимы энергосбережения. Оба японских процессора прогоняют команды за меньшее число тактов.

В 1985 в микроконтроллер 6801 был добавлен второй индексный регистр, улучшены битовые операции. Этот микроконтроллер под наименованием 68HC11 производился в множестве вариаций (и производится до сих пор), хотя из-за наличия второго индексного регистра MC68HC11 логичнее считать его производным от 6809. В начале 90-тых на смену 68HC05 пришёл 68HC08. В 1995 на базе MC68HC11 был разработан MC68HC12. Но все эти микроконтроллеры имеют отношение к 6800 лишь по происхождению и имеют другую архитектуру и систему команд.

Микроконтроллеры производные от 6800 широко использовались в автомобилестроении, контроллерах промышленного оборудования (роботизированные линии производства) и некоторых ранних домашних компьютерах, например TRS-80 MC-10 и Matra Alice.

Периферия[править | править код]

  • MC6810 ОЗУ на 128 байт
  • MC6818 Часы реального времени (использовались в IBM PC/AT)
  • MC6820/6821 «PIA» Адаптеры периферийных интерфейсов (GPIO / параллельный порт)
  • MC6828 «PIC» Контроллёр прерываний
  • MC6830 ПЗУ на 1 кб
  • MC6840 Счётчик/Таймер
  • MC6843 Контроллер дисковода
  • MC6844 DMA контроллер
  • MC6845 ЭЛТ контроллер (использовался в MDA и CGA)
  • MC6846 ПЗУ + Счётчик/Таймер + порты I/O
  • MC6847 VDG — микросхема видеоконтроллера
  • MC6850 «ACIA» адаптер асинхронного последовательного интерфейса
  • MC6852 «SSDA» синхронный последовательный интерфейс
  • MC6854 «ADLC» усовершенствованный связной контроллер
  • MC6860 модем на 600 бод
  • MC6862 модулятор для модема на 2400 бод
  • MC6870 задающий генератор для 6800
  • MC6875 улучшенная версия MC6870
  • MC6883 «SAM» вспомогательная БИС для VDG 6847 и контроллер DMA

Аналоги и конкуренты[править | править код]

В НРБ производился аналог микропроцессора под названием СМ601, который использовался в промышленный контроллерах и бытовых компьютерах[2]. На основе 6800 были разработаны Freescale 68HC08, Freescale 68HC11 и Freescale 68HC12.

Hitachi кроме того, что производила многие модели микропроцессоров Motorola, разработала свои модели микропроцессоров Hitachi 6301 и Hitachi 6303 с расширенным набором инструкций, которые могли выполнять код, написанный для 6800.

Примечания[править | править код]

  1. Wheeler, Gerry (December 1977). “Undocumented M6800 Instructions”. BYTE. 2 (12): 46–47. (англ.) Halt and Catch Fire instruction.
  2. Воробьев Е.П., Сенин К.В. Интегральные микросхемы производства СССР и их зарубежные аналоги: Справочник. — М.: Радио и связь, 1990. — С. 222. — 352 с. — ISBN 5-256-00497-2.

Ссылки[править | править код]