Tips for IT engineers: What is CPU architecture?

table of contents
Hello.
I'm Nomushin, the biggest hardware enthusiast (self-proclaimed) in the company.
Have you IT engineers ever considered CPU architecture?
While knowledge of architecture isn't strictly necessary for developing web systems, all programs run on top of that computer's architecture.
Therefore, it doesn't hurt to keep it in the back of your mind.
If I were to go into detail, it would take too long, so this article will only touch on the surface. If you're interested, please dig deeper and find out more
What is a CPU anyway?
"Oh yeah, I know that one. Thecentipede-like thing,right?"
Yes.You're quite the old man! Modern CPUs don't look like centipedes anymore.
I doubt there's an IT engineer who doesn't know what a CPU is, but just in case:
CPU stands for Central Processing Unit. It's abbreviated as CPU. It's sometimes called a processor.
It's the central processing unit in a computer and is often likened to the brain of the computer.
You could say that all electronic devices, from personal computers and smartphones to various home appliances and calculators, have a CPU (albeit on a different scale).
*By the way, for both PCs and smartphones, the mainstream is what can be called an SoC (System on a Chip), which combines not only a pure CPU but also a GPU (graphics function), a chip dedicated to AI processing, a communications modem, various chipset functions, and other elements into a single chip. However, leaving the details aside, in this article we will only focus on the CPU part of such devices and refer to them as a "CPU."
What is CPU architecture?
Now, let's get to the main topic: architecture.
The word "architecture" has a broad meaning, so in this article,ISAwe will refer to
While architecture literally means "building""design,"and also has meanings like
A CPU is equipped with very basic instructions for performing various processes (logical/arithmetic operators, data copying, etc.), and the specifications of registers (areas in the CPU that temporarily store data) for actually processing these instructions are determined by the aforementioned ISA.
In other words, if a CPU uses the same ISA, the same program will basically run on it, regardless of which company developed the CPU.
Architecture Types
There are many different types of architectures, but this time we will introduce the following two architectures that are familiar to us
- x86 (Intel)
- ARM (ARM) ... Arm
As for ARM, the name of the company that developed it is also ARM, and it is sometimes featured in the news, so even people who don't read IT sites may have heard of it
What is x86?
- Intel architecture
- This is a PC with "Intel inside." CPU "brands" include Xeon, Core, Pentium, Celeron, etc
- Widely used in PCs, servers, supercomputers, etc
- High performance but high power consumption
- AMD, which has a licensing agreement with Intel, also develops CPUs with the same architecture (Ryzen, Athlon, Optelon, etc.)
What is ARM?
- ARM architecture
- Almost all smartphones are like this
- ARM architecture CPUs are used in all kinds of devices we come into contact with on a daily basis, including communication devices such as routers, home appliances such as air conditioners, refrigerators, and TVs, and IoT devices
- A wide range of CPUs from low-power, low-cost to high-performance
- ARM itself does not manufacture CPUs
- Bought by SoftBank (2016) and sold (2020)
*Note ① Architectural Performance?
While it's stated above that x86 is "high performance but also high power consumption," and ARM is "low power consumption," Intel has recently prioritized power efficiency, while ARM has aimed to enter fields requiring high performance, such as PCs and servers. Therefore, the performance characteristics of the two companies are becoming blurred.
Intel entered the smartphone CPU market in the past (2012) but withdrew in 2016.*As a result, there are two versions of Android OS: "ARM version" and "x86 version."
Conversely, ARM is now entering the Windows CPU market (it might be more accurate to say that Microsoft developed Windows for ARM...). ARM CPU Windows PCs are not yet widespread, but they may become commonplace in the future.
Also, the "A64FX" CPU of "Fugaku," the world's fastest supercomputer featured in various media,an ARM architecture CPU developed by Fujitsu.
And in 2020,Apple announced that it would switch Mac CPUs from Intel to its own ARM architecture CPUsると発表しました。これまた非常に高性能で話題になっています。
What will Intel do!?
*Note 2: ARM's Business Model
Intel designs and manufactures CPUs based on its x86 architecture in-house (it owns CPU manufacturing plants).
In contrast, ARM's business is to license (sell) the "blueprints" of ARM architecture CPUs. ARM has a huge customer base through this licensing business, and manufacturers that buy these blueprints customize (or use as-is) these designs to produce CPUs.
that handle CPU manufacturingIntel (USA), Samsung (South Korea), and TSMC (Taiwan).
Almost 100% of smartphone CPUs distributed in Japan are manufactured by either TSMC or Samsung.
*Note ③ x86? x64?
in addition to x86"x64"Some of you may have come across the term
x86 is a 32-bit architecture, but x64 is an architecture that extends x86 to 64 bits. It is sometimes written as "x86-64".
To put it very simply, x64 can handle larger amounts of data at once, allowing for more efficient and faster data processing.
When x86 and x64 are listed side by side, some people get confused because x64 is the higher architecture despite having a smaller number, but please note that x64 is an abbreviation for "x86-64".
By the way, you will find two folders created on the Windows 10 boot drive:"Program Files (x86)"and"Program Files". The former is for x86 (32-bit) applications, and the latter is for x64 (64-bit) applications.
However, modern x86 CPUs support both architectures, and since only the 64-bit version (which can run 32-bit apps) is available for new Windows 10 purchases, users may not need to worry about this.
Similarly, ARM also has both 32-bit and 64-bit architectures, but in performance-oriented fields such as smartphones, 64-bit is already the mainstream, just like with x86.
Architecture adoption trends (game consoles)
Now that we've looked at PCs and smartphones, where else are these architectures used?
Let's look at something familiar: game consoles.
Game consoles often use different architectures from generation to generation, but Sony's PS4 and PS5have consistently used x86 CPUs, specifically from AMD, a licensee company, rather than Intel.
Similarly, the Microsoft Xbox of the same generationXbox One to Xbox Series X/Suses an AMD x86 CPU.
Therefore, these game consoles have such similar hardware configurations that they could be called sibling machines, and they are also very similar in design to PCs. On
the other hand,Nintendo has adopted the ARM architecture for the Switch. This is a CPU from NVIDIA, which is rapidly growing in the fields of AI and GPU (graphics).
The Switch is designed to be battery-powered, so unlike the performance-first game consoles of the previous two companies, this choice is thought to be the result of balancing performance and power saving. This design is closer to a smartphone than a PC.
I predict that the next-generation Switch will follow the same path, but Nintendo is known for releasing unpredictable game consoles, so it will be exciting.
Architecture adoption trends (cloud servers)
Currently, Intel's x86 CPUs dominate the cloud server market, including AWS, GCP, and Azure.
However, since 2018, the performance of AMD's EPYC processors (Ryzen's server CPUs), which also use the x86 architecture, has been recognized, and they have been adopted by AWS and GCP. As a rapidly growing manufacturer, their adoption is likely to increase further.
Amazon's own ARM architecture CPU,"Graviton,"has instances using
It seems that a period of intense competition has arrived in the cloud server market, which was once dominated by Intel.
So,from a user's perspective, what are the advantages of using servers with CPUs other than Intel?
AWS explains the characteristics of each CPU instance as follows:
- AMD's x86 CPUs (instances ending in "a"):Equivalent performance to Intel but 10% cheaper.
- Our own ARM Graviton CPU (instances ending in "g"):Up to 40% better price-performance ratio than Intel instances of the same generation.
The latter is a bit abstract and difficult to understand, but essentially, both"better cost performance than (traditional) Intel CPU instances!"seem to mean
However, while web systems built with PHP, etc., can generally be expected to work the same way on any instance because middleware and the OS absorb the differences in architecture, there is some software that will not work due to differences in CPU architecture, so this point needs to be taken into consideration.
Nevertheless, both are instances with advantages, so if they match your requirements, they are definitely worth considering as options.
lastly
I have launched "SEKARAKU Lab," a service website for the system development company I belong to.
Beyond offers a one-stop service for everything from server design and construction to operation, so please feel free to contact us if you have any problems with server-side development.
SEKARAKU Lab:https://sekarakulab.beyondjapan.com/
Thank you for reading to the end.
Software and hardware are inextricably linked, but it seems there are quite a few programmers who aren't very interested in hardware. Is it a sign of the times...?
It's a fun world to explore (probably), so if you're interested, please do some research.
20
