Difference between Microprocessor and Microcontroller
ByLawrence Williams
Hours
Updated
Microprocessor vs Microcontroller: Key Difference
- Microprocessor consists of only a Central Processing Unit, whereas Micro Controller contains a CPU, Memory, I/O all integrated into one chip.
- Microprocessor is used in Personal Computers whereas Micro Controller is used in an embedded system.
- Microprocessor uses an external bus to interface to RAM, ROM, and other peripherals, on the other hand, Microcontroller uses an internal controlling bus.
- Microprocessors are based on Von Neumann model Micro controllers are based on Harvard architecture
- Microprocessor is complicated and expensive, with a large number of instructions to process but Microcontroller is inexpensive and straightforward with fewer instructions to process.
What is a Microprocessor?
A microprocessor is a controlling unit of a micro-computer wrapped inside a small chip. It performs Arithmetic Logical Unit (ALU) operations and communicates with the other devices connected with it. It is a single Integrated Circuit in which several functions are combined.
What is Microcontroller?
A microcontroller is a chip optimized to control electronic devices. It is stored in a single integrated circuit which is dedicated to performing a particular task and execute one specific application.
It is specially designed circuits for embedded applications and is widely used in automatically controlled electronic devices. It contains memory, processor, and programmable I/O.
Types of Microprocessor
Important types of Microprocessors are:
- Complex Instruction Set Microprocessors
- The Application Specific Integrated Circuit
- Reduced Instruction Set Microprocessors
- Digital Signal Multiprocessors (DSPs)
Types of Microcontroller
Here are important types of Microcontroller:
- 8 bit Microcontroller
- 16 bit Microcontroller
- 32 bit Microcontroller
- Embedded Microcontroller
- External memory Microcontroller
History of Microprocessor
Here, are the important landmark from the history of Microprocessor
- Fairchild Semiconductors invented the first IC (Integrated Circuit) in 1959.
- In 1968, Robert Noyce, Gordan Moore, Andrew Grove found their own company Intel.
- Intel grew from 3 man start-up in 1968 to industrial giant by 1981.
- In 1971, INTEL created the first generation Microprocessor 4004 that would run at a clock speed of 108 kHz
- From 1973 to 1978, second-generation 8-bit microprocessors were fabricated like Motorola 6800 and 6801, INTEL-8085, and Zilog’s-Z80.
- In 1978, Intel 8008 third-generation process came into the market.
- In the early 80s, Intel released fourth-generation 32-bit processors.
- In 1995, intel released in fifth-generation 64-bit processors .
History of Microcontroller
Here, are important landmarks from the history of Microcontroller:
- First used in 1975(Intel 8048)
- The introduction of EEPROM in 1993
- The same year, Atmel introduced the first microcontroller using Flash memory.
Difference Between Microprocessor and Microcontroller
Here is the difference between Microprocessor vs. Microcontroller
Microprocessor | Microcontroller |
---|---|
Microprocessor is the heart of Computer system. | Micro Controller is the heart of an embedded system. |
It is only a processor, so memory and I/O components need to be connected externally | Micro Controller has a processor along with internal memory and I/O components. |
Memory and I/O has to be connected externally, so the circuit becomes large. | Memory and I/O are already present, and the internal circuit is small. |
You can’t use it in compact systems | You can use it in compact systems. |
Cost of the entire system is high | Cost of the entire system is low |
Due to external components, the total power consumption is high. Therefore, it is not ideal for the devices running on stored power like batteries. | As external components are low, total power consumption is less. So it can be used with devices running on stored power like batteries. |
Most of the microprocessors do not have power saving features. | Most of the microcontrollers offer power-saving mode. |
It is mainly used in personal computers. | It is used mainly in a washing machine, MP3 players, and embedded systems. |
Microprocessor has a smaller number of registers, so more operations are memory-based. | Microcontroller has more register. Hence the programs are easier to write. |
Microprocessors are based on Von Neumann model | Micro controllers are based on Harvard architecture |
It is a central processing unit on a single silicon-based integrated chip. | It is a byproduct of the development of microprocessors with a CPU along with other peripherals. |
It has no RAM, ROM, Input-Output units, timers, and other peripherals on the chip. | It has a CPU along with RAM, ROM, and other peripherals embedded on a single chip. |
It uses an external bus to interface to RAM, ROM, and other peripherals. | It uses an internal controlling bus. |
Microprocessor-based systems can run at a very high speed because of the technology involved. | Microcontroller based systems run up to 200MHz or more depending on the architecture. |
It’s used for general purpose applications that allow you to handle loads of data. |
It’s used for application-specific systems. |
It’s complex and expensive, with a large number of instructions to process. | It’s simple and inexpensive with less number of instructions to process. |
Features of Microprocessor
Here are some important features of Microprocessor:
- Offers built-in monitor/debugger program with interrupt capability
- Large amount of instructions each carrying out a different variation of the same operation
- Offers Parallel I/O
- Instruction cycle timer
- External memory interface
Features of Microcontroller
Here are some important features of Microcontroller:
- Processor reset
- Program and Variable Memory (RAM) I/O pins
- Device clocking central processor
- Instruction cycle timers
Applications of Microprocessor
Microprocessors are mainly used in devices like:
- Calculators
- Accounting system
- Games machine
- Complex industrial controllers
- Traffic light
- Control data
- Military applications
- Defense systems
- Computation systems
Applications of Microcontroller
Microcontrollers are mainly used in devices like:
- Mobile phones
- Automobiles
- CD/DVD players
- Washing machines
- Cameras
- Security alarms
- Keyboard controllers
- Microwave oven
- Watches
- Mp3 players
Summary:
What is the Difference Between a Microcontroller and Microprocessor?
The key difference between a Microprocessor and a Microcontroller is the Microprocessor consists of only a Central Processing Unit, whereas the Microcontroller contains a CPU, Memory, I/O all integrated into one chip. A microcontroller is an inexpensive, straightforward, and small number of instructions to process, whereas a Microprocessor is complex and expensive, with many instructions.
Which is Better Microcontroller or Microprocessor?
Both of these processes are good. However, which one you should use depends upon your requirements. Microcontrollers are mainly used for small applications like washing machines, Cameras, Security alarms, Keyboard controllers, etc., Whereas Microprocessor is used in Personal Computers, Complex industrial controllers, Traffic light, Defense systems, etc.
Which is Faster Microprocessor or Microcontroller?
Microprocessors are much faster than microcontrollers. The clock speed of a microprocessor is above 1 GHz. While in the case of the Microcontroller, the clock speed is 200MHz or more, depending on the architecture.
Difference between Microprocessor and Microcontroller
— Advertisement —
Selecting the right device on which to base your new design can be daunting. The need to make the right balance of price, performance, and power consumption has many implications. First, there will be the immediate technology considerations for the design you are able to embark on. However, if a microcontroller (MCU) or microprocessor (MPU), becomes the basis of a platform approach, the decision can have long-lasting consequences. The difference between microprocessor and microcontroller becomes an important debate at this point.
Microcontroller vs Microprocessor: Primary Differences
Typically an MCU uses on-chip embedded Flash memory in which to store and execute its program. Storing the program this way means the MCU has a shorter start-up period and executes code quickly. The only practical limitation to using embedded memory is that the total available memory space is finite. Most Flash MCU devices available on the market have a maximum of 2 Mbytes of Program memory. This may prove to be a limiting factor, depending on the application.
MPUs do not have memory constraints in the same way. They use external memory to provide program and data storage. The program is typically stored in non-volatile memory, such as NAND or serial Flash. At start-up, this is loaded into an external DRAM and execution commences. This means the MPU will not be up and running as quickly as an MCU but the amount of DRAM and NVM you can connect to the processor is in the range of hundreds of Mbytes and even Gbytes for NAND.
Another difference is power. By embedding its own power supply, an MCU needs just one single voltage power rail. By comparison, an MPU requires several different voltage rails for core, DDR etc. The developer needs to cater to this with additional power ICs / converters on- board.
Difference Between Microprocessor and Microcontroller: Application Perspective
— Advertisement —
From the application perspective, some aspects of the design specification might drive device selection in particular ways. For example, is the number of peripheral interface channels required more than can be catered for by an MCU? Or, does the marketing specification stipulate a user interface capability that will not be possible with an MCU because it does not contain enough memory on-chip or has the required performance?
When embarking on the first design and knowing that, it is highly likely there will be many product variations. In that case, it is very possible a platform-based design approach will be preferred. This would stipulate more “headroom” in terms of processing power and interface capabilities in order to accommodate future feature upgrades.
Some measurement parameters
An attribute that is difficult to determine is the required processing performance any given design might require. Processing power, measured in terms of Dhrystone MIPS (DMIPS), helps quantify these criteria.
Explained below is a table for the difference between microprocessor and microcontroller.
Microcontroller | Microprocessor | |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
For example, an ARM Cortex-M4-based microcontroller such as Atmel’s SAM4 MCU is rated at 150 DMIPS. Whereas an ARM Cortex-A5 application processor (MPU) such as Atmel’s SAMA5D3 can deliver up to 850 DMIPS. One way of estimating the DMIPS required is by looking at the performance-hungry parts of the application.
Running a full operating system (OS), such as Linux, Android or Windows CE, for your application would demand at least 300–400 DMIPS. For many applications, a straightforward RTOS might suffice and an allowance of 50 DMIPS would be more than adequate. Using an RTOS also has the benefit that it requires little memory space; a kernel of just a few kB is typical. Unfortunately, a full OS demands a memory management unit (MMU) in order to run; this, in turn, specifies the type of processor core to be used and requires more processor capability.
Difference Between Microprocessor and Microcontroller: Applications
For running applications that are more number-crunching intensive enough, DMIPS allowance needs to be reserved on top of any OS and other communication and control tasks. The more numeric-based the application, the more likely an MPU is required.
The user interface (UI) can be a serious consideration irrespective of the aim of the application. As consumers, we have become familiar and comfortable with using colourful and intuitive graphical UI. Industrial applications are increasingly using this method of operator interaction. The operating environment, however, can limit the usage of this one. For the UI there are a number of factors.
Why are the differences necessary?
Firstly, is the processing overhead required? An overhead of 80–100 DMIPS might suffice for a UI library such as Qt since it is widely used on top of Linux. The second factor is to do with the complexity of the UI. Higher processing power and memory is needed for more animations, effects, multimedia content, and more changes applied to the image to be displayed. And these requirements scale up with the resolution, that is why for applications designed to be UI-centric an MPU is more likely to suit.
On the other hand, a simpler UI with pseudo-static images on a lower resolution screen can be addressed by an MCU. Another argument in favour of the MPU is that it generally comes equipped with an embedded TFT LCD controller. Very few MCUs have this capability. The TFT LCD controller and some other external driver components have to be added externally. So, while possible to achieve with an MCU, the developer needs to look at the overall BOM.
Sampling a microcontroller
Some Flash MCUs are now coming onto the market with TFT LCD controllers embedded. There must however still be enough embedded SRAM memory available to drive the display. For example, the QVGA 320 x 240 16-colour format requires 150 kB of SRAM to feed and refresh the display.
This is a fairly high amount of SRAM to dedicate. Some extra memory might be required, which would further add to the BOM and bridge the gap with the MPU solution. More complex and advanced graphical UIs, especially using screens larger than 4. 3” inches, would stipulate an MPU. If MPUs are seen to dominate when it comes to run a UI on a colour TFT screen then MCUs are the kings for segment or dot matrix LCD control and other screens with serial interfaces.
Difference Between Microprocessor and Microcontroller: Connectivity Standpoint
From the connectivity standpoint, most MCU and MPU devices are available, with all the common popular peripheral interfaces. High-speed communication peripherals such as HS USB 2.0, multiple 10/100 Ethernet ports, or Gigabit Ethernet ports are generally only found on MPU. They are better capable to handle and process large amounts of data. Whether there are enough suitable channels and bandwidth to handle the data traffic is a key question.
Depending on the communication protocols used, the impact on code space using third-party stacks should be checked. Applications demanding high-speed connectivity, especially in combination with using OS-based stacks will require an MPU-based design.
Another key aspect driving the difference between microprocessor and microcontroller selection is the need for a real-time/deterministic behaviour of the application. Because of the processor core used in an MCU, as well as the embedded flash and considering the software used that is either an RTOS or bare metal C, the MCU will definitely take the lead on this aspect and will address perfectly the most time-critical and deterministic applications.
Difference Between Microprocessor and Microcontroller: Power Consumption
A final point to consider is power consumption. While MPUs do have low power modes there are not as many or as low as the ones you would find on a typical MCU. With the external hardware supporting an MPU as an added factor, putting an MPU into a low-power mode might also be slightly more complex.
Also, the actual consumption of an MCU is magnitudes lower than an MPU. In low power mode for example, with SRAM and register retention, you can consider a factor of 10 to 100. This is directly related to the amount of RAM and power required by an operating system to resume operation instantaneously. The decisions involved in selecting either an MCU or MPU-based approach are many and involve performance, capability, and the BOM budget.
Selecting one?
Broadly speaking, MCUs tend to be used in cost-optimised solutions which require tight control of BOM and power saving. Functionally rich and high-performance applications employ a scale, larger number of MPUs. Ultra-low power applications such as remote controls, consumer electronics, and smart meters where the design emphasis puts the longevity of battery life and none or little UI interaction find larger use of MCUs.
They are also used where highly deterministic behaviour is needed. MPUs are ideal for OS-based industrial and consumer applications. These might be computed intensively and require multiple high-speed connectivities or a rich UI.
Selecting a vendor offering highly compatible MCU and MPU products where you can easily migrate up and down and maximize software reuse provides the best return on investment over time.
The history of computer motherboard (Courtesy: http://www.atmel.com/images/mcu_vs_mpu_article.pdf)
One of the most popular Microcontrollers is the 8051 microcontroller.
Difference between MicroProcessor and MicroController
It is commonplace for most people to be confused when they have to differentiate between microprocessors and microcontrollers. At the very onset they may appear to be the same but they are certainly not. This article aims to throw light on the major differences between a microprocessor and microcontroller in the simplest of ways. Read on for more.
Now that you have gained basic knowledge about what a microcontroller and microprocessor are, you will find it convenient to differentiate between the two:
Micro Processor
|
Micro Controller
|
It forms the core of the processing system of a computer.
|
It is the heart of a specific embedded system in an electronic device like a washing machine, microwave oven, etc.
|
It is merely the processing unit. The input / output devices and the memory have to be connected externally.
|
The input/ output components, internal memory and external processor are all present within a micro controller.
|
Incapable of being used in compact systems because of its size, hence not so efficient.
|
Efficiently designed and compact in size, a microcontroller can be fitted into small and large devices alike.
|
The overall cost of the system increases as other components have to added for a microprocessor to function.
|
Cost-effective and affordable, a microcontroller has all required components placed internally.
|
Because of the presence of externally attached components, the overall power consumption is high. Microprocessors cannot be used on batteries and other stored sources of power such as batteries.
|
The overall power consumption is low because there are no external peripherals attached that draw extra power. Microcontrollers can also run on stored power sources like batteries.
|
Most microprocessors are devoid of power saving modes and features.
|
Power consumption can be further reduced in microcontrollers with the help of power saving modes such as the idle mode.
|
As the input/output components and memory are externally placed, instructions are operated from outside and are thus slow to process.
|
The speed of processing instructions is fast as most components are placed internally in the microcontroller.
|
The number of registers in microprocessors is less; given this, almost all operations are based on the unit’s memory
|
The programs used for operating microcontrollers are easier to develop because of the presence of more registers
|
The Von Neumann architecture/model forms the base of microprocessors. The same memory module is used for storing data and programs.
|
The Harvard architecture forms the base of microcontrollers wherein the data and programs are stored separately
|
Mainly used as processing units for personal computers
|
Used for washing machines, MP3 players and other electronic devices
|
Designed on silicon integrated chip/ chips hence expensive
|
Made with complementary ‘metal oxide semiconductor technology’ which makes the cost affordable
|
The general processing speed of microprocessors is 1 GHz or above. They work faster than microcontrollers.
|
Processing speed of a microcontroller is generally in the range of MHz to 50 MHz.
|
The tasks performed are software development, website development, documents making, game development, etc. These tasks are quite complex and require more speed and memory.
|
The tasks performed are generally less complex and limited.
|
What is a Microprocessor?
A microprocessor is defined as the unit that controls a micro-computer. A microprocessor is often referred to as the central processing unit but is much advanced with respect to its architectural design. It is designed on a silicon microchip. A microprocessor is capable of processing, executing, storing and passing on the results of logical instructions passed in binary language to it. Equipped to perform ALU (Arithmetic Logical Unit) related tasks, it communicates with connected devices and different parts of a computer to control data flow effectively.
Who Invented the Microprocessor?
Ted Hoff, who was associated with Intel as a young scientist, is accredited with the invention of microprocessors. Hoff received a feasible platform for the development of microprocessors when Intel was commissioned by a Japanese company by the name of BUSICOM. Hoff was asked to design a chip in the form of an entire mini-computer for BUSICOM’s new series of calculators. Albeit a complicated one, the chip was successfully designed by Hoff. Frederico Faggin, an engineer with Intel, was responsible for designing the chip into a workable product. The first microprocessor chip was named 4004 and was 1/8″ by 1/16″. It had 2300 transistors firmly etched into silicon and was equally powerful (if not more!) as ENIAC, which was built in 1946. ENIAC was a whopping 30 tons computer!
What is Microprocessor 8085?
The Intel 8085 was introduced in 1976 as an 8-bit microprocessor. The microprocessor is software-binary compatible with Intel 8080. It has two additional minor instructions for supporting its serial and interrupt input/output features. In comparison to Intel 8080, Intel 8085 requires reduced support circuitry. It has paved the way for the development of less expensive and simpler microcomputer systems.
What is Microcontroller?
A microcontroller is defined as a low-cost, small microcomputer. It is a small computer that is designed in a singular integrated circuit. Dedicated to perform specific tasks such receiving remote signals, managing embedded systems, displaying the information on a microwave, etc. a microcontroller can execute a single application only. In general, it consists of the memory (EPROM, RAM, ROM), the processor, input/output peripherals (timers, counters) that are programmable, serial ports, etc. Microcontrollers are mainly used in automatically controlled devices like cellphones, washing machines, cameras, microwave ovens and other electronics.
Who Invented the Microcontroller?
Gary Boone, who was associated with Texas Instruments invented the microcontroller during the period 1970-71. He successfully designed a singular integrated circuit chip that was capable of holding all the essential circuits contained in a calculator with the exception of keyboard and display unit. This revolutionary breakthrough took the world of electronics and communication by storm and was named TMS1802NC. Boone’s invention had 5000 transistors with 128 bits of access and 3000 bits of program memory.
Difference Between Microcontroller And Microprocessor
Introduction
Microcontroller and Microprocessor are the components which are very essential and important in designing various kinds of electronic devices. thus, Microcontrollers and Microprocessors are complex sequential digital circuits meant to carry out a job according to the program or instructions. But we always have some questions regarding them.
The most common questions are:
- WHAT IS A MICROCONTROLLER?
- And WHAT IS A MICROPROCESSOR?
- WHAT IS THE DIFFERENCE BETWEEN MICROCONTROLLER AND MICROPROCESSOR?
So, in this blog, we are going to discuss these three questions along with some additional information on Microcontroller and Microprocessor in detail. Let’s start by answering the first question that is What is a Microcontroller?
What is a Microcontroller?
A microcontroller is a programmable digital processor. thus, It has all the necessary peripherals. so, It does not require any additional ICs for operations and functions as a stand-alone system.
therefore, Microcontrollers have Central Processing Unit(CPU), Random Access Memory(RAM), Read-Only Memory(ROM), Input/ Output Ports(I/O ports), Timers and Counters, and Serial I/O.
Some of the most common microcontrollers are
- 8-bit Microcontroller
- 16-bit Microcontroller
- 32-bit Microcontroller
- Embedded Microcontroller
- External memory Microcontroller
however, Microcontrollers are used in Embedded systems which is a combination of hardware and software both designed for some specific application. Microcontrollers are also known as Computer-On-A-Chip.
What is a Microprocessor?
A microprocessor is defined as a multipurpose, programmable logic device that has the capability to read binary instructions from memory, accepts binary data as input, and thus processes that data according to instructions to provide results as output.
Microprocessors have Arithmetic Logic Unit(ALU), Registers, Timing, and Control Units.
thus, Some of the Microprocessors are:
- CISC(Complex Instruction Set Microprocessors)
- RISC(Reduced Instruction Set Microprocessor)
- Superscalar Processors
- ASIC(Application Specific Integrated Circuit)
- DSP-Digital Signal Microprocessor.
Microprocessors are also known as CPU-On-A-Chip.
Difference Between Microprocessor and Microcontroller
Microprocessor | Microcontroller |
1. Microprocessors are mainly used in computers. It is the CPU of the computer.e.g 8085,8086 etc. | 1. Microcontrollers are used in Embedded Systems. thus, It is like a mini-computer that performs its own tasks. e.g. 8051,8951 etc. |
2. Since it is only a processor hence memory and other peripherals are connected externally which makes the processor bulky. | 2. Peripherals such as RAM,ROM, I/O ports and Timers, are In-Built in a Microcontroller. All these things are available on a single chip. |
3. however, The overall cost of the system is High. | 3. thus, The overall cost of the system is less. |
4. Since Microprocessors have external components,total power consumption is high. Due to this fact,they should not be used with devices running on batteries. | 4. Since Microcontrollers do not have many external components, total power consumption is low. so, Due to this fact, they can be used with devices running on batteries. |
5. Microprocessors are based on the Von Neumann Model. | 5. Microcontrollers are based on the Harvard Architecture |
6. Microprocessors use external busses to access RAM, ROM, and other peripherals. | 6. Microcontroller uses an internal controlling bus. |
7. Microprocessors have a small number of registers due to which operations are memory-based. | 7. Microcontroller has more registers due to which programs are easier to write in them. |
8. Microprocessors do not have power-saving features. | 8. Microcontrollers have power-saving features. |
9. Microprocessor requires an External Memory for program and data storage. | 9. Microcontrollers have an On-Chip memory embedded. Hence, it does not require any external memory for program and data storage. |
10. thus, Systems based on Microprocessors run at a very high speed. | 10. therefore, Systems based on Microcontroller run at speeds of 200Mhz or more depending on the Architecture. |
11. Microprocessor is complex and expensive and requires a large number of instructions to process. | 11. Microcontroller is simple and inexpensive, requiring less number of instructions to process. |
12. Microprocessors are also used for general purpose applications that allow us to store large amounts of data. | 12. Microcontrollers are thus used for application-specific systems. |
13. Volatile Memory (RAM) of a Microprocessor is in the range of 512MB to 32GB. | 13. Volatile Memory (RAM) of a Microcontroller is in the range of 2KB to 256KB. |
14. Hard disk (ROM) for the microprocessor is in the range of 128 GB to 2 TB. | 14. Hard disk (ROM) for the microcontroller is in the range of 32KB to 2MB. |
15. Microprocessor is available in 32-bit and 64-bit. | 15. Microcontroller is available in 8-bit, 16-bit, and 32-bit. |
16. Peripheral Interface for microprocessors is USB, UART, and high-speed Ethernet. | 16. Peripheral Interface for microcontrollers is I2C, SPI, and UART. |
Applications of Microcontroller:
The microcontroller is used in :
- Smart Phones
- Automobiles
- Camera
- Security Alarms
- Watches
- Keyboards
Applications of Microprocessor:
A microprocessor is used in :
- Desktops
- Laptops
- Workstations
- Server
- SuperComputers
- Routers
What to choose…. MICROCONTROLLER or MICROPROCESSOR?
Before answering these questions, first let’s summarise the key differences between microcontroller and microprocessor:-
- thus, Microprocessors do not have any in-built peripherals. On the other hand, Microcontrollers have in-built peripherals due to which the Microprocessor is quite bulky whereas the Microcontroller is light weighted.
- The cost of a Microprocessor is more than that of a Microcontroller.
- The power consumption of a Microprocessor is more than that of a Microcontroller.
- The speed of the Microprocessor is more than that of a Microcontroller.
- A Microprocessor requires a large number of instructions to process whereas a Microcontroller requires fewer instructions to execute a process.
- The Microcontroller has a power-saving feature that is not present in a Microprocessor.
- A Microprocessor requires an Operating System to work on while Microcontroller does not require any Operating system to work.
- A Microprocessor needs External memory to store data and instructions while a Microcontroller has Embedded memory in it.
From the above points, it is clear that both Microcontroller and microprocessor have their pros and cons. A microprocessor will be a better choice when you want to process a high amount of data at a very high speed.
conclusion:
On the other hand, a Microcontroller will be a better choice if you want to work on some tasks cost-effectively.
But out of both of them, a Microcontroller should be the first choice because we can implement any project idea cost-effectively with the help of a Microcontroller.
In the end, we can conclude that Microprocessors cannot take the place of Microcontrollers and vice versa, since both of them are useful in various applications. so, I hope this blog helps you in the differentiation between Microprocessors and Microcontrollers.
Written By: Utkarsh Pathak
Reviewed By: Vishal Rathod
If you are Interested In Machine Learning You Can Check Machine Learning Internship Program
Also Check Other Technical And Non Technical Internship Programs
Street light monitoring system using Iot
Introduction The Internet of Things these days is quite popular in the development of different low-cost systems with the help of a Microcontroller. Main aim
Read More »
Smart alarm clock using IOT
Introduction The Internet of Things these days is quite popular in the development of different low-cost systems with the help of a Microcontroller. These smart
Read More »
Weather reporting system using IOT
Introduction The Internet of Things helps to control and monitor different devices wirelessly over the Internet. The Internet acts as a medium for communication between
Read More »
Difference between Microprocessor and Microcontroller
Key difference: The difference between a microprocessor and a microcontroller lies in the presence of RAM, ROM, and other peripherals in a microcontroller. A microprocessor only contains the CPU and lacks the other components.
A microprocessor and a microcontroller, both are essential processors that are designed to run computers. The functions of both the processors are same. The basic difference between the two is that the microprocessors are tasked to perform a variety of functions, whereas microcontrollers are small and task specific computers. This article helps to find more differences between the two processors.
Microprocessors are normally called as the Central Processing Unit or the CPU of a microcomputer. It is also said to be the heart and the brain of a computerized machine.
A microprocessor is required to perform an array of tasks. It is a small computer which is used to do arithmetic and logical operations like controlling the system and storing the data, etc. The micro processor processes the input or output data peripherals and gives the function to get back results. The first commercial Microprocessor was released by Intel in November 1971 and was named 4004; it was a 4-bit micro processor.
The operations performed by a microprocessor are general in their purpose. Therefore, it is considered essential to perform any logical operations in a computerized machine. The microprocessors are configured into microchips; it is crafted from miniature sized transistors and some other circuit elements on a solitary semi-conductor IC to serve their purpose in a computer. It is abbreviated by ‘µP’ or ‘uP’. There are five main type of processors:
- Complex Instruction Set Microprocessors
- Reduced Instruction Set Microprocessors
- Superscalar processors
- The Application Specific Integrated Circuit
- Digital Signal Multiprocessors
Micro-controller is a computer on-a-chip which is optimized to manage electric gadgets. It is a device that includes microprocessor, memory and input/output devices on a single chip. It is said to be the heart of an embedded system.
Microcontrollers are specific in nature to the task they need to perform. It has a microprocessor on its board to carry out all the logical operations of the gadget. Once the microcontroller is programmed, it can work on its own on the stored set of instructions and can execute the operations or the tasks as and when required. It is intended to be self-satisfactory and lucrative. Also, a micro-controller is a set of fractions in a system, which is fundamental to complete the circuit board. A ‘fixed-in computer system’ is intended to carry out one or more functions again and again with real time work out limits. This system is embedded as an element in the hardware and motorized elements of a computerized machine.
Microcontrollers are intended to perform particular operations which help to control particular systems. It is abbreviated as ‘uC’, ‘µC’ or ‘MCU’.
Microcontrollers are like small computer in which a CPU, memory unit like RAM and ROM, I/O peripherals, timers, counters, are embedded in one integrated circuit i.e. IC. They are easily interfaced to external peripherals like serial ports, ADC, DAC, Bluetooth, Wi-Fi, etc. Here, the interfacing process is faster as compared to the microprocessor interfacing. Most of the times, microcontrollers use RISC or CISM architecture to perform a task in different machines. The different types of microcontrollers are:
- 8-bit microcontroller
- 16-bit microcontroller
- 32-bit microcontroller
- Embedded micro-controller
- Embedded micro-controller
Comparison between Microprocessor and Microcontroller:
|
Microprocessor |
Microcontroller |
System |
It is the heart of the computer system. |
It is the heart of an embedded system. |
Contains |
It contains CPU, general purpose registers, stack pointers, program counters, clock timing and interrupt circuits. |
It contains the circuitry of microprocessor and has built-in ROM, RAM, I/O devices, timers and counters. |
Data memory |
It has many instructions to move data between memory and CPU. |
It has one or two instructions to move data between memory and CPU. |
Circuit |
It is large. |
It is small. |
Cost |
Cost of the entire system increases. |
Cost of the entire system is low. |
Bit instructions |
It has one or two bit handling instructions. |
It has many bit handling instructions. |
Register numbers |
It has less number of registers; hence the operations are memory based. |
It has more number of registers; hence the programs are easier to write. |
Storage |
It is based on Von Neumann architecture, where the program and data are stored in the same memory module. |
It is based on the Harvard architecture, where the program memory and data memory are stored in separate module. |
Time |
Access time for memory and I/O devices is more. |
Less access time for built-in memory and I/O devices. |
Hardware |
It requires more hardware. |
It requires less hardware. |
Difference Between Microprocessor and Microcontroller
There was a time when the size of a computer was the same as the size of a bus. Yes, those were the days when computers were invented and vacuum tubes were used to design processors. But now with time and advancement in technologies, processors have been so revolutionized that from the size of a bus they come in the size of a small chip.
Have you ever wondered what makes automatic washing machines “automated”? What makes smartwatches and smart gadgets so “smart”? How does the water purifier know what water pH to maintain and regulate everything on its own? The brain working behind these automated and smart devices is basically a small embedded chip with the microprocessors or the microcontroller.
What is Microprocessor?
As discussed in the introduction, vacuum tubes and relays were huge and unreliable as well, so they were soon replaced by transistors. With the advent of transistors, the CPU was no longer slow and bulky. It consisted of a large number of transistors embedded on a chip called integrated circuit (IC). These Integrated Circuits based processors gave birth to microcomputers – computers with CPU on a microchip(microprocessor), a memory system, a bus system and I/O ports.
A microprocessor is a programmable silicon chip that contains a central processing unit(CPU), that is, it has computing and decision making capabilities. In other words, it is an integrated circuit(IC) containing the arithmetic and logical unit (ALU), control unit (CU) and register arrays on a single chip required to interpret and execute instructions from a program. When combined and connected with other integrated circuits that provide storage for data, programs, input and output, it becomes the heart of a small computer, or microcomputer.
Programmable: The microprocessor can perform different sets of operations on the data it receives depending on the sequence of instructions supplied in the given program.
Integrated Circuits: It refers to a miniaturized electronic circuit consisting of semiconductor devices(transistors), as well as passive components bonded to a substrate or circuit board.
Some popular microprocessors are: Intel 8085 (8-bit microprocessor) and Intel 8086 (16-bit microprocessor).
Features of Microprocessor
- Von-Neumann Architecture-stores data and code together.
- Offers built-in monitor/debugger program with interrupt capability.
- Supports a large instruction set, providing variations of the same operations based on different addressing modes.
- It offers both serial and parallel I/O as system buses are provided externally.
- Instruction cycle timer.
- External memory interfacing is facilitated that is, memory can be connected externally.
What is Microcontroller?
As we know, a microprocessor is not a complete system and requires other components and peripherals to be connected externally. When we bring a microprocessor together with the other needed peripherals on a single integrated circuit, it becomes a microcontroller.
A microcontroller can thus be defined as a complete microprocessor system where memory (RAM/ROM), clocks, system buses, I/O ports, etc, all the necessary components and peripherals(other devices) are integrated with the microprocessor on a single chip.
So we can say that,
Microprocessor = Arithmetic Logical Unit (ALU) + Control Unit (CU) + General Purpose Registers (GPRS)
Microcontroller = Microprocessor + Memory (RAM and ROM) + System Buses (Data Bus, Address Bus, Control Bus) + Clocks + Input/Output (I/O) ports
What makes microcontrollers more economical than microprocessors is the reduction in cost, size and connection complexities of the system. Most of the automated devices and products that we see around us often use microcontrollers based embedded systems.
The above diagram shows how a microprocessor unit(MPU) is connected internally with the system components and peripherals all in a single chip to form a microcontroller system.
Features of Microcontroller
- Harvard Architecture- stores data and code separately.
- Processor reset
- Program and Variable Memory (RAM) I/O pins
- Device clocking central processor
- Instruction cycle timers
History of Microprocessor and Microcontroller
Here are some important landmarks from the history of Microprocessor and Microcontroller.
- In 1946, the first general purpose programmable computer system was developed using vacuum tubes, which was called ENIAC( Electronic Numerical Integrator and Computer).
- Transistors were invented back in 1945 by J.Bardeen and W.H Brattain of Bell laboratories. *)) by Motorola Corporation, Z-8 by Zilog, F-8 by Fairchild, IMP-8 of National Semiconductors and PPS-8 of Rockwell International.
- In 1977, an updated version of the 8080- Intel 8085 was introduced. The 16-bit microprocessors 8086 entered the marketplace in late 1970’s and early 1980’s.
- The first computer system on a chip optimized for control applications – microcontroller was the Intel 8048 released in 1976, with both RAM and ROM on the same chip
Difference Between Microprocessor and Microcontroller
Sr No.. | Microprocessor | Microcontroller |
---|---|---|
1 | A microprocessor is a programmable silicon chip that contains a central processing unit(CPU), that is, it has computing and decision making capabilities. | A microcontroller is a complete microprocessor system where memory (RAM/ROM), clocks, system buses, I/O ports, etc, all the necessary components and peripherals are integrated with the microprocessor on a single chip. |
2 | Microprocessor contains Arithmetic and Logical Unit (ALU), general purpose registers, stack pointer, program counter, clock timing circuits and interrupt circuit. | Microcontroller contains the circuitry of the microprocessor in addition it has in-built ROM, RAM, I/O devices, timers and counters. |
3 | Since memory and system buses are provided externally, access times for memory and I/O devices are more. | Less access time due to in-built peripherals and hence processing speed is faster. |
4 | Microprocessor based system is more flexible from a design point of view as one can adjust the size of RAM, ROM and other peripherals as per requirement. | Less flexible as memory and IO devices are all in-built and fixed. |
5 | It is based on Von-Neumann Architecture, i.e., it has a single memory map for data and code/program. | Microcontrollers take advantage of the Harvard architecture, i. e, storing data and code in separate memory maps to speed up processing. |
6 | System requires more hardware and connecting peripherals externally makes the circuit more complex. | Hardware is reduced due to the single chip microprocessor system where all the peripherals are in-built and internally connected. Less hardware, reduces circuit board size and increases reliability. |
7 | Microprocessor based systems are expensive. | Everything comes in-built so the cost of a microcontroller based system is low as compared to the microprocessors. |
8 | Large instructions set: It has many instructions to move data between memory and CPU. | Instructions are straightforward. It has only one or two instructions to move data between memory and CPU. |
9 | It is generally used in personal computers where you can buy and connect peripherals based on your requirements. | Due to compact design and cost-effectiveness, it is preferred in embedded systems like washing machines, water purifiers, etc. |
Applications of Microprocessor
Microprocessors are mainly used in devices like:
- Personal computers (PCs).
- Simple calculators.
- Computer Games.
- Accounting system.
- Complex industrial controllers.
- Military applications.
- Defense systems.
- Computation systems
Applications of Microcontroller
Microcontrollers are preferred in embedded products and the following are some of its applications:
- Home appliances: Washing machine, water purifiers, refrigerators, microwave ovens, etc.
- Gadgets and devices: Calculators, keyboard, printers, modems, mobile phones, etc.
- Automobile engines, flight control systems, traffic lights, control systems, etc.
- Military applications
Conclusion
The comparison table vividly depicts that both microprocessors and microcontrollers come with some advantages and disadvantages. The choice mainly depends on the system architecture, the hardware requirements and the budget. Microcontrollers are widely used in embedded systems that are dedicated to performing specific tasks, whereas microprocessor-based circuits are for complex system designs.
Azure IoT device types overview
E-mail address
- Article
- Reading takes 2 minutes
IoT devices operate on a wide range of hardware platforms. From small 8-bit microcontrollers to the latest x86 processors used in desktop computers. Deciding which hardware to choose for an IoT device depends on many factors, this article outlines some of the key differences.
Key differences between different types of equipment
When choosing equipment, it is important to consider cost, power consumption, network connections, and available inputs and outputs.
-
Cost — Small, inexpensive devices are typically used to create the final product in bulk. However, the development of the device may be more costly given the use of a highly constrained device. The cost of development can be spread across all manufactured devices, so its share for each individual device will be small.
-
Power — If the device will run on battery power without being connected to the mains, the amount of power consumed by the device is relevant. Microcontrollers often use less power and are more suitable for battery operation.
-
Network access — There are many ways to connect your device to cloud services. Ethernet, Wi-Fi and cellular are other options available. The type of connection you select will depend on where the device is deployed and how it is being used. For example, a cellular network may be a good option given its large coverage, but it can be costly to use when carrying large amounts of traffic. On a wired Ethernet network, data transfer costs are low, but device portability is limited.
-
Inputs and outputs — The inputs and outputs available on a device directly affect the performance of the devices. As a rule, microcontrollers have many I/O functions built directly into the chip, and for them there is a wide range of sensors for direct connection.
Comparison of microcontrollers and microprocessors
IoT devices can be divided into two broad categories: microcontrollers (MCUs) and microprocessors (MCUs).
microcontrollers are less expensive and easier to operate than microprocessors. In a microcontroller, many functional elements such as memory, interfaces, and I/O are located on the chip itself. The microprocessor uses the functional components of the supporting chips. The microcontroller often uses a real-time operating system (RTOS) or runs without an operating system and sends real-time responses and highly deterministic responses to external events.
The microprocessor typically runs a general purpose OS such as Windows, Linux, or MacOSX that provides non-deterministic, real-time response. Usually no guarantees are given as to when a task will be completed.
Below is a table showing some significant differences between a microcontroller and a microprocessor based system.
Microcontroller (MCU) | Microprocessor (MPU) | |
---|---|---|
CPU | Less than | Read more |
RAM | Less than | Read more |
Flash | Less than | Read more |
OS | Bare Metal / RTOS | general purpose (Windows / Linux) |
Development complexity | Harder | Simpler |
Power consumption | Below | Above |
Cost | Below | Above |
Deterministic | Yes | No, with exceptions |
Device size | Less than | More than |
Next steps
The type of IoT device you select directly affects how that device connects to Azure IoT.
Explore the various Azure IoT SDKs to find the one that works best for your device.
Baikal-S processor presented / Sudo Null IT News While the general public was vigorously discussing the report on testing servers based on Elbrus-8C by Sberbank, savoring the various details of this hot story, people a little more immersed in the industry were looking forward to the announcement of Baikal-S.
Why is that? Why is this processor so epochal?
Maybe it unconditionally rips competitors from Intel/AMD on tests, forcing the managers of these companies to feverishly learn Cyrillic? No, this is quite an “average” server processor of the Intel Xeon Gold 6148 level or the same ill-fated Intel Xeon Gold 6230.
Perhaps it has some unimaginable novelties in functionality that no one in the world could think of? Again, no, the functionality of the processor is absolutely standard and corresponds to similar solutions based on the ArmV8 architecture.
What is the uniqueness of this processor, what is the breakthrough, the reader will ask? The answer is very simple — namely, that this is the first competitive general-purpose high performance CPU in the modern history of Russia. Moreover, it is competitive in every sense — in terms of price, performance, and power consumption. No uniqueness and «analogue». Just a good chip that can adequately compete with competitors, with a clear market niche and prospects. At the conference, Baikal-S was called (absolutely right in my opinion) a «workhorse». This is the same “workhorse” that is able to replace hundreds of thousands and millions of Xeon-level processors currently operating in data centers and enterprises throughout Russia (and not only). And to do it in such a way that the word «import substitution» does not evoke a smirk and a feeling of inferiority in people, but pride in the country.
Let’s take a quick look at the characteristics of this processor: ArmV8 architecture, 48 cores of Cortex-A75 microarchitecture, core frequency 2-2. 5 GHz, TSMC 16nm process technology, TDP 120W. More technical details here.
This is how Baikal-S looks like compared to competitors according to its creators:
Comparison of Baikal-S with analogues ) and compare them with analogues/competitors, both domestic and foreign. Of the domestic ones, Elbrus-8SV and Elbrus-16S are presented in comparison, because these are essentially the only analogues that target the same niche as Baikal-S, as well as Baikal-M, so that the dynamics of development can be seen. Of the imported processors, Intel Xeon Gold 6148 was chosen as the basis. at the conference, the comparison was mainly with this processor and there is a wide range of benchmark results for it. In some cases, for Baikal-S at 2.5 GHz and Elbrus-16S, estimates were used, in the absence of actual data, but the error in the numbers should be small there. All «parrots» belong to the «bigger-better» category. It turned out something like this:
Baikal-M |
Baikal-S, 2 |
Baikal-S, 2. 5 |
8 |
16 |
Intel Xeon Gold 6148 |
||||||||||||||||||||||
SPECCPU INT 2017 |
7.92 |
98 71.5 |
88 9000 |
100 |
|||||||||||||||||||||||
SpecCPU FP 2017 |
8,01 |
80,4 |
99 |
16.55 |
43 |
100 |
|||||||||||||||||||||
Coremark |
66195 |
650000 |
799500 |
9008 430080003 |
76232 |
455000 |
|||||||||||||||||||||
Whetstone |
16477 |
230000 |
282900 |
16495 |
43184 |
162500 |
|||||||||||||||||||||
7zip0003 |
13638 |
33490 |
97000 |
||||||||||||||||||||||||
Geekbench 5, st |
217 |
405 |
498 |
159 (x86) |
211 (x86) |
838 |
|||||||||||||||||||||
Geekbench 5, MT |
1524 |
13671 9000 |
NOP | No operation |
LDI Reg, < C > | Loading into the register receiver constants — (data from the command memory at the current address) |
MOV Reg, Reg | Writing the contents of one register to another |
MOV Reg, [Mem] | Write register contents to memory |
MOV [Mem], Reg | Write from memory to register |
JMP Addr | Jump to absolute address |
CALL Addr | Calling a subroutine (with writing the return address on the stack) |
RET | Subroutine return (by stack contents) |
To study the principles of the microprocessor, this set of commands will be enough. In practice, the set of commands can be supplemented and extended to what is necessary to perform a specific set of user tasks. Arithmetic operations are removed from the list of commands, since the implementation of mathematical operations in the FPGA is sufficiently described, and they are not considered within the framework of this article.
Let’s define command fields
To define command fields it is necessary to define the largest required field for executing given commands. Obviously, for a given instruction set, the largest field is required for the instruction MOV Reg, [Mem] and MOV [Mem], Reg. The [Mem] field is 16 bits, the Reg field is 4 bits (for 16 registers). Therefore, we choose the PS memory capacity — 24 bits. Then the command to directly write from memory to the register will look like this:
23….Cop — 4 bits…20 | 19…..Reg – 4 bits …16 | 15 …Mem – 16 bits. . 0 |
The command MOV Reg, Reg transfer from register to register will look like this:
LDI Reg
23….Cop — 4 bits…20 | 19…..Reg – 4 bits …16 | 15 …Const – 16 bits.. 0 |
JMP Addr command — an unconditional jump command to an absolute address will look like this:
CALL Addr command — the command to unconditionally call a subroutine at an absolute address will look like this:
23….Cop — 4 bits…20 | 15 …Mem – 16 bits.. 0 |
Command RET the command to unconditionally return from a subroutine or from an interrupt will look like this:
The NOP command — “No operation” will look like this:
So, we need to get eight instructions for the microprocessor, and, as we can see, the 4-bit opcode field allows us to have 16 instructions. It should be noted that for more powerful processors, the choice of opcode fields is a very serious task, which determines how efficient the processor will be for a particular set of instructions.
Let’s define the command opcodes
After the command fields are defined, and we know the bit width of the opcode field, we can determine the command opcodes.
The easiest way to determine the command code is NOP — there are no requirements here, except for one — this command code must be at the input of the ALU when it receives the «RESET» signal. Since the further development of the project will inevitably lead to pipelining and other professional «tricks», we recommend choosing the command code NOP = 0.
To somewhat simplify the visual perception of commands, we apply the following encoding: let the transition commands be located in the zone of codes from 8 to H «F». Then the hexadecimal opcodes of the commands will be:
- 0 — NOP
- 1 — JMP
- 2 — CALL
- 3-RET
- 8 — MOV Reg, Reg
- 9 — MOV Reg, [Mem]
- A — MOV [Mem], Reg
- B — LDI Reg
- 1 — JMP
Command code examples
The NOP command will have code 000000, and JPM 1234 — the unconditional jump command at address 1234 — will have the command code — 101234, MOV 9, 5 — the command to transfer data from register 5 to register 9 will look like 8
Determine the requirements for the stack
For this problem, we use a stack with a depth of 8 nestings and a bit width equal to the PS address bus. We implement the stack in a separate area from PS and DS — on an array of registers.
Define interrupt requirements
Let’s apply the following solution: when an interrupt request is received, we will jump to a fixed address and push the return address onto the stack.
Define software requirements
One of the main requirements for the development of embedded software for microcontrollers is the requirement for the need for tool software, that is, we will, at a minimum, need an editor and an assembler. More complex projects may require program simulators, high-level languages, operating systems, etc.
As for the editor, there are editors such as EditPlus2 (
http://www.editplus.com), Prisma, and other text editors that allow you to select keywords from a list generated by the user.
For the convenience of writing programs, you can also create your own assembler, which is now not a difficult task even for an average programmer. Such an assembler associates a human-readable mnemonic with real microprocessor instructions.
However, and quite often, developers use the instruction set of those microprocessors to which they are accustomed and to which software development tools already exist. Here, microprocessors with the MCS-51 instruction system are in first place, and PICmicro are in second place. For these microprocessors, there are both development tools and huge libraries of developed programs.
Since the project described here is devoted only to the description of the microprocessor, we omit the further description of the requirements for the tool software. We will assume that we have an assembler that converts mnemonic instruction codes into machine codes and generates an instruction memory initialization file compatible with MaxPlus software.
Conclusion on the task development stage
We have developed a task for the microprocessor that performs the main functions, such as data transfer, program branching, interrupt processing.
To be continued.
China released the latest processor based on its own unique architecture. It is 50% more powerful than its predecessor
Technique
|
Share
Loongson officially unveiled the 3A5000 processor based on its own LoongArch architecture. It has nothing to do with x86, ARM and other Western architectures. Compared to its predecessor released in December 2019, the new 3A5000 is 30% more energy efficient and 50% more productive. In terms of its capabilities, it caught up with a number of AMD processors.
Chinese CPU
The Chinese company Loongson premiered its latest 3A5000 processor based on its own architecture. It is based on nothing from x86, nor from ARM with MIPS and RISC-V, writes the Tom’s Hardware portal.
Unique Chinese architecture named LoongArch. According to the developers, the performance of the 3A5000 chip, also known as the LS3A5000, is at the level of the first generation AMD Ryzen. In other words, it still falls short of modern AMD and Intel chips.
New Loongson designed for use in consumer desktops and notebooks.
The next Loongson chips will surely be able to compete with the latest AMD and Intel
The new processor will be sold only in China, at least for the first time after the release. The developers do not name the terms of its appearance outside the PRC, as well as its retail price, at least in the home market.
Architectural features and capabilities of the processor
Loongson claims that its LoongArch architecture’s instruction set consists of approximately 2,000 unique instructions. They managed to achieve increased energy efficiency of the processor by eliminating obsolete processor instructions.
In addition to the basic instruction set, the Binary Transform (LBT), Vector Processing (LSX), Extended Vector Processing (LASX), and Virtualization (LVZ) instructions have also been implemented.
Processor 3A5000 and the first laptop based on it
The 3A5000 processor uses a 12nm process. Loongson does not specify in which company’s factories it is produced, and what are its current production volumes. All other Loongson processors are manufactured by STMicroelectronics, Loongson itself does not have its own factories.
Each such chip contains four computing cores, the frequency of which reaches 2.5 GHz. Each core has a quartet of arithmetic logic units (ALUs) and two vector processing units of 256 bits each.
Memory operation and comparison with other models
Tom’s Hardware compared the new 3A5000 with its predecessor, the 3A4000 or LS3A4000. A more modern processor is ahead of it both in terms of performance and energy consumption, and the lead in both of these parameters is quite impressive.
The 3A5000 is reported to be 50% more productive. Energy efficiency in his case is higher by a considerable 30%. To do this, the processor uses the technology of dynamic control of the supply voltage and the clock frequency of the cores, plus the function of disabling certain blocks if they are not currently involved is used.
Anton Smirnov, AI Cloud: AI magic begins where servers are combined into “teams”
Artificial intelligence
Loongson achieved such outstanding results in less than two years. As CNews reported, the 3A4000 processor was introduced at the end of December 2019. In many ways, the big difference in the capabilities of the chips is associated with their topologies — if the 3A5000 is 12-nanometer, then the 3A4000 is only 28-nanometer.
28nm Loongson 3A4000
Loongson’s new brainchild contains two DDR4 RAM controllers, up to DDR4-3200. There is support for error correction protocol (ECC) memory and four HyperTransport 3.0 controllers. Also, the developers did not fail to implement in 3A5000 support for SM2, SM3 and SM4 — Chinese data encryption standards.
Server processors from China
For the first time, the upcoming premiere of the 3A5000 processor became known back in mid-April 2021. At the same time, information appeared that Loongson was preparing another chip — 3C5000.
The 3C5000 processor differs from the 3A5000 not only in the name, but also in the scope of use. This is a server chip designed for use in multiprocessor configurations. There are almost no details about it: like the 3A5000, it is produced according to 12-nanometer standards, but at the same time it contains 16 computing cores. The 3C5000 should go on sale in China towards the end of 2021.
How the future competitor of Intel and AMD
appeared in China
The Chinese company BLX IC Design Corporation is hiding behind the Loongson brand. It was founded in 2002 with the participation of the Institute of Computer Technology, the Chinese Academy of Sciences and the Jiangsu Zhongy Group.
Drones, robots and VR: what innovations are in demand in metallurgy
Industry innovation
The company’s processor architecture was originally called «Godson» («Godson»). She was later renamed «Loongson» («Dragon’s Son») and is now known as LoongArch. It was developed completely independently of Western companies, and on its basis, for example, in September 2008, the Godson-3 processor was introduced. About 300 engineers from the Institute of Computer Technologies worked on its development, 200 of whom were engaged in hardware, and the other 100 in software. The development was funded by the Chinese government.
BLX IC Design Corporation’s customer list for Loongson processors includes Lenovo (one of the world’s largest computer and server manufacturers) and China Rocket Research Institute. In 2019, the supply of these chips exceeded 500 thousand copies.
- How much does 2,000 GB object storage cost today? Offers of dozens of suppliers — on the IT marketplace Market.CNews
Elyas Kasmi
which platform is better? / Amperka
So, you have an idea for a project, but you are not sure which board to choose as the brain of the device? Let’s try to help you decide.
If you just want to learn circuitry, programming, Linux and there is no specific goal other than learning yet, one of the ready-made training kits will be the best choice.
But if you are already comfortable and want to make a specific project, this guide will help you decide on a development platform and make an informed choice.
Arduino or Raspberry Pi? Microcontroller or microcomputer?
All development boards can be divided into two broad categories:
Boards on the microcontroller (MCU, MicroController Unit) |
Single Board Computers (SoC, System on a Chip) |
A typical representative is Arduino |
A typical representative is Raspberry Pi |
Microcontrollers can only do one task at a time, and they do it well. And single-board computers execute programs within the operating system (most often Linux), have greater performance and rich multimedia capabilities.
There are also hybrid platforms, where both the microcontroller and the processor are located on the same board. The idea is to leave complex tasks to the powerful processor: accessing the network, processing media, and entrust the microcontroller with the function of precise control of drives, relays, sensors and other peripherals. You can create a hybrid yourself if you take one board from each family. All of them have common interfaces through which you can organize their interaction.
In both camps, you can find specialized boards that stand out among others with some feature, but the table will help you compare the capabilities of average microcontrollers and computers.
microcontroller | single board computer | |
---|---|---|
Performance |
1 core, tens-hundreds of MHz, dozens of KB of RAM, tens to hundreds of KB of permanent memory. |
1 or more cores, hundreds-thousands of MHz, hundreds of MB of RAM, gigabytes of permanent memory. |
multitasking |
No. But you can emulate. |
Yes. Managed by the OS. |
Convenience of working with the Internet |
★☆☆ Usually you need additional modules and deep knowledge of protocols. |
★★★ Easy to connect out of the box, the network module is usually already on board. |
Battery life |
★★★ Consumes units-tens mA. Weeks of battery life possible. |
★☆☆ Consumes hundreds to thousands of mA. The charge of a large battery is enough for ten hours. |
Reaction speed in time-critical projects |
★★★ 100% control over the time and duration of the signals. |
★☆☆ Due to multitasking, a critical process can oversleep its time. |
Choice of programming languages |
★☆☆ Limited. More often C/C++. |
★★★ Python, JavaScript, Bash and dozens of others: any available in the OS. |
Opportunities for working with video, computer vision |
☆☆☆ Not enough power. |
★★★ OpenCV, hardware video codecs, HDMI output. |
Audio features |
★★☆ Sound synthesis is possible on powerful microcontrollers. Additional modules are needed to work with MP3/OGG/WAV. |
★★★ MP3/OGG/WAV support at OS level. HDMI audio output and/or 3.5mm jack. |
So, depending on your task, you have decided whether you need a microcontroller or a computer. How do you decide which board is the best fit?
Since it doesn’t make much sense to compare microcontrollers and microcomputers face to face, we will separately present the advantages and disadvantages of specific boards within their family.
Microcontroller comparison
If we consider microcontroller boards in isolation from the tasks of your project, it is difficult to objectively describe the advantages and disadvantages of different platforms in a nutshell. What is generally a disadvantage may not play a role in your device, and vice versa.
We tried to compare the boards, starting from the capabilities of the flagship DIY platform Arduino Uno, since the boards of this particular family gave an incredible kick to the development of hobby electronics around the world. Different companies produce modules, sensors, platforms, add-ons with the name «Arduino compatible», «Designed for Arduino», etc. Behind these words is electronic and software compatibility, first of all with the Arduino Uno, and only then with everything else.
As a rule, with the help of tricks or additional components, you can connect anything and anything. But you want to focus on your project, and not on the fight against electronics? Therefore, willy-nilly, I want to compare any board on a microcontroller with the Arduino Uno. So let’s do it.
16 MHz processor, 32 KB of permanent and 2 KB of RAM, 20 I / O ports, 6 analog inputs, 6 PWM channels, 2 hardware interrupts, maybe not impressive, but without the ballast in the form of an operating system and Interpreters, they allow you to solve almost any task of precise conducting a variety of sensors and actuators.
Pros of the Arduino Uno
- Tons of documentation, tutorials and prebuilt libraries, huge community, work from easy to learn Arduino IDE with Arduino C++ language. All this simply will not give you the opportunity to say «did not master.»
- Native voltage of 5 volts, which is the de facto standard, and sockets for installing expansion cards, analog inputs, various hardware interfaces allow you to connect almost any peripherals, sensors and actuators.
Same Arduino Uno, but with a slightly improved microcontroller.
Pros of Arduino Leonardo
- More analog inputs (12 vs 6) for sensors, more PWM channels (7 vs 6), more hardware interrupt pins (5 vs 2), separate independent Serial interfaces for USB and UART.
- Arduino Leonardo can pretend to be a keyboard or mouse (HID device) for a computer. This makes it easy to make your own input device.
Cons Arduino Leonardo
- Due to slight differences in the pinout from the Arduino Uno, incompatibility with some expansion boards is possible. Such cases, however, are rare, and in our store we explicitly prescribe them.
The same Arduino Leonardo, but made by us in Russia.
Pros Iskra Neo
- Much cheaper than the original.
Arduino Mini
Same Arduino Uno, but in a different form factor.
Arduino Mini Pros
- Compact. Only 30×18 mm.
Cons Arduino Mini
- Due to the form factor, it is impossible to install Arduino expansion boards without tricks. It is supposed to connect to additional modules by wires and / or through a prototyping board.
- There is no USB port on the board, so you need to flash through a separate USB-Serial converter
.
The same Arduino Mini, but made by us in Russia.
Pros Iskra Mini
- Significantly cheaper than the original.
- Available with soldered sockets and non-soldered holes.
Same Arduino Leonardo, but in a different form factor.
Arduino Micro Pros
- Compact. Only 48×18 mm.
Cons Arduino Micro
- Due to the form factor, it is impossible to install Arduino expansion boards without tricks. It is supposed to connect to additional modules by wires and / or through a prototyping board.
Like Arduino Uno, but based on a more powerful microcontroller of the same architecture. A great choice for «growth» or in case the Arduino Uno can no longer cope.
Advantages of Arduino Mega 2560
- Many times more memory: 256 KB of permanent and 8 KB of operational. Many times more ports: 60 of them 16 analog and 15 with PWM.
Arduino Mega 2560 Cons
- Slightly longer than the base Arduino Uno: 101x53mm vs 69x53mm.
One of the most productive Arduino boards based on the Cortex-M3 microcontroller, similar in form factor to the Arduino Mega.
Arduino Due Pros
- 84 MHz processor and 512 KB of memory. 66 I/O pins, of which 12 can be analog inputs, 12 support PWM and all 66 can be configured as hardware interrupts.
- Built-in CAN bus controller allows you to create a network of Due or interact with automotive electronics. Two DAC channels allow you to synthesize stereo sound with a resolution of 4. 88 Hz.
Cons Arduino Due
- The native voltage for the board is 3.3 V, not the traditional 5 V. You must ensure that the selected peripherals support this level or install voltage level converters.
Espruino core board: programmed in JavaScript.
Pros of Iskra JS
- JavaScript is a high-level language. Programs are easier to write, they are more compact and expressive. Especially when it comes to numerous string operations, data arrays, web interface.
- Powerful 168 MHz Cortex-M4 microcontroller, 1 MB flash, 192 KB RAM, dozens of PWM ports and analog inputs, 2 analog outputs, several I²C, SPI, UART — all this allows you to connect and simultaneously work with a wide variety of sensors and modules.
Cons Iskra JS
- Despite the fact that the native level for the board is 3.3 volts, the pins are tolerant of 5 volts: connecting five-volt peripherals is trivial.
- Due to a different programming environment and ecosystem, there may not be a ready-made library for the selected peripheral. It will have to be implemented independently.
All-in-one robotics platform contains most of the things you need to build any lightweight mobile robot. Strela, like any other Arduino, is programmed from the Arduino IDE, and at the core contains the same microcontroller as the Arduino Leonardo.
Strela Pros
- Built-in driver for two motors, 4 servo connectors, 4 buttons and 4 freely assignable LEDs, buzzer, slots for LCD screen and wireless module.
- Powerful power regulator allows you to use many different batteries without tricks.
- 11 inputs/outputs are output as three-pin connectors for easy connection of additional sensors and modules. The LCD screen, buttons and LEDs are connected via a port expander so they do not take up general purpose I/O.
Cons Strela
- The board does not have sockets for installing Arduino expansion boards.
- Due to the changed pin numbering (compared to the base Arduino Leonardo), it is necessary to use slightly different functions to work with the pins of the board. They are provided in the library of the same name.
Arduino Yún
Unique hybrid of Arduino Leonardo and OpenWRT Linux microcomputer. An excellent choice for the «Internet of Things».
Pros Arduino Yún
- The board is equipped with Ethernet and Wi-Fi, through which you can communicate with the device and even reflash the platform remotely.
- The power of Linux makes it possible to work with multimedia, and its networking capabilities make it easy to integrate with social networks and other web services.
Arduino Yún cons
- OpenWRT is a sliced Linux. Not any Linux software can be installed on a microcomputer. And out of the box, only Bash and Python can be used as scripting programming languages.
Board with powerful Cortex-M4 microcontroller. The platform is programmed not through the Arduino IDE, but through the mbed.org online environment. Subjectively, it is more powerful and slimmer than the Arduino IDE, although not as common. For an inquisitive mind — a great choice.
Pros STM32 Nucleo F401RE
- 84 MHz processor, 512 KB permanent and 96 KB RAM. 50 I/O ports, of which 16 are analog and 29 are PWM. The native voltage level is 3.3 V, but all pins are 5 V tolerant, so there should be no problems with electronic compatibility with Arduino peripherals.
- Expansion board headers are the same configuration as the Arduino Uno, so you can put a lot of Arduino expansion boards on the Nucleo.
- There is no separate SPI connector on the board. Arduino expansion boards that use SPI over the ICSP header won’t work without some tweaks.
Cons STM32 Nucleo F401RE
- Due to a different environment and ecosystem for programming, there may not be a ready-made library for the selected peripheral. It will have to be implemented independently.
Compact board with powerful Cortex-M4 microcontroller. It is programmed from the familiar Arduino IDE.
Teensy 3.2 Pros
- Smaller than the Arduino Micro (35x17mm) but almost as powerful as the Nucleo: 72MHz processor, 256KB permanent and 64KB RAM, 34 I/O ports, of which 21 can be analog, and 12 support PWM.
- Teensy 3.2 is very energy efficient. It does not have a voltage regulator, but the input can be anything from 3.3 to 5.5 V. The same voltage will be the logic level. In sleep mode, the board consumes only 0.25 mA, which makes it possible to operate on battery power for several months.
- Built-in CAN bus controller allows you to create a network of Due or interact with automotive electronics. Two DAC channels allow you to synthesize stereo sound with a resolution of 4.88 Hz.
Minuses Teensy 3.2
- The board comes with unsoldered contacts. You have to solder the pin connectors or wiring yourself.
- Due to the large difference in architecture with the classic Arduino, not all libraries for third-party peripherals can work out of the box.
- The operating voltage is equal to the input, so it floats as the battery is discharged. This can be important when choosing a peripheral if it is designed for a particular voltage.
Netduino 2
The board repeats the Arduino Uno form factor, but has a powerful stuffing, sufficient to run programs written on the .NET platform. Netduino is programmed in C# or any other .NET language in the Visual Studio environment familiar to any .NET developer. The .NET Micro Framework is provided as a standard library.
Netduino 2 Pros
- Visual Studio comes with auto-completion, tooltips, MSDN context help, and a full debugger. Breakpoints, step-by-step execution of code, observation of variables are available to you. Debugging happens without tricks, just with a USB cable connected. Thanks to all this, the speed of development under Netduino is many times higher than the speed of development for other platforms.
Cons of Netduino 2
- There is no separate SPI connector on the board. Arduino expansion boards that use SPI over the ICSP header won’t work without some tweaks.
- Due to a different programming environment and ecosystem, there may not be a ready-made library for the selected peripheral. It will have to be implemented independently.
Netduino Plus 2
Netduino Plus 2 Pros
- Like Netduino, only more powerful and with Ethernet on board. An excellent choice for IoT projects.
Netduino Plus 2 Cons
- Same as Netduino 2.
Single Board Computer Comparison
The trendsetter in single board computers is the Raspberry Pi. This super-popular platform at one time turned the idea of \u200b\u200bthe capabilities, dimensions and cost of a full-fledged computer for DIY electronics engineers.
Again, for each project, one or another single board computer may be better suited, but due to the popularity of the Raspberry Pi, we will compare other platforms with it.
Raspberry Pi 3 Model B
One of the most popular single boards. Four 1200 MHz cores, 1 GB of RAM and a full-fledged Debian-based Linux will help you solve many tasks that require computing resources. Among them are computer vision, real-time sound processing, and the creation of web services.
Pros of the Raspberry Pi 3 Model B
- Tons of documentation, tutorials and libraries, huge community. All this simply will not give you the opportunity to say «did not master.»
- Familiar HDMI, 3.5mm audio, 4 USB ports make it easy to connect a monitor, speakers, keyboard, mouse and other USB devices. BLE and Wi-Fi modules on board will help you connect your computer to other devices wirelessly.
Cons of Raspberry Pi 3 Model B
- There is no ADC on the board, so analog sensors can only be connected using external, additional components.
- Only 1 hardware PWM channel is provided, which makes it difficult to work with peripherals that are controlled by PWM.
BeagleBone Black
Raspberry Pi-like microcomputer that provides more of the benefits of microcontroller boards. An excellent choice for IoT projects where you need to manage multiple sensors and actuators.
BeagleBone Black Pros
- Powerful Cloud9 IDE. You simply access BeagleBone through your browser and program in your favorite language, be it Python, JavaScript (Node.js), Bash or any other Linux language. The result can be checked instantly, and if something does not work, use the full-fledged debugger built into the environment.
- 4 GB eMMC flash with Linux operating system already installed. The memory can be expanded with an external microSD card.
- Ample opportunities for connecting peripherals. 8 PWM outputs and 7 analog inputs. Hardware interrupts are possible.
Cons BeagleBone Black
- Outlandish microHDMI connector for connecting a monitor. It is also used to transmit sound.