Before just learning single-chip computer, after certain programming, can realize a lot of different functions, at that time, I feel that single-chip microcomputer is really a powerful. Later came into contact with DSP, found that DSP processing digital in communication, more convenient. So I was curious to ask myself, DSP and microcontroller, what is the difference:
1. Different memory structure
Single-chip microcomputer using von Neumann memory structure. In this structure, only one memory space is connected to the processor core via a set of buses (a address bus and a data bus). Most DSP uses the Harvard structure, divides the memory space into two, stores the program and the data respectively.
2. Fixed-point calculation
Most DSPs use fixed-point calculations instead of using floating-point. To ensure accurate numbers without using floating-point machines, the DSP processor supports saturation calculation, rounding, and shifting in both the instruction set and hardware.
3. Special Addressing Method
DSP processors often support specialized addressing modes. These specialized addressing modes are infrequently used in GPP (General Purpose processors, universal processors) and are implemented only with software.
4. Support for dense multiplication operations
Single-chip microcomputer is not designed to do intensive multiplication task, even some modern GPP, also requires multiple instruction cycle to do a multiplication. The DSP processor uses specialized hardware to achieve single-cycle multiplication. The DSP processor also adds an accumulator register to handle the sum of multiple products. Accumulator registers are generally wider than other registers, and additional bits called result bits are added to avoid overflow.
5, 0 overhead cycles
SCM is a more accurate translation of single-chip microcomputer, but the most accurate reflection of SCM design ideas, and has a long-term technical perspective of the vocabulary is microcontroller (microcontroller).
The reason that appears single-chip microcomputer Word, is because early, even to MSC-51 period, the monolithic computer accurately embodies single-chip microcomputer form and content. However, the development to MSC-96, the development of a new generation of 80c51, M68HC05, M68HC11 series of single-chip microcomputer, in the single-chip microcomputer in the expansion of various control functions, such as: A/D, PWM, PCA counter capture/comparison logic, high-speed I/O port, WDT, etc. Has broken through the traditional content of microcomputer, toward the connotation of microcontroller development. Therefore, at present, it is time to justify the SCM, the foreign countries have gradually unified into a microcontroller. If we still keep the microcontroller as the customary term, it should be considered as a monolithic microcontroller, or directly referred to as a microcontroller or microcontroller, and do not use single-chip microcomputer or single-chip computer these words.
MCU and DSP recently in the production of electronic products are widely used, DSP in the digital signal processing, communication applications, MCU in automatic control, intelligent signal applications widely.
The processor can usually be divided into three categories, namely, digital signal processor-DSP, microcontroller-mcu, as well as the central processing Unit-CPU. To facilitate understanding of their differences in the application, we might as well make the analogy: The DSP is like a formula car engine, the pursuit of high-speed and efficient, MCU is like a motorcycle engine, the pursuit of smart and convenient, the CPU is like a luxury home car engine, the pursuit is all-encompassing. Of course, the integration of DSP and MCU will be the corresponding FAI, can meet more and wider application needs.
Features of MCU:
Suitable for real-time control and Operation tasks
Predictable execution cycle
Specializes in interrupt handling, especially for external asynchronous events
More I/O capabilities,
Larger program
Extensive on-chip peripherals
Features of DSP:
Suitable for the processing of real-time continuous data stream;
Mathematics engine for multi-dense algorithm;
considerable MIPS performance;
Predictable execution time;
Suitable for handling small and repetitive tasks;
Small code size, small chip size, etc.
ASIC/FPGA/MCU/DSP differences:
So to speak, ASIC is originally specialized for a particular function of the development of a dedicated integrated chip, such as you look at the camera inside the chip, a small piece, the integration is very low, the cost is very low, but enough. A cottage camera sold only 30 bucks, buy a piece arm how much money? Later ASIC developed some, called semi-custom ASIC, relatively closer to the FPGA, even in some places, ASIC is a big concept, FPGA is part of the ASIC.
FPGA is basically the high-end CPLD (Complex Programmable logic device complex programmable logic device), the two very close. I am now using the Altera DE2 Development Board of the Cyclone series FPGA. This device uses a logic gate to express performance. itself he is a bunch of logic gates, through the hardware description language, such as VERILOGHDL to turn it into a circuit connection, from the most basic logic gate level connected to the circuit (see the digital circuit book those full-add trigger or something). It should be said that, although it looks like a CPU, it is actually fully hardware implemented. Later, because of the trouble of writing code, the control part is relatively weak, originally with the other CPU use, that is, troublesome algorithm CPU submitted to FPGA,FPGA to calculate the results back to the CPU. But this peripheral circuit becomes troublesome. So the Soc design method, is directly in the FPGA write a CPU out, since the FPGA omnipotent, do a CPU naturally without pressure. There are also differences between soft and hard cores, but in addition to performance, the use of the method is similar. The so-called IP core, is to use a variety of special-purpose integrated circuits with hardware description Language description, and then burned into the FPGA to form a special circuit, so that no additional chip, all the circuit in a piece of FPGA formation.
DSP is actually supposed to be called DSPs, which is a special chip for DSP processing. The difference from a normal computer is that he is a Harvard structure, which is the separation of data and program space. (Ordinary computer is von Neumann structure) on the other hand he has the pipeline structure, but now the others have, emulate. On the other hand, he has a dedicated hardware algorithm circuit, to complete the DSP operation, such as the most basic multiplication accumulation. On the DSP know, butterfly algorithm FFT What, split into the most basic unit is multiplication accumulation, this part of the acceleration, the overall performance has a very big increase. DSP's ability to handle streaming media is far superior to that of general-purpose CPUs. So you see now the phone CPU, at least the voice part is using DSP. Later, the concept of DSP is also complicated, each home to a control core integrated into the DSP, such as the current smartphone chip. Can look at the high-pass or TI chip, basically an arm core control of the overall operation, a DSP processing speech codec, a GPU responsible for image operations, a baseband and antenna processing module is responsible for communication, plus some 7788 of things such as GPS module or something.
Single-chip microcomputer is a universal CPU, providing a variety of interfaces to control the overall, quite a total scheduling, of course, a simple function of a CPU independent work is completed. The original 51 series is a bunch of IO port, and then slowly put the commonly used pwm,ad functions such as adding a single-chip microcomputer. Mainly including the use of countless years still a big 51 of the university must teach the series, and Avr,pic,arm,hotek ... In fact, after ARM9, it is unclear what kind of arm, the current architecture, closer to the DSP.
In short, now all kinds of things are mixed with each other, so as long as choose their own need to use the good, there is no need to force classification.
FPGA is a programmable array, the use of a lookup table structure, which is the biggest difference with the CPLD, can use FPGA to achieve a variety of AISC, DSP and microcontroller.
ASIC is a dedicated IC, there is no clear definition. Can be understood as in addition to single-chip microcomputer, DSP, FPGA and the like to call out the class of IC, the rest is ASIC.
DSP is a special kind of CPU, the main feature is to be able to complete one time multiplication in a clock cycle, so it is suitable for signal processing.
Single-chip microcomputer is a simple CPU, and the general processor does not have a clear line, think he is simple, you can call a single-chip microcomputer, but are single-core.
The difference between DSP and MCU