1.1 主芯片简介
一、什么是K210芯片?
1.K210是基于RISC-V精简指令集的一款MCU,在众多特色中,芯片架构包含了一个自研的神经网络硬件加速器KPU属于最大特色,可以高性能地进行卷积神经网络运算。在MCU的AI计算方面,K210芯片的算力非常给力,根据嘉楠官网的描述,K210的KPU算力能够达到0.8TFLOPS,这相当于什么水平呢?举个例子,最新树莓派4B的算力不到0.1TFLOPS,而以神经网络处理为卖点的Jetson Nano拥有128个CUDA单元,算力也仅仅是0.47TFLOPS。
2.除了KPU的算力优秀之外,K210芯片还有其他一些特色。
3.K210芯片内部是双核CPU,指令集为RISC-V 64位,每个核心内置独立FPU,可以单独进行浮点运算。
4.为了更好地在机器视觉和听觉上发挥作用,K210芯片自带计算卷积人工神经网络加速器KPU,以及处理麦克风阵列的APU,能够进行高性能机器视觉和听觉处理。
5.不仅如此,K210还内置快速傅里叶变换加速器,可以进行复数FFT计算。
6.在性能强劲的前提下,K210芯片还很注重安全性,内置了AES和SHA256算法加速器,为用户的数据安全提供有效保障。
7.再来看看MCU方面的属性,K210芯片具有丰富的外设单元,分别是DVP、JTAG、OTP、FPIOA、GPIO、UART、SPI、RTC、I2S、I2C、WDT、TIMER、PWM,这些外设在实际使用中发挥巨大的作用,基本满足大部分MCU外设的需求。
8.K210还拥有高性能、低功耗的SRAM,总共8M,2M专用于AI计算,6M用于程序;专用外置FLASH接口,增加自身的储存空间;数据传输可使用功能强大的DMA,在数据吞吐能力方面性能优异。
9.以下是K210芯片架构图,仅供参考,具体参考信息可查阅K210芯片的技术手册文档。
二、什么是RISC-V指令集?
RISC-V是一个基于精简指令集(RISC)原则的开源指令集架构(ISA)。V表示第五代精简指令集,是加州大学伯克利分校经过前面四代的改良以及升级得来的。该项目开始于2010年的加州大学伯克利分校,后来经过许多贡献者的辛勤耕耘,经过10年‘磨一剑’,RISC-V指令集已经在全球范围内逐渐活跃,相信不久的将来会有更多更好的RISC-V芯片问世。
RISC-V具有以下特点:
1.完全开源:任何企业都可以自由免费使用RISC-V指令集来制造并营销自己的芯片,而不需要支付高额授权费,并且可以根据自己的需求扩展指令集,自己扩展的指令集不必开放,可以实现差异化发展。
2.架构简单:与主流的X86和ARM架构相比,RISC-V是一个全新的指令集,不需要兼容老旧产品,所以显得格外简洁,整个RISC-V基础指令集只有40多条,加上其他的模块化扩展指令总共也就只有几十条。
3.易于移植,现代操作系统都做了特权级指令和用户级指令的分离,特权指令只能操作系统调用,而用户级指令才能在用户模式调用,保障操作系统的稳定。RISC-V提供了特权级指令和用户级指令,同时提供了详细的RISC-V特权级指令规范和RISC-V用户级指令规范的详细信息,使开发者能非常方便的移植linux和unix系统到RISC-V平台。
4.模块化设计:RISC-V架构可以由不同模块组成不同功能,灵活利用模块的组合情况,可以定制属于自己需求的MCU。例如针对小面积低功耗的嵌入式场景,可以选择RV32IC组合的指令集,仅使用机器模式,就可以大大降低功耗和自身体积;而高性能的应用操作系统场景可以选择RV32IMFDC指令集,可以使用机器模式和用户模式,从而实现更高性能。
5.完整的工具链:工具链对于CPU来说,就可以理解为螺丝刀对于螺丝,没有螺丝刀的作用,螺丝是根本无法固定住发挥自身的性能的。工具链是软件开发与CPU交互的窗口,如果没有工具链,软件开发者甚至无法让CPU工作起来。幸运的是,RISC-V由于贡献者多年的热心贡献,社区已经提供了完整的工具链,并且由RISC-V基金会维护该工具链。