摘要: 为什么需要智能指针 C++ 作为系统级编程语言,手动内存管理是其核心特性之一,但同时也带来一些问题,比如内存泄漏、野指针等等。 举个例子,函数内 new 对象后,若后续代码抛出异常,执行流无法到达 delete 语句,会直接导致内存泄漏: #include <stdexcept> void unsa 阅读全文
posted @ 2026-03-02 19:58 G777 阅读(6) 评论(0) 推荐(0)
摘要: 参考书籍:《PCI Express Technology 3.0》 INTx#中断机制 INTx#是PCI总线遗留的传统中断机制,其采用的是 INTA#~INTD# 四条物理中断引脚(虚拟中断线),多数设备仅使用 INTA#,INTB#~INTD# 用于多功能设备或多设备共享场景。 通过设备配置空间 阅读全文
posted @ 2026-02-05 20:25 G777 阅读(46) 评论(0) 推荐(0)
摘要: 参考书籍:《PCI Express Technology 3.0》、《PCI Express Base Specification, Rev. 4.0 Version 1.0》 TLP 格式 PCIe 的配置请求与响应通过 事务层包(TLP) 实现,这是与 PCI 并行配置机制的本质区别。它的核心特 阅读全文
posted @ 2026-02-01 16:46 G777 阅读(35) 评论(0) 推荐(0)
摘要: 参考书籍:《PCI Express Base Specification, Rev. 4.0 Version 1.0》 相较于PCI的优势 传统 PCI 采用 32 位并行共享总线设计,所有设备共用带宽,新增设备就会进一步拖慢整体速度;更关键的是,并行传输在高频下会遭遇严重的信号串扰、时钟偏移问题, 阅读全文
posted @ 2026-01-28 21:09 G777 阅读(16) 评论(0) 推荐(0)
摘要: 最近在学习 PCI/PCIe 子系统,因此将学习笔记记录于此,参考的是《PCI Local Bus Specification Revision 3.0》以及韦东山老师的视频教程。 CPU如何与PCI设备交互 在计算机系统中,CPU 与外设交互的核心动作之一,就是内存空间的访问。无论访问的是片内 R 阅读全文
posted @ 2026-01-23 21:56 G777 阅读(20) 评论(0) 推荐(0)
摘要: 参考资料:《ARM Cortex-A(armV7)编程手册V4.0》 MMU(Memory Management Unit,内存管理单元) 是 CPU 中负责虚拟内存与物理内存管理的专用硬件模块,位于 CPU 与主存之间。 MMU 的一个重要功能,是让你能将任务作为独立程序管理 —— 这些程序会运行 阅读全文
posted @ 2026-01-18 20:19 G777 阅读(36) 评论(0) 推荐(0)