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.
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
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Keysight Technologies Helps Samsung Electronics Successfully Validate FiRa® 2.0 Safe Distance Measurement Test Case
- Innovation is not limited to Meizhi, Welling will appear at the 2024 China Home Appliance Technology Conference
- Innovation is not limited to Meizhi, Welling will appear at the 2024 China Home Appliance Technology Conference
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Download from the Internet--ARM Getting Started Notes
- Learn ARM development(22)
- Learn ARM development(21)
- Learn ARM development(20)
- Learn ARM development(19)
- Learn ARM development(14)
- Switching power supply waveform
- [Raspberry Pi 4B Review] + Real-time status monitoring website test service resource usage
- The latency of cache in arm system refers to
- 【W806 Lianshengde Development Board】Real-time performance
- CC1352R SimpleLink High-Performance Dual-Band Wireless MCU
- Electric race, how are you guys doing?
- Howland's improved circuit output resistance
- Ov7670 image acquisition source program based on TINYM0 LPC1114
- Pingtouge Scenario-based Bluetooth Mesh Gateway Program Burning
- How to improve the anti-interference (radiation) ability of operational amplifiers