CN102289424B - 一种动态可重构阵列处理器的构令流工作方法 - Google Patents

一种动态可重构阵列处理器的构令流工作方法 Download PDF

Info

Publication number
CN102289424B
CN102289424B CN201110226931XA CN201110226931A CN102289424B CN 102289424 B CN102289424 B CN 102289424B CN 201110226931X A CN201110226931X A CN 201110226931XA CN 201110226931 A CN201110226931 A CN 201110226931A CN 102289424 B CN102289424 B CN 102289424B
Authority
CN
China
Prior art keywords
configuration information
reconfigurable
configuration
data
data stream
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
CN201110226931XA
Other languages
English (en)
Other versions
CN102289424A (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 CN201110226931XA priority Critical patent/CN102289424B/zh
Publication of CN102289424A publication Critical patent/CN102289424A/zh
Application granted granted Critical
Publication of CN102289424B publication Critical patent/CN102289424B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种动态可重构阵列处理器的构令流工作方法,可重构处理器单元通过配置流控制数据流的传输、计算和存储,配置流和数据流具有并发性;将数据流分为可重构处理器单元级别、可重构单元阵列级别和可重构核心级别三级;将可重构处理器单元中的配置信息分为配置信息第零层、第一层和第二层共三层。本发明的一种动态可重构阵列处理器的构令流工作方法,以抽象的分层配置为依据,利用数据流和配置流的并发性来达到节省时间的目的,有效提高了动态可重构处理器的性能。

Description

一种动态可重构阵列处理器的构令流工作方法
技术领域
本发明涉及动态可重构处理器技术领域,特别是涉及一种动态可重构阵列处理器的构令流工作方法。
背景技术
动态可重构处理器是一种新型的处理器构架,其结合了软件的灵活性和硬件的高效性,和传统单核微处理器相比,不仅可以改变控制流,还可以改变数据通路,具有高性能、低功耗、灵活性好、扩展性好的优点,尤其适合于处理计算密集型的算法,例如媒体处理、模式识别、基带处理等。因此动态可重构处理器也成为目前处理器结构的一个重要发展方向,如欧洲微电子中心(IMEC)的ADRES处理器和惠普(HP)的CHESS处理器,前者由紧耦合的超长指令字(Very Long Instruction Word,VLIW)处理器内核和粗颗粒度并行矩阵计算的可重构硬件构成,后者由大量可重构算术计算单元阵列构成。
基于构令流工作模式的动态可重构阵列处理器的核心一般为一个二维的可重构算术逻辑单元(ALU)阵列,该结构是并行计算以提高处理能力的基础。同时,可重构算术逻辑单元间必须拥有较为灵活的互联结构以保证运算通用性,这种可配置的互联结构使得动态可重构处理器可以改变数据流,实现了对数据流的高速并行处理,相对于传统单核、少核处理器大大的提升了计算性能。动态可重构阵列处理器可基于构令流利用抽象的分层配置实现配置流(Configuration Stream)控制数据的传输、计算和存储,
因此,需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新的提出有一种有效措施以克服现有技术存在的缺陷,有效提高动态可重构阵列处理器。
发明内容
本发明所要解决的技术问题是提供一种动态可重构阵列处理器的构令流工作方法,以抽象的分层配置为依据,利用数据流和配置流的并发性来达到节省时间的目的,有效提高了动态可重构处理器的性能。
为了解决上述问题,本发明公开了一种动态可重构阵列处理器的构令流工作方法,所述方法包括:
可重构处理器单元通过配置流控制数据流的传输、计算和存储,配置流和数据流具有并发性;
将数据流分为可重构处理器单元级别、可重构单元阵列级别和可重构核心级别三级;
将可重构处理器单元中的配置信息分为配置信息第零层、第一层和第二层共三层;
所述配置信息第零层用于控制可重构处理器单元和可重构单元阵列之间的数据传输,配置信息第一层用于控制不同可重构处理器单元间的数据流传输。
进一步地,所述可重构处理器单元包括配置信息接口模块、配置流控制器、数据流控制模块和计算控制模块。
进一步地,所述配置信息接口模块完成配置信息的初始化。
进一步地,所述配置流控制器实现配置流的控制。
进一步地,数据流控制模块和计算控制模块完成数据流的传输、计算和存储。
与现有技术相比,本发明具有以下优点:
本发明提供一种动态可重构阵列处理器的构令流工作方法,对于包含多个RCA的RPU而言,利用LCGM可实现CL0、CLl和CL2三层配置流并行处理,抽象的分层配置,增加了配置带宽,抽象的分层配置使RPU中的RPU level、RCA level和Core level三级数据流间的数据传输更加灵活、高效,多个RCA并行处理提高了数据的计算能力,配置流和数据流的并发性提高了数据的传输效率和计算能力,进而提高了动态可重构处理器的性能。
附图说明
图1是本发明具体实施方式中所述的一种动态可重构阵列处理器的构令流工作方法的流程图;
图2是本发明具体实施方式中所述的Reconfigurable ProcessingUnit(RPU)框图;
图3是本发明具体实施方式中所述的数据流(Data Stream)框图;
图4是本发明具体实施方式中所述的配置流框图(Context FlowController框图);
图5是本发明具体实施方式中所述的配置信息的层次关系及存储位置的示意图;
图6是本发明具体实施方式中所述的实现H.264标准中P_16x16宏块类型的色度cb帧间预测的构令流工作模式框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明一种动态可重构阵列处理器的构令流工作方法的流程图,具体包括:
步骤S10l,可重构处理器单元通过配置流控制数据流的传输、计算和存储,配置流和数据流具有并发性;
步骤S102,将数据流分为可重构处理器单元级别、可重构单元阵列级别和可重构核心级别三级;
步骤S103,将可重构处理器单元中的配置信息分为配置信息第零层、第一层和第二层共三层。
可重构处理器单元RPU(Reconfigurable Processing unit)通过配置流控制数据流的传输、计算和存储,配置流和数据流具有并发性,RPU框图请详见图2,具体的,所述可重构处理器单元包括配置信息接口模块、配置流控制器、数据流控制模块和计算控制模块,其中配置信息接口模块ConfigurationInterface(CI)完成配置信息的初始化、配置流控制器Context Flow Controller实现配置流的控制,数据流控制模块Data Flow Controller和计算控制模块Computing Controller完成数据流的传输、计算和存储,通过多个RPU并行处理可提高动态可重构阵列处理器的性能,Exchange Interface(EI)可用来进行RPU间的数据交换。
RPU中的数据流可分为可重构处理器单元级别RPU level、可重构单元阵列级别RCA(Reconfigurable cell array)level和可重构核心级别Core level三级,数据流框图详见图3,各级功能如下:
1)RPU包含了REDL、REDS、REDA、RIDL、MB和RCA等部分,在RPU内通过多个RCA并行处理来提高RPU的性能,各部分的功能如下:
①REDL:将RPU的数据传输给RCA;
②REDS:将RCA的数据传输给RPU;
③REDA:仲裁REDL和REDS的EMI(External Memory Interface)访问请求,优先完成REDS,EMI为外部存储器提供读写接口;
④RIDL和MB:实现RCA/Core间的数据交换;
2)RCA包含了CEDL、CIDL、CDS和Core等部分,各部分的功能如下:
①CEDL:实现RCA内的数据传输或将RCA的数据传输给Core;
②CIDL:将RCA的数据传输给Core;
③CDS:实现Core内的数据传输、将Core的数据传输给RCA、或将Core的数据传输给RPU;
3)Core负责RC(Reconfigurable cell)阵列的数据输入、core计算和结果输出。
RPU中的配置信息分为配置信息第零层CL0、配置信息第一层CL1和配置信息第二层CL2三层,CL1和CL2配置信息以某种文件格式存在,RPU每次执行新的算法(如H.264)前需要先通过CI初始化RPU内部存储器GCGM(存储CL1层的配置信息,每套配置信息称为context group,CL1层配置信息可包含多套context group)、GCCM(存储CL2层的配置信息,每套配置信息称为core context,CL2层配置信息可包含多套core context),CL0层的配置信息由主控ARM产生,通过CI实现对RPU的配置,配置流框图详见图4,配置信息的层次关系及存储位置详见图5。各层配置信息功能如下:
1)CL0层配置信息用于控制RPU和RCA之间的数据流传输,并指定了要调用的context group在整个CL1配置信息中的索引,CL0配置信息包含包头、配置字、REDL配置信息和REDS配置信息等部分,各部分的功能如下:
①包头:标识了CL0配置信息对应的RCA的索引(允许一个RPU包含多个RCA)、REDL配置信息个数、REDS配置信息个数等;
②配置字:标识了对应RCA执行的context group配置信息在CL1中的索引、该RCA与其他RCA间的同步方式等;
③REDL配置信息:包含了数据源在片外SSRAM的首地址、从SSRAM中读取数据的格式及读取的数据量,使REDL根据配置信息通过访问EMI将片外SSRAM中的数据导入到RCA中的ELDF;
④REDS配置信息:包含了目标数据在片外SSRAM的首地址、读取数据的格式及数据量、写入SSRAM的数据格式,使REDS根据配置信息通过访问EMI将RCA中的ESDF中的数据导出到片外SSRAM中;
2)CL1层配置信息用于控制不同RPU间的数据流传输、或同一RPU内RPU和RCA之间、RPU和Core之间的数据流传输,每套context group均指定了要调用的core context在CL2层配置信息中的索引,context group包含context group head、RIDL配置信息、RCA context配置信息等,各部分的功能如下:
①context group head:包含RIDL配置信息个数、RCA context配置信息个数等;
②RIDL配置信息:将来自RPU中指定数据源的内部数据导入至RPU中RCA的指定数据目标,数据源为MB或EI,数据目标为RIM或RIF。RIDL配置信息包括导入数据源、从数据源存储器读出数据的首地址、数据格式、数据量,导入数据目标存储器的位置;
③RCA context配置信息包含4个方面,具体如下所示:
(a)core的配置信息:指定了要调用的core context在CL2层配置信息中的索引、是否使用CEDL和CIDL;
(b)CEDL配置信息:CEDL将单个RCA内来自指定数据源ELDF的外部数据导入至指定数据目标RIF或RIM,
具体数据传输方式由CEDL配置信息决定。
(c)CIDL配置信息:CIDL将单个RCA内来自指定数据源RIM的内部数据导入至指定数据目标RIF,具体数据传输方式由CIDL配置信息决定。
(d)CDS配置信息:将来自单个8x8RCA内指定数据源ROF的数据导出至内部或外部数据目标,数据目标为RIM/RIF/MB/EI/ESDF,具体数据传输方式由CDS配置信息决定。
1.RPU配置信息的Cache配置结构特征:
(a)RPU中的GCGM存储CL1层的所有context group配置信息,GCCM存储CL2层的所有core context配置信息;
(b)RCA中的LCGM只存储一套context group,通过RPU ContextParser将对应RCA的context group从GCGM读出写至LCGM;
(c)RCA Context Parser解析LCGM中的context group时,将corecontext从GCCM读出写至本RCA Core中。
本实施例实现了H.264标准中P_16x16宏块类型的色度cb帧间预测,利用RPU中的4个RCA(分别为RCAO、RCA1、RCA2、RCA3)并行处理,4个RCA间的优先级由高到低为RCA0、RCA1、RCA2、RCA3,每个RCA处理一个4x4的cb块,4个RCA需要主控ARM产生4套CLO配置信息,数据计算的结果分别存放到各RCA内的RIM中,因此不需要REDS的配置信息。根据算法每个RCA均需要使用REDL通过EMI从片外SSRAM中读出5x5的数据块写入相应RCA内的ELDF。
图6是实现H.264标准中P_16x16宏块类型的色度cb帧间预测的构令流工作模式框图,横向方向的4各框图表示RPU中每个RCA的工作流程,纵向方向上的第一列4个框图间是串行处理过程、第二列4个框图间是串行处理过程、第三列4个框图间是串行处理过程,4个RCA的CL2配置信息分别写入各自的Core中后,4个RCA相互独立地分别通过配置流实现对数据流的传输、计算及将结果存放到各RCA内的RIM中,参见图2示出的Reconfigurable Processing Unit(RPU)框图,图3为数据流(Data Stream)框图,图4为配置流框图(Context Flow Controller框图),图5为配置信息的层次关系及存储位置的示意图,图6为实现H.264标准中P_16x16宏块类型的色度cb帧间预测的构令流工作模式框图。
以上对本发明所提供的一种动态可重构阵列处理器的构令流工作方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (5)

