Similar operations are repeated in large quantities during digital signal processing, so devices designed for this purpose must provide special support, which has led to the separation of DSP devices and general-purpose processors (GPPs):
1 Support for dense multiplication operations
GPPs are not designed to do dense multiplication tasks, and even some modern GPPs require multiple instruction cycles to do a multiplication. DSP processors use specialized hardware to implement single-cycle multiplication. DSP processors also add accumulator registers to handle the sum of multiple products. Accumulator registers are usually wider than other registers, adding extra bits called result bits to avoid overflow. At the same time, in order to fully realize the benefits of specialized multiplication-accumulation hardware, almost all DSP instruction sets include explicit MAC instructions.
2 Memory Structure
Traditionally, GPP uses the von Neumann memory structure. In this structure, there is only one memory space connected to the processor core through a set of buses (an address bus and a data bus). Usually, four memory accesses will occur to perform a multiplication, which takes at least four instruction cycles.
Most DSPs use the Harvard structure, which divides the memory space into two, storing programs and data respectively. They have two sets of buses connected to the processor core, allowing them to be accessed simultaneously. This arrangement doubles the bandwidth of the processor memory, and more importantly, provides data and instructions to the processor core at the same time. Under this layout, the DSP can implement single-cycle MAC instructions.
There is also the problem that today's typical high-performance GPP actually contains two on-chip caches, one for data and one for instructions, which are directly connected to the processor core to speed up access at runtime. Physically, this dual memory and bus structure on chip is almost the same as the Harvard structure. However, logically, there are important differences between the two.
GPP uses control logic to determine which data and instruction words are stored in the on-chip cache, without the programmer's knowledge (and perhaps without the programmer's knowledge). In contrast, DSP uses multiple on-chip memories and multiple sets of buses to ensure multiple memory accesses per instruction cycle. When using DSP, the programmer explicitly controls which data and instructions are stored in on-chip memory. When writing programs, the programmer must ensure that the processor can effectively use its dual buses.
In addition, DSP processors almost never have data caches. This is because typical data for DSP is a data stream. That is, after the DSP processor performs calculations on each data sample, it is discarded and rarely reused.
3 Zero-overhead loops
If you understand a common characteristic of DSP algorithms, that is, most of the processing time is spent executing small loops, it is easy to understand why most DSPs have dedicated hardware for zero-overhead loops. The so-called zero-overhead loop means that the processor does not spend time checking the value of the loop counter, conditionally transferring to the top of the loop, and decrementing the loop counter by 1 when executing the loop.
In contrast, GPP loops are implemented in software. Some high-performance GPPs use branch prediction hardware to achieve nearly the same effect as hardware-supported zero-overhead loops.
4 Fixed-point calculation
Most DSPs use fixed-point calculations instead of floating-point. Although DSP applications must pay great attention to digital accuracy, it should be much easier to do it with floating-point, but for DSP, cheapness is also very important. Fixed-point machines are cheaper (and faster) than corresponding floating-point machines. In order to avoid using floating-point machines while ensuring digital accuracy, DSP processors support saturation calculations, rounding, and shifting in both instruction sets and hardware.
Previous article:Design and Application of FPGA in Micro Projector
Next article:Design of Elliptic Function Low-pass Filter Based on DDS
Recommended ReadingLatest update time:2024-11-16 20:39
- Popular Resources
- Popular amplifiers
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- RVB2601 First Experience
- If the Lingte LT3789 is to output 12V10A, can it be directly connected in parallel with MOS?
- MSP430 and ATK-NEO-6M GPS module
- Saw a picture on the official account
- How much do you know about 5G antennas?
- Please help me with this circuit
- Understanding the energy storage function of decoupling capacitors
- Design of infrared communication circuit for single chip microcomputer
- An SI engineer who does not understand processing cannot be called Mr. High Speed
- EEWORLD University Hall----Live Replay: Use ModusToolbox? to build a system to flexibly respond to IoT design challenges