缩减指令执行方法、处理器、芯片及计算设备与流程

未命名 08-14 阅读:173 评论:0


1.本技术实施例涉及计算机硬件技术领域,尤其涉及一种缩减指令执行方法、处理器、芯片及计算设备。


背景技术:

2.risc-v是基于risc(reduced instruction set computing,精简指令集)的指令集架构,该指令集架构的设计因考虑了现代计算设备(如仓库规模云计算机、高端移动电话和微小嵌入式系统等)在各种高性能用途(如人工智能计算)中的性能与效率等,使得其能够较好地适用于这些现代计算设备。
3.risc-v提供了向量计算能力,也称为向量扩展。在此基础上,支持risc-v的硬件如处理器等可以被应用到诸如图像处理、人工智能或机器学习等诸多领域中。在risc-v指令集中,有一类缩减(reduction)指令,用于将多个数据计算为一个数据输出,包括但不限于sum(加和)指令,max(求最大化)指令,min(求最小化)指令,and(与)指令,or(或)指令,xor(异或)指令,等。在执行缩减指令时,会从vreg(vector register,向量寄存器)读取相关的数据,再进行缩减指令指示的计算。目前,这一类缩减指令在针对vreg中数据的一次缩减计算时,仅能给出一个结果,有可能不能计算到vreg中存储的所有数据。由此,造成缩减指令执行时的资源浪费。


技术实现要素:

