Motorola DSP56000 (также известный как 56K ) — это семейство микросхем цифровых сигнальных процессоров (DSP), производимых Motorola Semiconductor (позже Freescale Semiconductor , затем NXP ) с 1986 года [1] [2] [3] [4] [5] с более поздними моделями, которые все еще производятся в 2020-х годах. Серия 56k была предназначена в основном для встраиваемых систем, выполняющих обработку сигналов, но также была довольно популярна в течение некоторого времени в ряде компьютеров, включая NeXT , Atari Falcon030 и рабочие станции SGI Indigo , все с использованием 56001. [6] Модернизированные версии 56k до сих пор используются в аудиооборудовании, радиолокационных системах, устройствах связи (например, мобильных телефонах ) и различных других встроенных приложениях DSP. 56000 также использовался в качестве основы для обновленного 96000 , который не имел коммерческого успеха.[обновлять]
DSP56000 использует арифметику с фиксированной точкой с 24- битными программными словами и 24-битными словами данных. Он включает в себя два 24-битных регистра , которые также можно назвать одним 48-битным регистром. Он также включает в себя два 56-битных аккумулятора , каждый с 8-битным «расширением» ( также известным как запас по мощности); в остальном аккумуляторы аналогичны другим 24/48-битным регистрам. Будучи процессором с модифицированной архитектурой Гарварда , 56k имеет три пространства памяти + шины (и встроенные банки памяти в некоторых моделях): пространство/шину памяти программ и два пространства/шину памяти данных. [7] Область стека выделяется в отдельном адресном пространстве, которое называется «пространством стековой памяти», [8] отличном от адресного пространства основной памяти. [9] Стек, который используется при вызовах подпрограмм и «длинных прерываниях », имеет глубину в пятнадцать. [9]
24 бита были выбраны в качестве базовой длины слова, поскольку это давало системе разумный диапазон чисел и точность для обработки аудио (звука), что было главной заботой 56000. [ требуется цитата ] 24 бита соответствуют динамическому диапазону 144 дБ , что было достаточно в 1980-х годах, когда аналого-цифровые преобразователи (АЦП) и цифро-аналоговые преобразователи (ЦАП) редко превышали 20 бит. Одним из примеров являются приложения ADSL , где фильтры обычно требуют 20 бит точности. Крайние левые четыре бита обычно считаются достаточным запасом, чтобы избежать переполнения при вычислениях.
Процессор способен выполнять 16,5 миллионов инструкций в секунду (MIPS) при максимальной указанной тактовой частоте 33 МГц, [7] и имеет аппаратную поддержку для блочного FFT с плавающей точкой . [7] Он использует уровни TTL 5 В и потребляет приблизительно 0,4 Вт. [7]
В большинстве проектов 56000 предназначен для одной единственной задачи, поскольку цифровая обработка сигналов с использованием специального оборудования в основном происходит в реальном времени и не допускает никаких прерываний . Для менее требовательных задач, которые не критичны ко времени, проектировщики обычно используют отдельный ЦП или МК .
56000 может выполнять 1024-точечное комплексное быстрое преобразование Фурье (БПФ) за 59 898 тактовых циклов, что занимает 1,8 мс при частоте 33 МГц [7] или со скоростью чуть более 555 операций в секунду, что позволяет осуществлять как декодирование в реальном времени, так и кодирование достаточно продвинутых аудиокодеков, таких как MP3, для прямой записи на диск. [10] [11]
Добавление инструкций SIMD к большинству процессоров настольных компьютеров означало, что специализированные чипы DSP, такие как 56000, частично исчезли из некоторых областей применения, но они продолжают широко использоваться в коммуникациях и других профессиональных целях. С этой целью серия 56800 добавила полный MCU , который создал одночиповое решение "DSPcontroller", в то время как противоположное произошло в 68456, 68000 с 56000 на нем.
Все еще довольно распространенной моделью 56000 является третье поколение семейства 56300 , начиная с 56301, [12] которое включает несколько моделей со специальными приложениями, встроенными в аппаратное и микропрограммное обеспечение, такими как логика интерфейса PCI , процессоры CRC или аудиокомпандеры . Тактовые частоты ядра составляли до 250 МГц. [13]
56000 предоставляет полный набор инструментов разработки , включая компилятор C , ассемблер и симулятор набора инструкций . [14] [15] [16]