
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
寄存器编号x3。别名gp性质:它是一个专用寄存器,但在标准 ABI 中,它通常不用于传递参数或保存临时变量,而是固定用于指向全局数据区。特性描述寄存器名x3gp指向目标.sdata段的中心位置有效范围±2KB (共 4KB)初始化者启动代码 (crt0.S受益对象小全局变量指令开销1 条指令 (vs 普通全局变量的 2 条)gp是 RISC-V 为了加速小全局变量访问而预留的一个“锚点”,它把原本
寄存器编号x4。别名tp性质:它是一个专用寄存器,在标准调用约定中,它由操作系统或运行时环境管理,用于实现线程本地存储或多核 Per-CPU 数据机制。在代码中定义一个 Per-CPU 变量(通常放在自定义段,如.percpu// 定义一个每个CPU核心都有的变量gp是“共享的锚点”:大家共用一个地图中心,为了走得快(指令少)。tp是“私有的钥匙”:每人拿不同的钥匙,打开属于自己的房间(数据副本)
场景指令使用机制近距离调用(±1MB 内)单条指令,将 20 位偏移量编码在指令内部。速度快,密度高。远距离调用(超过 ±1MB)双指令组合。AUIPC设置高位地址,JALR完成最终跳转。可覆盖整个地址空间。伪指令写法call func汇编器会自动判断距离。如果近,生成jal;如果远,生成auipcjalr。特性JAL(近距离跳转)AUIPCJALR(远距离跳转)重定位类型(或的简化版)(标准函数
类型时钟分布定时器分布典型用途时钟簇级共享(主流)全局共享每核独立CPU运行频率控制系统计数器全局唯一提供时间基准每核私有接口核内调度、中断外设定时器芯片级共享系统服务、看门狗核心设计理念时钟:按功耗域划分(簇级共享最常见)定时器“共享源头 + 私有接口”的混合架构保证全局时间同步(共享计数器)避免跨核竞争(私有比较器)
你的想法是对的:多线程确实解决了“不 close 导致无法 accept”的矛盾。适用场景:适合连接数不多、逻辑比较复杂的场景。进阶思考:如果连接数成千上万,记得用线程池或epoll来优化。
Socket 是“通用插座”Socket API 的设计精髓在于抽象。它把“通信”这个动作抽象为sendrecvbindaccept等标准接口,而底层的具体实现(是走网线、走蓝牙、还是走内存)则由不同的协议族来驱动。TCP/IP 只是“默认选项”我们平时最常用AF_INET(IPv4) 和AF_INET6(IPv6),所以大家容易产生“Socket 就是 TCP/IP”的误解。实际上,表格里的其他
宏观上:基于模型,通过三次握手建立全双工管道。微观上:基于内核缓冲区的生产者-消费者模型,用户程序与内核通过recv/send进行数据交互。演进上:从一问一答发展到多线程,最终演变为I/O 多路复用的事件驱动架构。,核心是基于客户端-服务端模型。我们可以从“代码流程视角”和“内核数据流视角”两个维度来理解它的架构。宏观上:基于模型,通过三次握手建立全双工管道。微观上:基于内核缓冲区的生产者-消费者
是 Linux 内核中实现的核心函数,它的作用是将物理内存页映射到用户进程的虚拟地址空间。
上驱动生态最为完善。对于新项目,建议优先选择这些平台以获得最好的驱动支持。RT-Thread 在主流嵌入式设备的驱动支持方面表现优秀,特别是在。
RT-Thread 提供了多种同步通信机制,用于协调多线程间的执行顺序和数据交换,确保系统的可靠性和实时性。







