What is the difference between ARM architecture and x86 architecture?

Publisher:会哭的蓝精灵Latest update time:2021-03-25 Source: eefocus Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

  This article mainly introduces the difference between arm architecture and x86 architecture. First, it introduces the ARM architecture diagram, and then the x86 architecture diagram. Finally, it compares the difference between arm architecture and x86 architecture in detail from five aspects: performance, scalability, operating system compatibility, convenience of software development, diversity of available tools, and power consumption. Let's follow the editor to learn about it.


  What is ARM architecture?
  ARM architecture was formerly known as Advanced RISC Machine (Advanced RISC Machine, earlier known as Acorn RISC Machine), which is a 32-bit reduced instruction set (RISC) processor architecture that is widely used in many embedded system designs. Due to its energy-saving characteristics, ARM processors are very suitable for the mobile communications field, in line with its main design goal of low power consumption.


  Today, the ARM family accounts for 75% of all 32-bit embedded processors, making it one of the most common 32-bit architectures in the world. ARM processors can be found in many consumer electronics products, from portable devices (PDAs, mobile phones, multimedia players, handheld electronic games, and computers) to computer peripherals (hard drives, desktop routers) and even in military facilities such as missile onboard computers. There are also some derivative products based on ARM designs, and important products include Marvell's XScale architecture and Texas Instruments' OMAP series.


  ARM architecture diagram

  The figure below shows the ARM architecture diagram. It consists of a 32-bit ALU, several 32-bit general registers and status registers, a 32×8-bit multiplier, a 32×32-bit barrel shifter, instruction decoding and control logic, instruction pipeline, and data/address registers.


  1. ALU: It consists of two operand latches, an adder, logic functions, results, and zero detection logic. 2.
  Barrel shift register: ARM uses a 32×32-bit barrel shift register, which allows left/right shifts of n bits, ring shifts of n bits, and arithmetic right shifts of n bits to be completed at one time.
  3. High-speed multiplier: Multipliers generally use the "add one shift" method to implement multiplication. In order to increase the calculation speed, ARM uses a two-bit multiplication method to implement the "add one shift" operation based on the 2 bits of the multiplier; ARM high-speed multipliers use a 32×8-bit structure, which can reduce the integration level (the corresponding chip area is less than 1/3 of the parallel multiplier).
  4. Floating-point unit: The floating-point unit is used as an option for the ARM architecture. The FPA10 floating-point accelerator is connected to ARM as a co-processor and is executed through the interpretation of co-processor instructions.
  5. Controller: ARM's controller uses a hard-wired programmable logic array PLA.
  6. Registers


  x86 architecture:
  Most of the current PC architectures are Intel's X86 architecture, and it seems that it is because of Intel's X86 architecture that Intel has become so popular. The X86 architecture is a computer language instruction set executed by a microprocessor. It refers to the standard number abbreviation of an Intel general-purpose computer series, and also identifies a set of general-purpose computer instruction sets.


  Of course, this architecture diagram is not the same for all motherboards. The architecture is slightly different depending on the motherboard, platform, and so on. For example, many motherboards have integrated the north bridge into the CPU and the south bridge into the PCH, but the general framework is still the same. The following is a brief introduction to each of the contents on this architecture diagram.


  1: CPU, a familiar term to everyone, the central processing unit, the core brain of the computer.
  2: North Bridge Chipset: The North Bridge is a chip on the computer motherboard, located next to the CPU socket, and serves as a connection.
  3: South Bridge is an important component of the motherboard chipset. It is generally located below the motherboard, far from the CPU slot, near the PCI slot. This layout is based on the fact that it is connected to many I/O buses, and being far away from the processor is conducive to wiring.
  4: Memory is one of the important components in a computer. It is a bridge for communication with the CPU. All programs in the computer run in memory, so the performance of the memory has a great impact on the computer.
  5: Video card (Graphics card) is the full name of the display interface card, also known as the display adapter, which is one of the most basic configuration and most important accessories of a computer.
  6: Display interface
  7: The network card is a network component working at the link layer. It is the interface connecting the computer and the transmission medium in the local area network. It can not only realize the physical connection and electrical signal matching between the local area network transmission medium, but also involves the sending and receiving of frames, the encapsulation and unpacking of frames, media access control, data encoding and decoding, and data caching functions.
  8: The basic function of the sound card is to convert the original sound signals from the microphone, tape, and CD, and output them to sound devices such as headphones, speakers, amplifiers, and recorders, or make musical instruments produce beautiful sounds through the music device digital interface (MIDI).
  9: SATA (Serial Advanced Technology Attachment) is a serial hardware drive interface based on industry standards. It is a hard disk interface specification jointly proposed by Intel, IBM, Dell, APT, Maxtor and Seagate.
  10: The hard disk is one of the main storage media of the computer, consisting of one or more aluminum or glass discs. The disc is covered with ferromagnetic material.
  11: Bus


  What is the difference between arm architecture and x86 architecture?
  1. Performance
  Computers with X86 architecture are much faster and stronger than ARM architecture systems in terms of performance. X86 CPUs are usually more than 1G, dual-core and quad-core are popular, and are usually produced using 45nm (or even higher) process technology; while ARM: CPUs are usually several hundred megabytes, and only recently have CPUs around 1G appeared, and the process usually uses less than 65nm process technology. It can be said that ARM is not a match for X86 architecture systems in terms of performance and production technology.
  However, ARM's advantage is not in its powerful performance but in its efficiency. ARM uses the RISC pipeline instruction set, which is fundamentally at a disadvantage in completing comprehensive work, but its advantages can be fully utilized in some applications with relatively fixed tasks.


  2. Expansion Capability:
  Computers with X86 structure use a "bridge" to connect to expansion devices (such as hard disk, memory, etc.), and computers with x86 structure have been around for nearly 30 years. They have many types of supporting expansion devices and are relatively cheap, so computers with x86 structure can easily expand their performance, such as adding memory, hard disk, etc.


  ARM-structured computers connect the CPU to data storage devices through a dedicated data interface, so it is difficult to expand the storage and memory performance of ARM (usually the memory and data storage capacity is already determined during product design). Therefore, systems using ARM structure generally do not consider expansion. The principle of "enough is good enough" is basically followed.


  3. Compatibility of operating system:
  The x86 system is dominated by the Wintel alliance built by Microsoft and Intel, and has monopolized the personal computer operating system for nearly 30 years, forming a huge user base and deeply solidifying the usage habits of many users. At the same time, the x86 system has formed a unified standard in hardware and software development. Almost all x86 hardware platforms can directly use Microsoft's Windows system and almost all popular tool software. Therefore, the x86 system has an incomparable advantage in compatibility.


  Almost all ARM systems use the Linux operating system, and almost all hardware systems have to build their own systems separately, which is not compatible with other systems. This also makes it difficult to transplant its application software, which has seriously restricted the development and application of ARM systems. After GOOGLE developed the open Android system, it unified the operating system of ARM-structured computers, making the newly launched ARM-structured computer systems have a unified, open, and free operating system, providing strong support and impetus for the development of ARM.


  4. Convenience of software development and diversity of available tools.
  The X86 system has been launched for nearly 30 years. During this period, the X86 computer has experienced a golden period of rapid development. User applications, software support, software development tool support and compatibility have reached a very mature and even perfect state. Therefore, when using the X86 computer system, there are not only a large number of third-party software to choose from, but also a large number of software programming tools to help you complete the work you want to complete.


  Due to the limitations of hardware performance, the streamlining of the operating system, and system compatibility, Arm-structured computer systems cannot have as many programming tools and third-party software to choose from and use as X86 computer systems. ARM's programming languages ​​mostly use C and JAVA.


  A more direct conclusion from this comparison is that developing software based on the x86 structure computer system platform is easier, simpler, and has lower actual cost than developing software based on the ARM structure system. It is also easier to find third-party software (saving the time and cost of developing your own software), and software porting is easier.

[1] [2]
Reference address:What is the difference between ARM architecture and x86 architecture?

Previous article:Relationship between ARM7, ARM9, ARM11 and ARM-Cortex series
Next article:Advanced ARM Assembly

Recommended ReadingLatest update time:2024-11-15 17:36

ARM concept review: Architecture, Core, CPU, SOC
1 Introduction This article briefly sorts out the concepts related to ARM, including ARM architecture, ARM core, ARM CPU (or MCU) and ARM Soc. We embedded engineers who mainly use ARM platform deal with these concepts almost every day, and we seem to understand them very well. But when we think about it carefully, w
[Microcontroller]
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号