4.有鉴于此,本技术实施例提供一种缩减指令执行方案,以至少部分解决上述问题。
5.根据本技术实施例的第一方面,提供了一种缩减指令执行方法,包括:根据缩减指令,确定待缩减向量所在的向量寄存器;其中,所述待缩减向量根据所述向量寄存器的长度,分为多行行向量预先存储于所述向量寄存器中;按照多行行向量的顺序,分别对多个不重叠的相邻行向量进行并行的缩减计算,获得缩减计算结果。
6.根据本技术实施例的第二方面,提供了一种处理器,至少包括:控制器、算术逻辑单元alu、和向量寄存器;其中:所述向量寄存器,用于存储待缩减向量根据所述向量寄存器的长度,划分生成的多行行向量;所述控制器,用于接收缩减指令,并根据所述缩减指令,调用alu对所述向量寄存器中存储的多行行向量执行如第一方面所述的方法。
7.根据本技术实施例的第三方面,提供了一种通用计算芯片,包括:如第二方面所述的处理器。
8.根据本技术实施例的第四方面,提供了一种计算设备,包括:如第三方面所述的通用计算芯片,以及,存储器、通信接口和通信总线;所述通用计算芯片、所述存储器和所述通信接口通过所述通信总线完成相互间的通信。
9.根据本技术实施例提供的方案,在risc-v架构下,当需要对较大数据量的数据(如较大数据量矩阵等)进行缩减计算时,与传统方式中一次只能针对vreg中的一个vl(向量长度)单位的数据进行计算,产生一个缩减计算结果相比,本技术实施例中,一方面,将待进行
缩减计算的数据即待缩减向量通过多行行向量的形式存储于向量寄存器中,使得在执行缩减指令时,可同时对该多行行向量进行访问;另一方面,该多行行向量形成互不重叠的相邻行向量,也可认为是行向量对,本技术实施例的方案中,采用并行缩减计算的方式,同时并行地对该多行行向量进行缩减计算,由此,实现了在不改变微架构的基础上,既能够高效进行缩减计算,又充分利用了vreg中存储的向量数据,避免了vreg资源的浪费。
附图说明
10.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
11.图1为适用本技术实施例方案的一种通用计算芯片的简单结构示意图;
12.图2a为根据本技术实施例一的一种缩减指令执行方法的步骤流程图;
13.图2b为图2a所示实施例中的待缩减向量在向量寄存器中的存储示意图;
14.图2c为图2a所示实施例中的一种alu树的示意图;
15.图2d为图2a所示实施例中的第一种并行缩减计算的示意图;
16.图2e为图2a所示实施例中的第二种并行缩减计算的示意图;
17.图2f为图2a所示实施例中的第三种并行缩减计算的示意图;
18.图3为根据本技术实施例二的一种处理器的结构框图;
19.图4为根据本技术实施例三的一种通用计算芯片的结构框图;
20.图5为根据本技术实施例四的一种计算设备的结构示意图。
具体实施方式
21.为了使本领域的人员更好地理解本技术实施例中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本技术实施例保护的范围。
22.下面结合本技术实施例附图进一步说明本技术实施例具体实现。
23.参照图1,示出了一种可适用本技术实施例方案的示例性通用计算芯片的简单结构示意图。由图1中可见,该通用计算芯片至少包括一个或多个处理器102,本示例中示意为多个,处理器102是通用计算芯片的核心单元,用于负责各种指令和运算,本技术实施例中,该处理器102支持risc-v,并可支持在risc-v基础上的数据缩减计算;存储系统104,可以实现为内存、缓存等任意可用于通用计算芯片内部的存储部件,用于存储各种运算的中间或结果数据;外设控制部件106,用于控制与该通用计算芯片连接的外部设备,如外部i/o(input/output,输入输出)设备等;上述处理器102、存储系统104和外设控制部件106通过总线108进行数据交互,实现通用计算芯片内部的片上互联。
24.在上述结构下,传统方式中,因数据精度的不同,使得缩减指令不能有效利用vreg。例如,对于1024位的vreg和包含32个元素的矩阵行,一个fp32的缩减操作可以使用一个vreg中的所有元素,但对于一个fp16的缩减操作其仅使用一个vreg中的一半元素。由此,
1023bit;第三个子矩阵的32个元素,如元素64-95,被视为第三行行向量,存储入向量寄存器的第1024-1535bit;第四个子矩阵的32个元素,如元素96-127,被视为第四行行向量,存储入向量寄存器的第1536-2047bit。
35.由此,实现了待缩减向量的有效存储和向量寄存器资源的充分使用。
36.步骤s204:按照多行行向量的顺序,分别对多个不重叠的相邻行向量进行并行的缩减计算,获得缩减计算结果。
37.与传统方式中,每次只能对向量寄存器中的向量进行一次缩减计算,输出一个缩减结果不同,本技术实施例中,会对向量寄存器中的所有数据进行并行计算,一次能够输出多个缩减结果。以前述图2b中的示例为例,传统方式中,可能只能对第一行行向量进行缩减计算,如max计算,或者,只能对第一行行向量进行sum计算;而通过本技术实施例的方案,可以在对第一行和第二行行向量进行max计算的同时,对第三行和第四行行向量并行地进行max计算,同时输出两个max计算结果;或者,可以在对第一行和第二行行向量进行sum计算的同时,对第三行和第四行行向量并行地进行sum计算,同时输出两个sum计算结果。由此,既充分利用了向量寄存器的资源,又提升了缩减计算的效率。
38.在一种可行方式中,本步骤可以实现为:从预设的多个层级的alu(arithmetic logic unit,算术逻辑单元)树中,确定与待缩减向量的精度相匹配的层级;使用确定的层级对应的alu,按照多行行向量的顺序,分别对多个不重叠的相邻行向量进行并行的缩减计算。由此,可以快速确定相匹配的alu对待缩减向量进行缩减计算处理,并且,能够在后续根据该alu树的层级,输出所需精度的数据。
39.alu树是一种采用树形数据结构表示的alu的组织方式,其可包括多级,每级对应的数据精度不同,根节点的alu对应的数据精度最高,末级叶节点的alu对应的数据精度较低。可选地,alu树可实现为加法器树。
40.一种示例性的alu树的结构如图2c所示,从中可见,该alu树分为三级,末级(即第三级)叶节点的alu用于进行精度为int8的数据计算,中间级(即第二级)节点的alu用于进行精度为fp16的数据计算,而根节点(即第一级节点)的alu用于进行精度为fp32的数据计算。以图2b所示待缩减向量为示例,则可确定使用该alu树中间级节点的alu进行缩减计算。示例性地,在该中间级节点的两个alu中,可以使用左侧alu进行第一行和第二行的行向量的缩减计算,使用右侧alu进行第三行和第四行的行向量的缩减计算。
41.对于待缩减向量来说,其通常包括多个元素,在将其分为多行后,有可能每行都是偶数个元素,也可能其中存在部分行为奇数个元素。
42.在此情况下,若待缩减向量对应的多行行向量均为包含偶数个元素的行向量,则可以按照多行行向量在向量寄存器中的顺序,以每两行为单位,对多行行向量进行并行的缩减计算。示例性地,若有4行行向量,则第1-2行为一个单位,第3-4行为一个单位;若有6行行向量,则第1-2行为一个单位,第3-4行为一个单位,第5-6行为一个单位,以此类推。
43.若多行行向量均包含偶数个元素,则在进行缩减计算时,被缩减计算的两部分元素间可以对齐,则可以每两行行向量为单位,直接进行计算,即可获得相应结果。一种多行行向量均包含偶数个元素情况下的、示例性的缩减计算的示意如图2d所示。图2d中简单示例为4行行向量,第1-2行为一个单位,第3-4行为一个单位,分别输入对应的两个alu进行缩减计算,计算后即可输出对应的缩减结果。如果目标所需数据精度为fp16,则可再对这两个
alu的输出结果进行缩减计算,获得相应的结果。而若目标所需数据精度为fp32,则需要对fp16对应的缩减结果补0,以生成精度为fp32的向量(图中未示出)。
44.而若待缩减向量对应的多行行向量中存在包含奇数个元素的行向量,该行向量中的最后一个元素不应当与下一行中的首个元素一起进行计算。为了避免这种情况导致的误计算,在一种可行方式中,针对该包含奇数个元素的行向量,将最后一个元素透传至该行向量所对应的父层级alu中;将去除了最后一个元素的该行向量,结合多行行向量中的其它行向量,按照多行行向量在向量寄存器中的顺序,以每两行为单位,对多行行向量进行并行的缩减计算。也即,通过去除该行向量中的最后一个元素,使得该行向量成为包含偶数个元素的新行向量,再与其它包含偶数个元素的行向量一起进行缩减计算。而针对该行向量中的最后一个元素,则可将其传递给更高精度的下一级alu,该下一级alu会将其与其所在行向量对应的alu结果缩减处理为一个结果。通过这种方式,在避免误计算的同时,还无需增加额外的alu,节省了处理资源,节约了方案实现成本。
45.一种上述处理方式的示意如图2e所示,图2e中,设定待缩减向量的精度为int8,假设第一行和第二行行向量包含偶数个元素,第三行行向量包含奇数个元素,第四行至第八行行向量也包含偶数个元素。示例性地,假设第一、二、四、五、六、七、八行行向量均包含4个元素,第三行行向量包含三个元素。则第三行行向量的最后一个元素(即图中所示的“元素2”)将被透传至其父层级的alu,即进行精度为fp16处理的alu中。如图2e中所示,进行精度为int8处理的alu共有四个,从右至左依次为alu-31至alu-34,其中,alu-31用于对第一、二行行向量进行缩减处理,alu-32用于对去除了最后一个元素后的第三及第四行行向量进行缩减处理,alu-33用于对第五、六行行向量进行缩减处理,alu-34用于对第七、八行行向量进行处理。而第三行行向量中的最后一个元素将会被透传至进行精度为fp16处理的alu-21中。后续,该alu-21会将其与从alu-31和alu-32中获得的结果进行缩减处理,而alu-22则会对从alu-33和alu-34获得的结果进行缩减处理。而若最终所需目标为精度为fp32的向量,则根节点alu,即alu-11还会对alu-21和alu-22的向量进行缩减处理并输出。若所需目标精度为fp16,则可直接输出alu-21和alu-22的向量。若所需目标精度为int8,则除直接输出alu-31至alu-34的向量外,还需把第三行最后一个元素也同样输出。
46.但不限于此,在另一种可行方式中,若待缩减向量对应的多行行向量中存在包含奇数个元素的行向量,则可以:针对该行向量,为最后一个元素确定对应的alu,并将除最后一个元素之外的其它元素的alu处理结果,透传至最后一个元素对应的alu中;针对除该行向量外的、多行行向量中的其它行向量,按照多行行向量在向量寄存器中的顺序,以每两行为单位,对多行行向量进行并行的缩减计算。通过这种方式,在避免误计算的同时,还无需增加额外的alu,节省了处理资源,节约了方案实现成本,且无需依赖父层级alu,方案实现更为灵活。
47.一种上述处理方式的示意如图2f所示,图2f中,仍设定待缩减向量的精度为int8,假设第一行和第二行行向量包含偶数个元素,第三行行向量包含奇数个元素,第四行至第八行行向量也包含偶数个元素。示例性地,假设第一、二、四、五、六、七、八行行向量均包含4个元素,第三行行向量包含三个元素。则第三行行向量的最后一个元素对应有一个单独的alu。如图2f中所示,进行精度为int8处理的alu共有五个,从左至右依次为alu-31至alu-35,其中,alu-31用于对第一、二行行向量进行缩减处理,alu-32用于对去除了最后一个元
素后的第三行及第四行行向量进行缩减处理,alu-33用于对第三行行向量中的最后一个元素(即图中所示的“元素2”)及alu-32的处理结果进行缩减处理,alu-34用于对第五、六行行向量进行缩减处理,alu-35用于对第七、八行行向量进行处理。后续,若所需目标精度为int8,则除直接输出alu-31、alu-33、alu-34和alu-35的向量。若所需目标精度为fp16,则alu-21会对从alu-31和alu-33中获得的结果进行缩减处理,而alu-22则会对从alu-34和alu-35获得的结果进行缩减处理,再输出alu-21和alu-22的向量。而若最终所需目标为精度为fp32的向量,则根节点alu,即alu-11还会对alu-21和alu-22的向量进行缩减处理,并输出。
48.优选地,当待缩减向量对应的多行行向量中存在包含奇数个元素的行向量时,vstart=0,其中vstart用于指示开始执行缩减指令的元素编号。
49.通过上述过程,实现了对待缩减向理的有效处理,和对vreg资源的有效利用。此外,由上可见,因最终所需目标结果精度的不同,通过本技术实施例的上述方案,还可以对进行缩减计算的当前层级的多个alu,分别输出其对应的缩减计算的计算结果;和/或,确定目标结果精度在alu树中对应的目标层级,基于目标层级与确定的层级之间的关系,以及多个alu的计算结果,计算获得满足目标结果精度的目标结果。由此,实现了目标结果的灵活获得和输出。
50.通过本实施例,在risc-v架构下,当需要对较大数据量的数据(如较大数据量矩阵等)进行缩减计算时,与传统方式中一次只能针对vreg中的一个vl(向量长度)单位的数据进行计算,产生一个缩减计算结果相比,本技术实施例中,一方面,将待进行缩减计算的数据即待缩减向量通过多行行向量的形式存储于向量寄存器中,使得在执行缩减指令时,可同时对该多行行向量进行访问;另一方面,该多行行向量形成互不重叠的相邻行向量,也可认为是行向量对,本技术实施例的方案中,采用并行缩减计算的方式,同时并行地对该多行行向量进行缩减计算,由此,实现了在不改变微架构的基础上,既能够高效进行缩减计算,又充分利用了vreg中存储的向量数据,避免了vreg资源的浪费。
51.实施例二
52.参照图3,示出了根据本技术实施例二的一种处理器的结构框图。
53.本实施例的处理器至少包括:控制器302、alu304、和向量寄存器306。
54.其中:
55.向量寄存器306,用于存储待缩减向量对应的多行行向量,该多行行向量为根据向量寄存器306的长度,将待缩减向量进行划分生成的多行行向量。示例性地,可以根据向量寄存器306的长度,和待缩减向量的精度,将待缩减向量分为连续的多行行向量;继而,将连续的多行行向量,按照行序存储于向量寄存器306中。
56.控制器302,用于接收缩减指令,并根据缩减指令,调用alu304对向量寄存器306中存储的多行行向量执行如前述实施例一中所述的缩减指令执行方法。
57.可选地,控制器302调用alu304对向量寄存器306中存储的多行行向量执行缩减指令执行方法时,可以从预设的多个层级的alu树中,确定与待缩减向量的精度相匹配的层级;使用确定的层级对应的alu,按照多行行向量的顺序,分别对多个不重叠的相邻行向量进行并行的缩减计算。
58.可选地,若多行行向量均为包含偶数个元素的行向量,则可调用alu304按照多行
行向量在向量寄存器306中的顺序,以每两行为单位,对多行行向量进行并行的缩减计算。
59.可选地,在一种可行方式中,若多行行向量中存在包含奇数个元素的行向量,则可调用alu304针对该行向量,将最后一个元素透传至该行向量所对应的父层级alu中;将去除了最后一个元素的该行向量,结合多行行向量中的其它行向量,按照多行行向量在向量寄存器306中的顺序,以每两行为单位,对多行行向量进行并行的缩减计算。
60.可选地,在另一种可行方式中,若多行行向量中存在包含奇数个元素的行向量,则可调用alu304针对该行向量,为最后一个元素确定对应的alu,并将除最后一个元素之外的其它元素的alu处理结果,透传至最后一个元素对应的alu中;针对除该行向量外的、多行行向量中的其它行向量,按照多行行向量在向量寄存器中的顺序,以每两行为单位,对多行行向量进行并行的缩减计算。
61.可选地,控制器302还用于对确定的层级对应的多个alu,分别输出对应的缩减计算的计算结果;和/或,确定目标结果精度在alu树中对应的目标层级,基于目标层级与所述确定的层级之间的关系,以及多个alu的计算结果,计算获得满足目标结果精度的目标结果。
62.本实施例的处理器可执行前述实施例一中的缩减指令执行方法,并具有该方法实施例对应的效果。本实施例中对具体部件的功能实现的描述较为简单,相关之处可参照实施例一中的相关描述。
63.实施例三
64.参照图4,示出了根据本技术实施例三的一种通用计算芯片的结构框图。
65.本实施例的通用计算芯片包括如上述实施例二中所描述的处理器。示例性地,本实施例的通用计算芯片的结构可如图1中所示,将图1中所示的处理器102使用实施例二中所述的处理器实现即可。
66.本实施例中,对通用计算芯片的描述较为简单,本领域技术人员可参照前述实施例实现本实施例中相关部件或单元,在此不赘述。
67.实施例四
68.参照图5,示出了根据本技术实施例四的一种计算设备的结构示意图,本技术实施例并不对计算设备的具体实现做限定。
69.如图4所示,该计算设备可以包括:通用计算芯片(processor)402、通信接口(communications interface)404、存储器(memory)406、以及通信总线408。
70.其中:
71.通用计算芯片402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
72.通信接口404,用于与其它计算设备进行通信。
73.通用计算芯片402,可以实现为如实施例三中所述的芯片,通过该通用计算芯片402,可以进行向量的并行缩减处理。该并行缩减处理的具体实现可以参照前述实施例中的相关描述,在此不再赘述。
74.本实施例中的存储器406,为通用计算芯片402之外的存储设备,可以包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
75.本实施例中,对计算设备中的通用计算芯片的描述较为简单,本领域技术人员可参照前述实施例实现本实施例中相关部件或单元,在此不赘述。
76.需要说明的是,本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
77.以上实施方式仅用于说明本技术实施例,而并非对本技术实施例的限制,有关技术领域的普通技术人员,在不脱离本技术实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本技术实施例的范畴,本技术实施例的专利保护范围应由权利要求限定。

