2023-10-25 07:50:32 +01:00
|
|
|
---
|
|
|
|
tags: [CPU]
|
|
|
|
---
|
|
|
|
|
2024-03-11 07:00:04 +00:00
|
|
|
# Instruction Set Architectures
|
2023-10-25 07:50:32 +01:00
|
|
|
|
2024-03-15 09:00:04 +00:00
|
|
|
## Summary
|
2023-10-25 07:50:32 +01:00
|
|
|
|
2024-03-15 09:00:04 +00:00
|
|
|
- Computers with different hardware execute machine code instructions (e.g
|
|
|
|
_add_) in different ways. They have different _instruction set architectures_
|
|
|
|
(ISAs).
|
2023-10-25 07:50:32 +01:00
|
|
|
|
2024-03-15 09:00:04 +00:00
|
|
|
- A family of CPUs that implement the core instructions of the
|
|
|
|
[[Arithmetic_Logic_Unit]] in the same way share an ISA. Any software built for
|
|
|
|
that ISA will work on any CPU that implements the ISA
|
|
|
|
|
|
|
|
- The two main CPU architectures are ARM and x86
|
|
|
|
|
|
|
|
## Detail
|
|
|
|
|
|
|
|
## Architecture is logical not physical
|
2023-10-25 07:50:32 +01:00
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
> Note that this is a logical architecture rather than a physical architecture.
|
|
|
|
> Like ISA processors may work very differently on the hardware level whilst
|
|
|
|
> still adhering to the same ISA
|
2023-10-25 07:50:32 +01:00
|
|
|
|
|
|
|
## ARM and x86
|
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
The two main processor architectures are ARM and x86. x86 processors were first
|
|
|
|
introduced by Intel but are also made by AMD.
|
2023-10-25 07:50:32 +01:00
|
|
|
|
|
|
|
### x86
|
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
The name stems from Intel's internal naming conventions - every new processor
|
2024-03-11 06:50:04 +00:00
|
|
|
they introduced would have a letter designation ending with "86". Later they
|
2024-02-02 15:58:13 +00:00
|
|
|
would adopt names such as "Pentium", "Celeron" etc. Regardless, these processors
|
|
|
|
still fall under the "x86" family.
|
2023-10-25 07:50:32 +01:00
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
Over time, new instructions have been added to the x86 architecture but they all
|
|
|
|
maintain backwards compatibility with preceding generations.
|
2023-10-25 07:50:32 +01:00
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
There have been different, successive generations of x86 corresponding to their
|
2024-03-11 06:50:04 +00:00
|
|
|
[word-size](Signed_and_unsigned_numbers.md): 16-bit, 32-bit, 64-bit. Word size
|
|
|
|
here just means how many bits the processor can work with at a time.
|
2023-10-25 18:19:01 +01:00
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
A 34-bit processor can operate on values that are 32 bits in length. This means
|
2024-03-11 07:00:04 +00:00
|
|
|
it has 32bit [[CPU_architecture#registers|registers]], a 32-bit data
|
|
|
|
[[Bus|bus]], a 32-bit address bus and so on.
|
2023-10-25 18:19:01 +01:00
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
AMD introduced the first 64-bit processor, not Intel but they later caught up. A
|
|
|
|
64-bit x86 processor is often referred to as _x64_ or _x86-64_.
|
2023-10-25 18:19:01 +01:00
|
|
|
|
|
|
|
### ARM
|
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
Whilst x86 processors dominate the personal computer and server space, on mobile
|
|
|
|
a different instruction set architecture predominates: ARM. The ARM company
|
|
|
|
develops the architecture and standard which it licenses it to other companies
|
|
|
|
to implment.
|
2023-10-25 18:19:01 +01:00
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
They are preferred on mobile because they have reduced power consumption and
|
|
|
|
lower costs compared to x86.
|
2023-10-25 18:19:01 +01:00
|
|
|
|
2024-02-02 15:58:13 +00:00
|
|
|
With ARM processors the processor is on a single chip that contains the CPU as
|
|
|
|
well as memory and other hardware.
|