📊 DDR 带宽计算器
输入内存等效数据速率、单通道位宽及通道数量,实时评估硬件的数据传输速率与理论最大吞吐带宽。
MT/s
通道
理论吞吐带宽 (GB/s)
51.20
51,200 MB/s
等效总位宽 128-bit
时钟时序频率 1600.0 MHz
计算公式过程:
带宽 = 3200 MT/s × 64-bit × 2 通道 ÷ 8 bits/Byte ÷ 1000 = 51.20 GB/s
💻 汇编 Cheatsheet
对比 x86_64 与 ARM64 (AArch64) 架构的核心寄存器布局、函数参数调用约定,以及高频机器指令的映射和对比速查。
| 寄存器功能角色 | x86_64 寄存器 | ARM64 (AArch64) 寄存器 | 特性及调用约定 (ABI) 说明 |
|---|---|---|---|
| 累加 / 第一返回值 | rax | x0 | 保存函数首个整型返回值。在 x86 中是隐含的累加操作器。 |
| 第二返回值 | rdx | x1 | 保存函数第二个整型返回值;x86 中也用于 128位 乘除的高位。 |
| 函数实参 1 | rdi | x0 | 函数调用传递的第 1 个整型/指针参数。 |
| 函数实参 2 | rsi | x1 | 函数调用传递的第 2 个整型/指针参数。 |
| 函数实参 3 | rdx | x2 | 函数调用传递的第 3 个整型/指针参数。 |
| 函数实参 4 | rcx | x3 | 函数调用传递的第 4 个整型/指针参数。 |
| 函数实参 5 | r8 | x4 | 函数调用传递的第 5 个整型/指针参数。 |
| 函数实参 6 | r9 | x5 | 函数调用传递 of 第 6 个整型/指针参数。 |
| 额外函数参数 | 通过堆栈传递 | x6 - x7 | ARM64 有 8 个传参寄存器;x86_64 仅 6 个,超出部分借由堆栈。 |
| 临时寄存器 | r10, r11 | x9 - x15 | Caller-saved。调用者保护。子函数可以随意覆写。 |
| 静态寄存器 | rbx, r12 - r15 | x19 - x28 | Callee-saved。被调用者保护。子函数改动前须入栈保护并复原。 |
| 帧指针 (FP) | rbp | x29 (fp) | 指向当前栈帧底部,辅助编译器定位局部变量和传参。 |
| 链接寄存器 (LR) | 通过堆栈传递 | x30 (lr) | 保存当前函数返回地址。ARM 硬件级提速机制;x86 通过压栈保存。 |
| 栈指针 (SP) | rsp | sp | 指向当前栈帧顶部。 |
| 指令指针 (PC) | rip | pc | 指向下一条即将执行的二进制机器指令。 |
| 操作类型 | x86_64 指令 | ARM64 指令 | 功能与差异示例说明 |
|---|---|---|---|
| 数据传送 | mov rax, rbx | mov x0, x1 | 通用数据寄存器拷贝。x86 是 mov dst, src。 |
| 内存加载 | mov rax, [rbx] | ldr x0, [x1] | 从内存地址(寄存器指针值)加载数据到寄存器。 |
| 内存存储 | mov [rax], rbx | str x1, [x0] | 将寄存器内容存回指定的内存地址。 |
| 对入栈出栈 | 不支持 | stp x0, x1, [sp, #-16]!ldp x0, x1, [sp], #16 | ARM64 的特色对指令,一条指令同时入栈/出栈 2 个寄存器,可自动增加 SP。 |
| 加法运算 | add rax, rbx( rax = rax + rbx) | add x0, x1, x2( x0 = x1 + x2) | x86 为二地址制(覆写 dst);ARM 为三地址制(保留 src1)。 |
| 减法运算 | sub rax, 10 | sub x0, x1, #10 | 自减操作。ARM 支持将常数限制在 12 位之内。 |
| 地址估算 | lea rax, [rbx + rcx*4] | 不支持 (用多条 add/lsl) | x86 特有的估算指令,常被巧妙当成 y = a + b * c 快速算术乘加器。 |
| 位逻辑与 / 或 | and rax, rbxor rax, rbx | and x0, x1, x2orr x0, x1, x2 | 对两个寄存器按二进制位进行 AND / OR 操作。 |
| 逻辑左移 / 右移 | shl rax, 2shr rax, 2 | lsl x0, x1, #2lsr x0, x1, #2 | 左移等效于乘 2 的幂;逻辑右移补零。 |
| 跳转类型 | x86_64 指令 | ARM64 指令 | 功能与标志位说明 |
|---|---|---|---|
| 无条件跳转 | jmp label | b label | 直接跳转到指定的标号。 |
| 条件比较 | cmp rax, rbx | cmp x0, x1 | 比较两值并根据差值更新状态标志寄存器(EFLAGS / NZCV)。 |
| 等于跳转 | je label | b.eq label | 若比较结果相等(ZF = 1 / Z = 1),则执行跳转。 |
| 不等于跳转 | jne label | b.ne label | 若比较结果不相等(ZF = 0 / Z = 0),则执行跳转。 |
| 大于 / 小于跳转 | jg label (有符号)jl label (有符号) | b.gt label (有符号)b.lt label (有符号) | 根据有符号数大小状态执行跳转。 |
| 为零条件跳转 | 先 test rax, rax再 jz label | cbz x0, label | ARM 特色优化指令:直接检测寄存器是否为 0,跳过 CMP 标志位环节。 |
| 不为零条件跳转 | 先 test rax, rax再 jnz label | cbnz x0, label | 直接检测寄存器非 0 并跳转。 |
| 子函数调用 | call func | bl func | x86 压入返回地址入栈;ARM64 将返回地址存入 x30(lr)。 |
| 函数返回 | ret | ret | x86 从栈顶弹出返回地址;ARM64 直接跳转到 x30(lr) 所指地址。 |
⚡ 显卡 AI 算力与兼容性对照
基于 SQLite 提取的 99 款显卡数据,提供单精度浮点(FP32)、AI 核心算力、显存带宽以及各类低精度数据格式(FP16/BF16/FP8/FP4/INT8/INT4)的兼容性矩阵,支持最多 3 款显卡同屏对比与算力性价比换算。
图例说明: FP16 全支持 (矢量/张量单元) FP16 仅矢量单元 (CUDA Core/VALU/XVE) FP16 仅张量单元 (Tensor Core/Matrix Core/XMX) FP16 均不支持 FP16 支持未知
| 对比 | 型号 | 品牌 | 显存 (GB) | 带宽 (GB/s) | FP32 (TFLOPS) | AI 核心算力 | 功耗 (W) | 格式兼容矩阵 (FP16 / BF16 / FP8 / FP4 / INT8 / INT4) |
|---|
🔥 PyTorch 算子硬件加速支持查询
基于 PyTorch 动态分发器 (Dispatcher) 提取的算子注册矩阵,支持根据命名空间、算子名、硬件后端及派发机制进行模糊检索和升降序排列。
- 0%
当前后端: -
Native (原生): 0 (0%)
Composite (组合): 0 (0%)
Fallback (回退): 0 (0%)
Unsupported (不支持): 0 (0%)
总算子数: 0
派发状态图例: Native 原生硬件内核支持 (效率最高) Composite 通过组合其他算子实现 Fallback 后端通用回退运行 - 未实现 / 不支持
| 正在初始化表头... |
|---|
| 正在加载算子支持数据包... |