Detailed explanation of the architecture and core of embedded processors

Publisher:科技律动Latest update time:2019-09-23 Source: eefocus Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

When we talk about the architecture of embedded processors, we usually think of Intel's X86 architecture and ARM's ARM architecture. The biggest difference between the X86 architecture and the ARM architecture is that they use different instruction sets. The former uses the CISC instruction set, while the latter uses the RISC instruction set. Another point is that the X86 architecture uses the von Neumann structure, while the ARM architecture uses both the von Neumann structure and the Harvard structure (which has become a trend). What is architecture? These two words seem simple, just "skeleton + structure", but I personally think they are not easy to understand. Baidu divides architecture into logical architecture, physical architecture and system architecture. For processors, when they develop to a certain extent, this physical architecture will not change much. Take the CPU as an example. It is mainly composed of logic components + register components + control components. After this structure develops and stabilizes, there will not be much change. So where is the architecture version update that people often talk about mainly reflected? Instruction set. Of course, there are also factors such as memory management feature improvements. Take the ARM processor architecture as an example, as shown in Figure 1, its evolution history.

It can be seen that its architecture has evolved from version V4 to version V7, and the V7 version has three development paths, A series, R series, and M series. Looking at Figure 2, we can see the evolution of its processor instructions:

we can find that the Thumb instruction set was added in the V4T version, which just corresponds to the Thumb state of the processor. In the V5E version, enhanced DSP instructions were added. The V6 version can be said to be a major event in the evolution of ARM instructions, with the advent of Thumb-2. In fact, the previous 16-bit Thumb instruction set is a functional subset of the 32-bit ARM instruction set. In Thumb-2, with its powerful, light and efficient, 16-bit instructions coexist with 32-bit instructions for the first time, and there is no need to change the instruction set due to the change of processor mode. From the fact that ARM-Cortex-M3 entrusts all its processing power to the Thumb-2 instruction set, we can see the power of the Thunmb-2 instruction set.
What is the difference between processor architecture and processor core? The processor in "processor core" should be MCU. The processor in "processor architecture" can be a more general processing unit. When we talk about the kernel, we should first focus on a certain series of MCUs. Take the STM32 series MCUs for example, they are based on the ARM-Cortex-M3 kernel. The kernel mainly talks about its pipeline and structure. For example, the ARM7 kernel is a three-stage pipeline and von Neumann structure of 0.9MIPS/MHZ, and the ARM9 is a 5-stage pipeline Harvard structure of 1.1MIPS/MHZ. Figure 3 shows the relationship between the kernel and the MCU more intuitively.

What do ARM kernels and architectures mean, and what is the relationship between them?
ARM products are becoming more and more abundant, and there are more and more names. Many friends asked: What do ARM kernels and architectures mean? What is the relationship between kernels and architectures? For example, ARMv7 architecture, what does this architecture refer to? The editor has selected several wonderful answers! I hope it will be helpful to embedded friends when choosing to design circuits.
1. ARM kernel: From ARM7, ARM9 to Cortex-A7, A8, A9, A12, A15 and then to Cortex-A53, A57, etc., in short, different versions of ARM have different ideas. For example, Cortex A8 and A9 designed for high speed are both ARMv7a architecture; Cortex M3 and M4 are ARMv7m architecture; the former is the core, and the latter is the architecture of the instruction set.

2. ARM's architecture is based on the RISC instruction set, and its core is only the basis of the hardware architecture to implement this instruction set, a subset of the Thumb-2 instruction set architecture (ISA), including all basic 16-bit and 32-bit Thumb-2 instructions, Harvard processor architecture, which can execute instruction fetch while loading/storing data, and a three-stage pipeline with branch prediction.

3. It's like you build a house. At the beginning, it was popular to build a bungalow because of the low level. This is an architecture (V5T). Then you can design a style with an independent bathroom for this bungalow architecture. This is called the ARM7 core. Then other people (chip design companies) who want to build a house will buy your blueprint to build it. Then after a while, some people think that an independent bathroom is not enough. I also want a small yard! Well, then ARM will meet your requirements and come up with a style with a small yard (ARM9).
After a long time, the architecture of this bungalow has been changed and changed according to everyone's needs. Later, ARM found through research: Now everyone's ability to build houses has increased dramatically (including technology, design ability, clock frequency), and it is not enough to build this bungalow! Well, in order to keep these designers idle, ARM launched a style of two or three-story buildings. Because this is completely different from the design structure of bungalows, it is called a new architecture (ARMv6). Similarly, ARM also prepared styles with swimming pools and garages for everyone (ARM11). Well, continue to change and change, and later everyone has begun to have the ability to build buildings with more than ten floors. ARM has released a new style (ARMv7 architecture) as always. At this time, ARM feels that the previous names are too rustic, such as ARM5, ARM6, ARM7—both ugly and hard to remember. I want to give it a name that looks awesome, so that at least I can be considered a person who can design skyscrapers. So the subsequent cores are called Cortex.
The name change is only part of the story. With the emergence of this architecture, ARM found that the buildings built with our blueprints in the past were only residential buildings. What was the point of residential buildings? Affordability (low power consumption). Now it is different. Now the buildings built with our blueprints can not only be residential buildings, but also military bases and high-end office buildings. In the past, only Intel could design these high-end buildings! In order to meet these different needs, ARM divided the styles designed by this architecture into three series (M series, R series, and A series). The M series is designed for residential buildings, because ordinary people want to be affordable, so this design is designed to be about ten stories (low power consumption); the R series is designed for military bases, and this type of building is not high either - about ten stories, but the key is to have the ability to respond quickly to special situations (fast interruption); finally, the A series is used by business tycoons, so of course it must be high-end and classy, ​​that is, it must have high performance, and all kinds of LED light shows.

Reference address:Detailed explanation of the architecture and core of embedded processors

Previous article:7 IDEs and 6 JTAG debuggers for embedded ARM processors
Next article:UART0 serial port programming (III): interrupt mode; use interrupt to write send function

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号