On the similarities and differences between MCU, ARM and DSP

Source: Internet
Author: User

Still remember when reading, the teacher said that single-chip computer, ARM, DSP has interoperability, are CPU, but listen to the teacher can not understand.

How can I understand them and find out their similarities and differences? Let's take a look at my wife's views:

Icer, SOC design for arm CPUs

Let me say a few words, hoping to say a little thinner.

First of all, said CPU, central processing unit, the essence is an integrated circuit, the function is to read out from a place (such as ROM) a command, from a place (such as RAM) to read the data, and then according to different instructions to the data processing (such as add), and then put the results back to a place (such as RAM). Different architectures of CPUs will have different instructions, different access modes, different speeds, different efficiencies, and so on differences.

Then, say the microcontroller (usually referred to as the microcontroller MCU), ARM (usually referred to as high-performance RISC), DSP (commonly referred to as the general purpose digital signal processor), these three CPUs are for different applications generated by the CPU. Of course this is not absolute, because arm now out of the CPU includes MCU (such as M0), RISC (such as A8), DSP (such as M4).

The purpose of the microcontroller is mainly used as a control, he does not need much speed, such as the controller of the rice cooker, only need to control the heating element of the switch, such as signal, etc., but the cost requirements are very strict, so generally do relatively simple, 4 bits, 8 bits of a lot.

High-performance RISC, often used in some data processing more places, the most common is now consumer electronics, mobile phones, pad,mp4 and so on, the current arm business model is mainly to sell the core, integrated into the SOC of each home. He's actually a universal CPU, capable of all kinds of work, just like Intel's CPU. But GM has a performance problem, and in some special situations, performance is less high, such as a large number of operations (such as FFT). This is where the DSP comes in.

DSP, digital signal processor, as long as the digital signal processing module can be called a DSP, such as video decoding of the IP core. But what your teacher said should refer to a universal digital signal processor, such as TI's tms320c55x DSP. The advantage of this CPU is the computation, a large number of cycles of calculation, such as 1024 consecutive multiply plus. His instructions have special handling for this application, which can be done more quickly and efficiently than RISC.

In general, to learn the CPU, the first is to understand its instruction set, and then understand the way to command execution, and then the specific chip to understand its peripheral circuit, the program is written in C, the basic use of no problem.

Introductory textbooks do not know, learn the principle of microcomputer first.

Qccc

A device can be called a CPU, because it can be integrated into the computer's von Neumann system. Von Neumann computer model stipulates the computer "arithmetic, memory, controller, external memory, input and output devices", and the important role of the CPU is to solve the operational problems, the computer's CPU can access the memory data and instructions to operate, from the point of view of the implementation of the operation, whether it is a single-chip microcomputer, Both ARM and DSP can be called CPUs.

Monolithic integrated system is a complete computer system which integrates the structure stipulated by the complete von Neumann. To achieve specific computing functions, the application domain is concentrated in the field of computing specialized requirements such as industrial automation control.

ARM's chip essence in the "R", is the meaning of RISC compact instruction set, and traditional mainframe and PC microprocessors using the instruction system, compared to the RISC instruction set based on 80% only 20% of the processor instructions, using a streamlined command system, So that the entire processor design can be more concise, power consumption, volume greatly reduced, so arm in the current mobile phone, tablet and other functional mobile devices have been widely used. With the continuous enhancement of arm processing power, coupled with its low power consumption, it is also expanding the possibility of its enterprise-Class server cluster applications, reducing energy costs for enterprises.

DSP is a digital signal processor, compared to the general computer to achieve the characteristics of general computing, DSP is only responsible for digital signal (video, audio or other sensors to obtain digital signal) processing. In daily life, common DVD, Blu-ray player, digital TV set-top box, MP3, MP4 and so on are widely used DSP, because of the specialization of design, so at a lower cost, so that the DSP can perform unusually complex coding, decoding and other signal processing, without the use of expensive general-purpose processor.

So broadly speaking, the microcontroller, arm and DSP can be counted as CPU, but this is not strict, because today's CPU is often referred to a compatible x86 architecture of the general processor, such as your computer's Intel and AMD produced by the CPU. If the microcontroller, arm and DSP are called CPUs, the understanding will be biased.

Sheven, embedded enthusiasts

These really can calculate CPU, before everyone has said common ground, I mainly say the difference. The main difference is that the different uses cause the difference of the functional emphasis.

such as microcontroller and low-end arm (such as M3), more rigorous parlance should be called microcontroller or MCU (Micro control Unit), Chinese is generally called "microcontroller". And the CPU is called the "CPU". There is a big difference between a control and a Process. Microcontrollers do not require a general or powerful computational power, and the emphasis is on the realization of various logical and non-logical controls.