1.一种动态可重构阵列处理器的构令流工作方法,其特征在于,所述方法包括:
可重构处理器单元通过配置流控制数据流的传输、计算和存储,配置流和数据流具有并发性;
将数据流分为可重构处理器单元级别、可重构单元阵列级别和可重构核心级别三级;
将可重构处理器单元中的配置信息分为配置信息第零层、第一层和第二层共三层;
所述配置信息第零层用于控制可重构处理器单元和可重构单元阵列之间的数据传输,配置信息第一层用于控制不同可重构处理器单元间的数据流传输。
2.如权利要求1所述的方法,其特征在于:
所述可重构处理器单元包括配置信息接口模块、配置流控制器、数据流控制模块和计算控制模块。
3.如权利要求2所述的方法,其特征在于:
所述配置信息接口模块完成配置信息的初始化。
4.如权利要求2所述的方法,其特征在于:
所述配置流控制器实现配置流的控制。
5.如权利要求2所述的方法,其特征在于:
数据流控制模块和计算控制模块完成数据流的传输、计算和存储。
CN201110226931XA 2011-08-09 2011-08-09 一种动态可重构阵列处理器的构令流工作方法 Active CN102289424B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110226931XA CN102289424B (zh) 2011-08-09 2011-08-09 一种动态可重构阵列处理器的构令流工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110226931XA CN102289424B (zh) 2011-08-09 2011-08-09 一种动态可重构阵列处理器的构令流工作方法

