eolas/zk/Instruction_set_architectures.md

65 lines
2.3 KiB
Markdown
Raw Normal View History

---
tags: [CPU]
---
2024-03-11 07:00:04 +00:00
# Instruction Set Architectures
2024-03-15 09:00:04 +00:00
## Summary
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).
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
> 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
## ARM and x86
The two main processor architectures are ARM and x86. x86 processors were first
introduced by Intel but are also made by AMD.
### x86
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
would adopt names such as "Pentium", "Celeron" etc. Regardless, these processors
still fall under the "x86" family.
Over time, new instructions have been added to the x86 architecture but they all
maintain backwards compatibility with preceding generations.
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.
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.
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_.
### ARM
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.
They are preferred on mobile because they have reduced power consumption and
lower costs compared to x86.
With ARM processors the processor is on a single chip that contains the CPU as
well as memory and other hardware.