Tips for IT engineers: What is CPU architecture?

Hello.
I'm Nomusin, the self-proclaimed biggest hardware geek in the company.

Have you ever thought about CPU architecture, IT engineers?
While knowledge of architecture is not particularly necessary to develop web systems, all programs run on the computer's architecture.
Therefore, it doesn't hurt to keep this knowledge 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, I know that. the one with the centipedes
. " , you're quite old ! CPUs these days don't have centipedes anymore.

I'm sure there is no IT engineer who doesn't know what a CPU is, but just in case,
CPU stands for Central Processing Unit. It's also sometimes called a processor. It's
the central processing unit in a computer and is often likened to the brain of the computer. It
's safe to say that all electronic devices, from PCs and smartphones to various home appliances and calculators, are equipped with a CPU (although the size may vary).

*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 onto the main topic: architecture.
The word "architecture" has a wide range of meanings, so in this article, we will refer to
ISA Architecture literally means "construction" but also "design ," with ISA referring to the latter.
CPUs are equipped with very primitive instructions (logical/arithmetic operators, data copying, etc.) for various processes, and the specifications of registers (areas that temporarily store data within the CPU) used to actually process these instructions are determined by the aforementioned ISA.
In other words, CPUs with the same ISA will basically run the same programs, regardless of which company developed them.

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 1: Architecture performance?
As mentioned above, x86 is "high performance but consumes a lot of power," while ARM is "power-efficient." However, Intel has focused on power efficiency in recent years, while ARM has focused on areas requiring high performance, such as PCs and servers. As a result, the performance characteristics of the two companies have become unclear.
Intel previously entered the smartphone CPU market (in 2012) but withdrew from it in 2016. As a result, there are now two versions of the Android OS: the "ARM version" and the "x86 version."
Conversely, ARM is now entering the Windows CPU market (although it might be more accurate to say that Microsoft developed Windows for ARM). While Windows PCs with ARM CPUs are not yet widespread, they may become more common in the future.
Furthermore, the "A64FX" CPU used in the Fugaku supercomputer, which has been featured in various media outlets as the world's fastest supercomputer, an ARM architecture CPU developed by Fujitsu .
In 2020, Apple announced that it would switch
What will Intel do?

*Note 2: ARM's Business Model:
Intel designs and manufactures CPUs based on its x86 architecture in-house (it owns its own CPU manufacturing plants).
In contrast, ARM's business is licensing (selling) the "blueprints" of ARM architecture CPUs. ARM has a huge customer base in this licensing business, and manufacturers who purchase these blueprints customize the designs themselves (or use them as is without customization) to manufacture CPUs.
responsible for manufacturing these CPUs Intel (USA), Samsung (South Korea), and TSMC (Taiwan) .
Nearly 100% of smartphone CPUs sold in Japan are manufactured by TSMC or Samsung.

*Note 3: x86? x64?
You may have seen the term
"x64" in addition to x86 While x86 is a 32-bit architecture, x64 is an architecture that extends x86 to 64-bit. It is sometimes written as "x86-64."
Roughly speaking, x64 can handle larger data sizes at once, allowing for more efficient and faster data processing. Some people
seem to get confused when comparing x86 and x64 because x64 is a higher-level architecture despite having a lower number. However, please note that x64 is an abbreviation for "x86-64."
Incidentally, you'll likely see two folders created on your Windows 10 boot drive: "Program Files (x86)" and "Program Files." The former contains x86 (32-bit) compatible apps, while the latter contains x64 (64-bit) compatible apps.
However, modern x86 CPUs support both architectures, and the only new version of Windows 10 available for purchase is the 64-bit version (which also runs 32-bit apps), so users may not need to worry.
ARM also has both 32-bit and 64-bit architectures, but in areas where performance is required, such as smartphones, 64-bit is already the mainstream, just like x86.

Architecture adoption trends (game consoles)

Now that we understand PCs and smartphones, how else are these architectures used?
Let's take a look at something more familiar: game consoles. While
each generation of game consoles uses different architectures, Sony's PS4 and PS5 consistently use
Similarly, Microsoft's Xbox, which is from the same generation, also uses an AMD x86 CPU, just the Xbox One and XBOX SERIES X/S .
These consoles share similar hardware configurations, almost like siblings, and are also very similar to PCs.
Meanwhile, Nintendo has adopted the ARM architecture for the Switch . This CPU is from NVIDIA, a company experiencing rapid growth in the fields of AI and GPU (graphics).
The Switch is designed for battery operation, which, unlike the performance-first consoles of the previous two companies, is likely a result of balancing performance and power efficiency. This design is closer to smartphones than PCs.
I expect the next-generation Switch will follow a similar path, but it's exciting to see Nintendo release such unpredictable consoles.

Architecture adoption trends (cloud servers)

Currently, Intel's x86 CPUs dominate AWS, GCP, Azure, and other cloud services.
Since 2018, the performance of the AMD EPYC processor (Ryzen's server CPU), which also uses the x86 architecture, has been highly praised, and it has been adopted by AWS and GCP one after another. As a manufacturer with momentum, adoption is likely to continue to increase.
Additionally, AWS has instances that use Amazon's in-house ARM architecture CPU, "Graviton ," and there are even rumors that Microsoft may develop its own ARM CPU and adopt it in Azure.
It seems that a period of warring states is upon us, even in the cloud server market, where Intel was once the sole dominant player.

So, from a user perspective, what are the benefits of using a server with a CPU other than Intel ?
AWS explains the features of each CPU instance as follows:

  • AMD x86 CPU (instances end with "a"): Same performance as Intel, 10% cheaper
  • Our own ARM Graviton CPU (instances end with "g"): Up to 40% better price/performance than the same generation Intel instances

The latter is a bit abstract and difficult to understand, but the point is that
offer better cost performance than (traditional) Intel CPU instances! However, web systems built with PHP and other technologies can be expected to generally run the same on any instance, as the middleware and OS absorb architectural differences. However, there is software that will not run due to differences in CPU architecture, so this must be taken into consideration.
However, both instances have their own advantages, so if they match your requirements, they are probably worth actively considering as candidates.

 

lastly

I have opened the system development service site "SEKARAKU Lab" to which I belong.
Beyond is a one-stop service for everything from server design and construction to operation, so if you have any trouble with server-side development, please feel free to contact us.
SEKARAKU Lab: https://sekarakulab.beyondjapan.com/

Thank you for reading to the end.
Software and hardware are inseparably linked, but I feel like there are quite a few programmers who aren't particularly interested in hardware. Maybe it's the times we live in...
It's a fun world to delve into (probably), so if you're interested, I encourage you to do some research.

If you found this article helpful , please give it a like!
19
Loading...
19 votes, average: 1.00 / 119
42,928
X facebook Hatena Bookmark pocket

The person who wrote this article

About the author

Yuki Nomura

After graduating from university, he worked on electronic medical record development at a local system development company.
After that, he moved to a mobile app development company and gained experience developing apps for flip phones and smartphones, before joining Beyond in 2013.
He works in the Osaka office. He is currently in charge of designing and developing web systems.
He continues to develop smartphone apps in his private life as a hobby.
He is a mechanic who is a hardware geek. Leave the assembly of computers and bicycles to us!