剑池系列开发工具系统规划(一)| 学习笔记

简介: 快速学习剑池系列开发工具系统规划。

开发者学堂课程【剑池系列开发工具 :剑池系列开发工具系统规划(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/734/detail/13095


剑池系列开发工具系统规划(一)

 

内容介绍:

一、 简介

二、 开发工具全貌

三、 开发工具集合

四、 小结

五、下期预告

 

一、简介

整体开发工具集称为剑池开发工具。课题中主要内容为整体开发工具及包含的内容。在开发过程中如何使用好工具集中的组件,使开发效率更高,后续会针对每个工具集的每个点展开讲述。具体从以下四方面进行讲述:

(1) 简介

(2) 开发工具全貌

(3) 开发工具集合

(4) 下期预告

1.平头哥的使命

在市面上宣传的主要有3个产品

(1) 玄铁处理器

(2) 无剑芯片平台

(3) 含光NPU

去年7月25日上海大会发布了业界最高的玄铁处理器 C910,在整个 race five 中,比第二选手超过了40%的性能。其次是无剑 soc 芯片设计平台,在 GitHub 中开放。许多同学在其基础上做了许多有趣的应用。第3个是寒光 NPU,是整个云端推理性能最强的 NPU。整个平头哥的使命就是从端开始到服务器,从云上释放普惠的算点出来,端侧共同打造普惠的芯片出来,整体构建普惠生态。

image.png

整个玄铁处理器分为2个系列:第一个是800系列,称它第一行为自研制定机,800系列中,从最小的超级用号的801到最高性能的860,整个应用领域和性能领域都是全覆盖的,整个成本面积在8位 MCU 级别或 MCU 处理器成本的级别,但是它有32处理性能。 802走的是低功耗低成本的路线; 803有计算与成本平衡;最具特色的805是专门做人工智能加速的,面向市场更多是蓝牙和智能音响,带有智能元素的MCU控制芯片。 807是高能效处理器,810是高性能计算引擎,860是高性能计算架构,以下是资源指令集的整条路线,是玄铁800系列的:

image.png

以下是基于 RISCV 架构的玄铁900系列:

image.png

500系列共有3款处理器,其中910是去年发布的性能最好的 RISC 处理器,目前是12级流水线,可以支持最多16个盒。 整个 hallmark 是7.1每兆赫兹,比第2名多出40%的性能。今年发布的906处理器是5级流水,可以认为与803当量级的处理器,比80 3流水线再深一些的处理器,面向的是高性能 MCU 或高能效的 APP 计算,属于906覆盖的范围。第一款处理器是 RISC 处理器就是902,走的是低成本低功耗路线。图中有2个?,包括流水线集数和名字,表示正在研发当中。但是从布局上看。会往高能效及更高性能方向研究。

 

二、开发工具全貌

开发工具的提出在于推出许多玄铁处理器之后,需要提供较为全面的开发工具给予用户。将玄铁处理器更好的使用起来,同时将玄铁处理器的性能全面发挥,这也就是功能上的保障。其次,将玄铁处理器的性能在用户手上极致发挥。最后希望用户体验最佳,也就是指用户快速上手使用开发芯片。介绍开发工具全貌首先需要介绍规范,规范分为2个部分:

应用二进制接口(ABI)

规范程序二进制存储格式;

规范 CPU 寄存器使用规则;

规范函数调用参数传递规则;

规范函数栈帧布局;

规范软件64位定点运算接口;

规范软件浮点运算接口;

统一接口规范(CSI)

CPU 抽象接口(CSI-Core);

通用外设驱动接口(CSI-Driver);

微内核抽象接口(CSI-Kernel);

通用算法库接口(CSI-DSP);

神经网络加速库接口(CSI-NN);

计算机视觉加速库接口(CSI-CV);

整体ABI主要是规范软件或硬件的 interface,包括CP计算机的使用规则及函数调用规则,二进制存储格式及运算接口规则等,以上内容都会在 ABI 中规定。在开发虚拟机,例如 Java script 时会使用到该规则,规则可以在应用 API 的手册中找到。其次,为了使用户或开发者能更好的共用资源,规定了一个统一接口规范,称之为 CSI。在 CSI 中,会区分各个模块不同的作用。首先用于 CPU 抽象的 interface。会将 CPU 的特权指令操作抽象到 CS core 中。例如,在从802切换到803或在各个 CPU 切换时,使切换更加顺滑。其次,定义了面向外设驱动 CSI Driver,会将阿里云提供的芯片直接用 CSI Driver 来包装,开发时,用同一接口调用,方便开发者。满足驱动、内核、算法、神经网络加速库以及计算机视觉各个方面的开发者。方便用户能够通过接口有更好的实现。阿里云实现了面向玄铁处理器的快速版本,叫 CSI-DSP,更多是面向 DSP 语音信号处理及电子电机控制的加速算法库。 CS-NN 就是将网络加速库抽象出来,CSI-CV 更多是面向计算机视觉,与神经网络有一定交叠,但更多是对图像的识别及处理。以上是整个软硬件接口规范。开发工具全貌如下:

image.png

如图所示,有2个集成开发环境:CDS,CDK。在 graphic interface 上延伸出了图形化。方便用户使用 SDK 的制作方法及框架,图形化的性能分析器,图形化的系统概述分析器,实时调试,以上内容会在集成开发环境中体现。开发环境分为3类,其中一类是编译工具链。目前支持两套编辑系统,分别是 GCC base 和 lv base 基于以上还会存在 CPU 运行时库,CPU 运行时库就是在 CPU 上不支持硬件服务点的时候,仍然能进行服务点计算。由于 CPU 运行式库会有软件浮点的行为,将浮点的操作映射成通用的整形指令。还可能存在语言相关的模拟。例如,除法模拟或调试信息的解析。以上内容都称之为 CPU 运行时库,在该层面做了加速优化,使整个实体效率更高。第三点,会提供整套整套二进制工具,基于 C 库或数学库和软件浮点库等内容。以上为第一大块编译工具链,第二大块是模拟器。模拟器就是在没有硬件的情况下做软件开发使用的工具。模拟器集成了大部分开发板和 CPU,以上内容都能在模拟器中寻找到。可以直接在模拟器上做开发工作。系统如果仅仅只存在 CPU 编译器模拟器或其他真实硬件是没有用的,因为程序会存在一些问题,所以需要调试系统。从整个调试系统来看,存在在线仿真器和调试 monitor。和一些确实系统分为以上几块,以上内容走的是低成本路线。整个开发工具目标明确,希望给用户带来极致极简的开发体验,将许多资源整合在一起,通过调试系统,将开发过程的诊断性提高。例如遇到问题时能快速寻找出问题所在。

相关文章
|
Ubuntu Linux C语言
Ubuntu下安装vscode,并解决终端打不开vscode的问题
Ubuntu下安装vscode,并解决终端打不开vscode的问题
1592 0
|
11月前
|
计算机视觉 Python
Opencv学习笔记(一):如何将得到的图片保存在指定目录以及如何将文件夹里所有图片以数组形式输出
这篇博客介绍了如何使用OpenCV库在Python中将图片保存到指定目录,以及如何将文件夹中的所有图片读取并以数组形式输出。
776 0
Opencv学习笔记(一):如何将得到的图片保存在指定目录以及如何将文件夹里所有图片以数组形式输出
|
数据采集 存储 数据挖掘
Python 爬虫实战之爬拼多多商品并做数据分析
Python爬虫可以用来抓取拼多多商品数据,并对这些数据进行数据分析。以下是一个简单的示例,演示如何使用Python爬取拼多多商品数据并进行数据分析。
|
传感器 监控 物联网
玄铁RISC-V处理器入门与实战-RISC-V 玄铁系列开发板实践-基于玄铁C906处理器的D1 Dock Pro开发实践(下)
玄铁RISC-V处理器入门与实战-RISC-V 玄铁系列开发板实践-基于玄铁C906处理器的D1 Dock Pro开发实践
607 0
|
7月前
|
Cloud Native 架构师 云计算
阿里云新版ACE考试通关经历回顾
阿里云新版ACE考试通关经历回顾
|
6月前
|
监控 Ubuntu Linux
Windows11 WSL2 Ubuntu编译安装perf工具
通过以上步骤,你已经在Windows 11的WSL2中成功编译并安装了 `perf`工具。尽管在WSL2中可能会遇到一些限制,但大部分基本性能分析功能应当可以正常使用。使用 `perf`进行性能分析,可以帮助你更好地理解和优化系统及应用程序的性能。
406 14
|
JSON 关系型数据库 MySQL
MySQL 5.x和8.0区别
性能:8.0的速度要比5.7快2倍,8.0在以下方面带来了更好的性能:读/写负载、IO密集型工作负载、高竞争("hot spot"热点竞争问题)工作负载。
383 3
|
NoSQL Linux Android开发
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
本文介绍了如何在QEMU中挂载虚拟分区、创建和编译简单的Linux内核模块,并在QEMU虚拟机中加载和测试这些内核模块,包括创建虚拟分区、编写内核模块代码、编译、部署以及在QEMU中的加载和测试过程。
529 0
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
显示接口之DBI
对于需要UI的产品来说,都会接触到各种各样的显示接口。接下来的几篇文章我们来整理一下常用的显示接口。
|
小程序 Java API
Java 获取小程序码的两种方式
Java 获取小程序码的两种方式
Java 获取小程序码的两种方式