While the DSP (Digital Signal Processor), the process shows that it has more powerful processing and computing power compared to the general-purpose MCU. It can realize the processing of various arithmetic of digital signal.

To give a simple example. A MP3 may consist of a common mcu+ a dedicated DSP chip. One of the ordinary MCU called the Master chip, responsible for global control. such as the handling of keystrokes to respond to user actions, control screen output related playback information to the user and so on. The DSP is only responsible for decoding audio files. Visible, the overall control work, logic is cumbersome, such as the display of the implementation of the menu at all levels, which is suitable for the MCU work. But the audio decoding needs the powerful computation ability, the ordinary MCU is unable to be competent, needs the DSP to carry on.

and arm and MCU, I personally think there is no particular strict meaning of the boundaries, mainly look at the division of functions and requirements. ARM itself has already divided us well: "The ARMV7 architecture defines three distinct lines of specialization: the ' A ' series for cutting-edge virtual memory-based operating systems and user applications; ' R ' series for real-time systems; ' M ' series to microcontrollers. So cortex-m3 chips such as STM32 can actually understand the category of high-end microcontroller. Focus on control, on-chip integration, low power consumption and other indicators. Compared to traditional 51,AVR. The Contrex-m family of microcontrollers integrates more resources (such as higher-level AD, more serial ports, and peripheral buses such as I2C,SPI). and 32-bit compared to the traditional 8-bit and 16-bit microcontroller also has the advantage.

and arm in consumer electronics obviously needs more powerful computing functions. I'm not familiar with this piece, so I won't say much.

Amount, found the landlord also asked how to learn. Actually very simple, is the practice. Buy a development board actually do better than anything, have the opportunity to participate in some projects, self-learning now network resources are very rich, do not worry. Can be learned from the 8-bit microcontroller as a primer. Although in recent years everyone has said 51 outdated, but as a single-chip microcomputer is very good, relatively simple, online resources are everywhere. You go to buy any module almost will give you a 51 of the routine ... I now often take 51 test module, test it and then change the code to use the Stm32.

In short, it is no use reading a book. Or do more hands-on. Write code, burn program, solder welding simple circuit. You will reap a lot.

anning865

I also say my own understanding.

First of all, "embedded" This is a concept, the exact definition of no, each book has its own definition. But the main idea is the same, that is, compared to the common PC system, the embedded system is a dedicated system, the structure is streamlined, both hardware and software to retain only the necessary parts, and the unnecessary parts of the cut. So the embedded system generally has the characteristics of portability, low power consumption and single performance.

Then, MCU, DSP, FPGA These are the categories of embedded systems, is to achieve a purpose of the tool used.

After so many years of development, MCU has not only 51 of the structure of Princeton, performance has been greatly improved. Because the MCU must execute the program sequentially, it is suitable for control and more used in industry. And Arm is a company specializing in the design of MCU, due to advanced technology and appropriate strategy, the two-year dominance of the single-chip computer market. ARM microcontroller has many kinds, from the low-end M0 (small appliances) to high-end A8, A9 (mobile phones, tablets) are very popular, so it is not arm SCM must be on the system, the key to see the application situation.

DSP is called digital signal processor, its structure and MCU are different, speed up the operation speed, highlighting the computing power. You can think of it as a super fast MCU. Low-end DSP, such as the C2000 series, is mainly used in motor control, but TI company seems to call it DSC (Digital signal Controller) a thing between MCU and DSP. High-end DSP, such as the c5000/c6000 series, is generally done for video image processing and communication devices where large numbers of computations are required.

FPGAs are called field programmable logic arrays, which have no function of their own, like a piece of white paper, and want it to function entirely by programmers. If you have enough NB, you can turn it into an MCU, or you can turn it into a DSP. Because the internal structure of MCU and DSP is well designed, it can only be processed by software programming, while FPGA is processed in parallel and processed sequentially, so the speed is the fastest.

So why do MCUs, DSPs, and FPGAs exist at the same time? That's because the internal structure of the MCU and DSP is carefully designed by the IC designers, and the power consumption and price are much lower than the FPGA when the same function is completed. And the development of FPGA itself is more complex, the same function to complete the cost of manpower and financial resources. Therefore, each of the three have their own strengths, each has its own. But now there is a convergence between the three, ARM's M4 series added a streamlined DSP core, TI's Da Vinci series itself is the ARM+DSP structure, Altera and Xinlix new FPGA are included in the arm of the core. So the relationship between the three is more and more like a three-color three round.

In a word, "You have me, I have you."

On the similarities and differences between MCU, ARM and DSP

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.