CN113808000B - 数据管理装置及数据管理方法 - Google Patents

数据管理装置及数据管理方法 Download PDF

Info

Publication number
CN113808000B
CN113808000B CN202111372737.2A CN202111372737A CN113808000B CN 113808000 B CN113808000 B CN 113808000B CN 202111372737 A CN202111372737 A CN 202111372737A CN 113808000 B CN113808000 B CN 113808000B
Authority
CN
China
Prior art keywords
data
register
registers
distribution circuit
read distribution
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
CN202111372737.2A
Other languages
English (en)
Other versions
CN113808000A (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.)
Beijing Bilin Technology Development Co ltd
Shanghai Bi Ren Technology Co ltd
Original Assignee
Beijing Bilin Technology Development Co ltd
Shanghai Biren Intelligent Technology Co Ltd
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 Beijing Bilin Technology Development Co ltd, Shanghai Biren Intelligent Technology Co Ltd filed Critical Beijing Bilin Technology Development Co ltd
Priority to CN202111372737.2A priority Critical patent/CN113808000B/zh
Publication of CN113808000A publication Critical patent/CN113808000A/zh
Application granted granted Critical
Publication of CN113808000B publication Critical patent/CN113808000B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multi Processors (AREA)

Abstract

本发明提供一种数据管理装置及数据管理方法。所述数据管理装置包括数据读取分发电路以及多个存器。数据读取分发电路耦接至这些寄存器。数据读取分发电路基于数据请求从外部存储器提取多个数据。数据读取分发电路基于数据请求的数据配置方式将这些寄存器划分为至少一个寄存器群组,将所述多个数据划分为对应所述至少一个寄存器群组的至少一个数据群组,以及将将所述至少一个数据群组中的每一个数据群组的所有数据分发至所述至少一个寄存器群组中的对应寄存器群组的每一个寄存器。

Description

数据管理装置及数据管理方法
技术领域
本发明涉及一种电子装置,且特别涉及一种数据管理装置及数据管理方法。
背景技术
在图形处理单元上的通用计算(general-purpose computing on graphicsprocessing units,GPGPU)是利用处理图形任务的图形处理器来计算原本由中央处理器(central processing unit,CPU)处理的通用计算任务。这些通用计算任务可以与图形处理没有关系。由于图形处理器有强大的并列处理能力和可程序化管线(pipeline),图形处理器也可以处理非图形数据。特别是单指令流多数据流(single instruction multipledata,SIMD),GPGPU在效能上大大超越了传统的CPU应用程序。
在GPGPU的设计中,每个执行单元(execution unit,EU)有一个属于自己的常数寄存器(constant buffer)。在正常工作中,每个执行单元会基于程序执行需求而去自己专用的常数寄存器取用常数数据。在程序执行之前,配置单元发送数据读取请求给常数读取广播单元。常数读取广播单元将收到的数据读取请求转发给外部存储器。在外部存储器返回常数数据后,常数读取广播单元将数据广播给所有的常数寄存器。因此在程序执行的过程中,执行单元可以根据需要而去访问其对应的常数寄存器。
现有的这种工作模式有以下特点:1)常数寄存器只有在程序执行前初始化一次;2)每个常数寄存器的内容完全一致。无论如何,常数寄存器的内容在每个程序的执行过程中无法被更新,致使存储空间利用率较低。再者,如果不同执行单元使用不同的常数数据,在常数寄存器中的有效存放数据少。举例来说,假设n个执行单元使用不同的卷积核(convolution kernel),则这n个卷积核会被存储于每个常数寄存器中。然而,任何一个执行单元只使用这n个卷积核中的一个,而其他未被使用的卷积核将占用大量存储空间。如何更有效率地管理与使用常数寄存器,是本领域的重要技术课题之一。
发明内容
本发明提供一种数据管理装置及数据管理方法,以有效率地管理与使用寄存器(buffer)。
在根据本发明的实施例中,所述数据管理装置包括数据读取分发电路以及多个寄存器。数据读取分发电路耦接至所述多个寄存器。所述数据读取分发电路基于数据请求从外部存储器提取多个数据。所述数据读取分发电路基于所述数据请求的数据配置方式将所述多个寄存器划分为至少一个寄存器群组,将所述多个数据划分为对应所述至少一个寄存器群组的至少一个数据群组,以及将所述至少一个数据群组中的每一个数据群组的所有数据分发至所述至少一个寄存器群组中的对应寄存器群组的每一个寄存器。
在根据本发明的实施例中,所述数据管理方法包括:由数据读取分发电路基于数据请求从外部存储器提取多个数据;由所述数据读取分发电路基于所述数据请求的数据配置方式将所述多个寄存器划分为至少一个寄存器群组;将所述多个数据划分为对应所述至少一个寄存器群组的至少一个数据群组;以及将所述至少一个数据群组中的每一个数据群组的所有数据分发至所述至少一个寄存器群组中的对应寄存器群组的每一个寄存器。
基于上述,本发明诸实施例所述的数据管理装置具有可配置的数据分发功能。在一些实际操作情境中,基于所述数据请求的数据配置方式,数据读取分发电路可以拆分从外部存储器提取的数据而产生多笔经拆分常数数据,以及将多个寄存器划分为多个寄存器群组。数据读取分发电路可以将这些经拆分常数数据一对一地分发给这些寄存器群组。因此,不同寄存器群组的内容可以互不相同,使得数据读取分发电路可以有效率地管理与使用寄存器的存储空间。
附图说明
图1是依照本发明的一实施例的一种数据管理装置的电路方块(circuit block)示意图。
图2是依照本发明的一实施例的一种数据管理方法的流程示意图。
图3是依照本发明的一实施例所绘示,图1所示数据读取分发电路将数据存储至寄存器的数据分发情境示意图。
图4是依照本发明的另一实施例所绘示,图1所示数据读取分发电路将数据存储至寄存器的数据分发情境示意图。
图5是依照本发明的又一实施例所绘示,图1所示数据读取分发电路将数据存储至寄存器的数据分发情境示意图。
附图标记说明
10:外部存储器
100:数据管理装置
110:流处理器簇
111:数据请求
120:数据读取分发电路
130:配置单元
131:数据初始化请求
addr_1、addr_2、addr_m:地址
CB_1、CB_2、CB_3、CB_4、CB_n:寄存器
D_1、D_2、D_3、D_4、D_5、D_6、D_7、D_8:数据
EU_1、EU_2、EU_n:执行单元
S210~S230:步骤。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在附图和描述中用来表示相同或相似部分。
在本案说明书全文(包括权利要求)中所使用的“耦接(或连接)”一词可指任何直接或间接的连接手段。举例而言,若文中描述第一装置耦接(或连接)于第二装置,则应该被解释成该第一装置可以直接连接于该第二装置,或者该第一装置可以透过其他装置或某种连接手段而间接地连接至该第二装置。本案说明书全文(包括权利要求)中提及的“第一”、“第二”等用语是用以命名组件(element)的名称,而并非用来限制组件数量的上限或下限,亦非用来限制组件的次序。另外,凡可能之处,在附图及实施方式中使用相同标号的组件/构件/步骤代表相同或类似部分。不同实施例中使用相同标号或使用相同用语的组件/构件/步骤可以相互参照相关说明。
作为实例,下述诸实施例可以应用于在图形处理单元上的通用计算(general-purpose computing on graphics processing units,GPGPU)的片上常数寄存器(on-chipconstant buffer)或是其他片上常数寄存器的数据管理。举例来说(但不限于此),下述诸实施例可以适用于人工智能(artificial intelligence, AI)的应用场景。下述诸实施例将说明一种可配置的高效的数据管理方式,提高了寄存器(例如常数寄存器)的使用效率,减少了通用寄存器的访问带宽。
图1是依照本发明的一实施例的一种数据管理装置100的电路方块(circuitblock)示意图。图1所示数据管理装置100包括流处理器簇(stream processor cluster)110以及多个寄存器(例如常数寄存器)CB_1、CB_2、…、CB_n。流处理器簇110包括多个执行单元(execution unit,EU)EU_1、EU_2、…、EU_n。寄存器CB_1~CB_n与执行单元EU_1~EU_n的数量n可以是依照实际设计所决定的整数(例如n=2m,m为正整数)。这些执行单元EU_1~EU_n各自具有地址addr_1、addr_2、…、addr_m的存储空间。地址addr_1~addr_m的数量m可以是依照实际设计所决定的整数。这些执行单元EU_1~EU_n一对一地耦接至寄存器CB_1~CB_n。这些执行单元EU_1~EU_n的每一个从寄存器CB_1~CB_n中的一个对应寄存器读取至少一个数据(例如常数)以进行计算。所述计算可以是任何应用程序的计算。举例来说(但不限于此),流处理器簇110所进行的计算可以是人工智能(AI)的程序计算。
图1所示数据管理装置100还包括数据读取分发电路120以及配置单元130。配置单元130耦接至数据读取分发电路120。数据读取分发电路120耦接至这些寄存器CB_1~CB_n。基于数据请求(例如流处理器簇110所发出的数据请求111以及/或是配置单元130所发出的数据初始化请求131),数据读取分发电路120可以从外部存储器10提取多笔(或多个)数据,例如常数数据。然后基于所述数据请求的所述数据配置方式,数据读取分发电路120可以将数据以数据广播(broadcast)以及(或是)数据拆分(split)方式分发给这些寄存器CB_1~CB_n。
外部存储器10可以包括高带宽存储器(High Bandwidth Memory, HBM)、动态随机存取存储器(Dynamic Random Access Memory, DRAM)静态随机存取存储器(StaticRandom-Access Memory, SRAM)、磁阻式随机存取存储器(Magnetoresistive RandomAccess Memory, MRAM)、相变化存储器(Phase-change memory, PRAM),以及阻变式存储器(Resistive Random Access Memory, RRAM)等。
图2是依照本发明的一实施例的一种数据管理方法的流程示意图。请参照图1与图2。在步骤S210中,数据读取分发电路120可以基于数据请求(例如数据请求111以及/或是数据初始化请求131)从外部存储器10提取多个数据。在步骤S220中,基于数据请求(例如数据请求111以及/或是数据初始化请求131)的数据配置方式,数据读取分发电路120可以将寄存器CB_1~CB_n划分为至少一个寄存器群组,以及将从外部存储器10提取的所述多个数据划分为对应所述至少一个寄存器群组的至少一个数据群组。在步骤S230中,数据读取分发电路120可以基将所述至少一个数据群组中的每一个数据群组的所有数据分发至所述至少一个寄存器群组中的对应寄存器群组的每一个寄存器。
举例来说,配置单元130可以发出数据初始化请求131给数据读取分发电路120。数据读取分发电路120可以基于所述数据初始化请求131从外部存储器10提取多个初始数据。基于数据初始化请求131的数据配置方式,数据读取分发电路120可以将这些寄存器CB_1~CB_n划分为多个寄存器群组,以及将所述多个初始数据划分为对应所述至少一个寄存器群组的所述至少一个数据群组。数据读取分发电路120可以将所述至少一个数据群组中的每一个数据群组的所有初始数据分发至所述至少一个寄存器群组中的对应寄存器群组的每一个寄存器。
再举例来说,流处理器簇110在执行应用程序的过程中发出数据请求111给数据读取分发电路120,以实时更新在这些寄存器CB_1~CB_n中的所述应用程序所使用的数据。数据读取分发电路120可以基于数据请求111从外部存储器10提取多笔数据,例如常数数据。基于数据请求111的数据配置方式,数据读取分发电路120可以将这些寄存器CB_1~CB_n划分为多个寄存器群组,以及将所述多个初始数据划分为对应所述至少一个寄存器群组的所述至少一个数据群组。数据读取分发电路120可以将对应所述多个寄存器群组的多个数据群组中的每一个数据群组的所有初始数据广播至对应寄存器群组的每一个寄存器的相同地址。
图3是依照本发明的一实施例所绘示,图1所示数据读取分发电路120将数据(例如常数数据)存储至寄存器CB_1~CB_n的数据分发情境示意图。在图3所示情境范例中,寄存器CB_1~CB_n的数量n被假设为4,而数据读取分发电路120基于数据请求(例如数据请求111以及/或是数据初始化请求131)从外部存储器10提取8笔数据(例如初始数据)D_1、D_2、D_3、D_4、D_5、D_6、D_7与D_8。基于所述数据请求的数据配置方式,数据读取分发电路120决定将寄存器CB_1、CB_2、CB_3与CB_4划分为4个寄存器群组(每一个寄存器群组只有一个寄存器),以及将数据D_1~D_8划分为对应所述4个寄存器群组的4个数据群组。数据读取分发电路120可以基于所述数据请求的数据配置方式,将每一个数据群组的所有初始数据分发至对应寄存器群组的每一个寄存器的相同地址。举例来说,数据读取分发电路120可以将第一个数据群组(数据D_1与D_2)分发给第一个寄存器群组(寄存器CB_1),将第二个数据群组(数据D_3与D_4)分发给第二个寄存器群组(寄存器CB_2),将第三个数据群组(数据D_5与D_6)分发给第三个寄存器群组(寄存器CB_3),以及将第四个数据群组(数据D_7与D_8)分发给第四个寄存器群组(寄存器CB_4)。
在数据读取分发电路120基于所述数据请求的数据配置方式将多个寄存器CB_1~CB_n划分为多个寄存器群组的情况下,数据读取分发电路120将对应所述多个寄存器群组的多个数据群组中的每一个数据群组的所有数据广播至对应寄存器群组的每一个寄存器的相同地址。图4是依照本发明的另一实施例所绘示,图1所示数据读取分发电路120将数据存储至寄存器CB_1~CB_n的数据分发情境示意图。在图4所示情境范例中,寄存器CB_1~CB_n的数量n被假设为4,而数据读取分发电路120基于数据请求(例如数据请求111以及/或是数据初始化请求131)从外部存储器10提取8笔数据(例如初始数据)D_1~D_8。基于所述数据请求的数据配置方式,数据读取分发电路120决定将寄存器CB_1~CB_4划分为2个寄存器群组(每一个寄存器群组有2个寄存器),以及将数据D_1~D_8拆分为对应所述2个寄存器群组的2个数据群组。数据读取分发电路120可以基于所述数据请求的数据配置方式,将这2个数据群组一对一地分发给这2个寄存器群组的相同地址。举例来说,数据读取分发电路120可以基于所述数据请求的数据配置方式将第一个数据群组(数据D_1~D_4)广播给同属第一寄存器群组的所有寄存器CB_1与CB_2的相同地址,以及将第二个数据群组(数据D_5~D_8)广播给同属第二寄存器群组的寄存器CB_3与CB_4的相同地址。
在数据读取分发电路120基于所述数据请求的数据配置方式将所述多个寄存器CB_1~CB_n划分为一个寄存器群组的情况下,数据读取分发电路120将所述多个数据广播至所述多个寄存器的每一个寄存器的相同地址。图5是依照本发明的又一实施例所绘示,图1所示数据读取分发电路120将数据(例如常数数据)存储至寄存器CB_1~CB_n的数据分发情境示意图。在图5所示情境范例中,寄存器CB_1~CB_n的数量n被假设为4,而数据读取分发电路120基于数据请求(例如数据请求111以及/或是数据初始化请求131)从外部存储器10提取8笔数据(例如初始数据)D_1~D_8。基于所述数据请求的数据配置方式,数据读取分发电路120不拆分数据D_1~D_8。在数据读取分发电路120决定不拆分数据D_1~D_8的情况下,数据读取分发电路120可以将寄存器CB_1~CB_4视为同一个寄存器群组,以及数据读取分发电路120可以基于所述数据请求将数据D_1~D_8广播至寄存器CB_1~CB_4的相同地址。
综上所述,诸实施例所述的数据管理装置100具有可配置的数据分发功能。在一些实际操作情境中,基于数据请求(例如数据请求111以及/或是数据初始化请求131)的数据配置方式,数据读取分发电路120可以拆分从外部存储器10提取的数据而产生多个数据群组,以及将多个寄存器CB_1~CB_n划分为多个寄存器群组。数据读取分发电路120可以将这些数据群组一对一地分发给这些寄存器群组。因此,不同寄存器群组的内容可以互不相同,使得数据读取分发电路120可以有效率地管理与使用寄存器CB_1~CB_n的存储空间。
依照不同的设计需求,上述流处理器簇110、数据读取分发电路120以及(或是)配置单元130的实现方式可以是硬件(hardware)、固件(firmware)、软件(software,即程序)或是前述三者中的多者的组合形式。以硬件形式而言,上述流处理器簇110、数据读取分发电路120以及(或是)配置单元130可以实现于集成电路(integrated circuit)上的逻辑电路。上述流处理器簇110、数据读取分发电路120以及(或是)配置单元130的相关功能可以利用硬件描述语言(hardware description languages,例如Verilog HDL或VHDL)或其他合适的编程语言来实现为硬件。举例来说,上述流处理器簇110、数据读取分发电路120以及(或是)配置单元130的相关功能可以被实现于一或多个控制器、微控制器、微处理器、特殊应用集成电路(Application-specific integrated circuit, ASIC)、数字信号处理器(digital signal processor, DSP)、场可程序逻辑门阵列(Field Programmable GateArray, FPGA)及/或其他处理单元中的各种逻辑区块、模块和电路。以软件形式及/或固件形式而言,上述流处理器簇110、数据读取分发电路120以及(或是)配置单元130的相关功能可以被实现为编程码(programming codes)。例如,利用一般的编程语言(programminglanguages,例如C、C++或汇编语言)或其他合适的编程语言来实现上述流处理器簇110、数据读取分发电路120以及(或是)配置单元130。所述编程码可以被记录/存放在“非临时的计算机可读取媒体(non-transitory computer readable medium)”中。在一些实施例中,所述非临时的计算机可读取媒体例如包括带(tape)、碟(disk)、卡(card)、半导体内存、可程序设计的逻辑电路以及(或是)存储装置。所述存储装置包括硬盘(hard disk drive,HDD)、固态硬盘(Solid-state drive,SSD)或是其他存储装置。中央处理器(Central ProcessingUnit,CPU)、控制器、微控制器或微处理器可以从所述非临时的计算机可读取媒体中读取并执行所述编程码,从而实现上述流处理器簇110、数据读取分发电路120以及(或是)配置单元130的相关功能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (18)

1.一种数据管理装置,其特征在于,所述数据管理装置包括:
多个寄存器;以及
数据读取分发电路,耦接至所述多个寄存器,其中所述数据读取分发电路基于数据请求从外部存储器提取多个数据,所述数据读取分发电路基于所述数据请求的数据配置方式将所述多个寄存器划分为至少一个寄存器群组,将所述多个数据划分为一对一地对应所述至少一个寄存器群组的至少一个数据群组,以及将所述至少一个数据群组中的每一个数据群组的所有数据广播至所述至少一个寄存器群组中的对应寄存器群组的每一个寄存器的相同地址。
2.根据权利要求1所述的数据管理装置,其特征在于,在所述数据读取分发电路基于所述数据请求的所述数据配置方式将所述多个寄存器划分为一个寄存器群组的情况下,所述数据读取分发电路将所述多个数据广播至所述多个寄存器的每一个寄存器的相同地址。
3.根据权利要求1所述的数据管理装置,其特征在于,在所述数据读取分发电路基于所述数据请求的所述数据配置方式将所述多个寄存器划分为多个寄存器群组的情况下,所述数据读取分发电路将对应所述多个寄存器群组的多个数据群组中的每一个数据群组的所有数据广播至对应寄存器群组的每一个寄存器的相同地址。
4.根据权利要求1所述的数据管理装置,其特征在于,所述数据管理装置还包括:
配置单元,耦接至所述数据读取分发电路,用以发出数据初始化请求给所述数据读取分发电路,
其中所述数据读取分发电路基于所述数据初始化请求从所述外部存储器提取多个初始数据,所述数据读取分发电路基于所述数据初始化请求的数据配置方式将所述多个寄存器划分为所述至少一个寄存器群组,将所述多个初始数据划分为对应所述至少一个寄存器群组的所述至少一个数据群组,以及将所述至少一个数据群组中的每一个数据群组的所有初始数据分发至所述至少一个寄存器群组中的对应寄存器群组的每一个寄存器。
5.根据权利要求4所述的数据管理装置,其特征在于,所述数据读取分发电路基于所述数据初始化请求的所述数据配置方式将所述每一个数据群组的所有初始数据分发至对应寄存器群组的每一个寄存器的相同地址。
6.根据权利要求4所述的数据管理装置,其特征在于,在所述数据读取分发电路基于所述数据初始化请求的所述数据配置方式将所述多个寄存器划分为多个寄存器群组的情况下,所述数据读取分发电路将对应所述多个寄存器群组的多个数据群组中的每一个数据群组的所有初始数据广播至对应寄存器群组的每一个寄存器的相同地址。
7.根据权利要求1所述的数据管理装置,其特征在于,还包括:流处理器簇,所述流处理器簇包括多个执行单元,其中所述多个执行单元一对一地耦接至所述多个寄存器,以及所述多个执行单元的每一个从所述多个寄存器中的一个对应寄存器读取至少一个数据以进行计算。
8.根据权利要求7所述的数据管理装置,其特征在于,所述流处理器簇输出所述数据请求至所述数据读取分发电路,以实时更新在所述多个寄存器中的数据。
9.根据权利要求1所述的数据管理装置,其特征在于,所述数据为常数数据,所述寄存器为常数寄存器。
10.一种数据管理方法,其特征在于,所述数据管理方法包括:
由数据读取分发电路基于数据请求从外部存储器提取多个数据;
由所述数据读取分发电路基于所述数据请求的数据配置方式将多个寄存器划分为至少一个寄存器群组;
将所述多个数据划分为一对一地对应所述至少一个寄存器群组的至少一个数据群组;以及
将所述至少一个数据群组中的每一个数据群组的所有数据广播至所述至少一个寄存器群组中的对应寄存器群组的每一个寄存器的相同地址。
11.根据权利要求10所述的数据管理方法,其特征在于,所述数据管理方法还包括:
在所述数据读取分发电路基于所述数据请求的所述数据配置方式将所述多个寄存器划分为一个寄存器群组的情况下,由所述数据读取分发电路将所述多个数据广播至所述多个寄存器的每一个寄存器的相同地址。
12.根据权利要求10所述的数据管理方法,其特征在于,所述数据管理方法还包括:
在所述数据读取分发电路基于所述数据请求的所述数据配置方式将所述多个寄存器划分为多个寄存器群组的情况下,由所述数据读取分发电路将对应所述多个寄存器群组的多个数据群组中的每一个数据群组的所有数据广播至对应寄存器群组的每一个寄存器的相同地址。
13.根据权利要求10所述的数据管理方法,其特征在于,所述数据管理方法还包括:
由配置单元发出数据初始化请求给所述数据读取分发电路;
由所述数据读取分发电路基于所述数据初始化请求,从所述外部存储器提取多个初始数据;
由所述数据读取分发电路基于所述数据初始化请求的数据配置方式,将所述多个寄存器划分为所述至少一个寄存器群组;
将所述多个初始数据划分为对应所述至少一个寄存器群组的所述至少一个数据群组;以及
将所述至少一个数据群组中的每一个数据群组的所有初始数据分发至所述至少一个寄存器群组中的对应寄存器群组的每一个寄存器。
14.根据权利要求13所述的数据管理方法,其特征在于,所述数据管理方法还包括:
由所述数据读取分发电路基于所述数据初始化请求的所述数据配置方式,将所述每一个数据群组的所有初始数据分发至对应寄存器群组的每一个寄存器的相同地址。
15.根据权利要求13所述的数据管理方法,其特征在于,所述数据管理方法还包括:
在所述数据读取分发电路基于所述数据初始化请求的所述数据配置方式将所述多个寄存器划分为多个寄存器群组的情况下,由所述数据读取分发电路将对应所述多个寄存器群组的多个数据群组中的每一个数据群组的所有初始数据广播至对应寄存器群组的每一个寄存器的相同地址。
16.根据权利要求10所述的数据管理方法,其特征在于,所述数据管理方法还包括:
由流处理器簇的多个执行单元的每一个从多个寄存器中的一个对应寄存器读取至少一个常数以进行计算,其中所述多个执行单元一对一地耦接至所述多个寄存器。
17.根据权利要求16所述的数据管理方法,其特征在于,所述数据管理方法还包括:
由所述流处理器簇输出所述数据请求至所述数据读取分发电路,以实时更新在所述多个寄存器中的数据。
18.根据权利要求10所述的数据管理方法,其特征在于,所述数据为常数数据,所述寄存器为常数寄存器。
CN202111372737.2A 2021-11-19 2021-11-19 数据管理装置及数据管理方法 Active CN113808000B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111372737.2A CN113808000B (zh) 2021-11-19 2021-11-19 数据管理装置及数据管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111372737.2A CN113808000B (zh) 2021-11-19 2021-11-19 数据管理装置及数据管理方法

Publications (2)

Publication Number Publication Date
CN113808000A CN113808000A (zh) 2021-12-17
CN113808000B true CN113808000B (zh) 2022-04-26

Family

ID=78938476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111372737.2A Active CN113808000B (zh) 2021-11-19 2021-11-19 数据管理装置及数据管理方法

Country Status (1)

Country Link
CN (1) CN113808000B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0483967A3 (en) * 1990-10-29 1993-07-21 Sun Microsystems, Inc. Apparatus for increasing the number of registers available in a computer processor
CN101419541B (zh) * 2007-10-25 2011-03-30 晶心科技股份有限公司 存取多个寄存器其中之一目标寄存器的方法及其相关装置
GB2552154B (en) * 2016-07-08 2019-03-06 Advanced Risc Mach Ltd Vector register access
CN112667354B (zh) * 2020-12-30 2022-05-06 上海壁仞智能科技有限公司 计算机可读取存储介质、虚拟化寄存器装置及访问该装置的方法

Also Published As

Publication number Publication date
CN113808000A (zh) 2021-12-17

Similar Documents

Publication Publication Date Title
US11625807B2 (en) Low power and low latency GPU coprocessor for persistent computing
US11061742B2 (en) System, apparatus and method for barrier synchronization in a multi-threaded processor
US8688962B2 (en) Gather cache architecture
US20150106574A1 (en) Performing Processing Operations for Memory Circuits using a Hierarchical Arrangement of Processing Circuits
US11003606B2 (en) DMA-scatter and gather operations for non-contiguous memory
JP6757791B2 (ja) インメモリ処理及び狭幅データポートを備えたコンピュータデバイス
US8151095B1 (en) System and method for context migration across CPU threads
US9058301B2 (en) Efficient transfer of matrices for matrix based operations
CN113808000B (zh) 数据管理装置及数据管理方法
CN116483536B (zh) 数据调度方法、计算芯片及电子设备
US10915470B2 (en) Memory system
CN115543449B (zh) 处理器设置方法、装置、电子设备及存储介质
JP2007041813A (ja) 情報処理システムおよび情報処理方法
US20160034399A1 (en) Bus-based cache architecture
CN111651124B (zh) Ssd映射表多核分区并行重建方法、装置、设备及介质
US10642734B1 (en) Non-power of two memory configuration
US20220197878A1 (en) Compressed Read and Write Operations via Deduplication
US11782830B2 (en) Cache memory with randomized eviction
US11768614B2 (en) Storage device operation orchestration
US20240220409A1 (en) Unified flexible cache
US20240103860A1 (en) Predicates for Processing-in-Memory
US20210096987A1 (en) Computing device and operation method thereof
US20150160867A1 (en) Multidimenstional storage array access
CN117112136A (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 0106-508, 1st floor, No.26, shangdixin Road, Haidian District, Beijing 100085

Patentee after: Beijing Bilin Technology Development Co.,Ltd.

Country or region after: China

Patentee after: Shanghai Bi Ren Technology Co.,Ltd.

Address before: Room 0106-508, 1st floor, No.26, shangdixin Road, Haidian District, Beijing 100085

Patentee before: Beijing Bilin Technology Development Co.,Ltd.

Country or region before: China

Patentee before: Shanghai Bilin Intelligent Technology Co.,Ltd.