[Add to favorites] learn more about the differences between DSP and arm

Source: Internet
Author: User

Original article: http://blog.163.com/liuhonggaono1@126/blog/static/10497901201183004839992/

These days we are preparing to look for a job. We need to sort out some theoretical or superficial knowledge, so we have time to sort out this rough comparison, let's take a look at the features of these two mainstream processors from the other side!

 

DSP:

DSP ( digital singnal processor ) is a unique microprocessor. It has its own complete command system and uses digital signals to process a large amount of information. A digital signal processor contains control units, operation units, various registers, and a certain number of storage units can also be connected to a number of memory on the periphery, and can communicate with a certain number of external devices, with comprehensive software and hardware functions , itself is a microcomputer. DSP uses Harvard design : Data Bus and address bus are separated, store the Program and data in two separate spaces. allow completely overlapping commands . That is to say, when executing the previous instruction, the next instruction can be taken out and decoded simultaneously, which greatly improves the speed of the microprocessor. In addition, transmission between the program space and the data space is allowed , which increases the flexibility of the device.

The working principle is to receive analog signals and convert them0Or1Then, 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. It is not only programmable, but also runs at a speed of tens of millions of Complex Instruction programs per second. The source is more than the general-purpose microprocessor, and is an increasingly important computer chip in the digital electronics world. ItsPowerful data processing capability and high running speedAnd are two of the most commendable features.

 

DSPChip, because of its powerful computing capability, fast speed, small size, and high flexibility in using software programming, it provides an effective way to engage in a variety of complex applications. ItsThe main application is to quickly implement various digital signal processing in real time.Algorithm. According to the requirements of digital signal processing,DSPChips generally have the following main features:

 

(1) One multiplication and one addition can be completed within one instruction cycle;