技术特征:
1.一种缩减指令执行方法,其特征在于,包括:根据缩减指令,确定待缩减向量所在的向量寄存器;其中,所述待缩减向量根据所述向量寄存器的长度,分为多行行向量预先存储于所述向量寄存器中;按照多行行向量的顺序,分别对多个不重叠的相邻行向量进行并行的缩减计算,获得缩减计算结果。2.根据权利要求1所述的方法,其特征在于,在所述根据缩减指令,确定待缩减向量所在的向量寄存器之前,所述方法还包括:根据所述向量寄存器的长度,和所述待缩减向量的精度,将所述待缩减向量分为连续的多行行向量;将连续的多行行向量,按照行序存储于所述向量寄存器中。3.根据权利要求2所述的方法,其特征在于,所述按照多行行向量的顺序,分别对多个不重叠的相邻行向量进行并行的缩减计算,包括:从预设的多个层级的算术逻辑单元alu树中,确定与所述待缩减向量的精度相匹配的层级;使用确定的层级对应的alu,按照多行行向量的顺序,分别对多个不重叠的相邻行向量进行并行的缩减计算。4.根据权利要求1-3任一项所述的方法,其特征在于,所述按照多行行向量的顺序,分别对多个不重叠的相邻行向量进行并行的缩减计算,包括:若所述多行行向量均为包含偶数个元素的行向量,则按照所述多行行向量在所述向量寄存器中的顺序,以每两行为单位,对所述多行行向量进行并行的缩减计算。5.根据权利要求1-3任一项所述的方法,其特征在于,所述按照多行行向量的顺序,分别对多个不重叠的相邻行向量进行并行的缩减计算,包括:若所述多行行向量中存在包含奇数个元素的行向量,则针对该行向量,将最后一个元素透传至该行向量所对应的父层级alu中;将去除了所述最后一个元素的该行向量,结合所述多行行向量中的其它行向量,按照所述多行行向量在所述向量寄存器中的顺序,以每两行为单位,对所述多行行向量进行并行的缩减计算。6.根据权利要求1-3任一项所述的方法,其特征在于,所述按照多行行向量的顺序,分别对多个不重叠的相邻行向量进行并行的缩减计算,包括:若所述多行行向量中存在包含奇数个元素的行向量,则:针对该行向量,为最后一个元素确定对应的alu,并将除最后一个元素之外的其它元素的alu处理结果,透传至最后一个元素对应的alu中;针对除该行向量外的、所述多行行向量中的其它行向量,按照所述多行行向量在所述向量寄存器中的顺序,以每两行为单位,对所述多行行向量进行并行的缩减计算。7.根据权利要求3所述的方法,其特征在于,所述方法还包括:对确定的层级对应的多个alu,分别输出对应的缩减计算的计算结果;和/或,确定目标结果精度在所述alu树中对应的目标层级,基于目标层级与所述确定的层级之间的关系,以及所述多个alu的计算结果,计算获得满足所述目标结果精度的目标结果。
8.一种处理器,其特征在于,至少包括:控制器、算术逻辑单元alu、和向量寄存器;其中:所述向量寄存器,用于存储待缩减向量根据所述向量寄存器的长度,划分生成的多行行向量;所述控制器,用于接收缩减指令,并根据所述缩减指令,调用alu对所述向量寄存器中存储的多行行向量执行如权利要求1-7中任一项所述的方法。9.一种通用计算芯片,其特征在于,包括:如权利要求8中所述的处理器。10.一种计算设备,其特征在于,包括:如权利要求9中所述的通用计算芯片,以及,存储器、通信接口和通信总线;所述通用计算芯片、所述存储器和所述通信接口通过所述通信总线完成相互间的通信。

技术总结
本申请实施例提供了一种缩减指令执行方法、处理器、芯片及计算设备,其中,缩减指令执行方法包括:根据缩减指令,确定待缩减向量所在的向量寄存器;其中,所述待缩减向量根据所述向量寄存器的长度,分为多行行向量预先存储于所述向量寄存器中;按照多行行向量的顺序,分别对多个不重叠的相邻行向量进行并行的缩减计算,获得缩减计算结果。通过本申请实施例,既能够高效进行缩减计算,又充分利用了VREG中存储的向量数据,避免了VREG资源的浪费。避免了VREG资源的浪费。避免了VREG资源的浪费。


技术研发人员:张启晨 高源 刘培业 郑宏忠
受保护的技术使用者:阿里巴巴达摩院(杭州)科技有限公司
技术研发日:2023.05.15
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