Motorola 680x0
MC680x0/680x0/0x0/m68k/68k/68K — семейство CISC-микропроцессоров компании Motorola, основной конкурент процессоров семейства Intel x86 в персональных компьютерах 1980-х и первой половине 90-х. Перестав использоваться как основа персональных компьютеров в начале 2000-х, семейство продолжает использоваться в секторе встраиваемых решений (хотя это семейство морально устарело и для этого сектора, ибо многими фирмами производятся более доступные и производительные процессоры/контроллеры: ARM (в частности, STM32), AVR32, PIC32 (он же MIPS) и прочие на основе RISC-архитектур). Характерно то, что наиболее современная серия микроконтроллеров DragonBall MX (позже переименованная в i.MX, а также известная как MC9328MX) предназначена для тех же применений, что и ранние серии DragonBall, но основана на процессорном ядре ARM9 или ARM11 вместо Motorola 68000.
"68000" или "68k" | |
---|---|
Разработчик | Motorola |
Разрядность | 32-бит |
Представлена | 1979 |
Архитектура | CISC |
Порядок байтов | Big-endian |
Регистры | |
Общего назначения | 8 × 32-бит + 7 адресных регистров |
Медиафайлы на Викискладе |
Область примененияПравить
Линейка процессоров m68k использовалась на различных системах, от калькуляторов Texas Instruments (TI-89 Titanium, TI-92, Voyage 200), военных терминалов связи ВМФ США AN/USQ-83,[1] до критичных систем управления Спейс Шаттла.[2]
На базе процессоров m68k было построено множество платформ персональных компьютеров, самыми известными из которых являются: Apple Macintosh, Commodore Amiga и Atari ST. Надо отметить, что популярный КПК Palm также изначально использовал процессоры Motorola.
На 2020 год на базе старших моделей этой популярной[3][4] процессорной линейки (чаще всего используются Freescale ColdFire v5x и DragonBall) проектируются в основном embedded-решения. Архитектура m68k поддерживается операционными системами Debian Linux[5], NetBSD (архитектуры amiga, atari, cesfic, hp300, luna68k, mac68k, mvme68k, news68k, next68k, sun3, x68k)[6] и OpenBSD (архитектуры amiga[7] и mac68k[8]), также, энтузиастами иногда создаются и обновляются дистрибутивы Linux[9]. Проприетарные ОС AmigaOS 4 и MorphOS поддерживают архитектуру m68k на уровне JIT-эмуляции. Также обновляется классическая AmigaOS для m68k: 1 октября 2018 компания Hyperion Entertainment выпустила[10] AmigaOS 3.1.4, а 30 июня 2019 года выпустила[11][12] обновлённую AmigaOS 3.1.4.1, которая на 2020 год продаётся через дилерскую сеть[13]. В 2020 году началась разработка AmigaOS 3.2 для архитектуры классической Amiga m68k[14].
АрхитектураПравить
Язык ассемблера M68k схож с ассемблером PDP-11 и VAX. Несмотря на исключение в виде разделения регистров общего назначения на специализированные регистры адресов и регистры данных, архитектура 68000 во многом — 32-битная версия PDP-11. Несмотря на то, что система команд с самого начала описывает 32-битную машину, первое поколение процессоров (до 68020) имело 16-битное АЛУ, из-за чего иногда процессор описывается как имеющий смешанную битность 16/32. При этом 32-битные команды с данными выполнялись в несколько действий с 16-битным АЛУ, но блок адресации сразу был 32-битным, поэтому индексация памяти и вычисления адресов не страдали по быстродействию с самого начала. Когда в 68020 АЛУ сделали 32-битным, то ничего не надо было делать с уже существующим кодом, чтобы он начал работать "на полной скорости 32 бит".
Набор инструкций значительно более «ортогонален», чем у многих процессоров, появившихся ранее (как i8080). На практике это означает, что возможно свободно комбинировать операции и операнды, со всем богатством режимов адресации, не задумываясь об ограничениях совместимости конкретной операции и набора операндов. Эта особенность существенно облегчает программирование на ассемблере 68k, в определённой степени приближая его к языкам высокого уровня, а также существенно облегчает создание кода компиляторами.
Инструкции 68k можно разделить на несколько крупных групп:
- Операции с памятью (Load&store — Move.B, Move.W, Move.L);
- Арифметика (Add, Sub, Mul, Div);
- Побитное смещение (влево и вправо, логическое и арифметическое);
- Циклические битовые сдвиги (ROR, ROL, ROXL, ROXR);
- Логические операции (And, Or, Not, EOr);
- Конверсия типов (байт в слово и наоборот);
- Условное и безусловное ветвление (Bra, BCS, BEq, BNE, BHI, BLO, BMI, BPL, etc.);
- Вызов подпрограмм и возврат из них (BSR, RTS);
- Управление стеком (push, pop);
- Вызов и обработка прерываний;
- Обработка ошибок и исключений.
Процессоры семейства Motorola 68kПравить
- Первое поколение
- Motorola 68000 — 32-разрядная архитектура, но 16-разрядное АЛУ; 68000 транзисторов; 16-битная шина данных/24-битная шина адресов; частота 8-16 МГц; 64 или 68 контактов.
- DIP версии
- Motorola 68000L
- Motorola 68000L8
- Motorola 68HC000P8
- Motorola 68000P8
- Motorola 68000P12
- Motorola 68000P12F
- Motorola 68HC000P12F
- PGA версии
- Motorola 68HC000RC10
- Motorola 68000R12
- PLCC версии
- Motorola 68000FN8
- Motorola 68HC000FN8
- Motorola 68000FN10
- Motorola 68HC000FN12
- Motorola 68HC000FN12F
- Motorola 68EC000FN16
- Motorola 68HC000FN16
- DIP версии
- Motorola 68008 — 32-разрядная архитектура, но 16-разрядное АЛУ; 70000 транзисторов; 8-битная шина данных/20-битная шина адресов; частота 8-10 МГц; 48 контактов.
- Motorola 68010 — 32-разрядная архитектура, но 16-разрядное АЛУ; усовершенствование MC68000; 84000 транзисторов; 16-битная шина данных/24-битная шина адресов; частота 8-12 МГц; 64 или 68 контактов.
- Motorola 68012
- Motorola 68000 — 32-разрядная архитектура, но 16-разрядное АЛУ; 68000 транзисторов; 16-битная шина данных/24-битная шина адресов; частота 8-16 МГц; 64 или 68 контактов.
- Второе поколение (полностью 32-разрядное ядро)
- Motorola 68020
- Motorola 68EC020
- Motorola 68030
- Motorola 68EC030
- Третье поколение (конвейерные)
- Motorola 68040
- Motorola 68EC040
- Motorola 68LC040
- Четвёртое поколение (суперскалярные)
- Motorola 68060
- Motorola 68EC060
- Motorola 68LC060
- Семейства — потомки m68k
- Motorola CPU32 (также известны как Motorola 68330)
- Motorola 68360 (также известны как QUICC)
- ColdFire
- Motorola DragonBall
Компьютеры, основанные на этих процессорахПравить
AmigaПравить
- Компьютеры на базе чипсета OCS
- Компьютеры на базе чипсета ECS
- Компьютеры на базе чипсета AGA
- Открытое аппаратное обеспечение Minimig и др. подобные проекты
AppleПравить
- Lisa/Lisa 2/Mac XL
- Компьютеры серии Macintosh / Macintosh SE / Macintosh II
- Компьютеры серии Perfoma
- Компьютеры серии PowerBook
- Компьютеры серии Apple Workgroup Server
AtariПравить
- Atari ST (68000)
- Atari Falcon (68030)
SharpПравить
Sinclair ResearchПравить
SUNПравить
Советские компьютерыПравить
- Беста (68020)
Игровые системы (телевизионные приставки и автоматы), основанные на этих процессорахПравить
SegaПравить
- Genesis/Genesis II/Mega Drive/Mega Drive II (68000)
- Mega-CD (68000)
- Nomad (68000)
SNKПравить
- Neo Geo AES (68000)
- Neo Geo MVS (68000)
CapcomПравить
- CPS (Capcom play system) (68000)
- CPSC (Capcom power system changer) (68000)
ЭмуляторыПравить
Существуют программные эмуляторы как процессоров семейства MC68k, так и конкретных систем, построенных на их основе:
- EASy68K
- ide68k
ПримечанияПравить
- ↑ Jane’s Military Communications. (англ.) / Edited by R. J. Raggett. — 8th ed. — L.: Jane’s Information Group, 1987. — P.477 — 894 p. — ISBN 0-7106-0839-X.
- ↑ Computers in Spaceflight: The NASA Experience (неопр.). Дата обращения: 3 декабря 2020. Архивировано 2 декабря 2021 года.
- ↑ Silvaco’s IP offers popular 32/6/8-bit embedded processors (неопр.). Дата обращения: 3 декабря 2020. Архивировано 26 декабря 2020 года.
- ↑ The MCF5235 ColdFire® V2 integrated microprocessor combines the popular ColdFire V2 core (неопр.). Дата обращения: 3 декабря 2020. Архивировано 23 января 2021 года.
- ↑ Debian на платформе Motorola 680x0 (неопр.). Дата обращения: 3 декабря 2020. Архивировано 28 апреля 2019 года.
- ↑ NetBSD CPU architectures (неопр.). Дата обращения: 3 декабря 2020. Архивировано 27 февраля 2021 года.
- ↑ OpenBSD amiga (неопр.). Дата обращения: 3 декабря 2020. Архивировано 22 декабря 2020 года.
- ↑ OpenBSD mac68k (неопр.). Дата обращения: 3 декабря 2020. Архивировано 22 декабря 2020 года.
- ↑ Linux on Amiga (неопр.). Дата обращения: 3 декабря 2020. Архивировано 25 апреля 2021 года.
- ↑ AmigaOS 3.1.4 The official update you've been waiting for. (неопр.) Дата обращения: 3 декабря 2020. Архивировано 10 декабря 2020 года.
- ↑ Update to AmigaOS 3.1.4 released (неопр.). Дата обращения: 3 декабря 2020. Архивировано 7 ноября 2020 года.
- ↑ AmigaOS 3.1.4 классическая 68k (неопр.). Дата обращения: 3 декабря 2020. Архивировано 9 июня 2019 года.
- ↑ Hyperion Dealers List (неопр.). Дата обращения: 3 декабря 2020. Архивировано 30 октября 2020 года.
- ↑ AmigaOS 3.2 для 68k не за горами (неопр.). Дата обращения: 3 декабря 2020. Архивировано 24 января 2020 года.