(2Programs and data spaces are separated, and commands and data can be accessed at the same time;

(3) Fast in-ChipRam, Which can be accessed simultaneously through an independent data bus;

(4) Hardware support with low overhead or no overhead loop and redirection;

(5) Fast Interrupt Processing and hardwareI/OSupported;

(6) Has multiple hardware address generators that operate in a single cycle;

(7) You can execute multiple operations in parallel;

(8Supports streamline operations so that operations such as finger fetch, decoding, and execution can be executed in overlapping ways.

 

Of course, compared with general-purpose microprocessor,DSPOther general functions of the chip are relatively weak.

 

DSPThe advantage is that it has a unique multiplier, and a command can complete the multiplication and addition operation,GPP(General-purpose processor) Processing generally uses addition instead of multiplication.NMultipleCPUCycle, althoughCPUThe clock speed is very fast, but it takes quite some time.GPPBasically, the internal single-cycle operation multiplication and addition commands can be implemented.

 

Digital signal processing is a method of processing real signals by using mathematical techniques to convert or extract information. These signals are represented by digital sequences. 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 a general name for a type of microprocessor, or a technology name. 1991 Year Arm Founded in Cambridge, UK, the company mainly sells licenses for Chip Design Technologies. Currently Arm Technical intellectual property rights ( IP ) Core microprocessor, which is what we usually call Arm The microprocessor has been used in various product markets, including industrial control, consumer electronic products, communication systems, network systems, and wireless systems. Arm The technology's microprocessor application occupies approximately 32 BitProteus Microprocessor 75 % Market share above, Arm Technology is gradually penetrating into every aspect of our lives. Arm The company specializes in Proteus Technology chip design and development companies, as intellectual property suppliers, do not directly engage in chip production, but transfer the design license from the partner companies to produce chips with distinctive characteristics, the world's major Semiconductor manufacturers from Arm The company purchased Arm Microprocessor core, according to their different application fields, add appropriate peripheral circuits to form their own Arm The microprocessor chip entered the market. Currently, dozens of large semiconductor companies around the world useArm Therefore Arm The technology is supported by more third-party tools, manufacturing, and software, and the cost of the entire system is reduced, making it easier for consumers to access the market and more competitive.

 

ArmThe biggest advantage is thatHigh speed, low power consumption, and high chip integration, MajorityArmAll chips can be countedSOCBasically, a small system can be built by adding power supplies and driver interfaces to the periphery.

 

Based onArmThe embedded system of the core processor is more and more used in a variety of needs because of its rich resources, low power consumption, low price, and many support vendors.Complex control and communication functionsIn the embedded system.

 

ArmAndDSPComparison:

 

Differences:

Because of the rapid development of the two processors in their respective fields, the high-end or more advanced products of the two are making up for their shortcomings and expanding their advantages, so that the obvious differences between the two are no longer so obvious, and even the trend of combining the two (suchArmOfAMBABus, you canDSPOr other processors are integrated into one chip.DSPTwo series inOMAPThe Da Vinci series and the da Vinci series directly combine the two for a wide range of applications, so as to maximize their respective advantages). In addition, the products of the two series have different focuses, therefore, we will discuss some comparisons in the traditional sense.

 

In general, the main differences are:

 

ArmIt has strong transaction management functions and can be used to run interfaces and applications. Its advantages are mainly reflected in the control aspect. Its speed and data processing capabilities are average, but the peripheral interfaces are rich, standardization and versatility are well done, and power consumption is also well done, so it is suitable for some consumer electronics;

WhileDSPIt is mainly used for computing, such as encryption and decryption, and modulation and demodulation. Its advantage is its powerful data processing capability and high operating speed. Because it is good at control algorithms and other aspects, it is suitable for use in scenarios with high control requirements, such as military navigation, motor servo drive, and so on.

If you only focus on embedded applicationsCPUAndDSPThe difference should only be that one focuses on control and one focuses on calculation.

 

In addition:

Open source codeLinuxAndArmSystem processors can be used togetherLinuxThe system supports various protocols and the advantages of multi-process scheduling mechanism to shorten the development cycle and improve scalability.

 

For details:

DSPThe main advantage is speed. It can complete a multiplication and an addition at the same time in a command cycle, which is very suitable for the needs of Fast Fourier transformation.DSPDedicated Instruction Sets,Mainly for communication and multimedia processing;ArmYesProteusInstruction Set (of courseArmOfEThe series also supportsDSPInstruction Set) is used for general processing.

 

The memory architecture and Instruction Set have different characteristics.

for the convenience of Memory Management (easy to support the operating system ), generally, the instruction and data space are uniformly encoded in the von noriman structure. DSP to speed up data throughput, it is basically a Harvard structure independent of commands and data spaces.

The single-chip microcomputer has fewer instructions on digital computing,DSPIn order to carry out quick digital computing and improve the efficiency of common signal processing algorithms, many commands are added, such as single-cycle multiplication and addition and subtraction commands in reverse order (FFTIs particularly useful, notArmIn reverse order), block repeated commands (reducing jump latency), etc, you can even design a sequence composed of several commonly used operations to complete an instruction in one cycle (for example, an instruction is used as a multiplication, the result is accumulated, and the operand address is added in reverse order.1), Greatly improving the signal processing speed. Because the reading and write-back volumes of digital processing are very large, in order to increase the speed, commands and data spaces are separated to access two spaces using two buses.DSPInternal High SpeedRam, Data and programs must be first loaded into the high-speed slice.Ram.DSPTo improve the efficiency of digital computing, the convenience of memory management is sacrificed, and the support for multiple tasks is much lower.DSPIt is not suitable for multi-task control.

 

1Support for intensive multiplication operations

GPPNot designed for intensive multiplication tasks, even in modernGPPAnd require multiple command cycles to perform one multiplication. WhileDSPThe processor uses dedicated hardware for single-cycle multiplication.DSPThe processor also adds the accumulators register to process the sum of multiple products. The accumulators register is generally wider than other registers. The increase is called the result.BitsAdditionalBitsTo avoid overflow. At the same time, in order to fully reflect the special Multiplication-The benefits of adding hardware, almost allDSPThe instruction sets contain explicitMacCommand.

 

2Memory Structure

Traditionally,GPPUse Feng.Noriman memory structure. In this structure, only one memory space is connected to the processor core through a group of bus (one address bus and one Data Bus. Usually, a multiplication occurs.4Memory Access, with at least four instruction cycles used.

MajorityDSPUsing the Harvard structure, the storage space is divided into two types, respectively, the storage program and data. They have two groups of buses connected to the processor core, allowing simultaneous access to them. This arrangement doubles the bandwidth of the processor memory and, more importantly, provides data and instructions for the processor core at the same time. In this layout,DSPTo achieve a single cycleMacCommand.

Another problem is the typical high performanceGPPIn fact, there are already two in-chip high-speed caches. One is data, and the other is commands. They are directly connected to the processor core to speed up access during operation. Physically speaking, the dual-memory and bus structure in the chip is almost the same as that in Harvard. However, logically, there are still important differences between the two.

GPPThe control logic is used to determine which data and script words are stored in the On-Chip cache. The programmer does not specify them (or may not know at all ). In contrast,DSPMultiple in-chip memory and multiple bus are used to ensure multiple accesses to memory within each instruction cycle. In useDSPThe programmer must explicitly control which data and commands should be stored in the in-chip memory (CMDFile writing ). When writing a program, the programmer must ensure that the processor can use its dual-bus effectively.

In addition,DSPAlmost all processors do not have high-speed data caching. This is becauseDSPThe typical data isData Stream. That is to say,DSPAfter the processor computes each data sample, it is discarded, almostDo not reuse.

 

3Zero overhead Loop

If you understandDSPA common feature of algorithms is that most of the processing time is spent on executing a small loop, which makes it easy to understand why most ofDSPDedicated hardware is available for zero-overhead loops. The so-called zero-overhead loop means that when the processor executes a loop, it does not need to take time to check the value of the loop counter, transfer the condition to the top of the loop, and subtract the loop counter1(Add or subtract commands in reverse order ).

In contrast,GPPIs IMPLEMENTED cyclically using software. Some high-performanceGPPThe transfer forecast hardware almost achieves the same effect as the zero-overhead loop supported by the hardware.

 

4Fixed Point computing

MajorityDSPUse a fixed point calculation instead of a floating point. AlthoughDSPThe application must pay attention to the accuracy of numbers. It should be much easier to use floating point,DSPIt is also very important to be cheap. Fixed-point machines are cheaper (and faster) than floating-point machines ). In order not to use floating point machines but to ensure the accuracy of numbers,DSPThe processor supports saturation computing, rounding, and shifting in both instruction sets and hardware.

 

Development trend:

 

DSPWhether to survive as the heart of a mobile phone is currently highly controversial. Today's mobile phone production adopts dual-core mode:DSPChip processing communication, such as modem functions and voice processing; a common processor (usuallyArmDesignedProteusProcessor) processes various programs running on mobile phones, such as user interfaces and control protocol stacks. As these two processors become increasingly powerful, either of them may take over the features currently executed by the other. But the problem is: YesArmReplaceDSP, OrDSPSqueeze outArm?

 

If you combine the three, that isDSPThe sampling circuit is used to collect and process signals.ArmProcessor as a platform, runLinuxThe operating system will go throughDSPThe calculation result is sent to the user program for further processing, and then provided to the graphic and user-friendly human-computer interaction environment for data analysis and network transmission functions, so that the three strengths can be maximized.

 

 

Extended knowledgeFPGA:

 

FPGA is short for field programmable gate array (Field Programmable Gate Array). It is a product of further development on the basis of PAL, gal, PLD, and other programmable devices, is the most integrated type in specialized Integrated Circuits (ASIC. FPGA adopts a new concept such as logic cell array (LCA), which includes configurable logic modules CLB (Programmable Logic block) and output input module IOB (input output block) and interconnect. You can reconfigure the logic modules and I/O modules in FPGA to implement your logic. It also features static repeatable programming and dynamic restructuring of the system, so that hardware functions can be modified through programming like software. As a semi-customized circuit in the specialized IC (ASIC) field, FPGA not only solves the shortcomings of the custom circuit, but also overcomes the shortcomings of the limited number of original programmable device door circuits. It is no exaggeration to say that FPGA can be used to complete the functions of any digital device, from high-performance CPU to 74 power channels. FPGA, such as a piece of white paper or a pile of wood, allows engineers to freely design a digital system using the traditional schematic input method or hardware description language. Through software simulation, we can verify the correctness of the design in advance. After the PCB is complete, you can use the online modification capability of FPGA to modify the design at any time without changing the hardware circuit. Using FPGA to develop digital electrical circuits can greatly shorten the design time, reduce the PCB Area, and improve the system reliability. FPGA is set by the program stored in the On-chip RAM. Therefore, you need to program the on-chip RAM when working. Users can adopt different programming methods based on different configuration modes. When power-on is enabled, the FPGA chip reads the EPROM data into the on-chip programming Ram. After the configuration is complete, the FPGA enters the working state. After power loss, FPGA becomes white, and the internal logic relationship disappears. Therefore, FPGA can be used repeatedly. FPGA programming does not require a dedicated FPGA programmer. You only need to use a universal EPROM or prom programmer. When you need to modify the FPGA function, you only need to change an EPROM. In this way, different programming data of the same FPGA can generate different circuit functions. Therefore, FPGA is very flexible to use. It can be said that FPGA chip is one of the best choices for small batch systems to improve system integration and reliability. FPGA has many varieties, including Xilinx XC series, Ti TPC series, and Altera fiex series.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.