# tutor-assembly **Repository Path**: hollson/tutor-assembly ## Basic Information - **Project Name**: tutor-assembly - **Description**: No description available - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-02-08 - **Last Updated**: 2025-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [TOC] # 汇编语言 **汇编语言**是与特定CPU架构紧密相关的低级编程语言,由汇编指令、伪指令和其他符号组成。汇编指令是机器指令的助记符,便于人们记忆和编写。 **x86-64** - 概念:作为x86架构的64位扩展,由**AMD开发**,Intel后续采用,应用广泛。 - 应用:PC/服务器程序、操作系统开发、逆向工程、云计算、虚拟化等。 - 特点:**复杂指令**,可变长度编码,支持多种寻址模式,**兼容性强**。 - 优势:性能优化,成熟的生态系统,广泛的硬件支持。 - 工具:**MASM(微软汇编器) **、LLVM工具链、Visual Studio集成环境。 - 前景:主导PC和服务器市场,但面临ARM和RISC-V的竞争,尤其是云服务器领域。 - 市场:**PC市场**约90%,服务器市场约80% 。 **ARM汇编** - 概念:基于**精简指令集**(RISC),**ARM公司设计**,广泛授权给芯片厂商。 - 应用:智能手机、平板、自动驾驶汽车、无人机、可穿戴设备。 - 特点:固定长度指令,大量寄存器,Thumb模式提升代码密度。 - 优势:能效比高,生态系统庞大,支持多种操作系统。 - 工具:**GNU工具链**(arm-none-eabi-gcc)、**QEMU模拟器**、Keil MDK。 - 前景:在移动端持续主导,**向服务器和PC端扩张(如Apple Silicon),IoT市场增长强劲**。 - 市场:**移动设备**市场约95%,**嵌入式**系统约70% 。 **MIPS汇编** - 概念:经典RISC架构,早期在学术和网络设备中应用广泛。 - 应用:网络设备(路由交换机)、数字电视、机顶盒、打印机、游戏、教学实验平台。 - 特点:延迟槽设计,易于教学流水线原理。 - 优势:经典五级流水线架构、指令规整利于理解CPU原理。 - 工具:SPIM/MARS模拟器、MIPSpro编译器、GCC交叉编译工具链。 - 前景:**逐渐被ARM和RISC-V取代**,但在特定领域仍有遗留系统维护需求。 - 市场:网络设备约10%,教学领域仍有部分使用。 **RISC-V汇编** - 概念:**开源指令集**架构,模块化设计,允许扩展自定义指令。 - 应用:学术研究、定制芯片(**人工智能、物联网**)、新型处理器设计。 - 特点:基础指令集精简,可扩展性强,免版税。 - 优势:灵活性高,社区活跃,**免授权费生态**,适合创新项目。 - 工具:**GNU工具链**(riscv64-unknown-elf-gcc)、**Spike模拟器**、PlatformIO。 - 前景:增长迅速,尤其在**IoT**和定制芯片领域潜力大。 - 市场:🚀 年增45%(IoT/AI芯片爆发) ,新兴市场,成长快速。 # 附A:主流CPU架构 **CPU架构**:指的是CPU的设计方式和内部电路结构,不同的CPU架构有不同的指令集和机器语言。 **全球主流CPU架构分布** - **x86体系**:Intel Core/i9、AMD Ryzen/EPYC - **ARM体系**:Apple M系列、AWS Graviton、华为鲲鹏 - **RISC-V体系**:SiFive U74、阿里平头哥C910 - **其他体系**:IBM Power10(Power ISA)、Fujitsu A64FX(ARM) **主要国产CPU技术路线** | 品牌 | 指令集架构 | 典型产品 | 应用领域 | |--------|-----------------|----------------|------------------| | 飞腾 | ARMv8 | FT-2000/4 | 服务器/桌面 | | 龙芯 | LoongArch | 3A5000 | 桌面/嵌入式 | | 申威 | SW-64 | 申威1621 | 超算领域 |
# 附B:2025手机芯片 - 主流芯片厂商包括**苹果、华为、三星、高通、联发科、谷歌** 等。 | 品牌 | 芯片型号 | 指令集 | 配置 | 工艺 | | ----- | --------- | ---------- | --------- | --------- | | **苹果** | A18 Pro | ARMv9.4-A | 6核CPU(4P+4E)+ 6核GPU | TSMC N3P | | **华为** | 麒麟9100 | ARMv9.2-A | 泰山V140架构,12核(2+4+6)| SMIC 5nm+| | **三星** | Exynos 2500| ARMv9.3-A| AMD RDNA4 GPU,10核CPU | SF3E 4nm| | **vivo** | 天玑9400| ARMv9.1-A | 联发科全大核设计,Cortex-X5 | N3E | | **小米** | 骁龙8 Gen4| ARMv9.3-A|(台积电)Oryon V2定制核心,12MB L3缓存|N3E| | **OPPO** | 天玑9400定制版 | ARMv9.1-A | 联合联发科优化AI加速器| N3P| | **谷歌** | Tensor G5| ARMv9.2+RISC-V| 2×Cortex-X5 + 4×RISC-V AI协处理器| TSMC N3E |
# ARM汇编知识体系 ```shell ARM汇编知识体系: ├─ 1. 计算机基础层 │ ├─ 冯·诺依曼架构与哈佛架构差异 │ ├─ CPU工作流程(取指-译码-执行) │ ├─ 内存地址空间与总线协议 │ └─ 二进制补码/浮点表示(IEEE754) │ ├─ 2. ARM架构特性层 │ ├─ RISC设计哲学(精简指令集特点) │ ├─ 执行模式:ARM/Thumb/A64 │ ├─ 寄存器组织(通用寄存器/SP/LR/PC) │ └─ 流水线机制(3/5级流水冲突处理) │ ├─ 3. 指令系统层 │ ├─ 数据处理指令(MOV/ADD/AND) │ ├─ 内存访问指令(LDR/STR/LDM/STM) │ ├─ 控制流指令(B/BL/CBNZ) │ ├─ 条件执行机制(CPSR标志位) │ └─ SIMD指令(NEON基础) │ ├─ 4. 内存管理层 │ ├─ 栈操作(满递减/空递增) │ ├─ 内存对齐与原子操作(LDREX/STREX) │ ├─ 缓存一致性(DMB/DSB指令) │ └─ MMU原理(页表/虚拟地址转换) │ ├─ 5. 系统编程层 │ ├─ 异常处理(SWI/SVC/IRQ) │ ├─ 混合编程(C调用汇编规则AAPCS) │ ├─ 外设控制(GPIO/UART寄存器映射) │ └─ 操作系统交互(Linux系统调用约定) │ └─ 6. 高级扩展层 ├─ 性能优化(指令调度/循环展开) ├─ 安全机制(PAC指针认证) ├─ 多核同步(Spinlock/内存屏障) └─ 逆向工程(IDA Pro分析ARM固件) ``` # 参考链接 > https://blog.csdn.net/Gusand/article/details/100088480