diff --git a/README.md b/README.md
index fb1331c..e47f26a 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
# ruapu
-Detect cpu isa features with single-file
+Detect cpu ISA features with single-file
CPU | ✅ x86, x86-64 ✅ arm, aarch64 |
@@ -25,7 +25,7 @@ int main()
|
Compiler | ✅ GCC ✅ Clang ✅ MSVC ✅ MinGW |
-# Let's ruapu
+## Let's ruapu
@@ -66,3 +66,15 @@ xop = 0
+
+## Techniques inside ruapu
+ruapu is implemented in C language to ensure the widest possible portability.
+
+ruapu determines whether the CPU supports certain instruction sets by trying to execute instructions and detecting whether an `Illegal Instruction` exception occurs. ruapu does not rely on the cpuid instructions and registers related to the CPU architecture, nor does it rely on the `MISA` information and system calls of the operating system. This can help us get more detailed CPU ISA information.
+
+- Detect vendor extended ISA, apple `amx`, risc-v vendor ISA, etc.
+- Checking for richer isa on Windows ARM, `IsProcessorFeaturePresent()` can only get little ISA information
+- Correctly detect `x86-avx512` for macOS, macOS hides it in `cpuid`
+- Detect new cpu's ISA on older systems, they are usually not exposed in `auxv` or `MISA`
+- Detect CPU hidden ISA, `x86-fma4` on zen1, ISA in hypervisor, etc.
+