What are the differences between DSP and ARM memory architecture and instruction set?

DSP

DSP (digital singnal processor) is a unique microprocessor with its own complete instruction system, which is a device that processes large amounts of information with digital signals. A digital signal processor includes a control unit, an arithmetic unit, various registers, a certain number of storage units, and the like in a small chip, and can also connect a plurality of memories on the periphery thereof, and can mutually interact with a certain number of external devices. Communication, with the full functionality of software and hardware, is itself a microcomputer. The DSP uses a Harvard design, where the data bus and the address bus are separated, so that the program and data are stored in two separate spaces, allowing the instruction fetch and execution instructions to completely overlap. That is to say, the next instruction can be fetched and decoded at the same time as the previous instruction is executed, which greatly improves the speed of the microprocessor. It also allows for transfer between program space and data space because of the increased flexibility of the device.

The working principle is to receive the analog signal, convert it to a digital signal of 0 or 1, and then modify, delete, and strengthen the digital signal, and interpret the digital data back to the analog data or the actual environment format in other system chips. Not only is it programmable, but it can run tens of millions of complex instruction programs per second in real time, and its source exceeds the general-purpose microprocessor. It is an increasingly important computer chip in the digital electronic world. Its powerful data processing capabilities and high operating speed are two of the most commendable features.

The DSP chip, because of its high computing power, fast speed, small size, and high flexibility in software programming, provides an effective way to engage in a variety of complex applications. Its main application is to implement various digital signal processing algorithms in real time and fast.

According to the requirements of digital signal processing, DSP chips generally have the following main features:

(1) One multiplication and one addition can be completed in one instruction cycle; (2) Program and data space are separated, and instructions and data can be accessed simultaneously; (3) On-chip has fast RAM, usually through independent data bus in two Simultaneous access in blocks; (4) hardware support with low overhead or no overhead loops and jumps; (5) fast interrupt handling and hardware I/O support; (6) multiple hardware addresses operating in a single cycle a generator; (7) can perform multiple operations in parallel; (8) support pipeline operations, so that operations such as fetching, decoding, and execution can be performed in an overlapping manner.

Of course, other general-purpose functions of the DSP chip are relatively weak compared to general-purpose microprocessors.

The advantage of DSP is that it has a unique multiplier, and an instruction can complete the multiply-and-accumulate operation. However, GPP (general-purpose processor) processing generally uses addition instead of multiplication. It takes n more CPU cycles, although the cpu frequency is very fast, it still has to be quite Time, this point GPP has basically been able to do internal single-cycle operation multiply and add instructions.

Digital signal processing is a method of processing real-world signals by performing transformations or extracting information using mathematical techniques, and these signals are represented by a sequence of numbers. In the past two decades, digital signal processing has been widely used in communications and other fields.

ARM:

ARM (Advanced RISC Machines) can be considered as the name of a company, or as a generic term for a type of microprocessor. It can also be considered as a technical name. In 1991, ARM was founded in Cambridge, England, and mainly sold licenses for chip design technology. At present, microprocessors using ARM technology intellectual property (IP) cores, which we call ARM microprocessors, have spread across various product markets such as industrial control, consumer electronics, communication systems, network systems, and wireless systems. ARM-based microprocessor applications account for more than 75% of the market share of 32-bit RISC microprocessors, and ARM technology is gradually infiltrating into every aspect of our lives. ARM is a company specializing in the design and development of RISC-based technology chips. As an intellectual property supplier, it does not directly engage in chip production. Instead, it transfers design licenses to produce unique chips from cooperative companies. The world's major semiconductor manufacturers from ARM The company purchased its ARM microprocessor cores and added appropriate peripheral circuits to their respective application areas to form their own ARM microprocessor chips. At present, dozens of large semiconductor companies around the world use the ARM license, which enables ARM technology to obtain more third-party tools, manufacturing, software support, and reduce the overall system cost, making the product easier to enter. The market is accepted by consumers and is more competitive.

ARM's biggest advantage lies in its high speed, low power consumption and high chip integration. Most ARM chips can be counted as SOC. Basically, the power supply and drive interface can be used to make a small system.

Embedded systems based on ARM core processors are increasingly used in embedded systems that require complex control and communication functions due to their rich resources, low power consumption, low price, and support for many vendors.

Comparison of ARM and DSP:

the difference:

Due to the rapid development of the two major processors in their respective fields, today's high-end or more advanced series of products are making up for their own shortcomings and expanding their own advantages, so that some obvious differences between the two are no longer So obvious, even the trend of the combination of the two (such as ARM's AMBA bus, can integrate DSP or other processors in a chip; as in the two series of OMAP and Da Vinci series in DSP, it is directly targeted The wide application of the two combines the two to maximize their respective advantages. In addition, the product focus of the different series is not the same, so here are some traditional comparisons.

In general, the main differences are:

ARM has a relatively strong transaction management function, can be used to run interfaces and applications, etc. Its advantages are mainly reflected in the control aspect, its speed and data processing capabilities are general, but the peripheral interface is rich, standardization and versatility are doing very well. And it is also better in terms of power consumption, so it is suitable for some consumer electronics;

DSP is mainly used for calculation, such as encryption and decryption, modulation and demodulation, etc. The advantage is powerful data processing capability and high running speed. Because it is very good at control algorithms, it is suitable for applications where control requirements are relatively high, such as military navigation and motor servo drives.

If you only focus on embedded applications, the difference between embedded CPU and DSP should only be a biased control of a biased operation.

In addition:

The open source Linux and ARM system processors can take advantage of the Linux system to support various protocols and multi-process scheduling mechanisms, thus shortening the development cycle and enhancing scalability.

In detail:

The advantage of DSP is mainly speed. It can perform one multiplication and one addition simultaneously in one instruction cycle, which is very suitable for the fast Fourier transform. DSP has a special instruction set, which is mainly for communication and multimedia processing; ARM uses the RISC instruction set (of course ARM's E series also supports the DSP instruction set) for general purpose processing.

Memory architecture and instruction set features are different

In order to facilitate the memory management (to facilitate the support of the operating system), the MCU generally adopts the von Neumann structure of instruction and data space unified coding. In order to improve the speed of data throughput, DSP is basically a Harvard structure with independent instruction and data space.

MCUs have much fewer instructions for digital computing. In order to perform fast digital calculations, DSPs improve the efficiency of commonly used signal processing algorithms. Many instructions have been added, such as single-cycle multiply-add instructions and reverse-order add/subtract instructions (especially useful for FFT). Not the reverse order of ARM), block repeat instructions (reducing the jump delay), etc., even a lot of commonly used sequences consisting of several operations to design an instruction can be completed in one cycle (such as an instruction for a multiplication, Accumulating the results and adding 1 to the operand address in reverse order greatly increases the speed of signal processing. Due to the large amount of readings and write-backs of digital processing, in order to increase the speed, two channels are used to access two spaces separately by means of instruction and data space separation. At the same time, there is generally high-speed RAM inside the DSP, data and programs are required. It can be loaded by loading it into the high-speed on-chip ram. DSP improves the efficiency of digital computing, sacrificing the convenience of memory management, and the support for multitasking is much worse, so DSP is not suitable for multitasking control.

1 Support for dense multiplication operations

GPP is not designed to do dense multiplication tasks. Even some modern GPPs require multiple instruction cycles to do a multiplication. The DSP processor uses specialized hardware to implement single-cycle multiplication. The DSP processor also adds an accumulator register to handle the sum of multiple products. The accumulator registers are typically wider than the other registers, adding extra bits called result bits to avoid overflow. At the same time, in order to fully embody the benefits of specialized multiply-accumulate hardware, almost all DSP instruction sets contain explicit MAC instructions.

2 memory structure

Traditionally, GPP uses the von Neumann memory structure. In this configuration, only one memory space is connected to the processor core through a set of buses (an address bus and a data bus). Typically, doing a multiplication will result in 4 memory accesses, using at least four instruction cycles.

Most DSPs use a Harvard architecture that divides the memory space into two, storing programs and data separately. They have two sets of buses connected to the processor core, allowing them to be accessed at the same time. This arrangement doubles the bandwidth of the processor memory and, more importantly, provides data and instructions to the processor core at the same time. In this layout, the DSP is able to implement a single-cycle MAC instruction.

A further problem is that typical high-performance GPPs now contain 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, the on-chip dual memory and bus architecture is almost identical to the Harvard architecture. However, logically, there are still important differences between the two.

GPP uses control logic to determine which data and instruction words are stored in the on-chip cache, which programmers do not specify (or may not know at all). In contrast, DSPs use multiple on-chip memories and multiple sets of buses to ensure multiple accesses to memory per instruction cycle. When using a DSP, the programmer has to explicitly control which data and instructions are stored in on-chip memory (the writing of CMD files). When programmers write programs, they must ensure that the processor can effectively use its dual bus.

In addition, the DSP processor has almost no data cache. This is because the typical data of the DSP is the data stream. That is to say, after the DSP processor calculates each data sample, it discards it and almost no longer uses it.

3 zero overhead loop

If you understand a common feature of DSP algorithms, that is, most of the processing time is spent on executing smaller 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 take the time to check the value of the loop counter when the loop is executed, the condition is shifted to the top of the loop, and the loop counter is decremented by 1 (reverse order addition and subtraction instructions).

In contrast, the GPP cycle is implemented using software. Some high-performance GPPs use branch-prediction hardware to achieve almost 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 the accuracy of the numbers, it should be much easier to do with floating point, but for DSP, cheap is also very important. Fixed-point machines are cheaper (and faster) than the corresponding floating-point machines. In order to ensure the accuracy of numbers without using floating-point machines, DSP processors support saturation calculations, rounding and shifting in both instruction set and hardware.

development trend:

Whether DSP will survive as the heart of mobile phones, the current debate is very intense. Today's mobile phone production uses a dual-core approach: DSP chips handle communications, such as modem functions and voice processing; a general-purpose processor (usually an ARM-designed RISC processor) handles various programs running on the phone, such as the user interface. And control protocol stacks, etc. As these two processors become more powerful, perhaps one of them will take over the functions currently performed by the other party. But the question is: Is ARM replacing DSP, or is DSP crowding out ARM?

If these three are combined, the DSP collects and processes the signal in combination with the sampling circuit, and the ARM processor is used as a platform to run the Linux operating system, and the result of the DSP operation is sent to the user program for further processing, and then provided to the graphic. The friendly human-computer interaction environment completes the functions of data analysis and network transmission, and will maximize the strengths of the three.

Wireless Temperature Monitoring Solution

Wireless Temperature Sensor,Wireles Temperature Data Transceiver,Temperature Data Display Device,Temperature and Humidity sensor,Remote Temperature Data Display Touchscreen

Jiangsu Acrel Electrical Manufacturing Co., LTD. , https://www.acrel.com.pk

Posted on