Motorola 6800

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

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). Роль сыграла случайность и субъективный фактор — ошибочный маркетинг (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 МГц работал с графикой 640x200 ничуть не медленнее, чем аналогичные машины, имеющие такой же экран, но использующие процессор 8080 на такте 2 МГц.

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

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

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

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

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

Микроконтроллеры

[править|править код]

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

Микроконтроллеры 6801, 6803 и 6805 ещё можно относить к процессорам 6800, хотя они и отличаются от 6800/6802 наличием дополнительных команд, тем не менее их можно использовать как процессор и построить на них компьютер, полностью совместимый с 6800. Последующие микроконтроллеры на базе 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производился в множестве вариаций (и производится до сих пор), хотя из-за наличия второго индексного регистра логичнее считать его производным от 6809. В начале 90-х на смену 68HC05 пришёл 68HC08. В 1995 году на базе MC68HC11 был разработанMC68HC12.Но все эти микроконтроллеры имеют отношение к 6800 лишь по происхождению и имеют другую архитектуру и систему команд.

Микроконтроллеры, производные от 6800, широко использовались в автомобилестроении, контроллерах промышленного оборудования (роботизированные линии производства), а микроконтроллер 6803 в 1983 году был применён в качествеЦПв бытовом компьютереTRS-80 MC-10и в его европейском клонеMatra Alice(а также в более развитых версияхAlice 32иAlice 90).

  • 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» — вспомогательная БИС для VDG6847и контроллер DMA

Клоны и производные

[править|править код]

ВНРБпроизводился полный клон процессора 6800 под названием СМ601, который использовался в промышленных контроллерах и одном бытовом компьютере. Японская фирмаHitachi,кроме выпуска по лицензии клонов микропроцессоров Motorola, разработала собственные улучшенные их версии —Hitachi 6301иHitachi 6303с расширенным набором инструкций, которые могли выполнять код, написанный для 6800.

На основе 6800 были разработаны однокристальные контроллерыFreescale 68HC08,Freescale 68HC11иFreescale 68HC12.

  1. Wheeler, Gerry.Undocumented M6800 Instructions(англ.)//BYTE:magazine. — 1977. — December (vol. 2,no. 12). —P. 46—47.(англ.)Halt and Catch Fire instruction.