Motorola 56000
The Motorola DSP56000 (also known as 56K) is a family of digital signal processor (DSP) chips produced by Motorola Semiconductor (later Freescale Semiconductor then NXP) starting in 1986[1][2][3][4][5] with later models are still being produced in the 2020s. The 56k series was intended mainly for embedded systems doing signal processing, but was also quite popular for a time in a number of computers, including the NeXT, Atari Falcon030 and SGI Indigo workstations all using the 56001.[6] Upgraded 56k versions are still used today[update] in audio equipment, radar systems, communications devices (like mobile phones) and various other embedded DSP applications. The 56000 was also used as the basis for the updated 96000, which was not commercially successful.
Technical description
[edit]The DSP56000 uses fixed-point arithmetic, with 24-bit program words and 24-bit data words. It includes two 24-bit registers, which can also be referred to as a single 48-bit register. It also includes two 56-bit accumulators, each with an 8-bit "extension" (a.k.a. headroom); otherwise, the accumulators are similar to the other 24/48-bit registers. Being a Modified Harvard architecture processor, the 56k has three memory spaces+buses (and on-chip memory banks in some of the models): a program memory space/bus and two data memory space/bus.[7] The stack area is allocated in a separate address space, which is called "Stack Memory Space",[8] distinct from the main memory address space.[9] The stack, which is used when subroutine calls and "long interrupt"s, is fifteen in depth.[9]
24 bits was selected as the basic word length because it gave the system a reasonable number range and precision for processing audio (sound), the 56000's main concern.[citation needed] 24 bits correspond to a dynamic range of 144 dB, sufficient in the 1980s when analog-to-digital converters (ADCs) and digital-to-analog converters (DACs) rarely exceeded 20 bits. One example is ADSL applications, where filters typically require 20 bits of accuracy. The leftmost four bits are typically considered ample headroom to avoid overflow in calculations.
The processor is capable of carrying out 16.5 million instructions per second (MIPS) at the maximum specified clock speed of 33 MHz,[7] and has hardware support for block-floating point FFT.[7] It uses 5 V TTL levels and consumes approximately 0.4 W.[7]
Applications and variants
[edit]In most designs the 56000 is dedicated to one single task, because digital signal processing using special hardware is mostly real-time and does not allow any interruption. For less demanding tasks which are not time-critical, designers normally use a separate CPU or MCU.
The 56000 can execute a 1024-point complex Fast Fourier transform (FFT) in 59,898 clock cycles, taking 1.8 ms at 33 MHz,[7] or a rate of just over 555 operations per second, allowing both realtime decoding and encoding of reasonably advanced audio codecs such as MP3 for direct-to-disc recording purposes.[10][11]
The addition of SIMD instructions to most desktop computer CPUs have meant that dedicated DSP chips like the 56000 have partly disappeared from some application fields, but they continue to be used widely in communications and other professional uses. To this end the 56800 series added a complete MCU which created a single-chip "DSPcontroller" solution, while the opposite occurred in the 68456, a 68000 with a 56000 on it.
A still quite prevalent model of the 56000 is the third generation 56300 family, starting with the 56301,[12] which features several models with special applications hard- and firmware built-in, like PCI interface logic, CRC processors, or audio companders. Core clock frequencies ranged up to 250 MHz.[13]
The 56000 provides a comprehensive suite of development tool, including a C Compiler, an Assembler, and an Instruction set simulator.[14][15][16]
References
[edit]- ^ The Motorola DSP56000 Digital Signal Processor IEEE
- ^ freescale.com – DSP56000 24-BIT DIGITAL SIGNAL PROCESSOR FAMILY MANUAL (archived 2019)
- ^ Fractional and Integer Arithmetic using the DSP56000 Family
- ^ Programmable DSP architectures
- ^ Motorola DSP56000 Family Optimizing C Compiler User's Manual
- ^ atariforge.org – Atari Falcon030 Schematic Rev A Archived 2015-07-24 at the Wayback Machine, 1992-06-28
- ^ a b c d e freescale.com – Product Preview, 24-BIT DIGITAL SIGNAL PROCESSOR, DSP56001A, 1997 (archived 2019)
- ^ "DSP56000 24-BIT DIGITAL SIGNAL PROCESSOR FAMILY MANUAL" (PDF). p. 91(5–15). Archived from the original (PDF) on 2019-01-19. Retrieved 2023-12-26.
- ^ a b "DSP56000 24-BIT DIGITAL SIGNAL PROCESSOR FAMILY MANUAL" (PDF). p. 29(2–5). Archived from the original (PDF) on 2019-01-19. Retrieved 2023-12-26.
- ^ Scot Hacker. "How MP3 Works: Inside the Codec". MP3: The Definitive Guide. O'Reilly. Retrieved 16 April 2013.
- ^ Mike Adana. "Development of MP3". Guide for MP3 blog. Retrieved 16 April 2013.
- ^ Motorola (October 1999). "56301 SPEC" (PDF). 128IC. DSP56301P/D. Archived (PDF) from the original on 15 August 2020. Retrieved 7 August 2020.
- ^ DSP56K Family Overview, p. 45 ff in Beyond DSPs, November 2010 (freescale/NXP).
- ^ "Motorola DSP56000 Family Optimizing C Compiler User's Manual, Release 6.3" (PDF). Retrieved 2023-11-10.
- ^ "MOTOROLA DSP ASSEMBLER REFERENCE MANUAL" (PDF). Retrieved 2023-11-12.
- ^ "MOTOROLA DSP SIMULATOR REFERENCE MANUAL" (PDF). Retrieved 2023-11-12.
Further reading
[edit]- 56000 family
- DSP56000 Family Manual – Motorola
- DSP56000 / DSP56001 Users Manual – Motorola
- DSP56002 Users Manual – Motorola
- DSP56166 Users Manual – Motorola
- 56300 family
- DSP56300 Family Manual – NXP
- DSP56301 Datasheet – NXP
- DSP56309 Datasheet – NXP
- DSP56374 Datasheet – NXP
External links
[edit]- Freescale Digital Signal Processors
- A56 freeware assembler for the 56000 architecture
- Product-Longevity Program