2020 年苹果发布 M1 芯片时很多人第一次听说“ARM 架构打赢了 x86”2024 年之后AI 服务器一卡难求人们又开始重新审视 CPU 的功耗、指令集与算力分配。这两件事看似无关实际上背后是同一场持续了近 50 年的技术战争CISC 与 RISC 的路线之争。先说结论这场战争的胜负其实已经有了答案但不是某一方彻底消灭另一方而是两套设计哲学在现代 CPU 内部完成了融合。今天我们买到的每一颗主流高性能 CPU几乎都同时带着 CISC 的历史包袱和 RISC 的执行基因。想看懂这一切需要先把 CPU 的发明史和指令集架构的演变脉络拉清楚。这篇文章不只讲历史。我会解释指令集ISA、微架构、CISC/RISC 的本质区别梳理从 Intel 4004 到苹果 M 系列的关键转折点然后用 Linux 命令和反汇编演示两种架构在代码层面的差异最后给出 CPU 选型和开发建议包括对“CPU 天梯图”、“深度学习环境搭 CPU 版”、“MIPS 五级流水线设计”这些常见话题的落地判断。1. 为什么这场“架构战争”值得每个开发者了解很多开发者平时只关心代码、框架和中间件认为 CPU 架构是底层硬件的事。但当你真正进入性能调优、云服务器选型、嵌入式开发或者 AI 推理部署时CPU 的指令集和微架构马上会走到面前。举个例子同样一段 PyTorch 代码在 Intel x86 服务器上跑和在 ARM 芯片上跑不仅速度不同连能用的算子优化都可能不同。原因不是“主频高一点低一点”而是 CPU 支持的指令集扩展、内存模型和微架构设计从根本上决定了代码的执行路径。再比如“手机 CPU 天梯图”和“电脑 CPU 天梯图”里的跑分排名表面看是数字高低实际上每一档分数都建立在不同的指令集、不同的功耗约束、不同的散热条件上。真正值得学习的地方在于CISC 与 RISC 之争不是一个“谁更高级”的简单问题而是在不同历史条件下对成本、性能、功耗、软件生态和物理实现的反复权衡。理解这场 50 年战争能帮你看懂 CPU 的基本组成和“CPU 是如何思考问题”的过程理解为什么 x86 长期统治 PC 和服务器而 ARM 统治移动端在面对 CPU 选型、云实例对比、嵌入式平台选择时不再只看天梯图和跑分为后续学习指令集架构、编译原理、处理器设计打下基础。这篇文章适合的读者包括后端开发者、嵌入式工程师、AI 工程化人员、计算机专业学生以及对“CPU 架构”这个概念一直想搞清楚的硬件爱好者。2. 几个必须分清的基础概念指令集、微架构、CISC 与 RISC在进入历史之前先建立一组清晰的概念边界。很多人把“CPU 架构”混为一谈实际上它至少包含两层指令集架构ISA和微架构Microarchitecture。指令集架构是 CPU 与软件之间的“语法契约”。它规定了 CPU 能看懂哪些指令、寄存器有多少个、内存怎么访问、数据格式是什么。汇编程序、编译器后端和操作系统都依赖这套契约。微架构则是 CPU 内部的物理实现方式比如流水线设计、乱序执行、缓存层次、分支预测等。同一个 ISA 可以由完全不同的微架构实现例如 Intel Core 和 AMD Ryzen 都是 x86-64 指令集但内部微架构差异巨大。CISC 全称是 Complex Instruction Set Computer复杂指令集计算机。它的设计思路是让单条指令尽量完成更多工作比如一条指令直接做内存运算、字符串复制、甚至多项式求值从而减少指令数量提高代码密度。CISC 的典型代表是 x86、IBM System/360 等。RISC 全称是 Reduced Instruction Set Computer精简指令集计算机。它的设计思路相反把指令做得短小、规整、数量少每条指令只做一个简单操作比如一次加法、一次内存读取。复杂操作交给编译器组合完成。RISC 的典型代表是 ARM、MIPS、RISC-V、SPARC、Power 等。两者对比如下对比维度CISC 风格RISC 风格指令长度可变长度如 x86 1 到 15 字节固定长度如 ARM、MIPS 多为 32 位指令语义复杂一条指令可完成多步操作简单一条指令对应一个基本操作访存方式指令可直接操作内存数据通常只有 Load/Store 指令访问内存寄存器使用数量相对少操作数可来自内存寄存器数量多运算主要发生在寄存器之间硬件设计大量微程序控制逻辑译码复杂硬布线逻辑为主译码简单、利于流水线典型代表Intel x86、x86-64ARM、MIPS、RISC-V、SPARC、Power需要强调不要把“CISC 比较快”或“RISC 比较省电”当成死规律。这两个词描述的是指令集的设计哲学不是最终性能的充分条件。决定最终性能的是微架构、制程、功耗、编译器、软件生态和散热条件。3. CPU 的发明史从 ENIAC 到 Intel 4004再到微码繁荣CPU 的历史不能用“某天有人发明了 CPU”一句话带过。它经历了从机电、真空管、晶体管到集成电路的漫长演化。1946 年ENIAC 问世。它重达 30 吨使用约 1.8 万只真空管编程靠插线和开关完成。此时的“程序”和“硬件”是同一个东西改成一个问题就要重新连线。这种模式显然无法支撑现代软件生态。真正改变局面的是冯·诺依曼提出的“存储程序”概念把指令和数据都放在内存里CPU 按地址一条条取指令、执行指令。这个“取指-译码-执行”的循环直到今天依旧是所有 CPU 的基本工作方式。可以这样理解CPU 像一个翻译官把内存里的指令序列翻译成内部电路动作。1947 年贝尔实验室发明晶体管替代又大又热的真空管。1958 年集成电路出现多个晶体管可以集成在同一块半导体材料上。随后芯片的集成度不断提升CPU 才有可能成为独立的单一芯片。1971 年Intel 发布了世界上第一款商用微处理器 Intel 4004。它拥有约 2300 个晶体管主频只有 740 kHz最初用于计算器。即使今天看来非常简陋4004 却证明了“一个完整的处理器可以放进一块芯片”。之后Intel 8008、8080、8086 陆续出现x86 指令集的历史从 8086 开始。这一时期还有一个关键设计被大规模引入微程序控制。IBM System/360 在 1964 年前后采用微码技术让每一条复杂指令实际上由 CPU 内部的一段“解释程序”去执行。相当于在 CPU 内部套了一层虚拟化软件看见的是复杂指令硬件实际执行的是一串更小的微操作。这个设计让复杂指令的实现门槛大大降低也直接助长了 CISC 的繁荣。为什么在 1970 年代CISC 思路理所当然因为内存又慢又贵。程序越短占用的内存越少成本越低。如果一条指令能完成复杂操作程序员和编译器就不需要写出很多条简单指令代码密度会更高。在那个环境下复杂指令集是理性的工程选择。4. CISC 的黄金时代与历史包袱CISC 真正走上巅峰是在微处理器从 8 位、16 位走向 32 位的过程中。x86 体系从 1978 年的 8086 开始经过 80286、80386、80486 一路演进每一代为了保持向后兼容都要继承前一代的指令集和行为。这种“二进制兼容”是最强大的商业护城河也是后来最难甩掉的历史包袱。CISC 的优势很容易理解代码密度高。同样的功能用 CISC 指令表达往往比用 RISC 指令更短这对早期内存昂贵、缓存极小的环境很重要。汇编手写相对直接。操作数可以是内存位置不必每次都显式加载到寄存器。指令数量多各种场景下的专用指令丰富编译器可以挑选最合适的指令组合。但 CISC 的问题也随着主频提高日益明显指令长度不一致。x86 指令从 1 字节到 15 字节不等CPU 在译码阶段很难快速判断下一条指令从哪里开始这对流水线非常不友好。复杂指令依赖微码解释额外增加了周期数。一条看起来很厉害的内存运算指令在硬件内部可能要拆成十几个微操作。硬件验证成本高。指令数越多组合状态越多芯片设计越容易出 bug。乱序执行、分支预测等高性能技术在这些可变长指令面前更难实现。有人可能会问x86 发展到今天指令数量还在继续增加吗是的AVX、AVX-512、AES-NI、SHA、AMX 等扩展指令不断加入。严格来说现代 x86 已经比早期 CISC 更加复杂。它的“复杂”不仅体现在历史指令上还体现在为了性能和功能不断加入新指令。如果用一句话概括 CISC 的处境它在兼容性、代码密度和软件生态上赢了但在纯微观执行效率上给自己留下了巨大的工程难题。5. RISC 的崛起一场关于“简单指令”的颠覆实验1975 年左右IBM 的 John Cocke 团队启动了 801 项目目标是设计一台不需要微码、指令极其简单的实验机。他们观察到早期编译器实际使用到的指令只是指令集里很小的一部分相当多复杂指令很少被使用。于是他们尝试把指令集砍掉大半保留最高频的操作让所有指令长度一致、格式规整更容易用硬布线逻辑实现。1980 年前后加州大学伯克利分校的 David Patterson 和 Carlo Séquin 进一步提出了“RISC”这个术语并设计了 RISC-I 和 RISC-II 处理器。同期斯坦福大学的 John Hennessy 也在做 MIPS 项目全称是 Microprocessor without Interlocked Pipeline Stages强调用精简指令配合流水线实现高吞吐。RISC 的核心原则可以归纳为指令数量少每条指令功能简单指令长度固定编码格式统一译码快内存访问主要使用 Load/Store 指令运算在寄存器之间完成提供大量通用寄存器减少内存访问次数面向编译器优化把复杂操作交给软件组合完成硬件尽量简单把有限的芯片面积用来加速高频指令和流水线。这里特别值得强调RISC 不是单纯“删减指令”而是把设计复杂度从硬件转移到软件。CISC 想用一条复杂指令降低程序长度RISC 则通过规整指令和高效流水线提升执行吞吐量。在 1980 年代流水线五级设计逐渐成为标准也就是经典的“取指 IF、译码 ID、执行 EX、访存 MEM、写回 WB”模型。每一条 RISC 指令都有机会在一个时钟周期内完成一个流水级这样 CPU 能够以很高的并行度处理指令流。RISC 的诞生离不开编译器技术的同步进步。寄存器分配、指令调度、延迟槽等编译技术让“简单指令的序列”可以高效运行。没有编译器的发展RISC 很难展现出足够优势。关于 ARM这里有个容易被忽略的细节ARM 诞生于 1985 年左右的英国 Acorn 公司最初叫 Acorn RISC Machine后来才改名为 Advanced RISC Machine。它继承了 RISC 理念但更强调低功耗和精简面积因此后来在嵌入式设备和手机上找到了爆发点。可以这样对比两派的哲学设计哲学CISC 的观点RISC 的观点面对复杂任务用更强大的指令去解决用更多简单指令组合解决硬件资源投入复杂译码和控制逻辑投入寄存器、流水线和缓存软件分工指令语义复杂编译器压力小编译器负责任务分解和调度代表宣言“一条指令完成更多事”“一个周期尽量完成一条指令”6. 1990 年代的分水岭RISC 赢得专业市场x86 守住兼容堡垒进入 1990 年代RISC 处理器在专业领域呈现出明显的技术优势。Sun 的 SPARC、SGI 的 MIPS、IBM 的 Power、DEC 的 Alpha不断在性能榜单上领先。工作站和服务器市场大量采用 RISC 芯片科学研究、图形渲染、数据库等领域迅速转向。但 x86 并没有倒下。Intel 在 1993 年推出 Pentium首次在 x86 处理器中引入超标量执行也就是在一个时钟周期内发射多条指令。1995 年的 Pentium Pro 更进一步把 x86 指令在内部翻译成更简单的微操作micro-ops简称 uops然后再用类似 RISC 的执行核心处理。这个设计影响深远表面上是 CISC 的 x86内部执行引擎已经“RISC 化”。可以这样理解 Pentium Pro 的架构思路前端负责接收 x86 的可变长指令通过译码器拆分成多个微操作核心执行单元用乱序执行、寄存器重命名等 RISC 式技术处理微操作执行完成后再按照 x86 架构规范提交结果保证软件看到的仍是统一指令集。这套“CISC 外壳 RISC 内核”的混合方案让 x86 既保留了完整的软件兼容性又能享受精简指令式微架构的性能提升。这不是一场“主义”的胜利而是工程折中的胜利。同一时期Intel 试图用 IA-64Itanium 架构从底层替换 x86走的是 EPIC显式并行指令计算路线希望通过超长指令和编译器静态调度来获得更高并行度。结果众所周知Itanium 在性能、兼容性、生态和编译器支持上都没能建立优势最终黯然退出。这个案例说明了一个重要规律在 CPU 生态里指令集的创新不一定能战胜兼容性软件生态的惯性有时比理论先进性更强大。AMD 则抓住机会推出了 AMD64也就是现在的 x86-64扩展将 x86 带入 64 位时代并最终被 Intel 采纳。至此x86-64 成为 PC 和数据中心的事实标准MIPS、SPARC 等 RISC 架构在桌面和通用服务器领域逐渐边缘化。7. 移动时代与融合趋势现代 CPU 到底是谁赢了2007 年 iPhone 面世之后计算产业的中心开始从桌面转向移动端。手机对性能的要求不亚于 PC但对功耗的忍耐度极低。ARM 的 RISC 基因在这里展现出了巨大优势指令集精简、面积小、功耗低非常适合电池供电设备。最初很多人以为 ARM 只是“低端处理器”性能不足以挑战桌面。但苹果 M 系列芯片改写了这个认知。M1 基于 ARM 的 AArch64 指令集采用高性能微架构和统一内存架构在能效表现上显著优于同级别 x86 笔记本处理器。之后 Intel 和 AMD 也开始在笔记本端强调能效和大小核架构这是 x86 对移动时代压力的回应。现代高性能 CPU 的格局已经不是“CISC 阵营 vs RISC 阵营”这么简单。两个阵营实质上都在互相学习Intel 和 AMD 的 x86 CPU前端仍然要解码复杂指令但内部早已变成微操作执行引擎。为了能效也出现了大小核混合调度。ARM CPU虽然受到 RISC 理念启发但现代 AArch64 指令集早已不是最早那种“绝对精简”。AArch64 引入了条件指令、SIMDNEON、SVE 向量扩展、矩阵指令等复杂度明显上升。RISC-V作为新晋开源指令集坚持模块化和可扩展设计成为芯片设计领域最受关注的新变量。因此更准确的结论是CISC 与 RISC 的战争在现代 CPU 内部打成了“融合”。前端复杂、后端精简兼顾软件兼容和执行效率。真正决定产品成败的已经不再是“指令集是 CISC 还是 RISC”而是微架构水平、制程工艺、软件生态和系统集成能力。8. 从代码层面观察 CISC 与 RISC一个可操作的小实验前面讲了大量概念现在落到可操作的层面。我准备用三个小实验帮助你把两种指令集风格“看”出来也顺便回应很多读者关心的“CPU 到底是怎么执行代码的”问题。8.1 实验一对比 CISC 风格与 RISC 风格的伪汇编先看 CISC 风格。下面是一段演示性汇编不特指某款 CPU但体现了“内存直接参与运算”的 CISC 特点; 传统复杂指令集风格示意 MUL AX, [2000H] ; AX 寄存器乘以内存地址 2000H 处的值结果写回 AX DEC [2000H] ; 直接对内存地址 2000H 的值做自减再看 RISC 风格。在 MIPS 这类精简指令集中内存数据必须先送到寄存器运算后再写回; 精简指令集风格示意类似 MIPS LW R1, 0(R2) ; 从内存地址 R2 处加载一个字到 R1 MUL R3, R1, R4 ; 寄存器 R1 和 R4 相乘结果存入 R3 SW R3, 0(R2) ; 把 R3 的值存回内存地址 R2 处对比两段代码可以看到CISC 风格里一条 MUL 指令就完成了“取内存、相乘、写回”的组合操作RISC 风格则需要 Load、Mul、Store 三条指令分工完成。但从流水线角度看RISC 的每一条指令格式统一译码更快CPU 内部更容易实现深流水和高发射宽度。8.2 实验二用 Linux 查看当前 CPU 的指令集信息在 Linux 服务器上想知道 CPU 属于什么架构、支持哪些指令集扩展最简单的方法是使用 lscpulscpu | grep -E Architecture|Model name|CPU\(s\)|Flags执行后会看到类似下面的信息这里只展示关键字段Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Model name: Intel(R) Xeon(R) Gold 6330 CPU 2.00GHz CPU(s): 32 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl cpuid tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes hypervisor lahf_lm abm 3dnowprefetch avx avx2 …如果你在 ARM 服务器上执行Architecture 会显示为 aarch64Flags 中不会有 avx2、sse4_2 之类 x86 专属扩展而是会出现 asimd、crc、lse 之类的 ARM 特性。这里的判断视角是一个指令集在诞生时可能追求精简但随着高性能计算需求增加厂商会不断加入 SIMD、加密、压缩、AI 加速等扩展指令。现代 RISC 已经不像教科书里描述得那么“精简”现代 CISC 也不像想象的那么“排挤 RISC 技术”。8.3 实验三编译一个小程序反汇编看指令形态写一个最简单的 C 程序// 文件路径add.c #include stdio.h int main() { int a 5; int b 3; int c a b; printf(%d\n, c); return 0; }在 Linux 上编译gcc -O0 -o add add.c然后反汇编 main 函数objdump -d add | grep -A15 main:在 x86-64 机器上输出会是类似这样的指令序列不同编译器和版本会略有差异0000000000401106 main: ... lea -0x4(%rbp), %eax mov $0x5, -0x4(%rbp) mov $0x3, -0x8(%rbp) mov -0x8(%rbp), %eax mov -0x4(%rbp), %edx add %edx, %eax mov %eax, -0xc(%rbp) mov -0xc(%rbp), %eax mov %eax, %esi ...观察重点在于 x86-64 的指令长度lea、mov、add、jmp 的长度都可能不一样。这就是可变长指令译码器需要扫描字节流才能确定指令边界。如果你在 ARM 64 位板子或云服务器上做同样操作反汇编出来很可能是add w0, w1, w2 ldr x0, [sp, #8] bl printfAArch64 的基础指令基本固定为 32 位格式规整比较容易流水化。这个实验能从二进制层面直观看到两套哲学的差异。8.4 一段“CPU 如何思考”的伪代码为了帮助初学者理解 CPU 执行程序的基本循环这里给出一段简明伪代码while 处理器在运行: instruction MEMORY[PC] # 取指从程序计数器 PC 指向的内存读取指令 PC 4 # PC 指向下一条指令RISC 风格通常固定递增4字节 decode(instruction) # 译码判断指令类型和操作数 execute(instruction) # 执行进行算术、访存或跳转操作实际 CPU 会在此基础上叠加流水线、乱序执行、分支预测、缓存等机制但这个基本循环是理解一切 CPU 工作的起点。9. 常见误区与 CPU 选型建议在大量读者留言和技术讨论中有几个关于 CPU 架构的误区反复出现。这里直接整理成一份“避坑”对照表。疑问/误区表面结论更准确的解释行动建议RISC 一定比 CISC 快手机上的 ARM 芯片跑分很高性能取决于微架构、功耗和缓存不只是指令集根据真实负载测试不要只看架构标签x86 就是 Intel 的Intel 是 x86 的代表AMD 也是 x86-64 的重要玩家华为鲲鹏、Apple M 系列则是 ARM看具体产品和微架构代号ARM 一定省电手机芯片用 ARMApple M 系列高性能 ARM 功耗并不低但能效比强能效比更适合比较同制程同负载CPU 天梯图决定一切分数高就是好 CPU天梯图基于特定测试场景不代表容器服务、数据库推理等真实负载对比同类型工作负载的基准测试深度学习只用 GPUCPU 无所谓服务器重点看显卡数据预处理、数据加载、多路并发请求都由 CPU 承担根据任务配置足够数量核心和内存带宽指令集越复杂越厉害指令多代表功能强复杂指令可能成为流水线和乱序执行的负担关注扩展指令是否真正被软件用到在选型时我建议遵循几个原则一看微架构而不是只看品牌和代号。同一代 Intel Core 和 AMD Ryzen 虽然都支持 x86-64但缓存策略、分支预测、工艺功耗差异很大。二看指令集扩展。对密码学计算支持 AES-NI 的 CPU 会有明显优势对 AI 推理支持 AVX-512 或 AMX 的服务器芯片可能更合适。三看真实工作负载。跑数据库、跑 Web 服务、跑模型训练瓶颈各不相同。用你准备上生产的程序做一次压测比什么天梯图都可靠。四看功耗和整机成本。移动端选 ARM 更合理数据中心则要综合算力、功耗、运维和软件生态。不建议只看单芯片参数。值得一提的是在深度学习环境搭建时CPU 版 PyTorch 不是不能用而是更适合推理和调试场景。如果你只是验证脚本、跑小规模数据CPU 版完全可以如果是大规模训练再考虑 GPU。这时 CPU 的指令集扩展、核心数和内存带宽会影响实际体验。10. 总结与后续学习方向这篇文章从 CPU 的发明出发勾勒了 CISC 与 RISC 近 50 年竞争的关键节点。你至少应该带走这几个判断第一指令集不是 CPU 性能的最终答案微架构、制程、功耗和生态才是。第二x86 靠着兼容性和混合微架构活了下来ARM 靠着低功耗基因统治了移动端RISC-V 则代表着未来芯片设计的新自由度。第三所谓 CISC 与 RISC 之战在现代 CPU 内部已经演变成“前端兼容复杂指令、后端执行精简微操作”的融合模式。如果看完文章想继续深入可以按下面方向推进用 Logisim 设计一个多周期 MIPS CPU亲自体会 RISC 的取指、译码、执行、访存、写回五级流水线阅读 ARM 官方手册中关于 AArch64 寄存器和指令编码的内容理解现代 RISC 指令集的实际复杂度研究 LLVM 或 GCC 的 x86 后端、ARM 后端观察同一份 C 代码如何映射到不同指令集在 Linux 上用 QEMU 模拟不同 CPU 架构运行小实验程序感受跨架构编译和执行细节关注 RISC-V 的生态发展尝试在模拟器或开发板上运行 Linux 和基础工具链。CPU 这个话题看似离日常开发很远但它是所有软件运行的物理根基。理解这 50 年战争不只是为了看懂行业新闻更是为了在硬件快速分化的时代做出更理性的技术决策。当时机成熟这套知识会直接反馈到你的服务器选型、性能调优和嵌入式项目中。
企业数字化 ERP 产品动态
相关推荐
WeKnora:腾讯生产级知识治理引擎实战指南 1. WeKnora不是“另一个RAG工具”,而是腾讯内部知识治理的工程化沉淀WeKnora这个名字,第一次在内部技术分享会上听到时,我下意识以为是某个新出的开源RAG框架——毕竟那会儿满屏都是Llama、Ollama、Chroma、Dify。直到翻到它的GitHub仓库首页… · 2026/9/26 14:36:58
Manus 爆火出圈后|25年什么样的 Agent 会脱颖而出:简单胜于复杂 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 14:36:58
用中转API调用LLM做AI技术探索:TaoToken统一Key接入Python实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 15:43:09
Remotely Save 同步算法 v1 决策表全解析:三类记录源、11 条互斥完备分支与源码印证 数据同步 【免费下载链接】remotely-save Sync notes between local and cloud with smart conflict: S3 (Amazon S3/Cloudflare R2/Backblaze B2/...), Dropbox, webdav (NextCloud/InfiniCLOUD/Synology/...), OneDrive, Google Drive (GDrive), Box, pCloud, Yandex Disk, K… · 2026/9/26 15:43:09
睡前15分钟表达力训练:从即兴卡顿到脱稿演讲的微习惯法 睡前刷手机的时间,足够把表达力练出来。我不是在开玩笑。过去一年,我坚持在睡前做一套15分钟的演讲训练,从开会发言会脸红、即兴表达大脑空白,到现在能当着几十人做脱稿分享,变化是实打实的。这套方法不需要观众、不需… · 2026/9/26 15:43:03
昇腾Atlas 300V Pro 24G部署YOLO:从硬件到推理的完整链路 Atlas这个单词,学地理的人会想到地图册,做 AI 的人会想到华为昇腾的 Atlas 加速卡。最近“atlas部署yolo”和“atlas 300v 24g 是运算加速卡吗”这两个问题被反复问起,说明不少朋友手里已经拿到或者正在考虑入手这张卡,但还没完全… · 2026/9/26 15:43:03
3 条命令搞定 MSEdgeRedirect:把 Edge 重定向还给默认浏览器 3 条命令搞定 MSEdgeRedirect:把 Edge 重定向还给默认浏览器 【免费下载链接】MSEdgeRedirect A Tool to Redirect News, Search, Widgets, Weather and More to Your Default Browser 项目地址: https://gitcode.com/GitHub_Trending/ms/MSEdgeRedirect
点一… · 2026/9/26 15:42:57
YOLOv8n+PyQt5教室行为检测系统实战指南 简介:本资源是一套基于YOLOv8与PyQt5开发的课堂行为实时检测系统,面向教育技术从业者、一线教师及计算机视觉初学者,解决传统课堂人工监管效率低、行为分析粗放等痛点,无需编程基础即可部署使用。压缩包共2000个文件,含… · 2026/9/26 15:42:56
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46