Publications (2)

Publication Number Publication Date
CN102289424A CN102289424A (zh) 2011-12-21
CN102289424B true CN102289424B (zh) 2013-12-11

Family

ID=45335865

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110226931XA Active CN102289424B (zh) 2011-08-09 2011-08-09 一种动态可重构阵列处理器的构令流工作方法

Country Status (1)

Country Link
CN (1) CN102289424B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035903B (zh) * 2014-07-02 2017-06-16 东南大学 一种基于可重构技术的二维数据访问动态自适应方法
US20170153892A1 (en) * 2015-11-30 2017-06-01 Intel Corporation Instruction And Logic For Programmable Fabric Hierarchy And Cache
CN107506329B (zh) * 2017-08-18 2018-06-19 浙江大学 一种自动支持循环迭代流水线的粗粒度可重构阵列及其配置方法

Also Published As

Publication number Publication date
CN102289424A (zh) 2011-12-21

Similar Documents

Publication Publication Date Title
CN108805266B (zh) 一种可重构cnn高并发卷积加速器
KR102655386B1 (ko) 인공 신경망에서의 분산 및 협력 계산을 위한 방법 및 장치
Sun et al. A novel architecture of the 3D stacked MRAM L2 cache for CMPs
CN104049712B (zh) 用于计算机系统的功率管理方法和系统
CN103150265B (zh) 面向嵌入式片上异构存储器的细粒度数据分配方法
CN101533387A (zh) 基于fpga的边角块稀疏矩阵并行lu分解器
CN102402415B (zh) 一种动态可重构阵列内数据缓存的装置及方法
CN103246542B (zh) 智能缓存及智能终端
CN102279818B (zh) 支持有限共享的向量数据访存控制方法及向量存储器
CN102253921B (zh) 一种动态可重构处理器
CN111433758A (zh) 可编程运算与控制芯片、设计方法及其装置
CN111488114B (zh) 一种可重构的处理器架构及计算设备
KR20120019329A (ko) 프로세서, 메모리 관리 장치 및 방법
CN103593324A (zh) 一种具有自学习功能的快速启动低功耗计算机片上系统
CN104317770A (zh) 用于众核处理系统的数据存储结构及数据访问方法
CN115033188B (zh) 一种基于zns固态硬盘的存储硬件加速模块系统
CN114356840A (zh) 具有存内/近存计算模块的SoC系统
CN102289424B (zh) 一种动态可重构阵列处理器的构令流工作方法
WO2016024508A1 (ja) マルチプロセッサ装置
CN103761072A (zh) 一种粗粒度可重构层次化的阵列寄存器文件结构
CN117234720A (zh) 动态可配置的存算融合数据缓存结构、处理器及电子设备
CN112988621A (zh) 一种张量数据的数据载入装置及方法
CN104750659A (zh) 一种基于自动布线互连网络的粗粒度可重构阵列电路
CN112486904A (zh) 可重构处理单元阵列的寄存器堆设计方法及装置
CN112433773A (zh) 可重构处理器的配置信息记录方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant