Процессоры моторола где используются

Обновлено: 04.07.2024

Как рождались легенды

Intel 8086/8088 и архитектура x86

Процессор Intel 8086

Разработка 8086 была поручена инженеру Стивену Морсу, который скомпилировал основные спецификации процессора и его архитектуры к середине лета 1976 года. Еще два года понадобилось Intel для его создания. И вот 8 июня 1978 года кристалл 8086 был официально анонсирован.

Стивен Морс (справа) — отец «восемьдесят шестого»

Intel 8086 был примерно в 10 раз быстрее, чем модель с индексом 8080. Процессор стал первой реализацией системы команд x86 и одноименной архитектуры, которая впоследствии стала своего рода стандартом и используется в кристаллах AMD и Intel по сей день.

Процессор Intel 8088

Разработка компьютера 5150 имела огромное значение для компании IBM. Во второй половине 1970-х годов рынок персональных десктопов активно развивался, а IBM уделяла этому сегменту недостаточно внимания. Само собой, в компании осознавали всю его перспективность, в связи с чем и было принято решение о разработке собственной модели ЭВМ.

IBM 5150 — первая модель линейки IBM PC — увидела свет в 1981 году. Топовая версия компьютера оценивалась в 3005 долларов США. Она комплектовалась процессором Intel 8088 с частотой 4,77 МГц, а объем оперативной памяти составлял 64 Кбайт. В качестве устройства для хранения данных в IBM 5150 использовались 5,25-дюймовые дискеты. А несколько позже в продаже появились модели компьютера, которые позволяли использовать аудиокассеты как хранилище данных. Установить жесткий диск в систему было невозможно, однако спустя некоторое время IBM выпустила винчестер, который подключался к 5150 в качестве модуля расширения. Компьютер обладал несколькими портами расширения, через которые, кроме винчестера, подключались видеоадаптеры, карты с портами ввода-вывода и другие устройства.

Младшая версия десктопа стоила почти в два раза меньше — 1565 долларов США. В «урезанной» модели использовался тот же Intel 8088, но объем оперативной памяти составлял всего 16 Кбайт. Во-вторых, в отличие от старшей версии, младшая не комплектовалась CGA-монитором и флоппи-дисководом. В качестве дисплея предлагалось использовать телевизор, а хранить данные можно было на кассетном накопителе. Также, в отличие от топовой версии IBM 5150, младшая модель не работала с операционной системой PC-DOS 1.0 (впоследствии ставшей MS-DOS).

Серия 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), 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 прекратила разработку архитектуры серии 680x0 в 1994 году, заменив ее архитектурой PowerPC RISC , которая была разработана совместно с IBM и Apple Computer в рамках альянса AIM .

СОДЕРЖАНИЕ

Члены семьи

История улучшений

  • Поддержка виртуальной памяти (перезапускаемые инструкции)
  • 'режим цикла' для более быстрых примитивов строк и библиотек памяти
  • инструкция умножения использует на 14 тактов меньше
  • 32-битный адресно- арифметико-логический блок (АЛУ)
  • Трехступенчатый трубопровод
  • Кэш инструкций 256 байт
  • Неограниченный доступ к данным по словам и длинным словам (см. Выравнивание )
  • 8 × многопроцессорная способность
  • Большие инструкции умножения (32 × 32 -> 64 бита) и деления (64 ÷ 32 -> 32-битное частное и 32-битный остаток), а также манипуляции с битовыми полями
  • В режимах адресации добавлена масштабированная индексация и еще один уровень косвенности
  • Низкая стоимость, EC = 24-битный адрес
  • Разделить кэш инструкций и данных по 256 байт каждый
  • На чипе блок управления памятью (MMU) (68851)
  • Низкая стоимость EC = без MMU
  • Интерфейс пакетной памяти
  • Кеши инструкций и данных по 4 КБ каждый
  • Шестиступенчатый конвейер
  • Встроенный блок с плавающей запятой (FPU)
  • FPU отсутствует IEEE трансцендентной функции способность
  • Эмуляция FPU работает с чипами 2E71M и более поздних версий.
  • Низкая стоимость LC = без FPU
  • Низкая стоимость EC = без FPU или MMU
  • Кеши инструкций и данных по 8 КБ каждый
  • 10-ти ступенчатый конвейер
  • Двухцикловый блок целочисленного умножения
  • Двойной конвейер инструкций
  • Инструкции в блоке генерации адреса (AGU) и, таким образом, выдача результата за два цикла до ALU
  • Низкая стоимость LC = без FPU
  • Низкая стоимость EC = без FPU или MMU

Карта функций

Основные виды использования


В качестве основного процессора Sega Genesis использовала 68000 с тактовой частотой 7,67 МГц.

Линия процессоров 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 имеет восемь 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 можно разделить на следующие широкие категории:

  • Загрузить и сохранить (ПЕРЕМЕСТИТЬ)
  • Арифметика (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 присутствует.

В Motorola 68020 добавлены некоторые новые инструкции, которые включают некоторые незначительные улучшения и расширения для состояния супервизора, несколько инструкций для управления программным обеспечением многопроцессорной системы (которые были удалены в 68060), некоторая поддержка языков высокого уровня, которые мало использовались. (и был удален из будущих процессоров 680x0), большие инструкции умножения (32 × 32 → 64 бит) и деления (64 ÷ 32 → 32-битное частное и 32-битный остаток), а также манипуляции с битовыми полями.

Плюс: доступ к регистру состояния и, в более поздних моделях, к другим специальным регистрам.

В Motorola 68020 добавлен режим масштабированного адресации индексации и добавлен еще один уровень косвенного обращения ко многим ранее существовавшим режимам.

Большинство инструкций являются двоичными , то есть у операции есть источник и место назначения, а место назначения изменяется. Примечательными инструкциями были:

  • Арифметика: ADD, SUB, MULU (беззнаковое умножение), MULS (знаковое умножение), DIVU, DIVS, NEG (аддитивное отрицание) и CMP (своего рода сравнение, выполняемое путем вычитания аргументов и установки битов состояния, но не сохраняет результат)
  • Десятичная арифметика с двоичным кодом : ABCD, NBCD и SBCD
  • Логика: EOR (исключающее ИЛИ), И, НЕ (логическое НЕ), ИЛИ (включающее ИЛИ)
  • Сдвиг: (логический, т.е. сдвиг вправо помещает ноль в самый старший бит) LSL, LSR, ( арифметический сдвиг , то есть знаковое расширение самого старшего бита) ASR, ASL, (вращается через eXtend, а не через eXtend) ROXL, ROXR, ROL, ROR
  • Битовый тест и манипуляции с памятью или регистром данных: BSET (установлен в 1), BCLR (очищен в 0), BCHG (инвертировать) и BTST (без изменений). Все эти инструкции сначала проверяют бит назначения и устанавливают (очищают) бит CCR Z, если бит назначения равен 0 (1), соответственно.
  • Управление многопроцессорностью : TAS, test-and-set , выполняет операцию неделимой шины, позволяя использовать семафоры для синхронизации нескольких процессоров, совместно использующих одну память
  • Поток управления: JMP (переход), JSR (переход к подпрограмме), BSR (переход относительного адреса к подпрограмме), RTS (возврат из подпрограммы ), RTE (возврат из исключения , т. Е. Прерывание), TRAP (запуск программного исключения, аналогичный к программному прерыванию), CHK (условное программное исключение)
  • Ветвь: Bcc (где «cc» указывает один из 14 тестов кодов состояния в регистре состояния: равно, больше, меньше, перенос и большинство комбинаций и логических инверсий, доступных из регистра состояния). Остальные два возможных условия (всегда истинно и всегда ложно) имеют отдельную мнемонику инструкций: BRA (всегда переходить) и BSR (переход к подпрограмме).
  • Decrement-and-branch: DBcc (где «cc» соответствует инструкциям ветвления), который, при условии, что условие было ложным , уменьшает младшее слово D-регистра и, если результат не равен -1 ($ FFFF) , с разветвлением до пункта назначения. Такое использование -1 вместо 0 в качестве конечного значения позволило легко кодировать циклы, которые не должны были ничего делать, если счет был равен 0 для начала, без необходимости дополнительной проверки перед входом в цикл. Это также облегчило вложение DBcc.

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 .

После прекращения существования основных процессоров 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 и других.

Аппаратура связи и передачи данных, средства гидро- и радиолокации, медицинское оборудование и робототехника, управление двигателями, оружием и станками, автомобильная электроника и авионика, телевидение и измерительная техника, приборы контроля за состоянием объектов и окружающей среды, радиовещание и высококачественное воспроизведение звука, компьютерные технологии - вот далеко не полный перечень технических приложений, где методы и средства цифровой обработки сигналов (ЦОС) обеспечивают принципиально новое качество. Определяющим в упомянутых приложениях является требование обработки сигналов в реальном масштабе времени. Это обстоятельство привело к созданию специального класса приборов, получивших название - цифровые процессоры обработки сигналов (ЦПОС) или. коротко, сигнальные процессоры. Следует сказать, что однокристальные ЭВМ и микроконтроллеры способны решать задачи ЦОС. Более того, многие из них приспособлены для этих целей, обладая необходимыми интерфейсными устройствами. Однако область применения таких процессоров ограничена обработкой сигналов в относительно узком частотном диапазоне с помощью сравнительно простых алгоритмов. Область применения цифровых сигнальных процессоров фирмы Motorola чрезвычайно обширна. Это обусловлено с одной стороны взрывным внедрением методов цифровой обработки сигналов, практически, во все виды человеческой деятельности в последние годы, а с другой широкой номенклатурой ЦПОС фирмы Motorola , покрывающей все типы ЦПОС (16-разрядных, 24-разрядных, с плавающей точкой). В таблице представлены основные области применений , каждое из которых подразделяется на более конкретные приложения. В скобках по каждому из поднаправлений указаны семейства ЦПОС фирмы Motorola: 561ХХ, 5600Х и 9600Х, которые целесообразно применять. Несмотря на то, что количество направлений использования цифровых сигнальных процессоров, представленных в таблице, достаточно велико, она, безусловно, не покрывает всех возможных вариантов применения.

ОБЛАСТИ ПРИМЕНЕНИЯ DSP MOTOROLA

Т1 мультиплексоры (561ХХ)

Цифровые АТС (561ХХ)

Тональный набор (561ХХ,5600Х,5630X)

Обработка речи, вокодеры (561ХХ,5600Х,5630X)

Голосовая почта (561ХХ)

Спутниковые приемники (561ХХ,5600Х,5630X)

Сотовая связь (561ХХ,5600Х,5630X)

Закрытая связь (561ХХ,5600Х,5630X)

Эхо компенсаторы (5600Х,5630X)

Громкоговорящая связь (5600Х,5630X)

Серво-контроль для оптических дисков (5600Х,5630X)

Локальные сети (561ХХ,5600Х,5630X)

Распознавание и синтез речи (561ХХ,5600Х,5630X,9600Х)

Цифровое аудио (5600Х,5630X,9600Х)

Математический сопроцессор (5600Х,5630X,9600Х)

Двумерная графика (5600Х,5630X)

Трехмерная графика (9600Х)

Лазерные принтеры (9600Х)

Обработка изображений (9600Х)

Музыкальные инструменты и синтезаторы (5600Х,5630X)

Эффект-процессоры (5600х, 5630х)

Профессиональное DAT/CD оборудование (5600Х,5630X)

Активная подвеска (561ХХ)

Адаптивное управление двигателем (561ХХ)

Торможение с антипроскальзыванием (561ХХ)

Ориентация по спутнику и электронное управление (561ХХ)

Цифровая звукотехника (DAT/CD) (5600Х,5630X)

Цифровое TV (561ХХ)

Звук для TV высокой четкости (5600Х,5630X)

Распознавание отпечатков пальцев (561ХХ,5600Х,5630X)

Цифровое радиовещание (561ХХ)

Модемы (561ХХ,5600Х,5630X, MC68356)

Факсы (в т.ч. цветные) (561ХХ,5600Х,5630X,9600Х)

Локальные сети (561ХХ,5600Х)

Цифровая фильтрация (5600Х,5630X)

Анализаторы ЛС (561ХХ)

Сейсмические приборы (561ХХ)

Генераторы функций (5600Х,5630X,9600Х)

Высокоскоростное управление (561ХХ,5600Х,5630X)

Подавление шумов (561ХХ,5600Х,5630X)

Управление двигателями (561ХХ,5600Х,5630X)

Вибрационный анализ (5600Х,5630X)

Распознавание образов (5600Х,5630X,9600Х)

Усиление слуха (561ХХ)

Ультразвуковая диагностика (5600Х,5630X)

Обработка изображений (9600Х)

Секретная связь (561ХХ,5600Х,5630X)

Гидроакустические и РЛ станции (5600Х,5630X,9600Х)

Подавление шума (5600Х,5630X)

Номенклатура DSP Motorola , принципы построения и тенденции развития.

Сигнальные микропроцессоры фирмы Motorola представлены тремя классами устройств: 24 разрядные сигнальные процессоры с арифметикой фиксированной точки, включающие семейства DSP5600x и DSP5630x, 16 разрядные сигнальные процессоры с арифметикой фиксированной точки, включающие семейства DSP561xx, DSP5660x и DSP568xx, и DSP96002 - мощный 32 разрядный сигнальный микропроцессор с арифметикой плавающей точки.

Целесообразность трех классов ЦПОС, отличающихся организацией внутренней арифметики, обусловлена, прежде всего, различными требованиями по точности обработки сигналов и динамическому диапазону. Например, динамический диапазон речевых сигналов в телефонном канале, как правило, не превышает 40 дБ и надежно реализуется 16-ти разрядной арифметикой. Сигналы же высококачественного звуковоспроизведения имеют динамический диапазон более 90 дБ, и его очень сложно обеспечить, используя 16-ти разрядную арифметику. В крайнем случае, применяют искусственное удвоение арифметики, что значительно увеличивает объем программы и времени обработки. Арифметика плавающей точки более удобна и проста для программиста. Значительно сокращается время разработки (не приходиться бороться с переполнениями, предельными циклами низкого и высокого уровня, характерными для арифметики фиксированной точки. Но стоимость ЦПОС с плавющей точкой довольно высока и их применение оправдано в оборудовании, где используются сложные алгоритмы обработки сигналов большого динамического диапазона, ограничены сроки обработки, а стоимость не столь критична как в потребительской сфере (customer).

Существование нескольких типов приборов в рамках одного класса также оправдано, поскольку различные требования приложений определяют разнообразные разумные и достаточные варианты реализации ЦПОС одного семейства, отличающиеся, например, по объему внутренней памяти, быстродействию, составу встроенного периферийного оборудования и т.д. Например, большой объем внутреннего ОЗУ ЦПОС DSP56166 (по сравнению с DSP56156) позволил реализовать на нем без дополнительной внешней памяти приемный цифровой тракт сотового телефона по стандарту IS-54. С другой стороны, DSP56156 более целесообразен для использования в приложениях, где требования к объему ОЗУ либо настолько высоки, что все равно требуется установка внешнего ОЗУ, либо настолько малы, что объема внутренней памяти DSP56156 достаточно.

Кроме того, в рамках одного класса имеются подклассы, например, DSP561xx, DSP5660x, DSP568xx, а внутри подкласса могут быть различные типы ЦПОС, например, DSP56166, DSP56156, DSP56158, DSP56116.

Для всех ЦПОС базовой является модифицированная гарвардская архитектура с системой параллельных шин, позволяющая достичь высокого уровня быстродействия обработки данных.

Кроме того, у фирмы Motorola имеется мощный прибор MC68356 (см. раздел 9), сочетающий в себе микропроцессор общего назначения MC68302, ЦПОС DSP56002 и дополнительную развитую периферию. Ресурсов этого устройства достаточно для реализации очень сложных алгоритмов, например, рекомендации TTU для модемной связи по коммутируемым 2-х проводным телефонным линиям V.34.

Главным объединяющим элементом всех семейств является организация процессорного ядра. Внутри семейства отличия приборов заключаются в объеме и типе встроенной памяти, составе и возможностях встроенного периферийного оборудования, организации интерфейса с внешними устройствами.

Основными характерными особенностями, выделяющими ЦПОС фирмы Motorola, являются:

Два банка памяти, которые позволяют одновременно пересылать два операнда одинарной длины или один операнд двойной длины.

Два аккумулятора АЛУ данных увеличенной разрядности позволяют производить итерационные вычисления без возникновения ошибок переполнения.

Развитая система адресации, включающая аппаратную поддержку циклических буферов и битреверсивной адресации.

Аппаратная поддержка вложенных циклов программы.

Гибкая приоритетная система прерываний.

Некоторые приборы ЦПОС фирмы Motorola, равно как и аналогичные приборы других фирм, имеют режимы пониженного энергопотребления, в которых потребление тока в режиме ожидания снижается в десятки тысяч раз, а также низковольтные версии приборов, в которых потребляемая мощность в рабочем режиме снижается в 2-3 раза.

Практически все приборы ЦПОС Motorola содержат средства поддержки внутрисхемной эмуляции, что очень важно для отладки проектируемых систем.

Как уже отмечалось, процессорные ядра всех ЦПОС фирмы Motorola имеют сходные черты. Семейство DSP5600x , которое было разработано первым, можно рассматривать как прототип остальных семейств.

Развитие сигнальных процессоров шло по нескольким направлениям. Внутри семейства DSP5600x наряду с приборами, получившими чисто "количественное" развитие, появились приборы, специализированные для конкретных приложений. Примером может служить группа процессоров DSP56004 / DSP56007 , имеющая общее название "Симфония" и предназначенная для построения систем высококачественной обработки звука. Областью применения этих ЦПОС являются приложения, где требуется большой динамический диапазон обрабатываемых данных. Сюда можно разнообразные профессиональные звуковые системы (синтезаторы, микшерские пульты, эффект-процессоры, ТВ системы Dolby и т.д.)

Кроме внутрисемейного развития, опять же с целью большей специализации под конкретные классы задач, происходила разработка новых семейств. Так, семейство DSP561xx реализуется сужением характеристик семейства DSP5600x и предназначается для приложений, не требующих большой разрядности. В то же время, приборы DSP561xx обладают высокой производительностью и экономичностью. К упомянутым приложениям относятся компрессия и распознавание речи, эхокомпенсация, многие задачи фильтрации, обработки сигналов биологических объектов и т. д. Так, телефонные аппараты, поддерживающие сотовую связь Motorola, построены на двух чипах DSP56166, где один используются в качестве речевого кодека, а второй - в качестве модема.

Среди ЦПОС Motorola одним из первых появился прибор DSP96002 , который можно рассматривать как расширение семейства DSP5600x. Этот ЦПОС предназначен для решения задач, требующих огромной вычислительной мощи и возможности работать с массивами данных очень больших размеров. Такие задачи возникают при построении средств мультимедиа и высококачественной графики, радарных и гидроакустических станций, сложного медицинского оборудования.

В последние годы были созданы еще три семейства. Это - DSP5630x , включающее универсальный сигнальный процессор, ядро которого имеет собственное название "Новый ЦПОС Мотор" - "New DSP Engine", и является качественным развитием ядра DSP56000, сочетающим экономичность с большой производительностью.

Семейство DSP5680x , которое, несмотря на сужение некоторых характеристик, приобрело некоторые новые качества. Цель разработки этих процессоров - получить максимально экономичный и недорогой прибор. Процессоры семейства имеют рекордное потребление энергии. Так в рабочем режиме процессор DSP56L811 потребляет всего 20 мА. При этом производительность его остается на высоком уровне.

И, наконец, семейство DSP5660x , представитель которого DSP56602 является 16-ти разрядным ЦПОС. Однако, имея 24-х разрядную память команд, он по программному коду полностью совместим с ЦПОС DSP56301. ЦПОС является полностью статическим, работая на частотах от 0 до 60 МГц. Имеет максимальную производительность 60 MIPS, сохраняет работоспособность в диапазоне питающего напряжения от 1,8 до 3,3 В и потребляет в рабочем режиме не более 85 мА.

В отличие от ЦПОС, разработанных на первых этапах и имеющих свой собственный интерфейс внутрисхемного эмулятора (это семейства DSP5600x, DSP561xx и DSP9600x), все ЦПОС новых семейств оснащены стандартным JTAG интерфейсом (стандарт IEEE 1149.1), позволяющим упростить процесс отладки программного обеспечения.

Motorola/IBM процессор PowerPC620 это первая 64-битовая реализация архитектуры PowerPC. Имея 64-битовые регистры и внутренние магистрали данных и семь миллионов транзисторов, новому процессору требуется почти вдвое больший и сложный кристалл, чем у PowerPC 604. Модель 620 имеет четырехканальную суперконвейерную схему с шестью исполнительными устройствами: три целочисленных АЛУ, блок плавающей точки, блок загрузки/записи и блок переходов. Последний способен на четырехуровневое предсказание ветвлений в программе и условное исполнение с использованием схемы переименования регистров.

В состав шинного интерфейса входить также поддержка кэш-памяти второго уровня объемом до 128 Мбайт, которая может работать на четверти, половине или на полной скорости ЦПУ.

5. Лабораторные испытания и тестирование микропроцессоров.

5.1. Лабораторные испытания процессоров i386DX.

В 1992 году на рынке появилось три новых МП, способных заместить существующие 386DX и обеспечить повышение характеристик систем на основе i386. Это: Intel RapidCAD, Chips&Technologies 38600DX, и Cyrix 486DLC. В настоящий момент предлагаются только версии 33 МГц, хотя C&T и Cyrix обещают выпустить в начале 1993 года вариант 40 МГц. Конечно, на такой частоте можно заставить работать и 33 МГц вариант, но мой опыт показывает, что это ненадежно, в любой момент машина может зависнуть. Intel RapidCAD распространяется, как продукт для конечных пользователей, т.е. в машину его устанавливают именно они. Напротив, C&T и Cyrix поставляют свои процессоры и производителям. Cyrix также производит процессор 486SLC, заменяющий Intel/AMD 386SX. C&T объявил о создании процессора 38600SX, но в продаже он появится только в 1993 году, если вообще появится.

RapidCAD, грубо говоря, представляет собой процессор 486DX без внутренней кэш-памяти и с цоколевкой процессора 386. Для программ он соответствует 386 с сопроцессором, так как все специфичные команды i486 удалены из набора команд. Рекламируется этот процессор, как "абсолютный сопроцессор" и, к чему и обязывает такое имя, он предназначен для замены процессора 386DX в существующих системах и резкого повышения производительности операций с плавающей точкой, таких, как CAD, электронные таблицы, математические программные пакеты (SPSS, Mathematica и т.д.). RapidCAD состоит из двух корпусов; RapidCAD-1, в корпусе PGA (132 вывода), устанавливающийся в гнездо для i386, включает в себя ЦПУ и модуль операций с плавающей точкой, и RapidCAD-2, в корпусе PGA (68 выводов), устанавливающийся в гнездо для сопроцессора i387, включает в себя ПЛМ, подающий сигнал на схемы системной платы для правильной обработки особых ситуаций при операциях с плавающей точкой. Большинство операций исполняется в течение одного цикла, как и в i486. Однако узким местом является интерфейс шины 386, так как каждый цикл шины равен двум циклам процессора. Это значит, что команды выполняются быстрее, чем считываются из памяти. Поскольку операции с плавающей точкой выполняются медленнее обычных команд, то замедление на них не сказывается, и они выполняются с такой же скоростью, как и на i486DX. Именно поэтому RapidCAD позволяет получить более высокие характеристики с плавающей точкой, чем любая комбинация 386/387. Результаты теста SPEC, стандартного теста для машин под UNIX, показывают, что RapidCAD ускоряет операции с плавающей точкой на 85%, а с целыми числами - на 15% по сравнению с любой комбинацией 386/387 при одинаковой тактовой частоте. Потребляемая мощность при 33 МГц составляет 3500 мВт. Текущая цена RapidCAD 33 МГц составляет 300$.

Предполагается, что процессор фирмы C&T 38600DX полностью совместим с i386DX. В отличие от процессора Am386 фирмы AMD, который использует микрокод, идентичный микрокоду Intel 386, в процессоре 38600DX использован патентно чистый микрокод, для обеспечения полной совместимости в набор команд даже включена недокументированная команда LOADALL386. Некоторые команды выполняются быстрее, чем в i386. C&T также выпустила процессор 38605DX, включающий кэш-память команд на 512 байт, что еще более повысит его производительность. К сожалению, 38605DX выпускается в корпусе PGA (144 вывода) и не может быть установлен непосредственно в разъем i386DX. При проведении испытаний я заметил, что у 38600DX есть серьезные проблемы коммуникации ЦПУ- сопроцессор, и из-за этого скорость выполнения в большинстве программ операций с плавающей точкой у него падает ниже уровня i386/i387. Эта проблема существует для всех производимых на настоящий момент 387- совместимых сопроцессоров (ULSI 83C87, IIT 3C87, Cyrix EMX87, Cyrix 83D87, Cyrix 387+, C&T 38700, Intel 387DX). Мой знакомый по сети тоже проводил такие тесты с 38700DX и пришел к аналогичным выводам. Он связался с C&T, и ему ответили, что знают об этом. Средняя потребляемая мощность 38600DX 40 МГц - 1650 мВт, что меньше, чем потребление i386 33 МГц. Текущая цена 38600DX 33 МГц - 80$.

Процессор Cyrix 486DLC - последняя новинка на рынке заменителей i386DX. Набор его команд совместим с i486SX, установлена 1 КВ кэшпамять и аппаратно реализованный 16х16 бит умножитель. Исполнительное устройство 486DLC, созданное с использованием некоторых принципов RISC, выполняет большинство команд за один цикл. Аппаратный умножитель перемножает 16-разрядные значения за 3 цикла, вместо 12 - 25 циклов у i386DX. Это особенно удобно при вычислении адресов (код, генерируемый некоторыми неоптимизирующими компиляторами, может содержать много команд MUL для доступа к массивам) и для программных вычислений с плавающей точкой (напр., при эмуляции сопроцессора). Внутренняя кэшпамять представляет собой обьединенную память команд и данных сквозной записи, и может быть конфигурирована, как память с прямым отображением, или как 2-канальная ассоциативная. Из-за необходимости обеспечения полной совместимости после перезагрузки процессора кэшпамять отключается, и должна быть включена с помощью небольшой программы, предоставляемой фирмой Cyrix. Если кэш-память включена при загрузке, (напр., при "горячей" перезагрузке, Ctrl-Alt-Del), BIOS моего РС (пр-ва AMI) зависает при загрузке, и мне приходится либо выполнять рестарт процессора, либо отключать кэш перед перезагрузкой. Это одна из причин того, что после запуска процессора кэш-память отключается. Я уверен, что в следующих версиях BIOS фирмы AMI это будет учтено и встроенная кэш-память будет поддерживаться. Кэш-память помогает процессору 486DLC преодолеть ограничения интерфейса шины 386, хотя процент попаданий составляет не более 50%. Фирма Cyrix предусмотрела некоторые возможности управления кэш-памятью процессора, что, конечно, улучшит связь внешней и внутренней кэш-памяти. Современные системы 386 не воспринимают эти управляющие сигналы, не имеющие значения для i386DX, но в дальнейшем системы, разработанные с учетом этих возможностей 486DLC, могут использовать их. Встроенный кэш 486DLC допускает до 4-х некэшируемых областей памяти, что может быть очень полезно в том случае, если ваша система использует периферийные устройства, отображаемые в память (напр., сопроцессор Weitek). В существующих системах 386 пересылки DMA (напр., SCSI контроллера, платы звука) могут отключить внутренний кэш, так как не существует других способов обеспечить соответствие кэш-памяти и основной памяти, что, конечно, снижает характеристики 486DLC. Потребляемая мощность 486DLC 40 МГц - 2800 мВт. Немецкий дистрибьютор продает 486DLC 33 МГц по текущей цене 115$. 486DLC работает далеко не со всеми сопроцессорами и не во всех обстоятельствах, особенно критичен в этом отношении многозадачный защищенный режим (улучшенный режим MS- Windows). При использовании 486DLC совместно с Cyrix EMC87, Cyrix 83D87 (выпуск до августа 1992) и IIT 3C87 машина зависает из-за проблем синхронизации между ЦПУ и сопроцессором при исполнении команд FSAVE и FRSTOR, сохраняющих и восстанавливающих состояние сопроцессора при переключении задач. Лучше всего использовать 486DLC с Cyrix 387+ (распространяется только в Европе) или Cyrix 83D87 выпуска после июля 1992, являющийся наиболее мощным сопроцессором среди совместимых сопроцессоров 486DLC. Если у вас уже есть сопроцессор Cyrix 83D87, и вы хотите знать, совместим ли он с 486LCD, я рекомендую вам мою программу COMPTEST, распространяемую как CTEST257.ZIP через анонимные ftp из garbo@uwasa.fi или другие ftp-серверы. Если программа сообщит о сопроцессоре 387+, то у вас установлен либо 387+, либо аналогичная новая версия 83D87 и проблем с совместимостью не будет.

При испытаниях использовалась система:

Аппаратная конфигурация: 33,3/40 МГц системная плата, комплект микросхем Forex, кэш 128 КВ с нулевым состоянием ожидания, прямое отображение, сквозная запись, один буфер записи, 4 байта на строку, 4 цикла задержки при кэш-промахе. 8 МВ основной памяти, среднее состояние ожидания 1,6 цикла. BIOS фирмы AMI. Процессор Cyrix EMC87 в режиме совместимости 387, как матсопроцессор. Этот процессор вместе с Cyrix 83D87/387+ являются самыми быстрыми сопроцессорами для работы с 386DX/486DLC/38600DX. Жесткий диск Conner 3204F, емкость 203 МВ, интерфейс IDE (пропускная способность по тесту CORETEST 1100 КВ/с, время поиска 16 мс). Плата SVGA (ISA, Diamond SpeedSTAR HiColor), используется ET4000, 1 МВ DRAM, как экранный буфер, графический ускоритель отключен. Переключатели на видеоплате установлены для наиболее надежной с быстрой работы, с пропускной способностью 6500 байт/мс при 40 МГц и 5400 байт/мс при 33 МГц.

Программная конфигурация: MS-DOS 5.0, MS Windows 3.1, HyperDisk

4.32 в режиме обратной записи, используется 2 МВ расширенной памяти, в качестве менеджера памяти используется 386MAX 6.01. Эта программа также обеспечивает DPMI в некоторых тестах.

Для тестов Whetstone, Drhystone, WINTACH, DODUC, LINPACK, LLL и Savage больший показатель означает большую производительность.

Для тестов MAKE RTL, MAKE TRANK и теста String-Test меньший показатель означает большую производительность.

Читайте также: