CN112766475B - 处理部件及人工智能处理器 - Google Patents

处理部件及人工智能处理器 Download PDF

Info

Publication number
CN112766475B
CN112766475B CN202011565319.0A CN202011565319A CN112766475B CN 112766475 B CN112766475 B CN 112766475B CN 202011565319 A CN202011565319 A CN 202011565319A CN 112766475 B CN112766475 B CN 112766475B
Authority
CN
China
Prior art keywords
unit
processing
data
processing result
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011565319.0A
Other languages
English (en)
Other versions
CN112766475A (zh
Inventor
裴京
施路平
王冠睿
马骋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN202011565319.0A priority Critical patent/CN112766475B/zh
Publication of CN112766475A publication Critical patent/CN112766475A/zh
Application granted granted Critical
Publication of CN112766475B publication Critical patent/CN112766475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)

Abstract

本公开涉及一种处理部件及人工智能处理器。处理部件包括控制单元、轴突单元、树突单元、胞体单元和路由单元,控制单元用于根据预设的控制信息生成控制指令,以控制轴突单元、树突单元、胞体单元和路由单元。轴突单元用于读取存储部件中存储的处理数据,经数据转换获得第一数据。树突单元用于根据第一数据获得第一处理结果;胞体单元用于读取第一处理结果和/或所述处理数据,获得第二处理结果,路由单元可发送第一处理结果、第二处理结果和/或处理数据。根据本公开的实施例的处理部件,可将处理部件和存储部件设置在计算核心内,无需对核心外部的存储部件进行读写,减少读写数据的资源占用,可满足大数据量的精确运算和快速响应的运算要求。

Description

处理部件及人工智能处理器
技术领域
本公开涉及计算机领域,尤其涉及一种处理部件及人工智能处理器。
背景技术
现有计算机架构中,通常通过传统的CPU(Central Processing Unit,中 央处理器)结合GPU(Graphics Processing Unit,图形处理器)来加速人工智 能中的并行计算。
此外,现有的神经网络硬件加速计算***主要有基于人工神经网络进行 计算的***和基于脉冲神经网络进行计算的***两种方案。
基于人工神经网络的计算***以现有计算架构为基础,通过优化计算和 存储器架构,对某类特定算法或者场景进行加速,从而实现在这一特定场景 下的计算速度、功耗和成本等方面的优化。具体的实现方式包括利用GPU、 FPGA(Field Programmable GateArray,现场可编程门阵列)、DSP(Digital Signal Processor,数字信号处理器)、众核处理器等传统计算***来实现或者 设计专用的集成电路芯片(ASIC)。***所执行算法包括基于人工神经网络 的各类算法,比如全连接网络(MLP)、卷积神经网络(CNN)和循环神经 网络(RNN),用于处理计算机视觉、自然语言处理和***控制等相关问题。
基于脉冲神经网络的计算***则借鉴人脑处理的信息结构和运作规则, 设计异于传统冯诺依曼架构的计算***。其一般采用局部化一体化存储与计 算***的思路,借鉴人脑神经元互联结构,将信息储存在突触连接中;同时 ***采用去中心化的***设计,不同的神经元可以并行的进行计算;神经元 之间采用脉冲(0和1分别表示脉冲的有无)序列传递信息。具体的实现方式 包括模拟、数字或模数混合超大规模集成电路VLSI和基于新型材料或者新型 电子元器件实现神经元或者神经突触模型的电路***,主要用于处理感知、实时性响应、低功耗和手势识别、光流信息处理等低功耗问题。
但是,当前基于CPU与GPU结合来构建可以执行人工智能任务的计算机 结构,其中GPU具有高昂的价格,同时其在需要消耗很高的能量,由于其并 非是特定对于神经网络任务进行优化,在处理不同任务时计算效率不一定都 能达到很高。对于脉冲神经网络等生物启发的人工智能算法,其计算效率很 低,因此凭借CPU与GPU的计算结构,无法高效的完成人工通用智能的计算 任务。
此外,在人工神经网络计算***或脉冲神经网络计算***中,单一的计 算***是对于某一类算法和问题的单独优化,单独的某一神经网络计算范式 无法应对的复杂的人工通用人工智能的任务场景。人工神经网络在处理序列 信息、低功耗事件驱动响应和实时性问题方面上的能力不足;脉冲神经网络 在精确运算、大数据量密集计算上的能力不足。在处理同时需要精确数值处 理和快速响应的场景中单一计算***无法满足计算要求。
发明内容
有鉴于此,本公开提出了一种处理部件及人工智能处理器。
根据本公开的一方面,提供了一种处理部件,包括:所述处理部件应用 于人工智能处理器的计算核心,所述人工智能处理器包括多个计算核心,每 个计算核心包括处理部件及存储部件,所述处理部件包括:控制单元、轴突 单元、树突单元、胞体单元和路由单元,所述控制单元用于:根据预设的控 制信息生成控制指令,以控制轴突单元、树突单元、胞体单元和路由单元中 的至少一个。所述轴突单元用于:在接收到所述控制单元的控制指令的情况 下,读取所述存储部件中存储的处理数据和/或权值数据,并对处理数据和/ 或权值数据进行数据转换处理,获得第一数据。所述树突单元用于:在接收 到所述控制单元的控制指令的情况下,读取所述第一数据,并根据所述第一 数据获得第一处理结果;所述胞体单元用于:在接收到所述控制单元的控制 指令的情况下,读取所述第一处理结果和/或所述处理数据;根据所述第一处 理结果和/或所述处理数据,获得第二处理结果;经由所述路由单元发送所述 第一处理结果、处理数据和/或所述第二处理结果。
在一种可能的实现方式中,所述树突单元根据所述第一数据获得第一处 理结果,包括:对所述第一数据进行乘加阵列处理,获得所述第一处理结果。
在一种可能的实现方式中,所述轴突单元还用于:读取所述第一处理结 果;将所述第一处理结果写入所述存储部件。
在一种可能的实现方式中,所述存储部件中存储有运算参数,所述胞体 单元根据所述第一处理结果和/或所述处理数据,获得第二处理结果,包括: 读取所述存储部件中存储的所述处理数据和/或第一处理结果,以及所述运算 参数;根据所述运算参数,对所述处理数据和/或第一处理结果进行激活处理, 获得所述第二处理结果;将所述第二处理结果写入所述存储部件。
在一种可能的实现方式中,所述存储部件包括输出缓存空间,所述胞体 单元进一步用于:在接收到所述控制单元的控制指令的情况下,读取所述数 据存储空间中存储的所述处理数据、所述第一处理结果和/或所述第二处理结 果;将所述处理数据、所述第一处理结果和/或所述第二处理结果写入所述输 出缓存空间。
在一种可能的实现方式中,所述存储部件存储有运算参数,所述运算参 数包括路由表,所述路由单元进一步用于:在接收到所述控制单元的控制指 令的情况下,读取所述数据存储空间中存储的路由表及所述输出缓存空间中 存储的所述处理数据、所述第一处理结果和/或所述第二处理结果;根据所述 路由表发送所述处理数据、所述第一处理结果和/或所述第二处理结果。
在一种可能的实现方式中,所述路由单元还用于:接收通信数据,所述 通信数据包括来自其他计算核心的数据;将所述通信数据写入所述存储部件。
在一种可能的实现方式中,所述控制指令包括指令集地址信息,以及指 令索引信息,其中,所述指令索引信息用于指示与索引对应的指令是否执行, 所述控制单元进一步用于:将所述指令集地址信息和所述指令索引信息发送 至所述轴突单元、树突单元、胞体单元和路由单元中的至少一个,以使得所 述轴突单元、树突单元、胞体单元和路由单元中的至少一个基于所述指令集 地址信息访问指令集,获取待执行的指令,并根据所述指令索引信息执行所 述待执行的指令。
根据本公开的另一方面,提供了一种人工智能处理器,所述人工智能处 理器包括多个计算核心,所述计算核心包括处理部件及存储部件。
根据本公开的实施例的处理部件,可将处理部件和存储部件设置在计算 核心内,使得存储部件直接接收处理部件的读写访问,无需对核心外部的存 储部件进行读写,减少读写数据的资源占用以及功耗,提高处理效率,且适 用于众核架构的人工智能处理器,可满足大数据量的精确运算和快速响应的 运算要求。且轴突单元、树突单元、胞体单元和路由单元适用于状态控制、 数据存储、矩阵处理、乘加计算和非线性运算等不同功能,可通过轴突单元 实现数据传输,并可以以流水线的形式并行执行任务,可高效的完成人工通 用智能的计算任务。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方 面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了 本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开的实施例的计算核心的示意图。
图2示出根据本公开的实施例的计算核心的应用示意图。
图3示出根据本公开的实施例的处理装置的示意图。
图4示出根据本公开的实施例的电子装置的示意图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附 图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施 例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为 “示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的 具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以 实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路 未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开的实施例的计算核心的示意图。根据本公开实施例 的处理部件应用于人工智能处理器的计算核心,所述人工智能处理器包括多 个计算核心。
如图1所示,每个计算核心包括处理部件及存储部件,所述处理部件包 括:控制单元11、轴突单元12、树突单元13、胞体单元14和路由单元15,
所述控制单元11用于:
根据预设的控制信息生成控制指令,以控制轴突单元、树突单元、胞体 单元和路由单元中的至少一个,
所述轴突单元12用于:
在接收到所述控制单元的控制指令的情况下,读取所述存储部件中存储 的处理数据和/或权值数据,并对处理数据和/或权值数据进行数据转换处理, 获得第一数据;
所述树突单元13用于:
在接收到所述控制单元的控制指令的情况下,读取所述第一数据,并根 据所述第一数据获得第一处理结果;
所述胞体单元14用于:
在接收到所述控制单元的控制指令的情况下,读取所述第一处理结果和 /或所述处理数据;
根据所述第一处理结果和/或所述处理数据,获得第二处理结果;
并经由所述路由单元15发送所述第一处理结果、处理数据和/或所述第二 处理结果。
根据本公开的实施例的处理部件,可将处理部件和存储部件设置在计算 核心内,使得存储部件直接接收处理部件的读写访问,无需对核心外部的存 储部件进行读写,减少读写数据的资源占用以及功耗,提高处理效率,且适 用于众核架构的人工智能处理器,可满足大数据量的精确运算和快速响应的 运算要求。且轴突单元、树突单元、胞体单元和路由单元适用于状态控制、 数据存储、矩阵处理、乘加计算和非线性运算等不同功能,可高效的完成人 工通用智能的计算任务。
在一种可能的实现方式中,所述处理部件应用于人工智能处理器的计算 核心。所述人工智能处理器可以是类脑计算芯片,即,以大脑的处理模式为 参考,通过模拟大脑中神经元对信息的传递与处理,提升处理效率并降低功 耗。所述人工智能处理器可包括多个计算核心,计算核心之间可独立处理不 同的任务,或并行处理同一任务,以提升处理效率。计算核心之间可通过计 算核心内的路由单元进行核间信息传输。在计算核心之内,可设置有处理部 件和存储部件,处理部件可模拟大脑的神经元对信息的处理模式,分为控制 单元、轴突单元、树突单元、胞体单元等,这些处理单元分别对存储部件进 行访问,以与核内的存储部件进行数据交互,并可分别承担各自的数据处理 任务和/或数据传输任务,以获得数据处理结果,或者与其他计算核心进行通 信。本公开对所述存储部件的应用领域不做限制。
图2示出根据本公开的实施例的并行计算方法的示意图,如图2所示,在 相关技术中,通常通过CPU和GPU结合来加速人工智能中的并行计算,例如,CPU和GPU可通过总线调用外部的存储单元中的数据,并可通过总线以及外 部接口与其他设备通信。但是,这种方式通常收到数据传输速度的限制,导 致数据的读写速度较低,限制了处理效率。且能耗较高,计算效率较低。
在一种可能的实现方式中,针对上述问题,本公开的人工智能处理器可 包括多个计算核心,计算核心中可包括处理部件和存储部件,即,处理部件 可访问计算核心内的存储部件,以提升读写速度,减少数据传输的限制,提 高处理效率。
在一种可能的实现方式中,计算核心可包括控制单元、轴突单元、树突 单元、胞体单元和路由单元。控制单元可通过控制指令来控制轴突单元、树 突单元、胞体单元和路由单元,例如,可控制轴突单元从存储部件中读取数 据,并传输至树突单元进行矩阵运算。所述控制指令包括指令集地址信息, 以及指令索引信息,其中,所述指令索引信息用于指示与索引对应的指令是 否执行。控制单元进一步用于:将所述指令集地址信息和所述指令索引信息 发送至所述轴突单元、树突单元、胞体单元和路由单元中的至少一个,以使 得所述轴突单元、树突单元、胞体单元和路由单元中的至少一个基于所述指 令集地址信息访问指令集,获取待执行的指令,并根据所述指令索引信息执 行所述待执行的指令。
在示例中,控制单元可以是指令处理器,指令处理器可根据指令(例如, 静态原语组)调用轴突单元、树突单元、胞体单元和路由单元来执行指令, 例如,可向上述单元发送控制指令,控制指令中包括指令集地址信息(例如, 地址指针)和指令索引信息,通过上述两种信息,可控制由哪个单元来执行 指令,并由需要执行指令的单元根据指令集地址信息访问指令集,获取原语 全码,并执行原语全码。
在示例中,控制单元可将控制指令发送至上述单元,上述单元可根据指 令集地址信息获取指令。例如,所述指令可以是原语,上述单元可根据指令 集地址信息获取该单元所需执行的原语全码,并基于指令索引信息确定是否 执行指令。控制单元可通过上述方式实现空间和时间维度上的任务分配与并 行执行,并可根据处理资源来确定各单元的执行情况,以平衡计算开销,提 高运算效率。
例如,控制单元可将控制指令分别发送至轴突单元、树突单元、胞体单 元和路由单元。根据指令索引信息,其中的一个或多个单元需要执行指令, 例如,轴突单元和树突单元需要执行指令,则轴突单元和树突单元可基于指 令集地址信息访问指令集,获取待执行的指令(即,原语全码),并执行指 令,获得执行结果。在下一次运算中,控制单元可再次向上述单元发送控制 指令,根据指令索引信息,胞体单元可执行基于上一次运算的执行结果进行 进一步运算的指令,因此,胞体单元可基于指令集地址信息查找指令,并基 于指令对上一次运算的执行结果进行处理,获得处理结果。而轴突单元和树 突单元可同时再次执行与上一次运算相同的指令,对其他数据进行运算,获 得本次运算的执行结果。进一步地,运算可继续进行,在第三次运算中,根 据指令索引信息,路由单元可执行指令,则路由单元可基于指令集地址信息 查找指令,并执行指令,例如,该指令为发送胞体单元在前一次运算中的处 理结果等。同时,胞体单元可对前一次运算中轴突单元和树突单元的执行结 果进行进一步处理,获得本次运算中的处理结果。同时,轴突单元和树突单 元可对再次执行与上一次运算相同的指令,对其他数据进行运算,获得本次 运算的执行结果……控制单元可通过上述方式,同时控制多个单元的执行情 况,并可使多个单元并行执行,提高运算效率。
在示例中,控制单元可控制轴突单元中的执行原语(例如,卷积计算原 语),轴突单元每次执行会输出一行或几行输出结果(例如,输出特征图的 一行或几行像素),控制单元可控制胞体单元进行执行原语(例如,池化原 语)。同时,轴突单元可以继续计算特征图其他行的像素……各单元之间可 以流水形式并行执行,处理后的特征图了通过路由单元发送。
在示例中,控制单元可控制轴突单元中执行计算原语(例如,向量累加 原语),每累加得到一定量的输出(例如,满足胞体单元的一次输入处理) 时,胞体单元可执行搬运功能,例如,将上述输出搬运至输出缓存空间,路 由单元可发送输出缓存空间中的数据。同时,轴突单元可执行下一次累加处 理,即,各单元之间可以流水形式并行执行。
在示例中,控制单元可同时控制轴突单元、树突单元、胞体单元和路由 单元,例如,在上述各单元的处理没有数据依赖时(即,不需要等待其他单 元的数据处理结果时),控制单元可同时控制轴突单元进行数据读取和转换、 控制树突单元进行矩阵运算、控制胞体单元进行激活处理以及控制路由单元 进行数据通信。本公开对控制单元对轴突单元、树突单元、胞体单元和路由 单元的控制方式不做限制。
在一种可能的实现方式中,轴突单元可用于与存储部件进行数据交互, 例如,可读取存储部件中的处理数据和/或权值数据,或者将处理结果写入存 储部件。
在示例中,存储部件可包括多个存储单元,其中,第一存储单元可用于 存储处理数据和/或权值数据。例如,第一存储单元可包括一个或多个SRAM, 其中,一部分SRAM可用于存储处理数据(例如,矩阵、向量等待处理的数 据),一部分SRAM可用于存储神经网络的权值数据。
在示例中,人工智能处理器可执行神经网络的处理任务,轴突单元可读 取第一存储单元中存储的权值数据和处理数据以进行数据转换处理,获得第 一数据。例如,可对权值数据进行数据转换处理,以将权值数据转换成向量 或矩阵的数据形式,以便树突单元进行矩阵或向量的乘加运算。
在一种可能的实现方式中,树突单元可用于对轴突单元读取的处理数据 和/或权值数据进行矩阵运算,所述树突单元根据所述第一数据获得第一处理 结果,包括:对所述第一数据进行乘加阵列处理,获得所述第一处理结果。
在示例中,树突单元可具有并行的处理机制,可对第一数据进行乘加阵 列处理。例如,权值数据被转换成矩阵或向量的数据形式,树突单元可将转 换后的权值数据与处理数据进行向量乘加处理或矩阵乘加处理,以获得第一 处理结果。
在一种可能的实现方式中,在获得第一处理结果后,轴突单元可读取该 第一处理结果,并可将第一处理结果写入存储部件。所述轴突单元还用于: 读取所述第一处理结果;将所述第一处理结果写入所述存储部件。
在示例中,轴突单元与存储部件可包括两套数据总线,可分别用于对存 储部件进行只读访问和读写访问。例如,如果无需修改处理数据或权值数据, 则可通过用于只读访问的数据总线对存储部件进行只读访问。如果需要修改 权值数据,或者需要将第一处理结果写入存储部件,则可使用用于读写访问 的数据总线对存储部件进行读写访问。
在一种可能的实现方式中,还可通过用于读写访问的数据总线来改变权 值数据,例如,在神经网络训练的任务中,每个训练步骤均有可能改变权值 数据,则可将改变后的权值数据通过用于读写访问的数据总线写入存储部件, 以代替原权值数据,使得神经网络的权值更准确。
通过这种方式,可通过轴突单元与计算核心之内的存储部件进行数据交 互,并通过树突单元进行并行的乘加阵列处理,可提高数据处理效率,减少 数据交互的资源占用。
在一种可能的实现方式中,所述胞体单元可用于在计算核心内实现数据 的传输以及非线性运算。所述数据传输包括使数据在存储部件的不同存储单 元内传输,或者使数据在处理部件的多个单元内传输。所述非线性运算可包 括张量比较以及LUT(look uptable,查找表)激活函数和LIF(leaky integrate and fire,泄漏积分和触发)神经元等非线性运算等。
在一种可能的实现方式中,所述存储部件中还存储有运算参数,所述胞 体单元根据所述第一处理结果和/或所述处理数据,获得第二处理结果,包括: 读取所述存储部件中存储的所述处理数据和/或第一处理结果,以及所述运算 参数;根据所述运算参数,对所述处理数据和/或第一处理结果进行激活处理, 获得所述第二处理结果;将所述第二处理结果写入所述存储部件。
在一种可能的实现方式中,存储部件可包括第二存储单元,第二存储单 元可用于存储运算参数,例如,激活函数的参数、查找表的参数和路由表的 参数等,胞体单元可基于运算参数进行非线性运算。例如,上述第一处理结 果可以是神经网络处理的中间结果,还需要进行激活处理,才可获得最终结 果(例如,第二处理结果),胞体单元可读取存储部件中第一存储单元内存 储的第一处理结果,并读取存储部件中第二存储单元内存储的运算参数(例 如,激活函数的参数),并基于运算参数对第一处理结果进行激活处理,获 得第二处理结果,该第二处理结果可写入存储部件中。又例如,在某些处理 中,处理数据需要经过激活函数的处理,再进行进一步处理,胞体单元可读 取存储部件中第一存储单元内存储的处理数据,并读取存储部件中第二存储 单元内存储的运算参数,并基于运算参数对处理数据进行激活处理,获得第 二处理结果,该第二处理结果可进行进一步运算,例如,胞体单元可将该第 二处理结果写入第一存储单元,轴突单元可读取该第二处理结果,并经树突 单元进行矩阵运算等处理,本公开对第二处理结果的应用方式不做限制。
在一种可能的实现方式中,所述存储部件包括输出缓存空间,所述胞体 单元进一步用于:在接收到所述控制单元的控制指令的情况下,读取所述数 据存储空间中存储的所述处理数据、所述第一处理结果和/或所述第二处理结 果;将所述处理数据、所述第一处理结果和/或所述第二处理结果写入所述输 出缓存空间。
在示例中,所述第三存储单元可包括所述输出缓存空间,用于缓存向其 他计算核心发送的数据,胞体单元可从存储部件的其他存储单元中读取数据, 并写入第三存储单元,即,实现了数据在存储部件的不同存储单元内传输, 路由单元可读取第三存储单元内的数据,并向其他计算核心发送该数据。例 如,胞体单元可读取第一存储空间中的处理数据、第一处理结果和/或第二处 理结果,并写入第三存储单元,在路由单元执行通信任务时,可读取第三存 储单元中存储的数据,并向其他计算核心发送该数据。
通过这种方式,可通过轴突单元实现数据在不同存储单元和处理单元中 的传输,提高了数据传输效率,并可由轴突单元进行激活等非线性处理,提 高了处理效率。
在一种可能的实现方式中,所述路由单元可用于计算核心之间的通信。 如上所述,轴突单元可将待发送的处理数据、第一处理结果和/或第二处理结 果写入输出缓存空间,路由单元可读取输出缓存空间中的数据,并向其他计 算核心发送,其中,发送的地址可根据运算参数中的路由表确定。所述存储 部件存储有运算参数,所述运算参数包括路由表,所述路由单元进一步用于: 在接收到所述控制单元的控制指令的情况下,读取所述数据存储空间中存储 的路由表及所述输出缓存空间中存储的所述处理数据、所述第一处理结果和 /或所述第二处理结果;根据所述路由表发送所述处理数据、所述第一处理结 果和/或所述第二处理结果。输出缓存空间也可设置在路由单元中,本公开对 输出缓存空间的设置方式不做限制。
在示例中,路由单元可读取待发送的数据,并可从存储部件的第二存储 单元中读取运算参数(例如,路由表),并可基于路由表确定通信地址,进 一步地,路由单元可基于通信地址发送上述待发送的数据。
在一种可能的实现方式中,路由单元还可接收其他计算核心发送的数据, 所述路由单元还用于:接收通信数据,所述通信数据包括来自其他计算核心 的数据;将所述通信数据写入所述存储部件。在示例中,一个计算核心可通 过路由单元向其他计算核心发送数据,另一个计算核心可通过路由单元接收 数据。例如,存储部件的第二存储单元中可包括缓存空间,路由单元可将从 其他计算核心接收的通信数据写入该缓存空间中,以便于进一步处理。例如, 轴突单元可读取该缓存空间中的通信数据,并通过树突单元进行矩阵运算处 理,或者,胞体单元可读取该缓存空间中的通信数据,并进行激活处理,本 公开对通信数据的处理方式不做限制。
在一种可能的实现方式中,上述处理部件的多个处理单元可以以流水线 的形式并行处理数据,以减少等待时间,提高计算效率。在示例中,控制单 元可依次控制轴突单元、树突单元、胞体单元和路由单元执行任务,例如, 轴突单元可读取处理数据1和权值数据,经过数据转换后,由树突单元进行 乘加阵列处理,获得第一处理结果1,并写入存储部件。胞体单元可读取第 一处理结果1,并进行激活处理,获得第二处理结果1,并写入输出缓存空间, 同时,轴突单元可读取处理数据2和权值数据,并由树突单元获得第一处理 结果2。路由单元可读取第二处理结果1并基于路由表发送第二处理结果1, 同时,胞体单元可读取第一处理结果2,并进行激活处理,并将获得的第二 处理结果2写入输出缓存空间,同时,轴突单元可读取处理数据3……通过上 述方式,可使各处理单元并行执行处理,以提高处理效率。
根据本公开的实施例的处理部件,可将处理部件和存储部件设置在计算 核心内,使得存储部件直接接收处理部件的读写访问,无需对核心外部的存 储部件进行读写,减少读写数据的资源占用以及功耗,提高处理效率,且适 用于众核架构的人工智能处理器,可满足大数据量的精确运算和快速响应的 运算要求。且轴突单元、树突单元、胞体单元和路由单元适用于状态控制、 数据存储、矩阵处理、乘加计算和非线性运算等不同功能,可通过轴突单元 实现数据传输,并可以以流水线的形式并行执行任务,可高效的完成人工通 用智能的计算任务。
在一种可能的实现方式中,以下通过一个具体示例来说明处理部件的处 理方式。处理部件可包括控制单元、树突单元、轴突单元、胞体单元和路由 单元,控制单元可控制其他单元与存储部件进行数据交互,以对其中存储的 数据进行处理,并将处理结果进行对外通信等处理。
在一种可能的实现方式中,控制单元可控制轴突单元读取存储部件中的 处理数据和权值数据,轴突单元可对读取的数据进行数据转换处理,例如, 转换成矩阵或向量的形式,并传输至树突单元,以进行矩阵运算或向量运算, 即,进行乘加阵列运算,获得第一处理结果,轴突单元可将第一处理结果写 入存储部件。
在一种可能的实现方式中,控制单元可控制胞体单元读取存储部件中存 储的第一处理结果以及激活函数的参数,并对第一处理结果进行激活处理, 获得第二处理结果,并可将第二处理结果传输至存储部件中的输出缓存空间。
在一种可能的实现方式中,控制单元可控制路由单元读取输出缓存空间 中缓存的第二处理结果,并读取存储部件中存储的路由表,以确定通信地址, 并根据通信地址将第二处理结果发送至其他计算核心。
在一种可能的实现方式中,控制单元可控制路由单元接收其他计算核心 发送的通信数据,并将通信数据写入存储部件,已进行进一步的处理。
在一种可能的实现方式中,本公开还提供了一种人工智能处理器,所述 人工智能处理器包括多个计算核心,所述计算核心包括上述处理部件及上述 存储部件。
图3是示出根据本公开实施例的一种组合处理装置1200的结构图。该组 合处理装置1200包括计算处理装置1202(例如,上述包括多个计算核心的人 工智能处理器)、接口装置1204、其他处理装置1206和存储装置1208。根据 不同的应用场景,计算处理装置中可以包括一个或多个计算装置1210(例如, 计算核心)。
在一种可能的实现方式中,本公开的计算处理装置可以配置成执行用户 指定的操作。在示例性的应用中,该计算处理装置可以实现为单核人工智能 处理器或者多核人工智能处理器。类似地,包括在计算处理装置内的一个或 多个计算装置可以实现为人工智能处理器核或者人工智能处理器核的部分 硬件结构。当多个计算装置实现为人工智能处理器核或人工智能处理器核的 部分硬件结构时,就本公开的计算处理装置而言,其可以视为具有单核结构 或者同构多核结构。
在示例性的操作中,本公开的计算处理装置可以通过接口装置与其他处 理装置进行交互,以共同完成用户指定的操作。根据实现方式的不同,本公 开的其他处理装置可以包括中央处理器(Central Processing Unit,CPU)、图 形处理器(Graphics ProcessingUnit,GPU)、人工智能处理器等通用和/或专 用处理器中的一种或多种类型的处理器。这些处理器可以包括但不限于数字 信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,并且其数目可以根据实际需要来确定。如前所述,仅就本 公开的计算处理装置而言,其可以视为具有单核结构或者同构多核结构。然 而,当将计算处理装置和其他处理装置共同考虑时,二者可以视为形成异构 多核结构。
在一个或多个实施例中,该其他处理装置可以作为本公开的计算处理装 置(其可以具体化为人工智能例如神经网络运算的相关运算装置)与外部数 据和控制的接口,执行包括但不限于数据搬运、对计算装置的开启和/或停止 等基本控制。在另外的实施例中,其他处理装置也可以和该计算处理装置协 作以共同完成运算任务。
在一个或多个实施例中,该接口装置可以用于在计算处理装置与其他处 理装置间传输数据和控制指令。例如,该计算处理装置可以经由所述接口装 置从其他处理装置中获取输入数据,写入该计算处理装置片上的存储装置 (或称存储器)。进一步,该计算处理装置可以经由所述接口装置从其他处 理装置中获取控制指令,写入计算处理装置片上的控制缓存中。替代地或可 选地,接口装置也可以读取计算处理装置的存储装置中的数据并传输给其他 处理装置。
附加地或可选地,本公开的组合处理装置还可以包括存储装置。如图中 所示,该存储装置分别与所述计算处理装置和所述其他处理装置连接。在一 个或多个实施例中,存储装置可以用于保存所述计算处理装置和/或所述其他 处理装置的数据。例如,该数据可以是在计算处理装置或其他处理装置的内 部或片上存储装置中无法全部保存的数据。
根据不同的应用场景,本公开的人工智能芯片可用于服务器、云端服务 器、服务器集群、数据处理装置、机器人、电脑、打印机、扫描仪、平板电 脑、智能终端、PC设备、物联网终端、移动终端、手机、行车记录仪、导航 仪、传感器、摄像头、相机、摄像机、投影仪、手表、耳机、移动存储、可 穿戴设备、视觉终端、自动驾驶终端、交通工具、家用电器、和/或医疗设备。 所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微 波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗 设备包括核磁共振仪、B超仪和/或心电图仪。
图4示出根据本公开实施例的一种电子设备1900的框图。例如,电子设 备1900可以被提供为一服务器。参照图4,电子设备1900包括处理部件1922 (例如,包括多个计算核心的人工智能处理器),其进一步包括一个或多个 计算核心,以及由存储器1932所代表的存储器资源,用于存储可由处理部件 1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括 一个或一个以上的每一个对应于一组指令的模块。此外,处理部件1922被配 置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备 1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连 接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于 存储在存储器1932的操作***,例如Windows ServerTM,Mac OS XTM, UnixTM,LinuxTM,FreeBSDTM或类似。
在本公开中,作为分离部件说明的单元可以是或者也可以不是物理上分 开的,作为单元示出的部件可以是或者也可以不是物理单元。前述部件或单 元可以位于同一位置或者分布到多个网络单元上。另外,根据实际的需要, 可以选择其中的部分或者全部单元来实现本公开实施例所述方案的目的。另 外,在一些场景中,本公开实施例中的多个单元可以集成于一个单元中或者 各个单元物理上单独存在。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有 详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可 以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有 可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应 当认为是本说明书记载的范围。
本公开的电子设备或处理器还可以被应用于互联网、物联网、数据中心、 能源、交通、公共管理、制造、教育、电网、电信、金融、零售、工地、医 疗等领域。进一步,本公开的电子设备或处理器还可以用于云端、边缘端、 终端等与人工智能、大数据和/或云计算相关的应用场景中。在一个或多个实 施例中,根据本公开方案的算力高的电子设备或处理器可以应用于云端设备 (例如云端服务器),而功耗小的电子设备或处理器可以应用于终端设备和/ 或边缘端设备(例如智能手机或摄像头)。在一个或多个实施例中,云端设 备的硬件信息和终端设备和/或边缘端设备的硬件信息相互兼容,从而可以根 据终端设备和/或边缘端设备的硬件信息,从云端设备的硬件资源中匹配出合 适的硬件资源来模拟终端设备和/或边缘端设备的硬件资源,以便完成端云一 体或云边端一体的统一管理、调度和协同工作。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性 的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和 精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显 而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际 应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理 解本文披露的各实施例。

Claims (4)

1.一种处理部件,其特征在于,所述处理部件应用于人工智能处理器的计算核心,所述人工智能处理器包括多个计算核心,每个计算核心包括处理部件及存储部件,所述处理部件包括:控制单元、轴突单元、树突单元、胞体单元和路由单元,
所述控制单元用于:
根据预设的控制信息生成控制指令,以控制轴突单元、树突单元、胞体单元和路由单元中的至少一个;
所述轴突单元用于:
在接收到所述控制单元的控制指令的情况下,读取所述存储部件中存储的处理数据和/或权值数据,并对处理数据和/或权值数据进行数据转换处理,获得第一数据;
所述树突单元用于:
在接收到所述控制单元的控制指令的情况下,读取所述第一数据,并根据所述第一数据获得第一处理结果;
所述胞体单元用于:
在接收到所述控制单元的控制指令的情况下,读取所述第一处理结果和/或所述处理数据;
根据所述第一处理结果和/或所述处理数据,获得第二处理结果;
经由所述路由单元发送所述第一处理结果、处理数据和/或所述第二处理结果;
所述轴突单元还用于:
读取所述第一处理结果;
将所述第一处理结果写入所述存储部件;
所述存储部件中存储有运算参数,所述胞体单元根据所述第一处理结果和/或所述处理数据,获得第二处理结果,包括:
读取所述存储部件中存储的所述处理数据和/或第一处理结果,以及所述运算参数;
根据所述运算参数,对所述处理数据和/或第一处理结果进行激活处理,获得所述第二处理结果;
将所述第二处理结果写入所述存储部件;
所述存储部件存储有运算参数,所述运算参数包括路由表,所述路由单元进一步用于:
在接收到所述控制单元的控制指令的情况下,读取数据存储部件中存储的路由表及输出缓存空间中存储的所述处理数据、所述第一处理结果和/或所述第二处理结果;
根据所述路由表发送所述处理数据、所述第一处理结果和/或所述第二处理结果;
所述路由单元还用于:
接收通信数据,所述通信数据包括来自其他计算核心的数据;
将所述通信数据写入所述存储部件;
所述控制指令包括指令集地址信息,以及指令索引信息,其中,所述指令索引信息用于指示与索引对应的指令是否执行,
所述控制单元进一步用于:
将所述指令集地址信息和所述指令索引信息发送至所述轴突单元、树突单元、胞体单元和路由单元中的至少一个,以使得所述轴突单元、树突单元、胞体单元和路由单元中的至少一个基于所述指令集地址信息访问指令集,获取待执行的指令,并根据所述指令索引信息执行所述待执行的指令;
所述处理部件的各单元以流水形式并行处理数据;
所述各单元以流水形式并行处理数据,包括:控制单元控制轴突单元执行计算原语,每累加得到一定量的输出时,胞体单元执行搬运功能,同时,轴突单元执行下一次累加处理。
2.根据权利要求1所述的部件,其特征在于,所述树突单元根据所述第一数据获得第一处理结果,包括:
对所述第一数据进行乘加阵列处理,获得所述第一处理结果。
3.根据权利要求1所述的部件,其特征在于,所述存储部件包括输出缓存空间,所述胞体单元进一步用于:
在接收到所述控制单元的控制指令的情况下,读取所述数据存储部件中存储的所述处理数据、所述第一处理结果和/或所述第二处理结果;
将所述处理数据、所述第一处理结果和/或所述第二处理结果写入所述输出缓存空间。
4.一种人工智能处理器,其特征在于,所述人工智能处理器包括多个计算核心,所述计算核心包括根据权利要求1至3中任一项所述的处理部件及存储部件。
CN202011565319.0A 2020-12-25 2020-12-25 处理部件及人工智能处理器 Active CN112766475B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011565319.0A CN112766475B (zh) 2020-12-25 2020-12-25 处理部件及人工智能处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011565319.0A CN112766475B (zh) 2020-12-25 2020-12-25 处理部件及人工智能处理器

Publications (2)

Publication Number Publication Date
CN112766475A CN112766475A (zh) 2021-05-07
CN112766475B true CN112766475B (zh) 2023-04-28

Family

ID=75694465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011565319.0A Active CN112766475B (zh) 2020-12-25 2020-12-25 处理部件及人工智能处理器

Country Status (1)

Country Link
CN (1) CN112766475B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086232B (zh) * 2022-06-13 2023-07-21 清华大学 任务处理及数据流生成方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201651A (zh) * 2016-06-27 2016-12-07 鄞州浙江清华长三角研究院创新中心 神经形态芯片的模拟器
US10824937B2 (en) * 2016-12-20 2020-11-03 Intel Corporation Scalable neuromorphic core with shared synaptic memory and variable precision synaptic memory
CN108334942B (zh) * 2017-12-22 2020-08-04 清华大学 神经网络的数据处理方法、装置、芯片和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
何峰等.长短期记忆 LSTM 神经形态芯片 设计的两步映射方法.集成电路应用.2018,全文. *

Also Published As

Publication number Publication date
CN112766475A (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
CN109284823B (zh) 一种运算装置及相关产品
EP3660628B1 (en) Dynamic voltage frequency scaling device and method
CN110298443B (zh) 神经网络运算装置及方法
CN111047022A (zh) 一种计算装置及相关产品
CN110909870B (zh) 训练装置及方法
CN109711540B (zh) 一种计算装置及板卡
CN112766475B (zh) 处理部件及人工智能处理器
CN112817898B (zh) 数据传输方法、处理器、芯片及电子设备
CN116797464A (zh) 计算方法、装置、计算机设备和存储介质
CN111078291B (zh) 运算方法、***及相关产品
CN111079925B (zh) 运算方法、装置及相关产品
CN111966399A (zh) 指令处理方法、装置及相关产品
CN114692847B (zh) 数据处理电路、数据处理方法及相关产品
CN111078125B (zh) 运算方法、装置及相关产品
CN111079914B (zh) 运算方法、***及相关产品
CN111079915B (zh) 运算方法、装置及相关产品
CN111079924B (zh) 运算方法、***及相关产品
CN111079907B (zh) 运算方法、装置及相关产品
CN117520254A (zh) 处理器、芯片、板卡及方法
CN112394990A (zh) 浮点转半精度浮点指令处理装置、方法及相关产品
WO2020125092A1 (zh) 计算装置及板卡
CN112394993A (zh) 半精度浮点转短整形指令处理装置、方法及相关产品
CN112394986A (zh) 半精度浮点转浮点指令处理装置、方法及相关产品
CN116882512A (zh) 一种数据处理方法、模型的训练方法以及相关设备
CN117648091A (zh) 计算图的编译方法及相关产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant