《1-携手铸造未来:高性能多核RISC-V与RT-Thread 的融合之旅(1)_20240102141012.pdf》由会员分享,可在线阅读,更多相关《1-携手铸造未来:高性能多核RISC-V与RT-Thread 的融合之旅(1)_20240102141012.pdf(20页珍藏版)》请在三个皮匠报告上搜索。
1、RT-Thread 社区技术工程师社区技术工程师王顺王顺 sssOpen and Easy to Use Operating Systemhttps:/www.rt-thread.io单核单核-多核处理器多核处理器 SMPAMPOpen and Easy to Use Operating Systemhttps:/www.rt-thread.ioWhat is SMP?SMP:对称多处理,是一种计算机系统架构,其中两个或更多的处理器(或处理器对称多处理,是一种计算机系统架构,其中两个或更多的处理器(或处理器核心)共享同一主存储器系统和总线结构核心)共享同一主存储器系统和总线结构。Open an
2、d Easy to Use Operating Systemhttps:/www.rt-thread.ioRT-Thread-SMP整体执行一份操作系统程序整体执行一份操作系统程序将期望执行的任务绑定将期望执行的任务绑定在具体的核心在具体的核心运行运行任务可以依据任务可以依据CPUCPU负荷情况迁移到空闲核负荷情况迁移到空闲核兼容单核兼容单核RT-Thread APIRT-Thread API及软件组件、软件包及软件组件、软件包充分利用多核特性提升计算性能,方便多核编程,充分利用多核特性提升计算性能,方便多核编程,可用于多类应用场合可用于多类应用场合人工智能边缘计算多媒体Open and Ea
3、sy to Use Operating Systemhttps:/www.rt-thread.ioLinux与与 RT-Thread 同时运行于异构多核同时运行于异构多核RV64Linux来完成一些复杂的工作,例如来完成一些复杂的工作,例如存储,网络,显示等;存储,网络,显示等;RTOS则可以用于实时控制,这里运则可以用于实时控制,这里运行行RT-Thread开源操作系统。开源操作系统。在在Linux和和RTOS之间,可以通过标之间,可以通过标准的准的OpenAMP框架进行通信,异系框架进行通信,异系统间的数据交互统间的数据交互Open and Easy to Use Operating Sy
4、stemhttps:/www.rt-thread.ioWhy use SMP?01 性能性能可以将不同的线程按需分配给不同的核心,并行处理,提高程序执行效率。02 简化编程模型简化编程模型处理器均可访问同一存储器,开发者不需要考虑数据在不同处理器之间的移动问题03 节约节约成本成本同等需求下,增强单个核心的成本远高于通过增加核心数量来提升处理器的性能的成本。04 提高安全性能提高安全性能 当前核心无法运行某个任务时,通过软件可以将该任务分配到其他核心。Open and Easy to Use Operating System20242024Cortex-A (开源仓库已有开源仓库已有)qemu
5、-vexpress-a9Cortex-A (开源仓库已有开源仓库已有)qemu-virt64-aarch64(开源仓库已有开源仓库已有)K210https:/www.rt-thread.ioTypical BSP Overview玄铁C908,C910Cortex-M (开源仓库已有开源仓库已有)raspberry-pico 主核(通常为核心0)首先启动,完成系统时钟、存储、外设等初始化,在此期间其他核心处于空闲状态01.核心状态核心状态 各核心的私有栈、中断私有部分、系统定时器私有部分等02.私有资源私有资源移植移植SMP的两个明确的两个明确 不可在某个核心中调用其他核心的私有资源,这样可能
6、会触发异常03.资源调用资源调用Open and Easy to Use Operating Systemhttps:/www.rt-thread.io移植移植RT-Thread SMP 框架框架的三部分修改的三部分修改Open and Easy to Use Operating Systemhttps:/www.rt-thread.io010203Open and Easy to Use Operating Systemhttps:/www.rt-thread.ioRISC-V 玄铁玄铁C908内核内核简介简介 C908 的中断控制器(PIC)采用外置式设计,可以支持在多个cluster 之