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] и имеет аппаратную поддержку блочного БПФ с плавающей запятой . [7] Он использует уровни TTL 5 В и потребляет примерно 0,4 Вт. [7]
В большинстве разработок 56000 предназначен для выполнения одной единственной задачи, поскольку цифровая обработка сигналов с использованием специального оборудования осуществляется в основном в режиме реального времени и не допускает каких-либо прерываний . Для менее требовательных задач, не критичных по времени, разработчики обычно используют отдельный ЦП или MCU .
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]