Серия 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), AT&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 |
---|---|
Биты | 32-битный |
Введено | 1979 |
Дизайн | CISC |
Разветвление | Код состояния |
Порядок байтов | Большой |
Регистры | |
|
Motorola прекратила разработку архитектуры серии 680x0 в 1994 году, заменив ее архитектурой PowerPC RISC , которая была разработана совместно с IBM и Apple Computer в рамках альянса AIM .
Члены семьи
- Первое поколение (внутренне 16/32-битное, выпускается с 8- , 16- и 32-битными интерфейсами)
- Motorola 68000
- Motorola 68EC000
- Motorola 68SEC000
- Motorola 68HC000
- Motorola 68008
- Motorola 68010
- Motorola 68012
- Второе поколение (внутренне полностью 32-битное)
- Motorola 68020
- Motorola 68EC020
- Motorola 68030
- Motorola 68EC030
- Третье поколение ( конвейерное )
- Motorola 68040
- Motorola 68EC040
- Motorola 68LC040
- Поколение четвертое ( суперскалярное )
- Motorola 68060
- Motorola 68EC060
- Motorola 68LC060
- Другие
- Freescale 683XX (CPU32 он же 68330, 68360 он же QUICC )
- Freescale ColdFire
- Freescale DragonBall
- Philips 68070
История улучшений
68010 :
- Поддержка виртуальной памяти (перезапускаемые инструкции)
- 'режим цикла' для более быстрых примитивов строк и библиотек памяти
- инструкция умножения использует на 14 тактов меньше
68020 :
- 32-битный адресно- арифметико-логический блок (АЛУ)
- Трехступенчатый трубопровод
- Кэш инструкций 256 байт
- Неограниченный доступ к данным по словам и длинным словам (см. Выравнивание )
- 8 × многопроцессорная способность
- Большие инструкции умножения (32 × 32 -> 64 бита) и деления (64 ÷ 32 -> 32-битное частное и 32-битный остаток), а также манипуляции с битовыми полями
- В режимах адресации добавлена масштабированная индексация и еще один уровень косвенности
- Низкая стоимость, EC = 24-битный адрес
68030 :
- Разделить кэш инструкций и данных по 256 байт каждый
- На чипе блок управления памятью (MMU) (68851)
- Низкая стоимость EC = без MMU
- Интерфейс пакетной памяти
68040 :
- Кеши инструкций и данных по 4 КБ каждый
- Шестиступенчатый конвейер
- Встроенный блок с плавающей запятой (FPU)
- FPU не обладает способностью к трансцендентным функциям IEEE
- Эмуляция FPU работает с чипами 2E71M и более поздних версий.
- Низкая стоимость LC = без FPU
- Низкая стоимость EC = без FPU и MMU
68060 :
- Кеши инструкций и данных по 8 КБ каждый
- 10-ти ступенчатый конвейер
- Двухцикловый блок целочисленного умножения
- Прогноз ветвления
- Двойной конвейер инструкций
- Инструкции в блоке генерации адреса (AGU) и, таким образом, выдача результата за два цикла до ALU
- Низкая стоимость LC = без MMU
- Низкая стоимость EC = без MMU и FPU
Карта функций
Год | Процессор | Упаковка | Частота (макс.) [В МГц] | Биты адресной шины | MMU | FPU |
---|---|---|---|---|---|---|
1979 г. | 68000 | 64-контактный двухрядный корпус (DIP) , 68-контактный LCC , 68- контактный решетчатый массив (PGA) [1] | 8–20 | 24 | - | - |
1982 г. | 68010 | 64-контактный DIP , 68-контактный PLCC , 68-контактный PGA [2] | 8–16,67 | 24 | 68451 | - |
1984 | 68020 | 114-контактный PGA [3] | 12,5–33,33 | 32 | 68851 | 68881 |
- | 68 EC 020 | 100-контактный Quad Flat Package (QFP) [4] | 16,7–25 | 24 | - | - |
1987 г. | 68030 | 132-контактный QFP (макс. 33 МГц ), 128-контактный PGA [5] | 16–50 | 32 | MMU | 68881 |
68 EC 030 | 132-контактный QFP , 128-контактный PGA | 25 | 32 | - | 68881 | |
1991 г. | 68040 | 179-контактный PGA , [6] 184-контактный QFP [7] | 20–40 | 32 | MMU | FPU |
68 LC 040 | PGA , [7] 184-контактный QFP [7] | 20–33 | 32 | MMU | - | |
68 EC 040 | 20–33 [7] | 32 | - | - | ||
1994 г. | 68060 | 206-контактный PGA [8] [9] | 50–75 | 32 | MMU | FPU |
68 LC 060 | 206-контактный PGA , [8] [9] 208-контактный QFP [10] | 50–75 | 32 | MMU | - | |
68 EC 060 | 206-контактный PGA [8] [9] | 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 от AT&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 можно разделить на следующие широкие категории:
- Загрузить и сохранить (ПЕРЕМЕСТИТЬ)
- Арифметика (ADD, SUB, MULS, MULU, DIVS, DIVU)
- Битовый сдвиг (ASL, ASR, LSL, LSR)
- Вращение долота (ROR, ROL, ROXL, ROXR)
- Логические операции (И, ИЛИ, НЕ, EOR)
- Преобразование типа ( байт в слово и наоборот )
- Условные и безусловные ветви (BRA, Bcc - BEQ, BNE, BHI, BLO, BMI, BPL и т. Д.)
- Вызов и возврат подпрограммы (BSR, RTS)
- Управление стеком (LINK, UNLK, PEA)
- Вызов и реакция на прерывания
- Обработка исключений
- Нет эквивалента инструкции x86 CPUID для определения того, какой ЦП, MMU или FPU присутствует.
68050 и 68070
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 . [11] [12]
После прекращения существования основных процессоров 68000 семейство 68000 в некоторой степени использовалось в версиях микроконтроллеров и встроенных микропроцессоров. Эти микросхемы включают те, которые перечислены выше в разделе «прочее», то есть CPU32 (он же 68330 ), ColdFire , QUICC и DragonBall .
С появлением технологии FPGA международная команда разработчиков оборудования воссоздала 68000 с множеством улучшений в качестве ядра FPGA. Их ядро известно как 68080 и используется в ускорителях Amiga марки Vampire. [13]
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 и других.
Рекомендации
- ^ cpu-world.com - Семейство микропроцессоров Motorola 68000 17.11.2012
- ^ Cpu-world.com - Motorola 68010 (MC68010) Семейство 2012-11-17
- ^ cpu-world.com - Семейство микропроцессоров Motorola 68020 (MC68020) 2012-12-12
- ^ Cpu-world.com - Motorola MC68EC020FG16 2012-11-17
- ^ cpu-world.com - Семейство микропроцессоров Motorola 68030 (MC68030) , 2012-11-17
- ^ cpu-world.com - Семейство микропроцессоров Motorola 68040 (MC68040) , 2012-11-17
- ^ Б с д freescale.com - M68040 Руководство пользователя , 2007-05-08
- ^ Б с cpu-world.com - Motorola 68060 семейства процессоров , 2012-11-22
- ^ Б с freescale.com - M68060 Руководство пользователя , 2010-07-28
- ^ Archive.org - Обзор платы ускорителя на базе 68LC060 в формате Amiga
- ^ "Реализация IBM System 370 через сопроцессоры / сопроцессор ... - IPCOM000059679D - IP.com" . Priorartdatabase.com . Проверено 23 июля 2020 .
- ↑ Скотт Мюллер Модернизация и ремонт компьютеров, второе издание , Que Books, 1992, ISBN 0-88022-856-3 стр. 73–75, стр. 94
- ^ Бон, Гуннар фон. «APOLLO 68080 - высокопроизводительный процессор» . www.apollo-core.com . Проверено 29 сентября 2017 .
- Эта статья основана на материалах, взятых из Free On-line Dictionary of Computing до 1 ноября 2008 г. и включенных в соответствии с условиями «перелицензирования» GFDL версии 1.3 или новее.
Библиография
- Хау, Деннис, изд. (1983). Бесплатный онлайн-словарь по вычислительной технике . Имперский колледж Лондон. http://foldoc.org . Проверено 4 сентября 2007 года.
Внешние ссылки
- Журнал BYTE, сентябрь 1986 г .: Семья 68000