Дизайнер | Motorola |
---|---|
Биты | 32-битный |
Введено | 1979 ; 42 года назад ( 1979) |
Дизайн | CISC |
Разветвление | Код состояния |
Порядок байтов | Большой |
Регистры | |
Серия Motorola 68000 (также известная как 680x0, m68000, m68k или 68k) представляет собой семейство 32-разрядных микропроцессоров компьютера со сложным набором команд (CISC). В 1980 - х и начале 1990 - х годов, они были популярны в персональных компьютерах и рабочих станциях и были основными конкурентами Intel «s x86 микропроцессорах. Они были наиболее известны как процессоры, использовавшиеся в ранних версиях Apple Macintosh, Sharp X68000, Commodore Amiga, Sinclair QL, Atari ST, Sega Genesis (Mega Drive), Capcom System I (Arcade), ATamp;T UnixPC, Tandy Model 16 / 16B / 6000, Sun Microsystems Sun-1, Sun-2 и Sun-3, компьютер NeXT, калькуляторы Texas Instruments TI-89 / TI-92, Palm Pilot (все модели под управлением Palm OS 4.x или более ранней версии) и Space Shuttle. Хотя ни один из современных настольных компьютеров не основан на процессорах серии 680x0, производные процессоры по-прежнему широко используются во встроенных системах.
Motorola прекратила разработку архитектуры серии 680x0 в 1994 году, заменив ее архитектурой PowerPC RISC, которая была разработана совместно с IBM и Apple Computer в рамках альянса AIM.
68010 :
68020 :
68030 :
68040 :
68060 :
Год | Процессор | Упаковка | Частота (макс.) [В МГц] | Биты адресной шины | MMU | FPU |
---|---|---|---|---|---|---|
1979 г. | 68000 | 64-контактный двухрядный корпус (DIP), 68-контактный LCC, 68- контактный решетчатый массив (PGA) | 8–20 | 24 | - | - |
1982 г. | 68010 | 64-контактный DIP, 68-контактный PLCC, 68-контактный PGA | 8–16,67 | 24 | 68451 | - |
1984 | 68020 | 114-контактный PGA | 12,5–33,33 | 32 | 68851 | 68881 |
- | 68 EC 020 | 100-контактный Quad Flat Package (QFP) | 16,7–25 | 24 | - | - |
1987 г. | 68030 | 132-контактный QFP (макс. 33 МГц), 128-контактный PGA | 16–50 | 32 | MMU | 68881 |
68 EC 030 | 132-контактный QFP, 128-контактный PGA | 25 | 32 | - | 68881 | |
1991 г. | 68040 | 179-контактный PGA, 184-контактный QFP | 20–40 | 32 | MMU | FPU |
68 LC 040 | PGA, 184-контактный QFP | 20–33 | 32 | MMU | - | |
68 EC 040 | 20–33 | 32 | - | - | ||
1994 г. | 68060 | 206-контактный PGA | 50–75 | 32 | MMU | FPU |
68 LC 060 | 206-контактный PGA, 208-контактный QFP | 50–75 | 32 | MMU | - | |
68 EC 060 | 206-контактный PGA | 50–75 | 32 | - | - |
Линия процессоров 680x0 использовалась во множестве систем, от современных высокопроизводительных калькуляторов Texas Instruments (линии TI-89, TI-92 и Voyage 200 ) до всех членов серии Palm Pilot, на которых работает Palm. OS 1.x - 4.x (OS 5.x - на базе ARM ) и даже радиационно-стойкие версии в критических системах управления космического корабля "Шаттл".
Тем не менее, семейство процессоров 680x0 стало наиболее известным как процессоры для современных настольных компьютеров и игровых консолей, таких как Apple Macintosh, Commodore Amiga, Sinclair QL, Atari ST, SNK NG AES / Neo Geo CD, Atari Jaguar., Commodore CDTV и ряд других. Процессоры 680x0 также были предпочтительными в 1980-х годах для рабочих станций и серверов Unix, таких как UNIX PC от ATamp;T, Tandy Model 16 / 16B / 6000, Sun-1 от Sun Microsystems, Sun-2, Sun-3, NeXT Computer, Silicon Graphics. (SGI) и многие другие. Существовала 68000 версия CP / M под названием CP / M-68K, которая изначально предлагалась в качестве операционной системы Atari ST, но вместо этого Atari выбрала Atari TOS. Многие системные порты CP / M-68K были доступны, например, TriSoft предложила порт CP / M-68K для Tandy Model 16 / 16B / 6000.
Кроме того, что, возможно, наиболее важно, первые несколько версий интерпретаторов Adobe PostScript были основаны на 68000. 68000 в Apple LaserWriter и LaserWriter Plus работал быстрее, чем версия, используемая тогда на компьютерах Macintosh. Быстрый 68030 в более поздних интерпретаторах PostScript, включая LaserWriter IIntx, IIf и IIg со стандартным разрешением (также 300 dpi), LaserWriter Pro 600 с более высоким разрешением (обычно 600 dpi, но ограничен до 300 dpi с минимальной установленной RAM) и очень высокий разрешение Linotronic фотовывода, то 200PS (1500+ точек на дюйм) и 300ПС (2500+ точек на дюйм). После этого Adobe обычно предпочитала RISC для своего процессора, поскольку ее конкуренты с их клонами PostScript уже перешли на RISC, часто это AMD серии 29000. Первые интерпретаторы Adobe PostScript на базе 68000 и их оборудование были названы в честь американских ракет и ракет времен холодной войны : Atlas, Redstone и т. Д.
Сегодня эти системы либо являются конечными (в случае Atari), либо используют другие процессоры (в случае Macintosh, Amiga, Sun и SGI). Поскольку пиковая доля этих платформ на рынке приходилась на 1980-е годы, их оригинальные производители либо больше не поддерживают операционную систему для этого оборудования, либо прекратили свою деятельность. Однако операционные системы Linux, NetBSD и OpenBSD по- прежнему включают поддержку процессоров 68000.
Процессоры 68000 также использовались в консолях Sega Genesis (Mega Drive) и SNK Neo Geo в качестве основного процессора. Другие консоли, такие как Sega Saturn, использовали 68000 для обработки звука и других задач ввода-вывода, в то время как Atari Jaguar включал 68000, который предназначался для базового управления системой и обработки ввода, но из-за необычного ассортимента разнородных процессоров Jaguar также был часто используется для запуска игровой логики. Многие игровые платы также использовали 68000 процессоров, включая платы от Capcom, SNK и Sega.
Микроконтроллеры семейства 68000 используются в самых разных приложениях. Например, микроконтроллеры CPU32 и ColdFire производятся миллионами в качестве контроллеров автомобильных двигателей.
Многие проприетарные системы редактирования видео используют 68000 процессоров. В этой категории мы можем назвать MacroSystem Casablanca, которая представляла собой черный ящик с простым в использовании графическим интерфейсом (1997 г.). Он был предназначен для рынка любительских и любительских видеооператоров. Стоит также отметить его более ранний, более крупный и более профессиональный аналог, названный "DraCo" (1995 г.). Революционная серия 24-битной системы рисования и эффектов Quantel Paintbox была первоначально выпущена в 1981 г., и за время ее существования использовалась почти весь спектр процессоров семейства 68000, за единственным исключением 68060, который никогда не был реализован в его конструкции. Другой конкурент на арене видео, система Abekas 8150 DVE, использовала 680EC30, а Trinity Play, позже переименованная в Globecaster, использует несколько 68030. Система видеографики Bosch FGS-4000/4500 производства Robert Bosch Corporation, позже BTS (1983), использовала 68000 в качестве основного процессора; он заставил нескольких других выполнять 3D-анимацию на компьютере, который мог легко применять затенение Гуро и Фонга. Он работал под управлением модифицированной операционной системы Motorola Versados.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Люди, знакомые с PDP-11 или VAX, обычно чувствуют себя комфортно с серией 68000. За исключением разделения регистров общего назначения на специализированные регистры данных и адреса, архитектура 68000 во многих отношениях является 32-битным PDP-11.
У него был более ортогональный набор инструкций, чем у многих процессоров, которые были до (например, 8080) и после (например, x86). То есть обычно можно было свободно комбинировать операции с операндами, а не ограничиваться использованием определенных режимов адресации с определенными инструкциями. Это свойство сделало программирование относительно простым для людей, а также упростило написание генераторов кода для компиляторов.
Серия 68000 имеет восемь 32-битных регистров данных общего назначения (D0-D7) и восемь адресных регистров (A0-A7). Последний адресный регистр является указателем стека, и ассемблеры принимают метку SP как эквивалентную A7.
Кроме того, он имеет 16-битный регистр состояния. Старшие 8 бит - это системный байт, и его модификация является привилегированной. Младшие 8 бит - это пользовательский байт, также известный как регистр кода состояния (CCR), и его изменение не является привилегированным. Операции сравнения, арифметические и логические операции 68000 изменяют коды условий, чтобы записывать их результаты для использования в последующих условных переходах. Биты кода состояния - это «ноль» (Z), «перенос» (C), «переполнение» (V), «расширение» (X) и «отрицательный» (N). Флаг «extend» (X) заслуживает особого упоминания, потому что он отделен от флага переноса. Это позволяет отделить дополнительный бит арифметических, логических операций и операций сдвига от переноса для потока управления и связывания.
Хотя 68000 имел «режим супервизора», он не отвечал требованиям виртуализации Попека и Голдберга из-за единственной инструкции «MOVE from SR», которая копирует регистр состояния в другой регистр, будучи непривилегированным, но чувствительным. В Motorola 68010 и более поздних версиях это было сделано привилегированным, чтобы лучше поддерживать программное обеспечение виртуализации.
Набор команд серии 68000 можно разделить на следующие широкие категории:
В Motorola 68020 добавлены некоторые новые инструкции, которые включают некоторые незначительные улучшения и расширения для состояния супервизора, несколько инструкций для управления программным обеспечением многопроцессорной системы (которые были удалены в 68060), некоторая поддержка языков высокого уровня, которые мало использовались. (и был удален из будущих процессоров 680x0), большие инструкции умножения (32 × 32 → 64 бит) и деления (64 ÷ 32 → 32-битное частное и 32-битный остаток), а также манипуляции с битовыми полями.
Стандартные режимы адресации :
Плюс: доступ к регистру состояния и, в более поздних моделях, к другим специальным регистрам.
В Motorola 68020 добавлен режим масштабированного адресации индексации и добавлен еще один уровень косвенного обращения ко многим ранее существовавшим режимам.
Большинство инструкций имеют суффиксы точечных букв, позволяющих выполнять операции с 8-битными байтами («.b»), 16-битными словами («.w») и 32-битными длинными («.l»).
Большинство инструкций являются двоичными, то есть у операции есть источник и место назначения, а место назначения изменяется. Примечательными инструкциями были:
68050 не было, хотя в какой-то момент это был проект Motorola. Релизы с нечетным номером всегда были реакцией на проблемы, поднятые в предыдущей части с четным номером; следовательно, в целом ожидалось, что 68050 снизит энергопотребление 68040 (и, следовательно, рассеивание тепла), улучшит обработку исключений в FPU, использует меньший размер функции и оптимизирует микрокод в соответствии с программным использованием инструкций. Многие из этих оптимизаций были включены в 68060 и были частью его проектных целей. По ряду причин, вероятно, что 68060 находился в разработке, что Intel 80486 не продвигался так быстро, как предполагала Motorola, и что 68060 был требовательным проектом, 68050 был отменен на раннем этапе разработки.
Также нет пересмотра 68060, поскольку Motorola находилась в процессе перехода от линейки процессоров 68000 и 88k к своему новому бизнесу PowerPC, поэтому 68070 так и не был разработан. Если бы это было так, это был бы пересмотренный 68060, вероятно, с улучшенным FPU (конвейерная обработка широко обсуждалась в Usenet).
Motorola в основном использовала четные числа для основных изменений ядра ЦП, таких как 68000, 68020, 68040 и 68060. 68010 был переработанной версией 68000 с небольшими изменениями ядра, и аналогично 68030 был переработанным 68020 с некоторыми более мощными функции, ни одна из которых не является достаточно значительной, чтобы классифицировать ее как серьезное обновление ядра.
Был процессор с обозначением 68070, который был лицензированной и несколько более медленной версией 16/32-битного 68000 с базовым контроллером DMA, хостом I²C и встроенным последовательным портом. Этот 68070 использовался в качестве основного процессора в Philips CD-i. Однако этот процессор был произведен Philips и официально не входил в линейку Motorola 680x0.
68060 4-го поколения обеспечивает эквивалентную функциональность (хотя и не совместимость с архитектурой набора команд) с большинством функций микроархитектуры Intel P5.
IBM-совместимые мэйнфреймы Personal Computers XT / 370 и AT / 370 на базе ПК включали по два модифицированных процессора Motorola 68000 с индивидуальным микрокодом для имитации инструкций мэйнфрейма S / 370.
После прекращения существования основных процессоров 68000 семейство 68000 в некоторой степени использовалось в версиях микроконтроллеров и встроенных микропроцессоров. Эти микросхемы включают те, которые перечислены выше в разделе «прочее», то есть CPU32 (он же 68330 ), ColdFire, QUICC и DragonBall.
С появлением технологии FPGA международная команда разработчиков оборудования воссоздала 68000 с множеством улучшений в качестве ядра FPGA. Их ядро известно как 68080 и используется в ускорителях Amiga марки Vampire.
Magnetic Scrolls использовали подмножество инструкций 68000 в качестве основы для виртуальной машины в своих текстовых приключениях.
В 1980 - х и начале 1990 - х годов, когда 68000 широко используются в настольных компьютерах, в основном конкурировали с Intel «s x86 архитектуры, используемой в совместимых с IBM PC. Процессоры 68000 поколения 1 конкурировали в основном с 16-битными 8086, 8088 и 80286. Поколение 2 конкурировало с 80386 (первый 32-разрядный процессор x86), а поколение 3 - с 80486. Четвертое поколение конкурировало с линейкой Pentium P5, но оно не было так широко распространено, как его предшественники, поскольку большая часть старого рынка 68000 либо прекратила свое существование, либо почти прекратила свое существование (как в случае с Atari и NeXT), либо была преобразована в более новую. архитектуры ( PowerPC для Macintosh и Amiga, SPARC для Sun и MIPS для Silicon Graphics (SGI)).
Есть десятки архитектур процессоров, которые успешно применяются во встроенных системах. Некоторые из них представляют собой микроконтроллеры, которые намного проще, меньше и дешевле, чем 68000, в то время как другие относительно сложны и могут запускать сложное программное обеспечение. Встроенные версии 68000 часто конкурируют с архитектурами процессоров, основанными на PowerPC, ARM, MIPS, SuperH и других.