- 博客(54)
- 收藏
- 关注
原创 语言图式论与语言游戏说
维特根斯坦的语言哲学经历了从前期"语言图式论"到后期"语言游戏说"的根本转向。前期理论认为语言是世界的逻辑图式,强调语言与世界具有逻辑同构关系,追求精确严密的理想语言;后期则转向日常语言哲学,提出语言是嵌入生活的游戏活动,意义取决于具体使用而非逻辑对应。这一转变标志着从本质主义、逻辑语言观到反本质主义、实用语言观的深刻变革,对20世纪语言哲学产生了深远影响。
2026-02-01 14:15:14
548
原创 数据库高并发技术:核心原理与工程实践
数据库高并发优化是“架构扩容”与“性能挖潜”的结合,四大核心技术各有侧重:读写分离解决读并发瓶颈,分库分表解决数据容量与写并发瓶颈,缓存中间件降低数据库底层压力,SQL优化挖掘单库性能上限。工程实践中,需结合业务场景(读/写比例、数据量级、一致性要求)选择技术方案,避免过度设计(如小并发场景无需分库分表)。未来,随着云原生、分布式技术的发展,数据库高并发优化将呈现新趋势:云原生数据库(如PolarDB、Spanner)原生支持读写分离、分库分表,简化运维成本;
2026-01-21 23:45:04
632
原创 Linux内核内存布局:核心原理与工程实践
ARM架构下Linux内核内存布局以高效、安全、适配嵌入式/服务器场景为核心,通过线性与动态映射结合、功能分区划分,适配ARM MMU特性与特权级别管控。工程实践的核心是深刻理解ARM32/64位架构差异,根据设备类型(嵌入式/服务器)选择适配的内存分配策略,平衡效率、碎片与安全。未来,随着ARMv9-A架构普及、非易失性内存技术发展及安全需求提升,内核内存布局将向更大有效地址空间、更强安全隔离(如机密计算内存布局)、更优异构内存适配方向演进,为ARM平台在各领域的应用提供更高效的内存管理支撑。
2026-01-20 23:45:12
600
原创 NUMA(Non-Uniform Memory Access)技术核心原理与工程实践报告
NUMA(非一致内存访问)技术通过将多处理器系统划分为多个节点(包含本地CPU、内存和I/O),解决传统SMP架构的带宽瓶颈问题。每个节点优先访问本地内存(延迟60-100ns),远程访问延迟增加2-3倍。主流实现包括Intel的UPI互连和AMD的Infinity Fabric,操作系统通过亲和性调度优化本地访问。NUMA适用于高性能计算、数据库等场景,性能优化关键在于提高本地内存访问比例,减少跨节点通信。Linux等系统提供numactl等工具支持NUMA配置与监控。
2026-01-20 21:54:02
737
原创 内存泄露(Memory Leak)核心原理与工程实践报告
内存泄露是指程序运行中动态分配的内存未被正确释放,导致内存无法回收利用。常见于堆内存管理不当,如引用丢失、残留或资源未关闭。不同语言的内存泄露特性不同:C/C++多为显性泄露,需手动释放;Java/Python则因垃圾回收机制存在隐性泄露。检测工具包括静态分析(Clang、FindBugs)和动态跟踪(Valgrind、MAT)。排查流程需确认现象、缩小范围、采集数据、分析原因并验证修复效果。典型解决方案包括使用智能指针(C++)、及时清理集合引用(Java)等。
2026-01-18 23:11:16
662
原创 RDMA(Remote Direct Memory Access)技术原理与工程实践报告
RDMA技术通过内核旁路、零拷贝和CPU卸载三大机制,突破传统网络通信的性能瓶颈,实现高效远程内存访问。其核心组件包括队列对、内存区域、完成队列和保护域,支持四种操作类型:Send/Recv、RDMA Write、RDMA Read和原子操作。主流实现方案有InfiniBand、RoCEv2和iWARP,分别适用于超算中心、云数据中心和广域网场景。工程实践中需配置无损网络、优化内存管理,并确保软硬件环境兼容。RDMA已成为高性能计算、AI训练等场景的关键支撑技术。
2026-01-18 20:08:51
766
原创 小白也能懂的 STM32 时钟架构:原理+避坑
摘要:本文以通俗易懂的工厂比喻讲解STM32时钟架构原理,重点分析F1系列单PLL设计的优缺点。核心观点包括:时钟频率不是越快越好,需匹配不同外设需求;APB1总线限频36MHz是为保证稳定性;定时器在总线分频时会自动2倍频补偿;RCC模块负责时钟切换的安全过渡。文章特别强调实验室与现场环境的差异,指出高温、干扰等因素会放大时钟配置不当引发的问题,并提供5条实用避坑建议:合理分配时钟频率、重视单PLL风险、遵守APB1限频、正确处理定时器倍频、预留足够时钟稳定时间。
2026-01-18 14:14:50
586
原创 侵入式设计(Intrusive Design)
侵入式设计模式是一种要求调用方修改自身代码结构以适应被调用方约束的设计方法,常见于底层技术领域。其核心特征包括强耦合性、依赖特定结构、高性能优势和较高集成成本。典型应用场景包括C++侵入式容器、大模型推理框架优化和嵌入式系统。
2026-01-11 13:56:42
591
原创 自定义段 + 链接脚本 + 启动文件 实现【段遍历 + 段 PATCH】通用完整方法论
本文介绍了一种嵌入式系统通用的工程技巧,通过自定义段、链接脚本和启动文件配合实现段遍历和段PATCH功能。核心原理是利用编译器段属性将函数/数据标记到自定义段,通过链接脚本定义段布局和边界符号,最终实现两大功能:1)无需显式注册即可批量遍历段内元素;2)运行时将段内容重映射实现动态替换。文章详细阐述了8个通用实现步骤,包括统一元素类型定义、链接脚本配置、启动文件修改以及段遍历和PATCH的具体实现方法。该方案能彻底解耦模块注册逻辑,实现无侵入式的批量初始化和动态补丁功能,适用于各类嵌入式系统开发场景。
2026-01-11 13:45:47
657
原创 进程与线程的上下文加载_保存及内存映射
本文系统分析了进程与线程的上下文管理机制,重点比较了两者在上下文组成、加载/保存流程及内存映射方面的差异。进程作为资源分配单位,其上下文包含完整的内核态/用户态执行状态和独立的页表映射,切换时需刷新TLB,开销较大;而线程作为轻量级执行单元,仅保存寄存器等执行状态,共享进程的页表,切换时不涉及内存映射变更,效率更高。文章还深入探讨了虚拟内存与物理内存的映射机制,揭示了页表管理和TLB刷新对上下文切换性能的关键影响,为理解操作系统调度原理提供了系统框架。
2026-01-10 22:31:45
560
原创 ARM A核、ARM M核、X86与RISC-V架构:寄存器作用及上下文处理差异报告
本文对比分析了ARM A核、ARM M核、X86和RISC-V四大架构的核心寄存器设计及上下文处理机制。各架构因设计目标不同,在程序计数器(PC)、链接寄存器(LR或等效)、状态寄存器(xPSR/CPSR/EFLAGS/CSR)和通用寄存器等方面存在显著差异。
2026-01-10 17:58:58
751
原创 ARM Cortex-M核 【保存上下文&恢复上下文】
ARM Cortex-M核的中断上下文处理采用"硬件自动+软件手动"分级机制:硬件自动压栈8个核心寄存器(xPSR/PC/LR/R12/R0-R3),软件手动保存剩余8个通用寄存器(R4-R11)。恢复时先手动弹出R4-R11,再通过BX LR指令触发硬件自动出栈。该机制保证了中断前后程序无缝衔接,是M核快速响应中断的关键设计。C语言中断函数中编译器会自动生成上下文保护代码,而汇编需手动实现完整保护流程。双栈指针MSP/PSP实现了特权模式与用户模式的栈空间隔离。
2026-01-10 17:56:01
673
原创 现代公司开发AI编译器的多元技术路线(非LLVM方向全解析)
现代公司开发AI编译器的多元技术路线(非LLVM方向)主要包括四种方案:基于GCC扩展开发适用于工业级嵌入式AI部署;自研全栈编译器实现硬件软件深度协同;基于领域特定语言(DSL)简化AI计算表达;复用TVM、TensorRT等专用框架快速落地。这些方案各有侧重,分别适用于硬件兼容性要求高、追求极致性能、降低开发门槛和快速部署等不同场景。企业在选择技术路线时需权衡开发成本、性能需求和生态适配等因素。
2026-01-08 23:00:05
833
原创 GCC与LLVM编译器深度解析:核心原理与差异对比(小白向)
GCC和LLVM是两种主流编译器,核心差异在于架构设计。GCC采用单体式架构,预处理、编译、汇编和链接阶段紧密耦合,共享内部数据结构(如GIMPLE中间表示),优化针对特定硬件但扩展性差。LLVM采用模块化设计,通过标准化中间表示(LLVM IR)解耦前端、优化器和后端,支持多语言和硬件适配,优化通用且扩展灵活。 GCC优势在于对老旧硬件的成熟支持,但错误提示晦涩;LLVM编译更快,错误诊断友好,模块化便于扩展。例如,新增语言只需开发适配LLVM IR的前端,而GCC需修改全链路代码。
2026-01-08 22:30:52
1108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
4