stem/CS/ISA.md
Andy Pack 5f04cacd81 vault backup: 2023-12-27 09:30:39
Affected files:
.obsidian/workspace.json
Projects/Dev Options.md
Projects/Mixonomer.md
Projects/NoteCrawler.md
Projects/Selector.md
Projects/To Do App.md
STEM/CS/ABI.md
STEM/CS/Calling Conventions.md
STEM/CS/Code Types.md
STEM/CS/Compilers.md
STEM/CS/ISA.md
STEM/CS/Language Binding.md
STEM/CS/Languages/Assembly.md
STEM/CS/Languages/C++.md
STEM/CS/Languages/Javascript.md
STEM/CS/Languages/Python.md
STEM/CS/Languages/Rust.md
STEM/CS/Languages/dotNet.md
STEM/IOT/OS/Composition.md
2023-12-27 09:30:39 +00:00

111 lines
2.1 KiB
Markdown

---
tags:
- low-level
- dev
---
Instruction Set Architecture
___Not Microarchitecture___
- Physical implementation of ISA
- Abstract model of a computer
- CPU is an implementation
- Defines
- Data types
- Registers
- Hardware support for main memory
- Features
- Memory consistency
- Addressing modes
- Virtual memory
- Specifies behaviour of machine code
- Binary compatibility
- Allows many implementations
# Complexity
## Complex
- CISC
- Complex instruction set computer
## Reduced
- RISC
- Reduced instruction set computer
- Simplifies processor
- Implementing only frequent instructions
- Less frequent as subroutines
- Typically requires less transistors than CISC
- Improves
- Cost
- Power consumption
- Heat dissipation
## Very Long Instruction Word
VLIW
## Long Instruction Word
LIW
## Explicitly Parallel instruction Computing
EPIC
# ARM
Acorn RISC Machine
Advanced RISC Machines
- RISC architectures
- System-on-Chips, System-on-Modules
- SOC, SOM
- iPhones A Series
- 32-bit Profiles
- A
- Application
- Cortex-A
- R
- Real-time
- Cortex-R
- M
- Micro-controller
- Cortex-M
# Instructions
- Params
- Registers
- Functions
- Arithmetic
- Addressing
- Control
- Memory locations
- With offsets
- Addressing modes
- Interpret operands
- Types
- Data handling and memory
- Set register
- Copy data from memory to register or reverse
- Load and store operations
- Read and write from hardware
- Arithmetic and logic
- +, -, x, ÷
- Bitwise
- Compare
- Floating point instructions
- Control flow
- Branch
- Another location in program to execute
- Conditionally branch
- Indirectly branch
- Branch with argument memory address
- Call
- Save the location to return to
- Coprocessor
- Load/store to and from coprocessor
- Perform coops
- Complex
- Multiple things at once
- Move multiple values between stack and memory
- Move large blocks of memory
- Complicated integer and floating point maths
- Square root, log, sin, cos
- ALU operations from memory not register