常用知识点

1、 FPGA(现场可编程门阵列)

→ 优点:可定制化强、功耗可控、适合特定场景加速;

→ 缺点:开发门槛高、通用性差、能效比虽好但不如专用芯片;

2、高主频多核GPU

→ 优点:并行计算能力强,适合训练和高吞吐推理;

→ 缺点:功耗高、体积大、不适合边缘设备(如手机、IoT终端);

3、专用神经网络处理器(NPU)

→ 专为AI推理设计,架构针对矩阵运算、低精度计算优化;

→ 极高能效比(如手机SoC中的NPU、寒武纪、华为达芬奇架构等);

→ 实时性好,延迟低,功耗控制优异,完美匹配"边缘设备 + 实时推理 + 能效比最优"三重需求;

4、高性能通用CPU

→ 优点:通用性强,编程灵活;

→ 缺点:AI推理效率低、功耗高、延迟大;

硬件类型 特点 适合场景 能效比 / 实时性
FPGA 可编程、可定制,延迟较低 特定场景加速、原型验证 能效比中等,开发成本高
高主频多核 GPU 并行计算能力强 云端训练、高性能推理 功耗高,不适合边缘低功耗场景
专用 NPU 专为神经网络算子(卷积、矩阵乘)设计 边缘端 AI 推理(手机、摄像头、IoT) 能效比最优,延迟低,专门优化
高性能通用 CPU 通用性强 通用计算、轻量模型 算力弱、能效比差,不适合实时推理

5、SPI(Serial Peripheral Interface)

结构:主从结构(一个主机,多个从机)

特点:主机固定,由主机发起通信,从机被动响应

6、USB(Universal Serial Bus)

结构:主从结构(主机Host + 从设备Device)

特点:主机角色固定,设备只能作为从机,不可切换为主机(除非是OTG,但标准USB不支持动态切换)

7、 UART(Universal Asynchronous Receiver/Transmitter)

结构:点对点通信,无主从概念,双方对等(虽然常被配置为一发一收)

8、各种指针

9、I²C(Inter-Integrated Circuit)

结构:主从结构 ,支持多主机、多从机

特点:支持多主控(Multi-master),通过仲裁机制实现"主设备动态切换",当多个主机同时发起通信时,通过SDA线电平竞争决定谁获得总线控制权

总线 主从结构 主设备是否可动态切换 说明
SPI 主从结构 ❌ 不可动态切换 通信时固定一个主设备(Master),其余为从设备,主设备角色无法在通信中切换。
USB 主从结构(Host/Device) ❌ 不可动态切换 主机(Host)和设备(Device)角色固定,OTG 模式虽可切换,但不属于 "动态主从切换" 的典型总线设计。
UART 点对点通信 ❌ 无主从概念 UART 是全双工点对点协议,没有 "主设备 / 从设备" 的角色划分,仅为收发关系。
I2C 主从结构 ✅ 可动态切换 多主机架构支持:任意设备都可申请成为主设备,通过仲裁机制(冲突检测)决定当前主设备,通信中主从角色可动态变更。

10、在 RTOS(实时操作系统)中,任务状态转换遵循严格规则

状态转换 是否可能 原因说明
就绪态 → 阻塞态 ❌ 不可能 就绪态的任务尚未获得 CPU 执行权 ,无法主动执行代码(如调用 delaysem_wait 等阻塞 API),因此不可能直接进入阻塞态。
运行态 → 阻塞态 ✅ 可能 运行态任务主动执行阻塞操作(如等待信号量、延时、I/O)时,会放弃 CPU,进入阻塞态。
阻塞态 → 就绪态 ✅ 可能 阻塞条件满足(如信号量释放、超时到达)时,任务被唤醒,从阻塞态移至就绪态,等待调度。
运行态 → 就绪态 ✅ 可能 高优先级任务就绪、时间片耗尽或任务主动让出 CPU(如 yield)时,运行态任务会切回就绪态。

11、SIMD与SIMT的区别

对比维度 SIMD(单指令多数据) SIMT(单指令多线程)
核心定位 CPU 端的数据级并行技术 GPU 端的线程级 + 数据级并行混合技术
并行载体 向量寄存器(如 AVX、NEON),无独立线程 线程(束),每个线程有独立 PC / 寄存器,同一 warp 执行同指令
并行逻辑 单指令同时操作多组数据(数据并行) 单指令驱动多个线程执行,通过切换线程隐藏访存延迟(延迟隐藏)
执行特点 数据必须规整,指令执行无分支,依赖 CPU 调度 允许线程分支(硬件掩码处理),天然适配非规整计算,依赖 GPU 线程调度
资源占用 占用 CPU 向量单元,资源消耗低 占用 GPU 流处理器,线程数极大(千级),资源消耗高
适用场景 CPU 上的轻量并行计算(如音视频编解码、矩阵运算) GPU 上的大规模并行计算(如深度学习、图形渲染、高性能计算)

12、clang编译器

优化技术 依赖源码 核心特点
O3 激进编译期优化,可能增大体积
BOLT 二进制后优化,直接处理可执行文件
PGO 基于性能数据的编译期优化
ThinLTO 链接期跨模块优化

13、中断优先级仅在中断嵌套中生效,与系统调用无关

14、Linux 内存分配核心机制

操作 核心机制 关键结论
malloc() 用户态内存池 + 虚拟内存 可申请大于物理内存的空间,不直接调用系统调用
mmap() 惰性加载 + 文件映射 不立即加载物理内存,访问时才缺页加载
free() 归还用户态内存池 不立即回收给内核,由分配器管理

15、ARMv8-A (AArch64) 架构的寄存器设计与指令集特性

特性 / 指令 正确描述 易错点
系统寄存器 分级管理:EL0 无法直接读 EL1 寄存器(如 SCTLR_EL1)。 跨等级访问会触发权限错误。
SP 寄存器 堆栈指针(SP)是专用寄存器,编码与 X31 相同但逻辑独立。 SP != X31,不能通用。
NEON 寄存器 独立向量寄存器空间,与 GPRs (X0-X30) 物理隔离。 NEON 不能直接读写通用寄存器。
LDP 指令 AArch64 的加载配对指令,在连续地址场景下效率极高。 比连续执行两次 LDR 快一倍。
相关推荐
docsz3 小时前
Flink-1.20集群部署
linux·服务器·flink
行思理3 小时前
Linux查看网站访问IP的命令大全
linux·服务器·前端
sdm0704273 小时前
Linux-基础IO
linux·运维·操作系统·理解文件
爱吃生蚝的于勒4 小时前
【Linux】网络之http协议
linux·运维·服务器·网络·数据结构·c++·http
创世宇图4 小时前
Alibaba Cloud Linux 安装生产环境-Tomcat
linux·tomcat
fakerth4 小时前
【Linux】调度器底层原理深入探索
linux·c++·操作系统
历程里程碑4 小时前
44. TCP -23Linux聊天室实现命令符功能
java·linux·开发语言·数据结构·c++·排序算法·tcp
守护安静星空4 小时前
ubuntu vscode 调试 at32f435vmt7
linux·vscode·ubuntu
集智飞行4 小时前
禁用Ubuntu网卡的电源管理(Power Management)
linux·运维·ubuntu